Académique Documents
Professionnel Documents
Culture Documents
CSEB233: Fundamentals
of Software Engineering
Process Models
Lesson Objectives
Describe the types of process flows
Determine task set for software process activities
Explain software process patterns
Discuss several process assessment and improvement frameworks
Analyze prescriptive and specialized software
process models
Select a process model for software development
project
Process Activities
Framework & Umbrella
Framework activities :
o generic activities that are applicable to all software projects,
regardless of their size or complexity
o Include communication; planning; modeling, construction; and
deployment
Umbrella activities:
o complementary activities applied throughout a software project
and help manage and control progress, quality, change, and risk
o Include project tracking and control; risk management; software
quality assurance (SQA); technical reviews; configuration
management (CM); etc.
Process Models
Process Flows
Process Flow
Describes how the framework activities and the
actions and tasks that occur within each activity are
organized with respect to sequence and time
The flows:
o Linear: execute the framework activities in sequence
o Iterative: repeats one or more of the activities before
proceeding to the next
o Evolutionary: execute the activities in a circular manner
o Parallel: executes one or more activities simultaneously
with other activities
Process Flow
Process Models
Task Set
Actions:
o Communication action: develop requirements
Task set:
o Make contact with stakeholder via telephone.
o Discuss requirements and take notes.
o Organize notes into a brief written statement of requirements.
o E-mail to stakeholder for review and approval.
Process Models
Process Patterns
Process Patterns
A process pattern
o describes a process-related problem that is encountered
during software engineering work,
o identifies the environment in which the problem has been
encountered, and
o suggests one or more proven solutions to the problem
Task patterns
o defines a problem associated with a software engineering
action or work task and relevant to successful software
engineering practice
Phase patterns
o define the sequence of framework activities that occur with the
process, even when the overall flow of activities is iterative in
nature
Process Models
Process Assessment &
Improvement
Process Models
Prescriptive & Specialized
Process Models
Incremental Model
o combines elements of linear and parallel process flows
Evolutionary Model
o follows the evolutionary process flow that combines elements of linear
and iterative process flows
Prototyping
Spiral
Concurrent Model
o combines elements of iterative and parallel process flows
Planning
estimating
scheduling
tracking
Modeling
analysis
design
Construction
code
test
Deployment
delivery
support
f eedback
Strengths
Simple and easy to
use/explain to
customers.
Weaknesses
Applicability
The staged
development cycle
enforces discipline:
every phase has a
The model requires the customer When software
defined start and end
point, and progress can
to state all requirements
development technologies
be conclusively
explicitly, which is often very
and tools are well known.
identified (through the
difficult to achieve.
The work tasks in the
use of milestones)
The working software will not be
project are to proceed to
available until late in the project,
completion in a linear
which can be disastrous for late
manner.
discovery of major defects.
Leads to blocking states in
which some project team
members must wait for others to
complete dependent tasks.
increment #n
Communic at i on
Pl anning
Modeling
analys is
des ign
C o n s t ru c t i o n
code
t es t
De p l o y m e n t
d e l i v e ry
fe e db a c k
delivery of
nth increment
increment # 2
Communic at i on
Pl a nning
M odeling
analys is
des ign
Co n s t ru c t i o n
c ode
De p l o y m e n t
t es t
d e l i v e ry
fe e db a c k
increment # 1
Communic at ion
Planning
Modeling
analys is
des ign
C o n s t ru c t i o n
code
De p l o y m e n t
t es t
d e l i v e ry
fe e db a c k
delivery of
1st increment
delivery of
2nd increment
Quick
plan
Quick plan
Communication
communication
Modeling
Modeling
Quick design
Quick design
Deployment
Deployment
Delivery
delivery
&
& Feedback
feedback
Construction
Construction
of
of
prototype
prototype
communication
modeling
analysis
design
start
deployment
delivery
feedback
construction
code
test
Under
development
Awaiting
changes
Under review
Under
revision
Baselined
Done
Formal methods
o emphasizes the mathematical specification of requirements, which can
demonstrate software correctness but are not widely used.
Unified Process
o a use-case driven, architecture-centric, iterative and incremental
software process closely aligned with the Unified Modeling Language
(UML)
Process Models
Selecting a Process Model
Summary
There are four types of process flows linear, iterative,
evolutionary, and parallel.
Software process patterns may suggest one or more proven
solutions to the problem from other projects, which can be
reused in another project
There are several process assessment and improvements
frameworks that can be exercised by practitioners
The analyses of prescriptive and specialized software process
models would help select the most appropriate process model
for a software development project, which can be proceeded
with the identification of task set for the project
THE END
Copyright 2015
Mohd. Sharifuddin Ahmad, PhD
College of Information
Technology