Twitter: Babar Yaqoob
Khan @byaqoobkhan
Today’s Topic
Requirements
Engineering
Methods &
Techniques
What Is RE Why RE
Learning
Outcomes
How to RE Assignment
Requirements Engineering
The process of establishing the services that a customer
requires from a system and the constraints under which
it operates and is developed.
The system requirements are the descriptions of the
system services and constraints that are generated
during the requirements engineering process.
4
Why?
Software Requirement Engineering
5
Standish Chaos Report
6
Standish Chaos Report
7
Standish Chaos Report
8
9
Requirements Engineering
Requirements
Engineering
Requirements Requirements
Development management
Change
Management
Traceability
Elicitation Analysis Specification Verification
Larry Boldt, Trends in Requirements Engineering, People-Process-Technology, Technology Builders, Inc., 2001
Requirements Engineering Process
Software Engineering – 10th Edition, Global Edition – Ian Sommerville 11
Requirements
Engineering Elicitation
Requirements Elicitation & Analysis Process
13
More on Techniques:
https://www.researchgate.net/publication/280154366_Procedural_Model_of_Requirements_Eli
15
citation_Techniques
16
Requirements
Engineering Analysis
Requirements Analysis
Determining whether the stated requirements are:
Unclear, incomplete, ambiguous, or contradictory or incorrect
Requirements classification and organisation
Groups related requirements and organise them into coherent
(rational/logical) clusters.
Prioritisation and negotiation
Prioritising requirements and resolving requirements conflicts.
Steps of Analysis
Understand the as-is system
Identify improvements
Develop requirements for the to-be system
19
Requirements Analysis Techniques
1. BPA (Business Process Automation)
2. BPI (Business Process Improvement)
3. BPR (Business Process Reengineering)
The above techniques are used by analysts to help users
discover their needs
20
Business Process Automation (BPA)
Doesn’t change basic operations
Automates some operations
More time is spent understating the current as-is system
before improvements.
BPA Techniques:
Problem Analysis
▪ Ask stakeholders to identify problems with as-is system and describe
how to solve them in the to-be system
Root Cause Analysis
▪ Root causes of problems are investigated
21
Business Process Improvement (BPI)
Making moderate changes to the way an organization
operates to take advantage of new opportunities offered
by technology
Can improve efficiency
Can improve effectiveness
Study the as-is system (though with less time than BPA)
Primary focus- improving business processes
22
BPI Components/Techniques
Duration Analysis
▪ Detailed examination of the amount of time taken to perform each
process in the current as-is system
Activity-Based Costing
▪ Examines major process costs
Informal Benchmarking
▪ Studies how other organizations perform their business processes in
order to learn how the organization can do better.
23
Business Process Reengineering (BPR)
Changes how the organization operates
Making major changes to take advantage of new ideas
and technology
Spends little time on understanding the as-is; goal is to
focus on new ideas and new ways of doing business.
24
Business Process Reengineering (BPR)
Business Process Reengineering Activities:
Outcome Analysis
▪ Defines the outcomes that provide value to the customer
Technology Analysis
▪ Identify interesting technologies and see how they might fit into the
processes of the organization
Activity Elimination
▪ Business processes are simply eliminated that may prove to be no
needed)
25
Select Appropriate Technique
Based on the following points, an appropriate technique(s) is selected:
Assess Potential Business Value
Determine Project Cost
Specify Breadth or Scope of Analysis
Determine Risk of Failure
26
Techniques – Selection Criteria
This table would be used by managers to determine which
technique might be used.
27
Requirements
Engineering Specification
Requirement Specification
The process of writing down the user and
system requirements in a requirements
document.
Requirements have to be understandable by
end-users and customers who do not have a
technical background.
Specification - Categories
User Requirements Specification
What user expects or user wish list from/to system.
Statements in natural language plus diagrams of the
services the system provides and its operational
constraints.
Intended Audience
Customers/Clients
System Requirements
System requirements Specification
Setting out detailed descriptions of the system’s
functions, services and operational constraints.
Defines what should be implemented so may be part of
a contract between client and contractor/vendor.
System requirements are more detailed requirements
and may include more technical information.
Illustrate the developer’s perspective
Ways/Methods of Writing a Software
Requirements Specification
Notation Description
The requirements are written using numbered sentences in natural language.
Natural language
Each sentence should express one requirement.
The requirements are written in natural language on a standard form or
Structured Natural
template. Each field provides information about an aspect of the requirement.
Language
(IEEE-1998 Standard)
This approach uses a language like a programming language, but with more
Design Description abstract features to specify the requirements by defining an operational
Languages model of the system. This approach is now rarely used although it can be
useful for interface specifications.
Ways/Methods of Writing a Software
Requirements Specification
Notation Description
Graphical models, supplemented by text annotations, are used to define the
Graphical
functional requirements for the system; UML use case and sequence
Notations
diagrams are commonly used.
These notations are based on mathematical concepts such as finite-state
machines or sets. Although these unambiguous specifications can reduce the
Mathematical
ambiguity in a requirements document, most customers don’t understand a
Specifications
formal specification. They cannot check that it represents what they want and
are reluctant to accept it as a system contract.
Requirements
Engineering Validation
Requirements Validation
Concerned with demonstrating that the requirements define the
system that the customer really wants.
Requirements error costs are high so validation is very
important
Fixing a requirements error after delivery may cost up to 100
times the cost of fixing an implementation error.
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?
36
Requirements Validation Techniques
Requirements Reviews
▪ Systematic manual analysis of the requirements.
Prototyping
▪ Using an executable model of the system to check requirements.
Test-Case Generation
▪ Developing tests for requirements to check testability.
37
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.
38
Review Checks
Verifiability
▪ Is the requirement realistically testable?
Comprehensibility
▪ Is the requirement properly understood?
Traceability
▪ Is the origin of the requirement clearly stated?
Adaptability
▪ Can the requirement be changed without a large impact on other
requirements?
39
Requirements Change &
Engineering Traceability
Requirements Change Management Process
Requirements Change Management Process
Requirements Traceability
47
Illustrate through charts (bar, pie, histogram)
Project Failure, Challenged and Success rates
of the latest (2019 or 2020) Standish Chaos
Report
Assignment
Banking plays a vital role in our lives, the more
automation the more ease to customers.
Apply complete RE process to old banking
system and develop set of agreed
requirements
Assignment
THANKS!
Any questions?
You can ask while in MSTEAMS session & WhatsApp group
RE: Methods &Techniques
Farewell to the Day