-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
1/24
1
Processes and Process Models
Lecture # 5
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
2/24
2
Process - 1
A process is an organized set ofactivities, which transforms inputs tooutputs
We can use synonyms of process suchas: procedure, method, course ofaction, etc.
Processes are essential for dealingwith complexity in real world
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
3/24
3
Process - 2
Processes document the steps in solving a
certain problem
They allow knowledge to be reused
They Allow people to apply the process intheir peculiar but similar problems
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
4/24
4
Examples of Processes - 1
An instruction manual for operating a
microwave oven
An instruction manual for assembling a
computer or its parts
A procedure manual for operating a motor
vehicle radio and CD player
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
5/24
5
Examples of Processes - 2
A quality manual for software
development.
Such a manual describes the
processes, which should be used to
assure the quality of the software
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
6/24
6
Software Processes
Software engineering, as a discipline,
has many processes
These processes help in performing
different software engineering
activities in an organized manner
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
7/24
7
Software Processes
Requires creativity
Provides interactions between a wide
range of different people Helps in engineering judgment
Requires background knowledge
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
8/24
8
Examples of Software Processes
Software engineering development
process (SDLC)
Requirements engineering process Design process
Quality assurance process
Change management process
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
9/24
9
Software Requirements Engineering
Process
Before discussing different aspects of
requirements engineering process, let
us discuss the concept of processmodels
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
10/24
10
Process Models
A process model is a simplifieddescription of a process presentedfrom a particular perspective
There may be several different modelsof the same process
No single model gives a completeunderstanding of the process beingmodeled
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
11/24
11
Variations in Process Models
A process model is produced on the
anticipated need for that model. We may
need
A model to help explain how process
information has been organized
A model to help understand and improve a
process
A model to satisfy some quality management
standard
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
12/24
12
Types of Process Model
Coarse-grain activity models
Fine-grain activity models
Role-action models
Entity-relation models
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
13/24
13
Coarse-grain Activity Model
This type of model provides an overall
picture of the process
Describes the context of differentactivities in the process
It doesnt document how to enact a
process
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
14/24
14
Context of Requirements
Engineering
Software requirements follow the
system requirements and system
design The primary goal is understanding
Software requirements are followed
by software design in a software
development life cycle
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
15/24
15
Context of RE Process in
Waterfall Model
System
requirements
engineering Software
requirements
engineeringSoftware
design
Programming
and
unit testingSystem
testing
System
operation
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
16/24
16
Another Perspective on Context
of RE Process
System acquisition
Requirements engineering
System design
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
17/24
17
Coarse-grain Activity Model of
the Requirements Engineering
Process
Requirements engineering process is
an example of coarse-grain activitymodel
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
18/24
18
Coarse-grain Activity Model of
the Requirements Engineering
Process
Requirements
Elicitation
Requirements
Analysis and
Negotiation
Requirements
Specification
Requirements
Validation
User Needs,
Domain Information,
Existing System
Information, Regulations,
Standards, Etc.
Requirements
Document
Agreed
Requirements
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
19/24
19
Spiral Model of RE Process
Informal statement ofrequirements
Draft requirements
document
Requirements
document and
validation report
Agreed
requirements
START
Requirement
elicitation
Requirement analysis
and negotiation
Requirement
validation
Requirementdocumentation
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
20/24
20
Fine-grain Activity Models
These are more detailed models of aspecific process, which are used forunderstanding and improving existingprocesses
Well discuss some fine-grainprocesses within the generalrequirements engineering processes inlater lectures
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
21/24
21
Role-action Models
These are models, which show the
roles of different people involved in
the process and the actions which theytake
They are useful for processunderstanding and automation
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
22/24
22
Entity-relation Models
The models show the process inputs,
outputs, and intermediate results and
the relationships between them
They are useful in quality
management systems
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
23/24
23
Summary
A process is an organized set of activitieswhich transforms inputs to outputs, andthey help in coping with complexity in the
world Differences between these processes
usually emerge at the level of detailed
description A process model is a simplified description
of a process presented from a particularperspective
-
7/29/2019 Requirement Enginering Software Requirement Tutorial 5
24/24
24
References
Requirements Engineering: Processes
and Techniques by G. Kotonya and I.
Sommerville, John Wiley & Sons,1998