Ch-2 Requirement Engineering Process
Ch-2 Requirement Engineering Process
Mulugeta A.
Objective
To describe the principal requirements engineering activities
To introduce techniques for requirements elicitation and
analysis
To describe requirements validation
To discuss the role of requirements management in support of
other requirements engineering processes
2
Requirements engineering processes
The processes used for RE vary widely depending on the application
domain, the people involved and the organization developing the
requirements.
Processes used to discover, analyse and validate system requirements
However, there are a number of generic activities common to all processes
Requirements elicitation;
Requirements analysis;
Requirements validation;
Requirements management.
3
A spiral view of the requirements engineering process
4
Requirement Engineering process
5
Feasibility studies
A feasibility study decides whether or not the
proposed system is worthwhile
A short focused study that checks
If the system contributes to organizational objectives
If the system can be engineered using current technology
and within budget
If the system can be integrated with other systems that
are used
6
Feasibility study implementation
Based on information assessment (what is required),
information collection and report writing
Questions for people in the organization
What if the system wasn’t implemented?
What are current process problems?
How will the proposed system help?
What will be the integration problems?
Is new technology needed? What skills?
What facilities must be supported by the proposed system?
7
Requirements elicitation and analysis
Sometimes called requirements elicitation or
requirements discovery.
Involves technical staff working with customers to find out
about the application domain, the services that the system
should provide and the system’s operational constraints.
May involve end-users, managers, engineers involved in
maintenance, domain experts, trade unions, etc. These
are called stakeholders.
8
Requirements elicitation and analysis
9
The requirements elicitation and analysis process
10
Process activities
Requirements discovery
Interacting with stakeholders to discover their requirements. Domain
requirements are also discovered at this stage.
Requirements specification
Requirements are documented and input into the next round of the spiral.
11
Problems of requirements elicitation and analysis
12
Requirements discovery
The process of gathering information about the
required and existing systems and distilling the
user and system requirements from this
information.
Interaction is with system stakeholders from
managers to external regulators.
Systems normally have a range of stakeholders.
13
Stakeholders in the MHC-PMS
Patients whose information is recorded in the system.
Doctors who are responsible for assessing and treating
patients.
Nurses who coordinate the consultations with doctors and
administer some treatments.
Medical receptionists who manage patients’ appointments.
IT staff who are responsible for installing and maintaining the
system.
14
Cont.
A medical ethics manager who must ensure that the
system meets current ethical guidelines for patient care.
Health care managers who obtain management
information from the system.
Medical records staff who are responsible for ensuring
that system information can be maintained and
preserved, and that record keeping procedures have been
properly implemented.
15
Interviewing
Formal or informal interviews with stakeholders are part of most RE
processes.
Types of interview
Closed interviews based on pre-determined list of questions
Open interviews where various issues are explored with stakeholders.
Effective interviewing
Be open-minded, avoid pre-conceived ideas about the requirements and are
willing to listen to stakeholders.
Prompt the interviewee to get discussions going using a springboard question,
a requirements proposal, or by working together on a prototype system.
16
Interviews in practice
Normally a mix of closed and open-ended interviewing.
Interviews are good for getting an overall understanding of
what stakeholders do and how they might interact with the
system.
Interviews are not good for understanding domain requirements
Requirements engineers cannot understand specific domain terminology;
Some domain knowledge is so familiar that people find it hard to
articulate or think that it isn’t worth articulating.
17
System models
Different models may be produced during the requirements
analysis activity
Requirements analysis may involve three structuring
activities which result in these different models
Partitioning. Identifies the structural (part-of) relationships
between entities
Abstraction. Identifies generalities among entities
Projection. Identifies different ways of looking at a
problem
18
Viewpoint-oriented elicitation
Stakeholders represent different ways of looking
at a problem or problem viewpoints
This multi-perspective analysis is important as
there is no single correct way to analyse system
requirements
19
Banking ATM system
The example used here is an auto-teller system which
provides some automated banking services
Use a very simplified system which offers some
services to customers of the bank who own the system
and a narrower range of services to other customers
Services include cash withdrawal, message passing
(send a message to request a service), ordering a
statement and transferring funds
20
Autoteller viewpoints
Bank customers
Representatives of other banks
Hardware and software maintenance engineers
Marketing department
Bank managers and counter staff
Database administrators and security staff
Communications engineers
Personnel department
21
Types of viewpoint
Data sources or sinks
Viewpoints are responsible for producing or consuming data. Analysis involves
checking that data is produced and consumed and that assumptions about the
source and sink of data are valid
Representation frameworks
Viewpoints represent particular types of system model. These may be compared
to discover requirements that would be missed using a single representation.
Particularly suitable for real-time systems
Receivers of services
Viewpoints are external to the system and receive services from it. Most suited to
interactive systems
22
External viewpoints
Natural to think of end-users as receivers of
system services
Viewpoints are a natural way to structure
requirements elicitation
It is relatively easy to decide if a viewpoint is
valid
Viewpoints and services may be sued to structure
non-functional requirements
23
Method-based analysis
Widely used approach to requirements analysis.
Depends on the application of a structured method to
understand the system
Methods have different emphases. Some are designed
for requirements elicitation, others are close to
design methods
A viewpoint-oriented method (VORD) is used as an
example here. It also illustrates the use of viewpoints
24
The VORD method
25
VORD process model
Viewpoint identification
Discover viewpoints which receive system services and identify the
services provided to each viewpoint
Viewpoint structuring
Group related viewpoints into a hierarchy. Common services are provided
at higher-levels in the hierarchy
Viewpoint documentation
Refine the description of the identified viewpoints and services
Viewpoint-system mapping
Transform the analysis to an object-oriented design
26
VORD standard forms
27
Viewpoint identification
28
Viewpoint service information
29
Viewpoint data/control
30
Viewpoint hierarchy
31
Customer/cash withdrawal templates
32
Scenarios
Scenarios are descriptions of how a system is used in
practice
They are helpful in requirements elicitation as
people can relate to these more readily than
abstract statement of what they require from a
system
Scenarios are particularly useful for adding detail to
an outline requirements description.
33
Scenario descriptions
Consists of
A description of the starting situation;
A description of the normal flow of events;
A description of what can go wrong;
Information about other concurrent activities;
A description of the state when the scenario finishes.
34
Event scenarios
Event scenarios may be used to describe how a system
responds to the occurrence of some particular event such
as ‘start transaction’
VORD includes a diagrammatic convention for event
scenarios.
Data provided and delivered
Control information
Exception processing
The next expected event
35
Event scenario - start transaction
36
Exception description
Most methods do not include facilities for
describing exceptions
In this example, exceptions are
Timeout. Customer fails to enter a PIN within the
allowed time limit
Invalid card. The card is not recognised and is returned
Stolen card. The card has been registered as stolen and
is retained by the machine
37
Use cases
Use-cases are a scenario based technique in the UML which
identify the actors in an interaction and which describe the
interaction itself.
A set of use cases should describe all possible interactions
with the system.
High-level graphical model supplemented by more detailed
tabular description.
Sequence diagrams may be used to add detail to use-cases by
showing the sequence of event processing in the system.
38
Use cases for the MHC-PMS
39
Social and organizational factors
Software systems are used in a social and
organizational context. This can influence or even
dominate the system requirements
Social and organizational factors are not a single
viewpoint but are influences on all viewpoints
Good analysts must be sensitive to these factors but
currently no systematic way to tackle their analysis
40
Example
Consider a system which allows senior management to access
to use a keyboard. This may limit the type of system interface used
41
Ethnography
A social scientist spends a considerable time observing
and analysing how people actually work.
People do not have to explain or articulate their work.
Social and organizational factors of importance may be
observed.
Ethnographic studies have shown that work is usually
richer and more complex than suggested by simple
system models.
42
Scope of ethnography
Requirements that are derived from the way that people actually
work rather than the way In which process definitions suggest
that they ought to work.
Requirements that are derived from cooperation and awareness
of other people’s activities.
Awareness of what other people are doing leads to changes in the ways in
which we do things.
43
Focused ethnography
Developed in a project studying the air traffic control
process
Combines ethnography with prototyping
Prototype development results in unanswered
questions which focus the ethnographic analysis.
The problem with ethnography is that it studies
existing practices which may have some historical
basis which is no longer relevant.
44
Ethnography and prototyping for requirements analysis
45
Requirements validation
46
Requirements checking
Validity. Does the system provide the functions which
best support the customer’s needs?
Consistency. Are there any requirements conflicts?
Completeness. Are all functions required by the
customer included?
Realism. Can the requirements be implemented given
available budget and technology
Verifiability. Can the requirements be checked?
47
Requirements validation techniques
Requirements reviews
Systematic manual analysis of the requirements.
Prototyping
48
Requirements reviews
Regular reviews should be held while the requirements
definition is being formulated.
Both client and contractor staff should be involved in
reviews.
Reviews may be formal (with completed documents) or
informal. Good communications between developers,
customers and users can resolve problems at an early
stage.
49
Review checks
Verifiability
Comprehensibility
Traceability
Adaptability
50
Requirements management
Requirements management is the process of managing
changing requirements during the requirements
engineering process and system development
Requirements are inevitably incomplete and inconsistent
New requirements emerge during the process as business
needs change and a better understanding of the system is
developed
Different viewpoints have different requirements and these
are often contradictory
51
Requirements change
The priority of requirements from different
viewpoints changes during the development process
System customers may specify requirements from a
business perspective that conflict with end-user
requirements
The business and technical environment of the
system changes during its development
52
Requirements evolution
53
Enduring and volatile requirements
54
Classification of requirements
Mutable requirements
Requirements that change due to the system’s environment
Emergent requirements
Requirements that emerge as understanding of the system develops
Consequential requirements
Requirements that result from the introduction of the computer system
Compatibility requirements
Requirements that depend on other systems or organizational processes
55
Requirements management planning
During the requirements engineering process, you have to
plan:
Requirements identification
How requirements are individually identified
Traceability policies
The amount of information about requirements relationships that is maintained
56
Traceability
Traceability is concerned with the relationships between
requirements, their sources and the system design
Source traceability
Links from requirements to stakeholders who proposed these
requirements
Requirements traceability
Links between dependent requirements
Design traceability
Links from the requirements to the design
57
A traceability matrix
58
CASE tool support
Requirements storage
Requirements should be managed in a secure, managed data
store
Change management
The process of change management is a workflow process
whose stages can be defined and information flow between
these stages partially automated
Traceability management
Automated retrieval of the links between requirements
59
Requirements change management
Should apply to all proposed changes to the
requirements
Principal stages
Problem analysis. Discuss requirements problem and propose
change
Change analysis and costing. Assess effects of change on other
requirements
Change implementation. Modify requirements document and
other documents to reflect change
60
Requirements change management
61
Key points
The requirements engineering process includes a
feasibility study, requirements elicitation and analysis,
requirements specification and requirements management
Requirements analysis is iterative involving domain
understanding, requirements collection, classification,
structuring, prioritisation and validation
Systems have multiple stakeholders with different
requirements
62
Key points
Social and organization factors influence system
requirements
Requirements validation is concerned with checks for
validity, consistency, completeness, realism and
verifiability
Business changes inevitably lead to changing requirements
Requirements management includes planning and change
management
63
End of Chapter 2