Requirements Engineering - Methods & Techniques

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

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

You might also like