Requirements Engineering Processes
Requirements Engineering Processes
Processes
Specification and Documentation
(are covered in chapter 6 and concern the
conversion of the requirements into some standard
form)
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 4
Requirements engineering processes
The processes used for RE vary widely
depending on the application domain, the
people involved and the organisation
developing the requirements.
However, there are a number of generic
activities common to all processes
• Requirements elicitation;
• Requirements analysis;
• Requirements validation;
• Requirements management.
Requir ements
Feasibility elicitation and
stud y
analysis
Requir ements
specification
Feasibility Requir ements
repor t validation
System
models
Requir ements
document
implementation to be
Syst em requirements
document
developed together.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 7
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 organisational
objectives;
• If the system can be engineered using current
technology and within budget;
• If the system can be integrated with other
systems that are already used.
Requirements Requirements
This iterative
process starts from
classification and prioritization and
organisation negotiation
requirements
discovery and ends
Requirements
discovery
Requirements
documentation with requirements
documentation.
All VPs
System
Students Staff External Cataloguers
managers
They can understand and critique a scenario of how they
can interact with the system.
That is, scenario can be particularly useful for adding detail
to an outline requirements description:
• they are description of example interaction sessions;
• each scenario covers one or more possible interaction;
A set of use cases should describe all possible
interactions with the system.
Actors are represented as stick figures.
Each class of interaction is represented as a
named ellipse.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 28
Use cases
A set of use-cases may be used to represent
all of the possible interactions in the system.
Avoiding confusion between use-cases
and scenarios:
• Use-cases identify the interactions with the
system and they can be documented with text
or linked to UML models.
• Sequence diagrams may be used to add detail
to use-cases by showing the sequence of
event processing in the system.
Article printing
Article search
User
request
request
complete
return
copyright OK
deliver
article OK
print send
inform confirm
delete
Often, only when the system has been
deployed, new requirements inevitably emerge.
This is mainly due to the fact that, when the end-
users have experience of the new system, they
discover new needs and priority.
Initial Changed
understanding understanding
of pr ob lem of prob lem
Initial Changed
requir ements requir ements
Time
Requirement Description
Type
Mutable Requirements that change because of changes to the environment in which the
requirements organisation is operating. For example, in hospital systems, the funding of patient
care may change and thus require different treatment information to be collected.
Emergent Requirements that emerge as the customer's understanding of the system develops
requirements during the system development. The design process may reveal new emergent
requirements.
Consequential Requirements that result from the introduction of the computer system. Introducing
requirements the computer system may change the organisations processes and open up new ways
of working which generate new system requirements
Compatibility Requirements that depend on the particular systems or business processes within an
requirements organisation. As these change, the compatibility requirements on the commissioned
or delivered system may also have to evolve.
There are three type of traceability information that should be
maintained:
1. Source traceability
• Links from requirements to stakeholders who proposed these requirements;
• Links from requirements to rationale of the requirements themselves;
2. Requirements traceability
• Links between dependent requirements; a change to a requirement may
propagate to its dependent requirements.
3. Design traceability
• Links from the requirements to the design; these links are used to assess
the impact of a requirements change to system design and
implementation.
Requirements storage
• Requirements should be managed in a secure 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 (see next slides).
Traceability management
• Automated retrieval of the links between requirements.
Identified Revised
problem Problem analysis and Change analysis Change requirements
change specification and costing implementation