You are on page 1of 41

Requirements Engineering

Processes

Dr. Joseph Kibombo Balikuddembe


For comments and issues
jbalikud@cis.mak.ac.ug.

© JK Balikuddembe - Requirements
2/26/2021 1
Engineering
Requirements Engineering Processes

• Difference:
– Process is a series of events to produce a
result, especially as contrasted to product
while
– Method is a process by which a
task is completed; a way of doing something
• Use:
– Processes used to discover, analyse and
validate system requirements

© JK Balikuddembe - Requirements
2/26/2021 2
Engineering
Topics covered
• Feasibility studies
• Requirements elicitation and analysis
• Requirements validation
• Requirements management

© JK Balikuddembe - Requirements
2/26/2021 3
Engineering
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

© JK Balikuddembe - Requirements
2/26/2021 4
Engineering
RE Process Model

© JK Balikuddembe - Requirements
2/26/2021 5
Engineering
Feasibility studies
• A feasibility study decides whether or not the
proposed system is worthwhile
• A short focused study that checks three basic
questions:
– Would the system contribute to overall organizational
objectives?
– Could the system be engineered using current
technology and within budget?
– Could the system be integrated with other systems
already in use?

© JK Balikuddembe - Requirements
2/26/2021 6
Engineering
Feasibility study implementation
• Some questions to be answered by the organisation
– What if the system wasn’t implemented, how would the
organization cope?
– What are the current process problems and how would
the system help with these? Is there any problem with the
current processes?
– What will the integration problems be?
– Is new technology needed? What skills?
– What must be supported by the system, and what need
not be supported? Or How will the proposed system help?
– What facilities must be supported by the proposed
system?

© JK Balikuddembe - Requirements
2/26/2021 7
Engineering
Elicitation and analysis
• Involves working with customers to learn
about the application domain, the services
needed and the system’s operational
constraints, etc.
• May also involve end-users, managers,
maintenance personnel, domain experts,
trade unions, etc. (That is, other
stakeholders.)

