Chapter 2 - Requirements Engineering Process

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 57

Chapter Two

Requirements Engineering Process


Contents
What is process?
Designing processes
Requirement Engineering process
RE process variability
RE Process for safety-related systems
Process Models
Actors in Requirements engineering process
Process support
Process Improvement
Process Maturity
A requirement engineering process maturity model
What is process?
 A process is an organized set of activities which transforms inputs to outputs

 Once someone has worked out how to solve a problem, they can document the way in which that solution

was derived as a process.


 Process descriptions (should be as complete, consistent & clear) encapsulate knowledge and allow it

to be reused.
 Examples of process descriptions
 Software engineering development process (SDLC)
 Requirements engineering process
 Design process
 Quality assurance process
 Change management process

 Process may be defined in

 a very fine level of detail (steps followed exactly they appear)

 An abstract way (process user may enact the process)


Designing Processes
 Designing processes involve creativity, interactions between a wide range of different

people, engineering judgment and background knowledge and experience.


 Examples of designing processes

Writing a book ,Organizing a conference

Designing a processor chip

Requirements engineering

 Unlike other processes in designing software processes

inputs are not precisely defined and

are many possible outputs which may result to satisfy this inputs.

It is hard to automate such processes


RE Process - 1
It is a continuous process in which the related activities are repeated until

requirements are of acceptable quality.


It is one of the most critical processes of system development

Based on the need of individual software projects and organizational needs,

requirements engineering processes are tailored


An important point to remember is that

“There is no ideal requirements engineering process!” it varies from project to


project
5
RE Process - 2
• A requirement Engineering process has a formal starting and ending point

in the overall software development lifecycle.


 Begins

There is recognition that a problem exists and requires a solution

A new software idea arises

 Ends

With a complete description of the external behavior of the software to

be built.
6
Two Main Tasks of RE
 There are two main tasks which needs to be performed in the

requirement engineering life cycle.


 Problem analysis

 Analysis of a software problem

 Product description

 Complete specification of the desired external behavior of the software

system to be built.
 Also known as functional description, functional requirements, or

7 specifications
Problem Analysis
Problem analysis is the first and foremost task of requirements
engineering process. It includes:
Brainstorming, interviewing, eliciting requirements

Identifying all possible constraints

Expansion of information

Trading-off constraints and organizing information

Complete understanding should be achieved

8
Product Description
Product description is another task of requirements engineering
process. In this task we:

Make decisions to define the external behavior of the

software product.
Organize ideas, resolve conflicting views, and eliminate

inconsistencies and ambiguities.

9
What Really Happens

It should be kept in mind that :

“Both problem analysis and product description run in


parallel and iteratively throughout the requirements
engineering process”

10
Requirements Engineering Processes
Processes are used to discover, analyse and validate system requirements
The process of establishing what services are required and the constraints on the
system’s operation and development.

Feasibility Requirements
study elicitation and
analysis
Requir ements
specification
Feasibility Requirements
report validation
System
models
User and system
requirements

Requirements
document
Feasibility studies
For each new system RE starts with this study
Feasibility study leads to a decision:
go ahead
do not go ahead
think again

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 used
Requirements Elicitation

Requirements elicitation activity is performed by

Determining the system requirements through consultation

with stakeholders, from system documents, domain knowledge,


and market studies
Requirements acquisition or requirements discovery

13
Requirement Analysis

Refining and modifying the gathered requirements

Encompasses those tasks that go into determining the needs or

conditions to meet for a new or altered product taking the


possibility of conflicting requirements of the various stakeholders.
 Determining whether the stated requirements are clear,

complete, consistent and unambiguous


Requirements Specification

Building a tangible model of requirements using natural language and

diagrams.

Building a representation of requirements that can be assessed for

correctness, completeness, and consistency.


Formalizes the informational, functional, and behavioural requirements of

the proposed system in both graphical and textual formats.

15
Requirements Document

Detailed descriptions of the required software system in the form

of requirements is captured in the requirements document.

Software designers, developers and testers are the primary users

of the document.

16
Requirements Validation
It involves reviewing the requirements model for consistency and

completeness
This process is intended to detect problems in the requirements document,

before they are used as a basis for the system development.


Checking whether the requirements are consistent with the overall objectives

of the system.
Concerned with demonstrating that the requirements define the system that

the customer really wants.

17
Requirements Management

Although, it is not shown as a separate activity in RE Process, it

is performed through out the requirements engineering


activities.

Requirements management asks to identify, control and track

requirements and the changes that will be made to them.

18
RE Process - Inputs and Outputs
…
RE Process - Inputs and Outputs
…
For Library information System(LIS) the following examples are
requirements for inputs.
Existing System information

The LIS shall poll the bar code reader system and process all of the

transaction requests every two seconds.


Stakeholder needs

The system should provide a help facility which will explain the facilities

of the system to new user.


