0% found this document useful (0 votes)
3 views41 pages

RE Process

The document outlines the processes involved in Requirements Engineering (RE), including feasibility studies, requirements elicitation, analysis, validation, and management. It emphasizes the importance of stakeholder involvement and the challenges faced during elicitation and analysis, such as conflicting requirements and evolving needs. Additionally, it discusses the significance of requirements validation and management in adapting to changes in business and technical environments.

Uploaded by

bwayosam03
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views41 pages

RE Process

The document outlines the processes involved in Requirements Engineering (RE), including feasibility studies, requirements elicitation, analysis, validation, and management. It emphasizes the importance of stakeholder involvement and the challenges faced during elicitation and analysis, such as conflicting requirements and evolving needs. Additionally, it discusses the significance of requirements validation and management in adapting to changes in business and technical environments.

Uploaded by

bwayosam03
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Requirements Engineering

Processes

Dr. Joseph Kibombo Balikuddembe


For comments and issues
jbalikud@[Link].

© 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