Introduction To Software Engineering: Understanding Requirements
Introduction To Software Engineering: Understanding Requirements
Muhammad Nasir
[email protected]
Agenda
Requirement Elicitation
User Scenario
Specification Principles
Specification Representation
Specification Review
User Scenario
It is difficult to move into more software
engineering activities until software team
understands how these functions and
features will be used by different end-
users.
Developers and users create a set of usage
threads for the system to be constructed
“A use-case scenario is a story about how
someone or something external to the
software (known as an actor) interacts with
the system”.
User Scenario
Describe how the system will be used
“Each scenario is described from the
point-of-view of an “actor”—a person or
device that interacts with the software in
some way”
It is important to note that an actor and
an end user are not necessarily the
same thing.
SafeHome – Example
User Scenario
A typical user may play a number of
different roles when using a system.
Whereas an actor represents a class
of external entities (often, but not
always, people)
that play just one role in the context of
the use case.
User Scenario
After careful review of requirements,
the software for a Automated Control
System requires
Four different modes (roles) for
interaction: programming mode, test
mode, monitoring mode, and
troubleshooting mode.
User Scenario
Therefore, four actors can be defined:
programmer, tester, monitor, and
troubleshooter.
In some cases, the machine operator
can play all of these roles.
In others, different people may play the
role of each actor.
SafeHome – Usage Scenarios
For the purposes of this example we
consider only the homeowner actor.
Home Owner may interact with system in
following way
Enters a password to allow all other interactions.
Inquires about the status of a security zone.
Inquires about the status of a sensor.
Presses the panic button in an emergency.
Activates/deactivates the security system.
SafeHome – Basic Use Cases
1. The home-owner observes the SafeHome control
panel to determine if the system is ready for input.
If the system is not ready, a not ready message is
displayed on the LCD display, and the home-owner must
physically close windows or doors
So that the not ready message disappears.
[A not ready message implies that a sensor is open; i.e., that a door
or window is open.]
SafeHome – Basic Use Cases
2. The homeowner uses the keypad to
input 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.
SafeHome – Basic Use Cases
The homeowner selects and input stay
or away to activate the system.
Stay activates only perimeter sensors
(inside motion detecting sensors are
deactivated).
Away activates all sensors
SafeHome – Basic Use Cases
When activation occurs,
A red alarm light can be observed by the
homeowner.
SafeHome – Detail Use Case
SafeHome – Detail Use Case
SafeHome – Detail Use Case
Specification Principles
If specification incomplete, inconsistent, or misleading
specifications result in confusion.
1. Separate functionality from implementation.