You are on page 1of 2

Preface

Web sites are typically complex and highly dynamic. They require short development phases in order to get the
product up and running quickly. Frequently, developers go straight to the coding phase without really understanding
what they are trying to build or how they want to build it. Server-side coding is often done ad hoc, database tables
are added as needed, and the architecture evolves in a sometimes unintentional manner. But some modeling and
disciplined software engineering can make the software development process much smoother and ensure that the
Web system is more maintainable in the future.

Overview
Web application analysis focuses on three areas, the information or content to be presented, the end-user functions to
be performed, and the WebApp behaviors presented in response to user actions. Web engineers, content specialists,
and the stakeholders develop the analysis model. Analysis modeling allows the Web engineering team to create a
concrete representation of WebApp requirements. WebApp analysis modeling focuses on four fundamental aspects of
the problem (content, interaction, function, and configuration). The work product from WebE analysis modeling is a
set of UML diagrams and descriptive text describing the results of the four analyses performed. Analysis work
products are reviewed for correctness, completeness, and consistency.

Conditions Favoring Analysis Modeling

Large or complex WebApp to be built


Large number of stakeholders
Large number of Web engineers and other contributors
WebApp goals and objectives will affect business bottom line
WebApp success will have strong bearing on success of company

WebApp Requirements Analysis Tasks


Formulation

Identify goal and objectives for WebApp


Define categories of users and create user hierarchy

Requirements Gathering

Communication between WebE team and stakeholders intensifies


Content and functional requirements are listed
Interaction scenarios (use-cases) are developed

Analysis modeling

Content model
Interaction model
Functional model
Configuration model

Use-Case Package Evaluation Criteria

Comprehensible – all stakeholders understand purpose of functional package


Cohesive – all packages addresses closely related functions
Loosely coupled – high function or class collaboration inside package, minimal collaboration outside package
Hierarchically shallow – number of levels within use-case hierarchy minimized to all for easy navigation and
easy understanding by end-users

WebE Analysis Types

Content analysis – content provided by WebApp is identified (data modeling techniques may be helpful)
Interaction analysis – use-cases can be developed to describe user interaction with WebApp
Functional analysis – usage scenarios used to define operations and functions applied to the WebApp content
Configuration analysis – WebApp environmental infrastructure is described in detail)
WebApp Analysis Model

Structural elements – identify classes and content objects required to create a WebApp that meets
stakeholders needs
Dynamic elements – describe how structural elements interact with one another and how they interact with
end-users

Content Model

Structural elements that represent WebApp content requirements


WebApp content objects – text, graphics, photographs, video images, audio
Includes all analysis classes - user visible entities created or manipulated as end-users interact with WebApp
Analysis classes defined by class diagrams showing attributes, operations, and class collaborations
Content model is derived from careful examination of WebApp use-cases
Entity-relationship diagrams may be part of the content model

Interaction Model

Use-cases – dominant element of WebApp interaction models


Sequence diagrams – provide representation of manner in which user actions collaborate with analysis classes
State diagrams – indicates information required to move users between states and represents behavioral
information, can also depict potential navigation pathways
User interface prototype – layout of content presentation, interaction mechanisms, and overall aesthetic of
user interface

Functional Model

User observable behavior delivered to end-users


Operations contained in analysis classes to implement class behaviors
UML activity diagrams used to model both

Configuration Model

May be a list of server-side and client-side attributes for the WebApp


UML deployment diagrams can be used for complex configuration architectures

Relationship-Navigation Analysis (RNA)

Stakeholder analysis – identifies user categories and establishes stakeholder hierarchy


Element analysis – identifies content objects and functional elements of interest to end-users
Relationship analysis – describes relationships among WebApp elements
Navigation analysis – examines how users access elements or groups of elements
Evaluation analysis – considers pragmatic issues (e.g. cost/benefit) associated with implementing each
relationship

Relationship Analysis

Purpose is to position element within the WebApp and establish element relationships
Web engineers should seek answers to questions about each element (content object or function)
It is possible to develop a relationship taxonomy and categorize each relationship using a fixed criteria

Navigation Analysis

Web engineers consider requirements that dictate how each type of user will navigate from one content object
to another
Navigation mechanics are defined as part of design
Web engineers and stakeholders must determine navigation requirements

You might also like