© JK Balikuddembe - Requirements
2/26/2021 8
Engineering
Problems of elicitation and analysis
• Getting all, and only, the right people involved
• Stakeholders often:
– don’t know what they really want
– express requirements in their own terms.
– have conflicting or competing requirements.
• Requirements naturally change as insight
improves. (Should this really be thought of as a problem?)
(cont'd)

© JK Balikuddembe - Requirements
2/26/2021 9
Engineering
Problems of elicitation and analysis
(cont’d)
• New stakeholders may emerge.
• Political or organizational factors may affect
requirements. (Examples?)
• The environment may evolve during the RE
process.

© JK Balikuddembe - Requirements
2/26/2021 10
Engineering
Elicitation and analysis process
activities
• Requirements discovery
– Interacting with stakeholders to discover product and
domain requirements
• Requirements classification and organization
– Grouping and organizing requirements to facilitate analysis
• Prioritization and negotiation
– Prioritizing requirements and resolving requirements
conflicts.
• Requirements documentation
– Requirements are documented and input into the next
round of the spiral.

© JK Balikuddembe - Requirements
2/26/2021 11
Engineering
The requirements analysis process

© JK Balikuddembe - Requirements
2/26/2021 12
Engineering
Requirements attributes
• Validity: Does the system provide the functions which best
support the customer’s needs? (as opposed
to wants?)
• 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 tested? (More precisely, can
the system be tested to determine whether or not the requirements are met?)

© JK Balikuddembe - Requirements
2/26/2021 13
Engineering
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

© JK Balikuddembe - Requirements
2/26/2021 14
Engineering
Book purchase use-cases

© JK Balikuddembe - Requirements
2/26/2021 15
Engineering
Book Purchase system,
example

© JK Balikuddembe - Requirements
2/26/2021 16
Engineering
Requirements validation
• Concerned with whether or not the
requirements define a system that the
customer really wants. (as opposed to needs?)
• Requirements error costs are high, so early
validation is very important.
– Fixing a requirements error after delivery may
cost 100 times that of fixing an error during
implementation.

© JK Balikuddembe - Requirements
2/26/2021 17
Engineering
Requirements validation
techniques
• Requirements reviews / inspections –
systematic manual analysis of the requirements.

• Prototyping – using an executable model of the system to


check requirements. Covered in Chapter 17.

• Test-case generation – developing tests for


requirements to check testability.

• Automated consistency analysis – checking the


consistency of a structured requirements description. (CASE – e.g.,
“Wisdom” tool in KARE workbench)

© JK Balikuddembe - Requirements
2/26/2021 18
Engineering
Review checklist
• Verifiability: Is the requirement testable?
• Comprehensibility: Is the requirement
understandable?
• Traceability: Is the origin of the requirement
clearly stated? and rationale!

• Adaptability: Can the requirement be


changed with minimum impact on other
requirements? (Especially when change is anticipated!)

© JK Balikuddembe - Requirements
2/26/2021 19
Engineering
Review checklist Cont.
• 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
© JK Balikuddembe - Requirements
2/26/2021 20
Engineering
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

© JK Balikuddembe - Requirements
2/26/2021 21
Engineering
Automated consistency checking

© JK Balikuddembe - Requirements
2/26/2021 22
Engineering
Requirements Management
Enduring vs. volatile requirements
Planning considerations
Traceability
CASE support
Change management process

© JK Balikuddembe - Requirements
2/26/2021 23
Engineering
Requirements management…
• …is the process of understanding and
controlling requirements change.
• Requirements evolve, priorities change, and
new requirements emerge as
– a better understanding of the system is
developed, and
– the business and technical environment of the
system changes.

© JK Balikuddembe - Requirements
2/26/2021 24
Engineering
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

© JK Balikuddembe - Requirements
2/26/2021 25
Engineering
Requirements evolution

© JK Balikuddembe - Requirements
2/26/2021 26
Engineering
Enduring and volatile requirements
• Enduring requirements.
– Stable requirements derived from the core activity
of the customer organisation. E.g. a hospital will
always have doctors, nurses, etc.
– May be derived from domain models
• Volatile requirements.
– Requirements which change during development
or when the system is in use.
– In a hospital, requirements derived from health-
care policy
© JK Balikuddembe - Requirements
2/26/2021 27
Engineering
Types of volatile 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
organisational processes

© JK Balikuddembe - Requirements
2/26/2021 28
Engineering
Requirements management planning

• During the requirements engineering process,


you have to plan:
– Requirements identification
• How requirements are individually identified
– A change management process
• The process followed when analysing a requirements change
– Traceability policies
• The amount of information about requirements
relationships that is maintained
– CASE tool support
• The tool support required to help manage requirements
change

© JK Balikuddembe - Requirements
2/26/2021 29
Engineering
Change management process

• Applied to all proposed requirements


changes
• Principal stages:
– Problem analysis – analyze identified requirements
problem and propose specific change(s)
– Change analysis and costing – assess effects of
change on other requirements
– Change implementation – modify requirements
document (+ system design and implementation, as
necessary) to reflect the change
© JK Balikuddembe - Requirements
2/26/2021 30
Engineering
Requirements change management

© JK Balikuddembe - Requirements
2/26/2021 31
Engineering
Traceability…
• …is concerned with the relationships
between requirements, their sources, and
the system design.
• Types of traceability:
– Source traceability – links from requirements to stakeholders
who proposed the requirements. (or other sources)
– Requirements traceability – links between dependent
requirements.
– Design traceability – links from the requirements to the
design.

© JK Balikuddembe - Requirements
2/26/2021 32
Engineering
A traceability matrix

© JK Balikuddembe - Requirements
2/26/2021 33
Engineering
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

© JK Balikuddembe - Requirements
2/26/2021 34
Engineering
Case tool Types
• Diagramming Tools:
– It helps in diagrammatic and graphical representations of the data and system
processes.
– It represents system elements, control flow and data flow among different
software components and system structure in a pictorial form.
• For example, Flow Chart Maker tool for making state-of-the-art flowcharts
• Computer Display and Report Generators:
– It helps in understanding the data requirements and the relationships
involved.
• Analysis Tools:
– It focuses on inconsistent, incorrect specifications involved in the diagram and
data flow.
– It helps in collecting requirements, automatically check for any irregularity,
imprecision in the diagrams, data redundancies or erroneous omissions. For
example,
• (i) Accept 360, Accompa, CaseComplete for requirement analysis.
• (ii) Visible Analyst for total analysis.

© JK Balikuddembe - Requirements
2/26/2021 35
Engineering
Case tool Types – Cont.
• Central Repository
– It provides the single point of storage for data diagrams,
reports and documents related to project management.
• Documentation Generators :
– It helps in generating user and technical documentation as
per standards. It creates documents for technical users and
end users.
• For example, Doxygen, DrExplain, Adobe RoboHelp for
documentation
• Code Generators:
– It aids in the auto generation of code, including definitions,
with the help of the designs, documents and diagrams.

© JK Balikuddembe - Requirements
2/26/2021 36
Engineering
RE Management tools
• Important features
– Support for different software development
methodologies
– Hierarchical organization
• Some requirements need to be broken out into smaller sub-
items
– Traceability
– Collaboration features
• Teams need reliable tools to work together (Commenting,
sharing)
– Import requirements from other tools/systems
– Security and permissions

© JK Balikuddembe - Requirements
2/26/2021 37
Engineering
RE Management tools examples
• Modern Requirements • Aha
• Accompa • StoriesOnBoard
• Visure Requirements • Blueprint
• Jama Software • Pond
• Jira Software • iRise
• Requirements Hub • Visual Trace Spec
• ReqChecker

© JK Balikuddembe - Requirements
2/26/2021 38
Engineering
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
© JK Balikuddembe - Requirements
2/26/2021 39
Engineering
Key points
• Social and organisation 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
© JK Balikuddembe - Requirements
2/26/2021 40
Engineering
Key points
• Business, organizational, and technical
changes inevitably lead to changing
requirements.
• Requirements management involves careful
planning and a change manage-ment process.

© JK Balikuddembe - Requirements
2/26/2021 41
Engineering

You might also like