This help facility should be accessible from all user interface screens.
Contd….
Organizational standards
The system shall run on a Sun server running the Solaris 2.0
operating system
Regulations

The system shall include a facility to print all of the

personnel information which is maintained for a library user.


Domain information

Books are uniquely identified by an international Standard


RE process variability

RE processes vary radically from one organization to

another and even within an organization in different projects.


Unstructured process rely heavily on the experience of the

people, while systematic processes are based on application


of some analysis methodology , but they still require human
judgment.
RE process Variability Factors
Factors contributing to this variability include

Technical maturity – technologies and methods used vary.

Disciplinary involvement – engineering & managerial disciplines involved vary.

Organizational culture – culture of an organization has effect on all business

processes.
Application domain – different applications need different RE process

There is therefore no ‘ideal’ requirements engineering process.

Rather organizations should start with generic RE process and instantiate this into

more detailed process which is appropriate to their own needs.


RE Process for safety-related systems
The requirements engineering process for safety-related systems

should incorporate a specific safety-analysis activity


The widely accepted model of the system critical, systems life cycle

[British Computer Society (BCS) and Institution of Electrical


Engineers (IEE) 1989] identifies two stages in the safety analysis
process:
1. Safety requirements discovery
2. Safety validation
Cont.…

Safety requirements discovery – establishment of safety


requirements or constraints which the system must satisfy
Involves hazard identification and analysis, risk assessment

and formulation
Safety validation – analysis of system requirements against

global safety constraints to ensure these requirements do not


conflict.
Integrating safety analysis with RE
Integrating safety analysis with RE…
As shown in the diagram in preceding slide the requirements process has been

extended to incorporate an explicit safety analysis activity


The safety analysis process is based on requirements information drawn from

the requirements elicitation and documentation process


The starting point for specifying the system is a set of abstract organisational

needs and constraints.


The abstract safety requirements serves as a reference model for identifying

initial safety considerations or concerns


Cont.…
The safety analysis process includes:

The identification of safety considerations

Hazard identification

Hazard analysis

Risk analysis and derivation of safety requirements


Process Models
 A process model is a simplified description of a process presented from a particular

perspective.
 No single model gives you a complete understanding of the process

 To describe a process in detail it is usual to produce several different types of model giving

different process information.


 Types of process model include:

Coarse-grain activity models

 shows the major activities involved in particular process and shows their approximate

sequencing.
Used as starting point for process description with separate sections covering each box in

the model
Fine-grain activity models

detailed model of a specific process.

Used for understanding & for improving existing process

Role-action models

show the role of different people involved in the process & the actions which they

take.
Helpful for process understanding & automation

Entity-relation models

Show the process inputs, outputs & intermediate results & the relationships b/n

them
Used in a quality management system & supplement models of process activities
Process Models…

Coarse-grain activity model of


RE
Actors in RE Process
Actors in a process are the people involved in the execution of that

process
Actors are normally identified by their roles rather than individually

Requirements engineering involves actors who are primarily interested

in the problem to be solved (end-users, etc) as well actors interested in


the solution (system designers, etc.)
Actors in RE process...
Role-action diagrams: are process models which show the actors associated with
different process activities.
They document the information needs of different people involved in the process

Role Action Diagram (RAD) for software


Actors in RE process...

Human and social factors in RE processes


RE processes are dominated by human, social and organizational factors
because they always involve a range of stakeholders from different backgrounds
and with different individual and organizational goals.
System stakeholders may come from a range of technical and non-technical
background and from different disciplines
Process support
 One way to minimize errors in the requirements engineering is to use process models and

to use CASE tools.


 CASE tools provide automated support for software engineering processes

CASE tools increase productivity (not though the scale predicted) and product quality

 The most mature CASE tools support well understood activities such as programming and

testing and the use of structured methods


 Support for requirements engineering is still limited because of the informality and the

variability of the process


Some companies have developed their own tools which are directed towards their own

RE process
Process support...
There are two types of tools which are available to support the requirement
engineering process
Modeling and validation tools
support the development of system models which can be used to specify
the system and checking of these models for completeness and
consistency.
Management tools
Help to manage a database of requirements and support the management
of changes to these requirements.
 are developed to alleviate the problem of large amount of data
collected in RE process & variability of requirements.
Process support...
Management tools (cont’d)
Examples: RequisitPro, DOORS, RML, …..
RML tools provide a range of facilities to access the information
about the requirements.
Requirements browser
Requirements query system
Traceability support system
Report generator
Reqs. converter and word processor linker
Change control system
Checkon:http://makingofsoftware.com/resources/list-of-rm-tools
Process support...

A requirements management system


Process Improvement
is concerned with modifying processes in order to meet some improvement

objectives
Improvement objectives

Quality improvement – fewer errors, more complete, better reflect real needs, etc

Schedule reduction – output produced more quickly

Resource reduction- fewer resources needed to enact the process


 Planning process improvement

 What are the problems with current processes?

 What are the improvement goals?

 How can process improvement be introduced to achieve these goals?


