CH 07
CH 07
CH 07
6/e
Chapter 7
Requirements Engineering
copyright 1996, 2001, 2005
Thesecoursewarematerialsaretobeusedinconjunction
Requirements Engineering-I
Thesecoursewarematerialsaretobeusedinconjunction
Requirements Engineering-II
A written document
A set of models
A formal mathematical
A collection of user scenarios (use-cases)
A prototype
Requirements management
Thesecoursewarematerialsaretobeusedinconjunction
Inception
Identify stakeholders
Thesecoursewarematerialsaretobeusedinconjunction
Eliciting Requirements
Thesecoursewarematerialsaretobeusedinconjunction
Eliciting Requirements
Conduct FAST
meetings
Make lists of
functions, classes
Make lists of
constraints, etc.
formal prioritization?
Elic it requirement s
no
yes
Use QFD to
prioritize
requirements
define actors
informally
prioritize
requirements
draw use-case
diagram
write scenario
Create Use-cases
complete template
Thesecoursewarematerialsaretobeusedinconjunction
Thesecoursewarematerialsaretobeusedinconjunction
Thesecoursewarematerialsaretobeusedinconjunction
Use-Cases
Thesecoursewarematerialsaretobeusedinconjunction
Use-Case Diagram
Arms/ disarms
system
Accesses system
via Internet
sensors
homeowner
Responds to
alarm event
Encounters an
error condition
system
administrator
Reconfigures sensors
and related
system features
Thesecoursewarematerialsaretobeusedinconjunction
10
Scenario-based elements
Class-based elements
Implied by scenarios
Behavioral elements
State diagram
Flow-oriented elements
Thesecoursewarematerialsaretobeusedinconjunction
11
Class Diagram
From the SafeHome system
Sensor
name/id
type
location
area
characteristics
identify()
enable()
disable()
reconfigure ()
Thesecoursewarematerialsaretobeusedinconjunction
12
State Diagram
Reading
commands
Initialization
turn copier
on
subsystems
ready
not jammed
system status=Ready
display msg =enter cmd
display status = steady
paper full
Making copies
system status=Copying
display msg=copy count =
display message=#copies
display status=steady
entry/ start copies
do: manage copying
do: monitor paper tray
do: monitor paper flow
copies complete
problem diagnosis
system status=J ammed
display msg=paper jam
display message=location
display status=blinking
load paper
system status=load paper
display msg=load paper
display status=blinking
entry/ paper empty
do: lower paper tray
do: monitor fill switch
do: raise paper tray
not jammed
Thesecoursewarematerialsaretobeusedinconjunction
13
Analysis Patterns
Pattern name: A descriptor that captures the essence of the pattern.
Intent: Describes what the pattern accomplishes or represents
Motivation: A scenario that illustrates how the pattern can be used to address the
problem.
Forces and context: A description of external issues (forces) that can affect how the
pattern is used and also the external issues that will be resolved when the pattern is
applied.
Solution: A description of how the pattern is applied to solve the problem with an
emphasis on structural and behavioral issues.
Consequences: Addresses what happens when the pattern is applied and what
trade-offs exist during its application.
Design: Discusses how the analysis pattern can be achieved through the use of
known design patterns.
Known uses: Examples of uses within actual systems.
Related patterns: On e or more analysis patterns that are related to the named
pattern because (1) it is commonly used with the named pattern; (2) it is structurally
similar to the named pattern; (3) it is a variation of the named pattern.
Thesecoursewarematerialsaretobeusedinconjunction
14
Negotiating Requirements
Negotiate
Thesecoursewarematerialsaretobeusedinconjunction
15
Validating Requirements-I
Thesecoursewarematerialsaretobeusedinconjunction
16
Validating Requirements-II
Thesecoursewarematerialsaretobeusedinconjunction
17
Requirements Management
Thesecoursewarematerialsaretobeusedinconjunction
18