0% found this document useful (0 votes)
38 views

Requirement Engineering Process

The document discusses requirement engineering processes. It describes how requirement engineering involves defining a process to transform inputs like stakeholder needs into outputs like documented requirements. It discusses factors that cause requirement engineering processes to vary across organizations. It also describes common process models, the roles of different actors, and ways processes can be supported and improved, such as through tools and measuring process maturity.

Uploaded by

Nesrelah Mussa
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)
38 views

Requirement Engineering Process

The document discusses requirement engineering processes. It describes how requirement engineering involves defining a process to transform inputs like stakeholder needs into outputs like documented requirements. It discusses factors that cause requirement engineering processes to vary across organizations. It also describes common process models, the roles of different actors, and ways processes can be supported and improved, such as through tools and measuring process maturity.

Uploaded by

Nesrelah Mussa
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
You are on page 1/ 31

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 and clear)
encapsulate knowledge and allow it to be reused
 Examples of process descriptions
 Instruction manual for a dishwasher
 Cookery book
 Procedures manual for a bank
 Quality manual for software development
 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
Requirement Engineering process
 …
Requirement Engineering process...
…
Requirement Engineering process…
 For Library information System(LIS) the following are example
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
 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 a print all of the personnel information which
is maintained for a library user
 Domain information
 Books are uniquely identified by an international Standard Book Number which is a
10 digit identifier
RE process variability
 RE processes vary radically from one organization to another
 Factors contributing to this variability include
 Technical maturity – technologies and methods used vary
 Disciplinary involvement – engineering & managerial disciples
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:
 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
 Various methods such as fault-tree analysis and Petri net analysis have
been developed for safety validation.
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
 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
and their approximate sequencing
 Used as starting point for process description with separate sections
covering each box in the model
Process Models…
 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.)
 Role-action diagrams are process models which show the
actors associated with different process activities
Actors in RE process...

Role Action Diagram (RAD) for software prototyping


Actors in RE process...

 Human and social factors


 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
 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 the checking of these models for
completeness and consistency.
 Modeling tools are developed based on structured methods such as
SADT, or specialized requirement languages such as RSL.
 If a mathimematical model of requirements are developed using
VDM & Z then more extensive checkers may be used
 Management tools
 Help to manage a database of requirements and support the
management of changes to these requirements.
Process support...
 Management tools (cont’d)
 These tools are developed to alleviate the problem of large
amount of data collected in RE process & variability of
requirements
 Examples: RequisitPro, DOORS, RML,
 Requirement Management tools provide a range of facilities to
access the information about the requirements.
 Requirements browser
 Requirements query system
 Traceability support system
 Report generator
 Requirements converter and word processor linker
 Change control system
Process support...

A requirements management system


Process Improvement
 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 recourses 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?
 How should process improvements be controlled and managed?
Process Improvement...
 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.
 The SEI’s 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 in the 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
RE process Maturity Model
 Requirement engineering process maturity is extent to which
an organization has defined requirement engineering process
based on good requirement engineering practice.
 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.
RE process Maturity Model…
 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 the skills and
experience of individual engineers for requirements elicitation,
analysis & validation.
RE process Maturity Model…
 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.
 Levels: Defined level
 Have a defined requirements engineers process model based on
good practice and techniques.
 They have an active process improvement programme 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)
 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)

You might also like