Thursday, July 6, 2017

Requirements Modeling for WebApps | Requirements Modeling Input for Web App | The Content Model | Data Tree | The Interaction Model | Sequence Diagram | State Diagram | The Functional Model | Activity Diagram | Navigation Modeling | The Configuration Model

Requirements Modeling for WebApps

  • Introduction : Web developers are often skeptical (doubtful) when the idea of requirements analysis for WebApps is suggested.
  • “After all,” they argue, “the Web development process must be agile, and analysis is time consuming. It’ll slow us down just when we need to be designing and building the WebApp.”.
  • Requirements analysis does take time, but solving the wrong problem takes even more time.
  • How Much Analysis Is Enough?
    • WebApps is emphasized depends on the following factors:
    • Size and complexity of WebApp increment.
    • Number of stakeholders (analysis can help to identify conflicting requirements coming from different sources).
    • Size of the WebApp team.
    • Analysis can help develop a common understanding of the project.

Introduction

  • It is a good idea to analyze the problem before beginning design. 
  • It is not true that all analysis must precede all design.
  • In fact, the design of a specific part of the WebApp only demands an analysis of those requirements that affect only that part of the WebApp.
    • For example from SafeHome, you could validly design the overall website structure (layouts, color schemes, etc.) without having analyzed the functional requirements.
    • You only need to analyze that part of the problem that is relevant to the design work for the increment to be delivered. 

Requirements Modeling Input for Web App

  • An agile version of the generic software process can be applied when WebApps are engineered. 
  • The process incorporates a communication activity that identifies
    • Stakeholders and user categories, 
    • The business context, 
    • Defined informational and applicative goals, 
    • General WebApp requirements, 
    • Usage scenarios— 
  • All above information that becomes input to requirements modeling. 
  • This information is represented in the form of natural language descriptions, rough outlines, sketches, and other informal representations. 
  • Analysis takes this information and then produces more rigorous models as an output. 
  • The requirements model provides a detailed indication of the true structure of the problem and provides insight into the shape of the solution…

Requirements Modeling Output for WebApps


  • Introduction : Requirements analysis provides a disciplined mechanism for representing and evaluating WebApp content and function.
  • Each of these characteristics can be represented as a set of models that allow the WebApp requirements to be analyzed in a structured manner. While the specific models depend largely upon the nature of the WebApp,
  • There are five main classes of models
  • Content Model : The full spectrum of content to be provided by the WebApp is identified, including text, graphics and images, video, and audio data.
    • Data modeling can be used to identify and describe each of the data objects.
  • Interaction Model : Describes the manner in which users interact with the WebApp.
    • Use-cases can be developed to provide detailed descriptions of this interaction.
  • Functional Model : The usage scenarios (use-cases) created as part of interaction analysis define the operations that will be applied to WebApp content and imply other processing functions. All operations and functions are described in detail.
  • Navigation Model : Defines the overall navigation strategy for the webApp.
  • Configuration Analysis. The environment and infrastructure in which the WebApp resides are described in detail.

The Content Model 

  • Content objects are extracted from use-cases
    • examine the scenario description for direct and indirect references to content 
  •  Attributes of each content object are identified 
  • The relationships among content objects and/or the hierarchy of content maintained by a WebApp
    • Relationships—entity-relationship diagram or UML 
    • Hierarchy—data tree or UML

Data Tree

Data Tree

The Interaction Model

  • Composed of four elements: 
    • use-cases 
    • sequence diagrams
    • state diagrams
    • a user interface prototype

Sequence Diagram

Sequence Diagram

State Diagram

State Diagram

The Functional Model

  • The functional model addresses two processing elements of the WebApp
    • user observable functionality that is delivered by the WebApp to end-users 
    • the operations contained within analysis classes that implement behaviors associated with the class. 
  • An activity diagram can be used to represent processing flow

Activity Diagram

Activity Diagram

Navigation Modeling-I 

  • Introduction : Navigation modeling considers how each user category will navigate from one WebApp element (e.g., content category will navigate from one WebApp element (e.g., content object) to another.The mechanics of navigation are defined as part of design. At this stage, you should focus on overall navigation requirements. 
  • The following questions should be considered… 
  • Should certain elements be easier to reach (require fewer navigation steps) than others? What is the priority for presentation?
  • Should certain elements be emphasized to force users to navigate in their direction? 
  • How should navigation errors be handled? 
  • Should navigation be accomplished via links, via search-based access,or by some other means?
  • Should a navigation log be maintained for users?


Navigation Modeling-II 

  • Should a full navigation map or menu (as opposed to a single “back” link or directed pointer) be available at every point in a “back” link or directed pointer) be available at every point in a user’s interaction?
  • For which user category should optimal navigation be designed?
  • How should links external to the WebApp be handled? overlaying the existing browser window? as a new browser window? as a separate frame?

The Configuration Model

  • Server-side
    • Server hardware and operating system environment must be specified
    • Interoperability considerations on the server-side must be considered
    • Appropriate interfaces, communication protocols and related collaborative information must be specified 
  • Client-side
    • Browser configuration issues must be identified
    • Testing requirements should be defined

No comments:

Post a Comment