Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Requirements Modeling Strategies
Demonstrators: Mudasir Nazir(08-CS-41).  I am highly addicted to this field.  Working with W3C in research program(building CSS for creating web site.
Design Concepts and Principles
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Analysis Concepts and Principles
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
© Copyright Eliyahu Brutman Programming Techniques Course.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 10: Architectural Design
1 User Interface Design CIS 375 Bruce R. Maxim UM-Dearborn.
1 Chapter 16 Web Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Architectural Design.
Credits: Adopted from Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright Agile.
Chapter 6: The Traditional Approach to Requirements
Chapter 10 Architectural Design
Chapter 4 Requirements Engineering
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Chapter 2 The process Process, Methods, and Tools
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
3231 Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 12.
Web Engineering Web engineering is the process used to create high quality WebApps. Web engineering is not a perfect clone of software engineering. But.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Lecture 9: Chapter 9 Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
SOFTWARE DESIGN.
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
Chapter 13 Architectural Design
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
3231 Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 11.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Software Design: Principles, Process, and Concepts Getting Started with Design.
1 Chapter 18 Analysis Modeling for WebApps Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
1 Web Engineering “Web development is an adolescent … Like most adolescents, it wants to be accepted as an adult as it tries to pull away from its parents.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
UML - Development Process 1 Software Development Process Using UML.
Chapter 13 설계 개념 Architectural Design 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book “Software Engineering: A Practitioner’s.
Basic Characteristics of Object-Oriented Systems
Managing Data Resources File Organization and databases for business information systems.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
Software Engineering Lecture 4 System Modeling The Analysis Stage.
ITEC 3220A Using and Designing Database Systems
Software Engineering: A Practitioner’s Approach, 6/e Chapter 18 Analysis Modeling for WebApps copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
UML Modeling Sequence diagram
Unified Modeling Language
Requirements Modeling: Flow, Behavior, Patterns, and WebApps
Lecture 9- Design Concepts and Principles
Software Engineering: A Practitioner’s Approach, 6/e Chapter 18 Analysis Modeling for WebApps copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Life Cycle Models
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Software Requirements analysis & specifications
Chapter 9 Requirements Modeling: Scenario-Based Methods
Lecture 9- Design Concepts and Principles
Chapter 9 Architectural Design.
UNIT III Design Engineering
Chapter 5 Architectural Design.
Software Development Process Using UML Recap
Presentation transcript:

Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps

Requirement Modeling For WebApps Requirement Analysis does take time, but solving the wrong problem takes even more time. The question for every WebApp developer is simple– are you sure you understand the requirements of the problem? If the answer is an unequivocal “yes” then it may be possible to skip requirements modeling. But if the answer is “no”, then requirements modeling should be performed.

How much analysis is enough? The degree to which requirements modeling for WebApps is emphasized 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

 Degree to which members of the WebApp team have worked together before (analysis can help develop a common understanding of the project)  Degree to which the organization’s success is directly dependent on the success of the WebApp. Although 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, you could validly design the overall website aesthetics without having analyzed the functional requirements for e- commerece capabilities

Requirement Modeling Input 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 adaptive goals, general WebApp requirements, and usage scenario – information that becomes input to requirements modeling. Analysis takes this information, structures it using a formally defined representation scheme

and then produces more rigorous models as an output. It is reasonable to conclude that although the communication activity provides a good foundation for understanding, requirements analysis refines this understanding by providing additional interpretation. In short, input to the requirements model will be the information collected during the communication activity – anything from informal mail to detailed project brief complete with comprehensive usage scenarios and product specification.

Requirement Modeling Output Requirement analysis provides a disciplined mechanism for representing and evaluating WebApp content and function, the modes of interaction that users will encounter, and the environment and infrastructure in which the WebApp resides. Each of these characteristics can be represented as a set of models that allow the WebApp requirements to be analyzed in a structured manner. There are five main classes of models : 1) Content Model 2) Interaction Model 3) Functional Model 4) Navigation Model 5) Configuration Model.

Content Model For WebApps Identifies the full spectrum of content to be provided by the WebApp. Content includes text, graphics and images, video, and audio data. The content model contains structural elements that provide an important view of content requirements for WebApps. These structural elements encompass content objects and all analysis classes- user visible entities that are created or manipulated as a user interacts with the WebApp.

A content object is any item of cohesive information that is to be presented to an end user. A content object might be a textual description of a product, an article describing a news event, a user’s response on a discussion forum etc. Content objects can be determined directly from use case by examining the scenario description for direct and indirect references to content. The content model must be capable of describing the content object. In some cases, a simple list of content objects, coupled with a brief description of each object, is

sufficient to define the requirements for content that must be designed and implemented. In some cases, the content model may benefit from a richer analysis that graphically illustrates the relationship among content objects and/or the hierarchy of content maintained by a WebApp. A data tree is created for any content that is composed of multiple content objects and data items. The data tree is developed in an effort to define hierarchical relationship among content objects and to provide a means for reviewing content so that omissions and inconsistencies are uncoverd before design commences.

Interaction Model For WebApps The vast majority of WebApp enable a “conversion” between an end user and application functionality, content, and behavior. This conversation can be described using an interaction model that can be composed of one or more of he following elements : (1) use case, (2) sequence diagram, (3) state diagrams, and (4) user interface prototype. In some cases, a set of use case is sufficient to describe the interaction at an analysis level.

When the sequence of interaction is complex and involves multiple analysis classes or many tasks, it is sometimes worthwhile to depict it using a more rigorous diagrammatic form. The layout of user interface, the content it presents have much to do with user satisfaction. The sooner that a physical representation of a user interface can be reviewed, the higher the likelihood that end users will get what they want.

Functional Model For WebApps Many WebApps deliver an array of computational and manipulative functions that can be associated with content. The functional model addresses two processing elements representing different level of procedural abstraction : (1) User observable functionality (Higher level of abstraction) encompasses any processing functions that are initiated directly by the user. (2) the operations contained within analysis classes (Lower level of abstraction) that implement behaviour associated with the class.

The UML activity diagram can be used to represent processing detail.

Configuration Model For WebApps The configuration model is nothing more than a list of server-side and client-side attributes. For more complex WebApps, a variety of configuration complexities (e.g. distributing loads, caching architecture, remote databases) may have an impact on analysis and design. The UML deployment diagram can be used in situations in which complex configuration architectures must be considered.

Navigation Modeling Navigation modeling considers how each user category will navigate from one WebApp element to another. At this stage, you should focus on overall navigation requirements. The following questions should be considered: o For which user category should optimal navigation be designed? o Should a navigation log be maintained for user? o How should navigation errors be handled?