Requirements Modeling Strategies

Slides:



Advertisements
Similar presentations
Unit Testing in the OO Context(Chapter 19-Roger P)
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Analysis Concepts, Principles, and Modeling
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
Requirements Analysis Concepts & Principles
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.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 6: The Traditional Approach to Requirements
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
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.
Chapter 7 System models.
Lecture 7: Requirements Engineering
Slide 1 System models. Slide 2 Objectives l To explain why the context of a system should be modelled as part of the RE process l To describe behavioural.
System models l Abstract descriptions of systems whose requirements are being analysed.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
1 Chapter 18 Analysis Modeling for WebApps Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Chapter : 9 Architectural Design
Chapter 13 설계 개념 Architectural Design 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book “Software Engineering: A Practitioner’s.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
1 8.1 Requirements Analysis Rules of Thumb Rules of Thumb Models should focus on requirements that are visible within the problem or business domain. The.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 18 Analysis Modeling for WebApps copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Unified Modeling Language
System Design and Modeling
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,
System Modeling Chapter 4
Abstract descriptions of systems whose requirements are being analysed
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Software Requirements analysis & specifications
Object-Oriented Analysis
Chapter 9 Requirements Modeling: Scenario-Based Methods
System models October 5, 2005.
Lecture 9- Design Concepts and Principles
Chapter 9 Architectural Design.
Chapter 4 System Modeling.
Software Development Process Using UML Recap
Presentation transcript:

Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps Unit - II

Requirements Modeling Strategies Structured Analysis: Considers Data and Processes that transform the data as separate entity. Data Objects are modeled in a way that defines their attributes and relationships. Processes that manipulate data objects are modeled in a manner that shows how they transform data as data objects flow through the system. Object-Oriented Analysis: Focuses on the definition of classes and the manner in which they collaborate with one another to effect customer requirement.

Flow – Oriented Modeling Data flow modeling is a core modeling activity in structured analysis. The DFD and related diagrams are not a part of UML, they can be used to complement UML diagrams and provide additional insight into system requirements and flow. DFD takes an input-process-output view of a system. Data objects are represented by labeled arrows and transformations are represented by circles (bubbles) First Data Flow Model (level 0 DFD or Context diagram) represents the system as whole

Flow Oriented Modeling Creating a data flow model Creating a control flow model The control specification (CSPEC) The process specification (PSPEC)

Creating a Data Flow Model DFD Guidelines: The level 0 DFD should depict the software / system as a single bubble Input and output should be clearly noted Refinement should begin by isolating candidate processes, data objects, and data stores to be represented at the next level All arrows and bubbles (processes) must be labeled with meaningful names Information flow continuity must be maintained from level to level

Creating control flow model Large class of applications are also required control flow model apart from data model and DFD. Large class of applications are driven by events and produce control information Heavy concern for time and performance. Event or control item is implemented as a Boolean Value or a discrete list of conditions. Eg. Sensor event, blink flag, start/ stop switch

The Control Specification Represents behavior of the system in 2 different ways. State Diagram : Sequential Specification of behaviour Program Activation Table : Combinatorial specification of behaviour State Diagram (example : page no 192) Different mode of behavioral representation is Process Activation Table (PAT) It represents information contained in the state diagram in the context of processes not states (Example: page no – 193) The table indicates which processes (bubble) in the flow model will be invoked when an event occurs. PAT can be used as a guide for a designer who must build an executive, that controls the processes.

Process Specification The content of PSPEC includes narrative text, program design language (PDL), process algorithms, mathematical equations, tables, UML activity diagrams etc. Used to create “mini-specification”

Creating Behavioral Model Represent the behaviour of the system as a function of specific events and time Indicates how software will respond to external events. Steps to be performed: Evaluate all use cases to fully understand the sequence of interaction within the system Identify events that drive the interaction sequence and understand how these events relate to specific object Prepare sequence for use case Build State diagram Review for accuracy and consistency USE CASES STATE DIAGRAM SEQUENCE DIAGRAM ACTIVITY DIAGRAM

Events with the Use Case Represents a sequence of activities that involves actors and the system. An event occurs whenever the system and an actor exchange information. A use case is examined for points of information exchange. Actor should be identified for each event. State Representation The state of each class as the system performs its functions The state of the system as observed from the outside as the system performs its function. Sequence Diagrams Indicates how events cause transitions from object to object. Is a representation of how events cause flow from one object or another as a function of time.

Patterns for Requirements Modeling S/W patterns are a mechanism for capturing domain knowledge in a way that allows it to be reapplied when a new problem is encountered. The original author of an analysis pattern does not “create” the pattern, but, rather “discovers” it as the requirement engineering work is being conducted. It is documented by describing “explicitly” the general problem to which the pattern is applicable, the prescribed solution, assumptions and constraints of using the pattern in practice and some other information like patterns advantage and disadvantage and references to some known examples of using that pattern in practical applications.

Patterns for Requirements Modeling Discovering Analysis Pattern : There are different elements in requirement model, that examines the problem from different perspectives and discover patterns. Coherent (consistent) set of use cases may serve as the basis for discovering one or more analysis patterns. A Semantic Analysis Pattern (SAP) is a pattern that describes a small set of consistent use cases that together describes a basic generic application Eg: Sequence diagram and class diagram of “Actuator-Sensor” pattern (pg.no. 202,203)

Requirement Modeling For WebApps When the requirements are not properly understood, at that time we perform requirement Modeling

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 uncovered 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.

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: For which user category should optimal navigation be designed? Should a navigation log be maintained for user? How should navigation errors be handled?