2. ī 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
Contents
3. ī 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
ī Instruction manual for a dishwasher
ī Cookery book
ī Procedures manual for a bank
ī Quality manual for software development
What is process?
4. ī 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
5. 5
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!â
6. 6
RE Process - 2
ī A requirement Engineering process has
a formal has a 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
7. 7
Two Main Tasks of RE
ī There are two main tasks which needs to
be performed in the requirement
engineering life cycle.o be performed in
the requirements engineering process.
ī 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 specifications
T
8. 8
Problem Analysis - 1
ī Brainstorming, interviewing, eliciting requirements
ī Identifying all possible constraints
ī Expansion of information
ī Trading off constraints and organizing information
ī Complete understanding should be achieved
Problem analysis is the first and foremost
task of re
Q
Problem analysis is the first and foremost
task of requirements engineering process.
It includes:
9. 9
Product Description
ī Make decisions to define the external
behavior of the software product
ī Organize ideas, resolve conflicting
views, and eliminate inconsistencies and
ambiguities
Product description is another task of
requirements engineering process. In this
task we:
10. 10
What Really Happens
âBoth problem analysis and product description run in
parallel and iteratively throughout the requirements
engineering processâ
It should be kept in mind that :
11. Requirements Engineering Processes
ī Processes 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
study
Requirements
elicitation and
analysis
Requirements
specification
Requirements
validation
Feasibility
report
System
models
User andsystem
requirements
Requirements
document
12. Feasibility studies
ī For each new system RE starts with this study
ī 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
13. 13
Requirements Elicitation
ī Determining the system requirements
through consultation with stakeholders,
from system documents, domain
knowledge, and market studies
ī Requirements acquisition or
requirements discovery
Requirements elicitation activity is
performed by
14. 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
15. 15
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
16. 16
Requirements Document
ī Detailed descriptions of the required software
system in form of requirements is captured in the
requirements document
ī Software designers, developers and testers are the
primary users of the document
17. 17
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.
18. 18
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
21. ī 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
22. ContdâĻ.
ī 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
23. ī 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
24. 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
25. ī 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:
RE Process for safety-related systems
26. ContdâĻ
ī 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
28. ī 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
Integrating safety analysis with REâĻ
29. ContdâĻ
ī The safety analysis process includes:
ī The identification of safety considerations
ī Hazard identification
ī Hazard analysis
ī Risk analysis and derivation of safety
requirements
30. ī 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
Process Models
31. ī 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
33. 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.)
34. Actors in RE process...
Role Action Diagram (RAD) for software
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
35. ī 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
Actors in RE process...
36. ī 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
Process support
37. Stakeholder Types
ī Software engineers
ī System end-users
ī Managers of system end-users
ī External regulators
ī Domain experts
Factors Influencing Requirements
ī Personality and status of stakeholders
ī The personal goals of individuals within an
organization
ī The degree of political influence of stakeholders
within an organization
38. ī One way to minimize errors in the requirements
engineering is to use process models and to use CASE
tools
ī 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.
ī 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
Process support...
39. ī Management tools (contâd)
ī Examples: RequisitPro, DOORS, RML, âĻ..
ī RMtools 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
Process support...
41. ī 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?
ī How should process improvements be controlled and
Process Improvement
42. ī 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
43. ī 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 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
45. ī 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 maturityâĻ
46. ī Level 5 â Optimizing
ī has a continuous process improvement strategy
ī Requirement engineering process maturity is 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
RE process Maturity Model
47. ī 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
48.
49. ī 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
50. ī 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 engineers process
model based on good practice and techniques.
ī They have an active process improvement
51. ī 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)
Good practice for RE process improvement
52. 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)