Unit - 3 (Part 2 Requirment Modeling)
Unit - 3 (Part 2 Requirment Modeling)
UNIT-III
Chapter7: Requirements Modeling (Flow, Behavior, Patterns and WEBAPPS): Requirements
Modeling Strategies, Flow-Oriented Modeling, Creating a Behavioral Model, Patterns for
Requirements Modeling, Requirements Modeling for WebApps.
Text Book:
RogerS.Pressman,“SoftwareEngineering–APractitioner’sApproach”,TataMcgraw-Hill International
Edition, 7th Edition, 2010.
REQUIREMENTSMODELINGSTRATEGIES
One view of requirements modeling, called structured analysis,. 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 they transform data as data objects flow through the
system.
A second approach to analysis modeled, called object-oriented analysis, focuses on the
definition of classes and the manner in which they collaborate with one another to effect
customer requirements.
4. FLOW-ORIENTEDMODELING
Fig: Context-level DFD for the Safe Home security function creating a Data Flow Model
The data flow diagram enables you to develop models of the information domain and
functional domain. As the DFD is refined into greater levels of detail, you perform an implicit
functional decomposition of the system. At the same time, the DFD refinement results in a
corresponding refinement of data as it moves through the processes that embody the application.
A few simple guidelines can aid immeasurably during the derivation of a data flow
diagram:
(1) The level0dataflowdiagramshoulddepictthesoftware/systemasasinglebubble;
(2) Primary input and output should be carefully noted;
(3) Refinement should begin by isolating candidate processes, data objects, and data
stores to be represented at the next level;
(4) All arrows and bubbles should be labeled with meaning full names;
(5) Informationflowcontinuitymustbemaintainedfromleveltolevel,2and
(6) One bubble at a time should be refined. There is a natural tendency to overcomplicate
the data flow diagram.
A level 0 DFD for the security function is shown in above figure. The primary external
entities (boxes) produce information for use by the system and consume information generated
by the system. The labeled arrows represent data objects or data object hierarchies.
The level0 DFD must now be expanded into a level1 data flow model. you should apply a
“grammatical parse” to the use case narrative that describes the context-level bubble. That is,
isolate all nouns (and noun phrases) and verbs (and verb phrases). The grammatical parse is not
Fool proof, but it can provide you with an excellent jump start, if you’re struggling to define
data objects and the transforms that operate on them.
The processes represented at DFD level 1 can be further refined into lower levels. The
refinement of DFDs continues until each bubble performs a simple function. That is, until the
process represented by the bubble performs a function that would be easily implemented as a
program component. a concept, Cohesion can be used to assess the processing focus of a given
function. i.e refine DFDs until each bubble is “single-minded.”
Fig:Level2DFDthatrefinesthemonitorsensorsprocess Creating a
Fig: State diagram for Safe Home security function The Process Specification
The process specification (PSPEC) is used to describe all flow model
processes that appear at the final level of refinement. The content of the process
specification can include narrative text, a program design language (PDL)
4. CREATINGABEHAVIORALMODEL
The behavioral model indicates how soft ware will respond to external events
or stimuli.
To create the model, you should perform the following steps:
1. Evaluate all use cases to fully understand the sequence of interaction with in
the system.
2. Identify events that drive the interaction sequence and understand how these
events relate to specific objects.
3. Create a sequence for each use case.
4. Build a state diagram for the system.
5. Review the behavioral model to verify accuracy and consistency.
Identifying Events with the Use Case
The use case represents a sequence of activities that involves actors and the
system. In general, an event occurs whenever the system and an actor exchange
information. A use case is examined for points of information exchange. To illustrate,
we reconsider the use case for a portion of the Safe Home security function. The
homeowner uses the keypad to key in a four-digit password. The password is compared
with the valid password stored in the system. If the password is incorrect, the control
panel will beep once and reset itself for additional input. If the password is correct, the
control panel awaits further action.
The underlined portions of the use case scenario indicate events. An actor should
be identified for each event; the information that is exchanged should be noted, and any
conditions or constraints should be listed. Once all events have been identified, they are
allocated to the objects involved. Objects can be responsible for generating events .
State Representations
In the context of behavioral modeling, two different characterizations of states
must be considered: (1) the state of each class as the system performs its function and (2)
the state of the system as observed from the outside as the system performs its Function
Two different behavioral representations are discussed in the paragraphs that follow. The
first indicates how an individual class changes state based on external events and the
second shows the behavior of the software as a function of time.
Fig: State diagram for the Control Panel class Sequence diagrams.
Software patterns are a mechanism for capturing domain knowledge in away that allows it to
be reapplied when a new problem is encountered. In some cases, the domain knowledge is applied
to a new problem within the same application domain. The domain knowledge captured by a
pattern can be applied by analogy to a completely different application domain.
The pattern can be reused when performing requirements modeling for an application within
a domain. Analysis patterns are stored in a repository so that members of the software team can use
search facilities to find and reuse them. Once an appropriate pattern is selected, it is integrated into
the requirements model by reference to the pattern name.
Discovering Analysis Patterns
The requirements model is comprised of a wide variety of elements: scenario-based (use
cases), data-oriented (the data model), class-based, flow- oriented, and behavioral. Each of
these elements examines the problem from a different perspective, and each provides an opportunity
to discover patterns that may occur throughout an application domain, or by analogy, across
different application domains.
The most basic element in the description of a requirements model is the use case. 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 coherent use
cases that together describe a basic generic application”
REQUIREMENTSMODELINGFORWEBAPPS
Requirements analysis does take time, but solving the wrong problem takes even more
time.
How Much Analysis Is Enough?
The degree to which requirements modeling for Web Apps is emphasized depends
on the following factors:
• Size and complexity of WebApp increment.
• Number of stake holders
• Size of the WebApp team.
• Degree to which members of the WebApp team have worked together
• Degree to which the organization’s success is directly dependent on the
success of the design of a specific part of the WebApp.
It only demands an analysis of those requirements that affect only that part
of the WebApp.
Requirements Modeling Input
The requirements model provides a detailed indication of the true structure
of the problem and provides insight into the shape of the solution. Requirements
analysis refines this understanding by providing additional interpretation. As the
problem structure is delineated as part of the requirements model.
• Should certain elements be easier to reach than others? What is the priority for
presentation?