Chapter 8
Chapter 8
Understanding Requirements
Slide Set to accompany
Software Engineering: A Practitioner’s
Approach, 8/e
by Roger S. Pressman and Bruce R. Maxim
All copyright information MUST appear if these slides are posted on a website for student
use.
5
Requirements
Engineering-I
Inception—ask a set of questions that establish …
basic understanding of the problem
8
Requirements
Engineering-IV
Requirements management
Requirements for computer-based systems
change, and the desire to change
requirements persists throughout the life of
the system.
Requirements management is a set of activities
that help the project team identify, control,
and track requirements and changes to
requirements at any time as the project
proceeds.
11
Elicitation Work
Products
a statement of need and feasibility.
a bounded statement of scope for the system or
product.
a list of customers, users, and other stakeholders
who participated in requirements elicitation
a description of the system’s technical
environment.
a list of requirements (preferably organized by
function) and the domain constraints that apply to
each.
a set of usage scenarios that provide insight into
the use of the system or product under different
operating conditions.
any prototypes developed to better define
requirements.
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides copyright 2014 by
Roger Pressman. 12
Quality Function
Deployment
Quality function deployment (QFD) is a quality management technique that
translates the needs of the customer into technical requirements for software.
QFD “concentrates on maximizing customer satisfaction from the software
engineering process”.
To accomplish this, QFD emphasizes an understanding of what is valuable to
the customer and then deploys these values throughout the engineering
process.
“Normal requirements” identify the objectives and goals that are stated for a
product or system during meetings with the customer
“Expected requirements” are implicit to the product or system and may be so
fundamental that the customer does not explicitly state them.
“Exciting requirements” go beyond the customer’s expectations and prove to
be very satisfying when present.
13
Quality Function
Deployment
Function deployment determines the
“value” (as perceived by the
customer) of each function required
of the system
Information deployment identifies
data objects and events
Task deployment examines the
behavior of the system
Value analysis determines the
relative priority of requirements
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides copyright 2014 by
Roger Pressman. 14
Non-Functional
Requirements
Non-Functional Requirment (NFR) – quality
attribute, performance attribute, security
attribute, or general system constraint. A two
phase process is used to determine which NFR’s
are compatible:
The first phase is to create a matrix using each
NFR as a column heading and the system SE
guidelines a row labels
The second phase is for the team to prioritize
each NFR using a set of decision rules to
decide which to implement by classifying each
NFR and guideline pair as complementary,
overlapping, conflicting, or independent
These slides are designed to accompany Software Engineering: A
Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides copyright 2014 by
Roger Pressman. 15
Use-Cases
A collection of user scenarios that describe the thread of usage of a
system
Each scenario is described from the point-of-view of an “actor”—a
person or device that interacts with the software in some way
Each scenario answers the following questions:
Who is the primary actor, the secondary actor (s)?
What are the actor’s goals?
What preconditions should exist before the story begins?
What main tasks or functions are performed by the actor?
What extensions might be considered as the story is described?
What variations in the actor’s interaction are possible?
What system information will the actor acquire, produce, or change?
Will the actor have to inform the system about changes in the
external environment?
What information does the actor desire from the system?
Does the actor wish to be informed about unexpected changes?
16
Use-Case Diagram
17
Building the Analysis
Model
The intent of the analysis model is to provide a description of the
required informational, functional, and behavioral domains for a
computer-based system.
The model changes dynamically as you learn more about the
system to be built, and other stakeholders understand more about
what they really require.
For that reason, the analysis model is a snapshot of requirements at
any given time.
As the analysis model evolves, certain elements will become
relatively stable, providing a solid foundation for the design tasks
that follow
18
Building the Analysis
Model
Elements of the analysis model
Scenario-based elements
• The system is described from the user’s point of view using
a scenario-based approach.
• Use-case—descriptions of the interaction between an
“actor” and the system
Class-based elements
• Each usage scenario implies a set of objects that are
manipulated as an actor interacts with the system. These
objects are categorized into classes—a collection of things
that have similar attributes and common behaviors
19
Building the Analysis
Model
Elements of the analysis model
Behavioral elements
• State diagram
• The behavior of a computer-based system can have a
profound effect on the design that is chosen and the
implementation approach that is applied.
• The state diagram is one method for representing the
behavior of a system by depicting its states and the events
that cause the system to change state. A state is any
observable mode of behavior. In addition, the state
diagram indicates what actions (e.g., process activation)
are taken as a consequence of a particular event.
Flow-oriented elements
• Data flow diagram
20
Eliciting
Requirements
21
Class
Diagram
From the SafeHome system …
Entry/subsystems ready
Do: poll user input panel
Do: read user input
Do: interpret user input State activities