Requirements Elicitation
Requirements (1)
What are requirements?
Engineering and human-oriented
approaches
Cost of Delay in Fixing
Requirements Errors
Requirements and system
fitness
Requirements
faults:
(What we’re trying to avoid)
Software Lifecycle
Activities
Figure 4-1. Products of
requirements elicitation and analysis (UML activity diagram).
System Specification vs
Requirements Analysis Model
Types of Requirements
What is usually not in the
Requirements?
Figure 4-2. A System is a
collection of real world Phenomena. A Model is a collection of Concepts that
represent the System’s Phenomena. Many Models can represent different aspects
of the same System. An unambiguous Model corresponds to only one System.
Key concepts:
“is” vs. “ought”
Case Example:
Scheduling
and Scheduler
The system and the
world
(Jackson, 2000)
Example of information
display problem frame
Example of controlled
behavior problem frame
Requirements Elicitation
Activities
Requirements Elicitation
Types of Requirements
Elicitation
Key concepts:
Use cases and scenarios
Case
Example:
Scheduling scenarios
Figure 4-12. Activities of
JAD (UML activity diagram). The heart of JAD is the Session activity during
which all stakeholders design and agree to a system specification. The
activities prior to the Session maximizes its efficiency. The production of the
Final document ensures that the decisions made during the Session are captured.
System Identification
Use cases
Actors
Figure 4-4. Actors of the FRIEND
system. FieldOfficers not only have access to different functionality, they use
different computers to access the system.
SetTime use case
Figure 4-8. Example of
communication relationships among actors and use cases in FRIEND (UML use case
diagram). The FieldOfficer initiates the ReportEmergency use case and the Dispatcher
initiates the OpenIncident and AllocateResources use cases. FieldOfficers
cannot directly open an incident or allocate resources on their own.
Figure 4-9. Example of use
of extend relationship (UML use case diagram). ConnectionDown extends the ReportEmergency
use case. The ReportEmergency use case becomes shorter and solely focused on
emergency reporting.
Figure 4-10. Example of
include relationships among use cases. ViewMap describes the flow of events for
viewing a city map (e.g., scrolling, zooming, query by street name) and is used
by both OpenIncident and AllocateResources use cases.
Scenarios
Types of Scenarios
Why Scenarios?
Scenario Exploration
Envisionment through
scenarios
Case Example:
Spec. & scenario fragments
Issues with Scenarios
Instantiating Actors and
Actions
How do we find scenarios?
Heuristics for finding
Scenarios
Key
concept:
Requirements refinement
Objectives &
requirements
Pre-requirements
traceability
Case Example:
Refining a fuzzy requirement
Key concept:
Inquiry cycles
Case
Illustration:
Inquiry-driven refinements
Requirements Validation
Requirements Validation
Criteria (continued)
Testable performance
requirements
Testable usability
requirements
Case example: Testable
quality requirements
Summary