RE process problems
Lack of stakeholder involvement
Business needs not considered
Lack of requirements management
Lack of defined responsibilities
Stakeholder communication problems
Over-long schedules and poor quality requirements documents

There is no standard set of process improvement which should be introduced

nor is there a standard requirement engineering process which all


organizations should be aiming to.
Rather, the appropriate improvement depend on the type of organization and

the organizational culture


Process maturity

Process maturity can be thought of as the extent that an

organization has defined its processes, actively controls these


processes and provides systematic human and computer-based
support for them.
An organization which has defined a set of standards for

processes and provide tool support for these standards is more


mature than an organization with only informal process definition.
Process maturity…

The Capability Maturity Model (CMM) is a framework for

assessing software process maturity in development organizations

The basic idea underlying the CMM approach is that

organizations should asses their maturity then introduce process

changes which will enable them to progress up the maturity

‘ladder’ in a five stage process.


Process maturity…

Process Capability Maturity Model


Process maturity…
 Level 1 - Initial (Chaotic)
have undocumented and undisciplined process , the environment for the processes is
chaotic or unstable
 Level 2 – Repeatable
Have basic cost and schedule management procedures and processes are repeatable,
possibly with consistent results
 Level 3 – Defined
processes at this level are sets of defined and documented standard processes
established and subject to some degree of improvement over time.
 Level 4 – Managed
Detailed measurements of both process and product quality are collected and used to
control the process
Level 5 – Optimizing
has a continuous process improvement strategy
Process maturity…

The Key Process Challenges


Process Maturity ….
 Requirement engineering process maturity is an extent to which an organization has

defined requirement engineering process based on good requirement engineering


practices.
 An organization with a mature RE process

will have this process explicitly defined.

Will use appropriate methods and techniques

Will have defined standards for requirement documents, requirement descriptions, etc

Will have used automated tools to support the process


Will have management policies and procedures in place to ensure

that the process is followed


May use process measurements to collect information about the

process to help assess the value of process changes.


The CMM is mostly concerned with the management of software

development process and doesn’t cover RE process.


A comparable model of RE process maturity is discussed by

Sommerville & Swayer, 1997.


The requirement process maturity model is three-level model
RE process maturity model
Level 1: Initial Level

Do not have a defined RE process & often suffer from requirements

problems such as excessive requirements volatility, unsatisfied


stakeholders & large rework costs when requirements change.
They do not use advanced methods to support their requirements

engineering process.
They often fail to produce good quality requirement documents on time

& within budget.


The requirements are dependent on the skills and experience of

individual engineers for requirements elicitation, analysis & validation.


Level 2: Repeatable level

Have defined standards for requirements documents and requirements descriptions

and have introduced policies and procedures for requirements management.


They may use some advanced tools and techniques in their RE process

Their requirements documents are likely to be of a consistent high quality and to

produced on schedule.
Level 3: Defined level

Have a defined requirements engineering's process model based on good practice

and techniques.
They have an active process improvement program in place and can make

objective assessments of the value of new methods & techniques


Good practice for RE process improvement

RE processes can be improved by the systematic introduction of good

requirements engineering practice


Each improvement cycle identifies good practice guidelines and works to

introduce them in an organization


Examples of good practice guidelines

Define a standard document structure (initial)

Uniquely identify each requirement (initial)

Define policies for requirements management (initial)


Contd..
Use checklists for requirements analysis (initial)

Use scenarios to elicit requirements (Repeatable)

Specify requirements quantitatively (Repeatable)

Use prototyping to animate requirements (Repeatable)

Reuse requirements (Defined)

Specify systems using formal specification (Defined)


ISO 9001 Standards
 ISO 9001 identify requirements for systems of quality management for an organization who:

 a) wants to exhibit its capability to consistently give product that meets up customer requirements

 b) plans to improve customer satisfaction via valuable system application, together with processes for

continuous system improvement and the guarantee of compliance to customer requirements.

 ISO 9001 requirements are generic and are planned to be appropriate to all organizations, in

spite of :
 organization type,

 organization size and,

 organization product provided for enhancing the customer satisfaction by meeting customer

requirements.
IEEE Std 1362™-1998
 This standard deals with the concept of operations (ConOps) document.

 It is a user-oriented document that explains proposed system characteristics from the users’

perspective.
 The concept of operation (ConOps) document is used to communicate the system characteristics to

the stakeholders and other organizational elements like staffing, training etc.
 It is also notified that the standard is used to describe not only the user organization(s) but also the

user mission(s) besides with that of the objectives of an organization from an integrated systems
perspective.
 It acts as a guide for all software-intensive systems.

 The standard is applicable to all software products irrespective of its size, scope, complexity, or

criticality.
Reading Assignments

1. Generic practices in RE process

2. Requirement’s development process area

3. Requirements management process area


Thank you !!
.
.
???

You might also like