You are on page 1of 47

B. Computer Sci. (SE) (Hons.

)
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 improve-
ment frameworks

Analyze prescriptive and specialized software


process models
Select a process model for software development
project
A Generic Process Model

A software process
o
a collection of work activities! actions! tasks! which
are performed when software is to be created"

A process #model or framework $


o
is where these activities! actions! and tasks reside!
and that defines their relationship with the process
and with one another"
o
Also known as an abstract representation of a
software process"
A Generic Process Model
Shows the technical work hierarchy
o
activities encompassin% #includin%$
actions! populated by tasks.
Each action is defined by a set of
tasks that defines:
o
the actual work to complete
o
the work products to produce
o
the quality assurance filters to apply! and
o
the milestones that are used to indicate
the project and product pro%ress
Process Activities
Framework & Umbrella
&ramework activities
o
generic activities that are applicable to all software projects! re%ardless of their size or
complexity
o
'nclude communication( planning( modeling! construction( and deployment
)
A process framework involves heavy communication with the customer to %ather
re*uirements(
)
this activity establishes a plan for the software en%ineerin% work that follows"
)
't involves creation of models that will assist the developer and the customer to understand
the re*uirements and desi%n them(
)
it thereby involves construction #code %eneration and error testin%$"
)
't finally provides feedback based on the evaluation"
Process Activities
Framework & Umbrella

+mbrella activities
o
complementary activities applied throu%hout a software project and help mana%e
and control pro%ress! *uality! chan%e! and risk"
o
'nclude
Software ,roject -rackin% and .ontrol #Assess pro%ress and take action to maintain commitment$
/isk 0ana%ement #Assess risks that will affect outcome and *uality$
Software 1uality Assurance #Define and conduct activities to ensure software *uality$
&ormal -echnical /eviews #Assess 2ork products to uncover and rectify defects$
0easurement #Define and collect process! project and product metrics$
Software .onfi%uration 0ana%ement #0ana%e effect of chan%e$
/eusability 0ana%ement #Define criteria and establish mechanisms for reuse$
2ork ,roduct #Activities re*uired to create the work products$
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 with other activities in the same time.
Process Flow
Process Models
Task Set
Identifying a Task Set

A task set defines the actual work to be done to


accomplish the objectives of a software
en%ineerin% action
o
A list of the tasks to be accomplished
o
A list of the work products to be produced
o
A list of the *uality assurance filters to be applied
Identifying a Task Set
Key Questions in Determining Task Set
1 2hat actions are appropriate for a
&ramework activity! %iven
o
the nature of the problem to be solved(
o
the characteristics of the people doin% the work(
and
o
the stakeholders of the project3
1 2hat work tasks #task set$ that these
actions should encompass3
Different projects re*uire different task sets
o
-he tasks should be selected based on problems
and project characteristics"
Identifying a Task Set
Example
4ature of the problems and project
o
A small software project re*uested by one person #at a remote location$
with simple! strai%htforward re*uirements"
Actions #x$
o
.ommunication action develop re*uirements
-ask set
o
0ake contact with stakeholder via telephone"
o
Discuss re*uirements and take notes"
o
5r%anize notes into a brief written statement of re*uirements"
o
E-mail to stakeholder for review and approval"
Ea!"le
6" .ustomer communication #a process activity$"
7" Analysis #an action$"
8" /e*uirements %atherin% #a process task$"
9" /eviewin% a work product #a process task$"
:" Desi%n model #a work product$"
Process Models
Process Patterns
Process Patterns
A process pattern
o
describes a related process to problem that is encountered or
happened durin% software en%ineerin% work!
o
identifies the environment in which the problem has been
encountered! and
o
su%%ests one or more proven solutions to the problem
'n more %eneral terms! a process pattern provides a
template
o
a consistent method for describin% problem solutions within the
context of the software process
Process Pattern Ty"es
-ask patterns
o
defines a problem associated with a software en%ineerin% action or
work task and relevant to successful software en%ineerin% practice"
Sta%e patterns
o
defines a problem associated with a framework activity for the
process
,hase 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 Assess!ent and
I!"rove!ent# A""roac$es
Standard .00' Assessment 0ethod for
,rocess 'mprovement #S.A0,'$
o
A standard +sed to identify stren%ths!
weaknesses! and ratin%s relative to SE' .00'
appraisal reference model! which is applicable to
internal process improvement and external
capability determination
.00-;ased Appraisal for 'nternal ,rocess
'mprovement #.;A ','$
o
A standard provides a dia%nostic techni*ue for
assessin% the relative maturity of a software
or%anization( uses the SE' .00 as the basis for
the assessment <Dun=6>"
o
?owever! .00 has been retired by SE' since the
introduction of .00' %roup of standards
Capability Maturity Model Integration (CMMI)
Software Engineering Institutes (SEI)
Process Assess!ent and
I!"rove!ent# A""roac$es
S,'.E #'S5@'E.6::=9$
o
Standard that defines a set of re*uirements for software process assessment"
o
-he intent of the standard is to assist or%anizations in developin% an objective
evaluation of the efficacy of any defined software process <'S5=A>
'S5 B==67=== for Software
o
A generic standard that applies to any or%anization that wants to improve the
overall *uality of the products! systems! or services that it provides"
o
-herefore! the standard is directly applicable to software or%anizations and
companies <Ant=C>
Software Process Improvement and Capability Determination (SPICE)
International rgani!ation for Standardi!ation (IS)
International Electrotec"nical Commission (IEC)
T%t &

'n Droup of : persons( Explain the difference


between Activity! Action! and -ask" ,rovide
example for each of them"
Process Models
Prescriptive & Specialized
Process Models
Prescri"tive Process Models

Defines a distinct set of activities! actions! tasks!


milestones! and work products that are re*uired
to en%ineer hi%h-*uality software"

-he activities may be linear! incremental! or


evolutionary"
Prescri"tive Process Models
2aterfall 0odel
o
represents elements of a linear process flow
)
E
'ncremental 0odel
o
combines elements of linear and parallel process flows
Evolutionary 0odel
o
follows the evolutionary process flow that combines elements of linear
and iterative process flows
)
,rototypin%
)
Spiral
.oncurrent 0odel
o
combines elements of iterative and parallel process flows
Prescri"tive Process Models
The Waterfall o!el
/epresents a linear process flow from communica-tion
throu%h deployment
o
Also known as the classic SDF.
-he ori%inal 2aterfall model proposed by 2inston /oyce in
6BG= made provision for feedback loops
o
but many or%anizations apply this model as if it were strictly linear
'o!!%nication
Planning
Modeling
'onstr%ction
(e"loy!ent
analysis
design
code
test
"roject initiation
re)%ire!ent gat$ering
esti!ating
sc$ed%ling
tracking
delivery
s%""ort
feedback
Prescri"tive Process Models
"n "nalysis of Waterfall o!el
Characteristics Strengths Weaknesses Applicability
# 't su%%ests a
systematic! se*uential
approach to SE! startin%
from re*uirements specification throu%h
plannin%! modelin%! construction!
testin%! deployment and support of the
completed system"
# Each major activity is marked by
milestones and deliverables #i"e"
documents$"
# Simple and easy to
use@explain to
customers"
# -he sta%ed
development cycle
enforces discipline
every phase has a
defined start and end
point! and pro%ress
can be conclusively
identified #throu%h
the use of
milestones$
# Real projects rarely follow the
linear flow that the model
proposes" Althou%h iteration is
indirectly allowed! changes are
costly! involve si%nificant rework
and can cause confusion to
project team"
# -he model re*uires the customer
to state all requirements
eplicitly! which is often very
difficult to achieve"
# -he workin% software will not be
available until late in the project!
which can be disastrous for late
discovery of major defects"
# Feads to Hblocking statesI in
which some project team members
must wait for others to complete
dependent tasks"
# 2hen requirements are
well understood and
unlikely to chan%e
radically durin% system
development #e"%"! in a
well-defined enhancement
to an existin% system$"
# 2hen software
development
technologies and tools
are well known"
# -he work tasks in the
project are to proceed to
completion in a linear
manner.
Prescri"tive Process Models
The #$o!el
Eariation in representin%
the 2aterfall model
'llustrates how EJE
actions are associated
with earlier S! action
-here is no fundamental
difference between the
2aterfall model and the
E-model
Prescri"tive Process Models
The %n&remental o!el
/ather than deliver the software product as a sin%le delivery!
the development and delivery is broken down into increments
with each increment deliverin% part of the re*uired functionality"
+ser re*uirements are prioritised and the hi%hest priority
re*uirements are included in early increments"
5nce the development of an increment is started! the
re*uirements are frozen but re*uirements for later increments
can continue to evolve
Prescri"tive Process Models
The %n&remental o!el
' a little more is added each time
(
' o !!% n i c a t i o n
P l a n n i n g
Mo d e l i n g
' o n s t r % c t i o n
(e " l o y !e n t
d e l i v e r y
f e e d b a c k
analys is
des ign code
t est
increment #1
increment #
delivery o!
1st increment
delivery o!
nd increment
delivery o!
nth increment
increment #n
pro"ect calendar time
' o !!% n i c a t i o n
P l a n n i n g
M o d e l i n g
' o n s t r % c t i o n
(e " l o y !e n t
d e l i v e r y
f e e d b a c k
analys is
des ign code
t est
' o !!% n i c a t i o n
P l a n n i n g
M o d e l i n g
' o n s t r % c t i o n
(e " l o y !e n t
d e l i v e r y
f e e d b a c k
analys is
des ign
code
t est
# $fter t"e first increment% a core product is
delivered% w"ic" can already be used by t"e
customer&
# 'ased on customer feedbac(% a plan is
developed for t"e ne)t increments% and
modifications are made accordingly&
# *"is process continues% wit" increments being
delivered until t"e complete product is
delivered&
Word-processing software developed using t"e incremental paradigm mig"t deliver
# 'asic file management%
# Editing and document production capabilities in t"e second increment+
# Spelling and grammar c"ec(ing in t"e t"ird increment+ and
# $dvanced page layout capability in t"e fourt" increment&
It s"ould be noted t"at t"e process flow for any increment can incorporate t"e
prototyping paradigm&
For example?
Prescri"tive Process Models
The E)olutionary o!el* +rototyping
Software prototyping" incomplete versions of the software pro%ram bein%
developed"
+sin% this process model! a prototype - an early approximation of a final
software product - is built! tested! and then reworked as necessary
o
until an acceptable prototype is finally achieved from which the complete software
product is developed
Althou%h it can be implemented as a stand-alone process model! it is more
commonly used as part of other process models
-he main purpose of the model is to help better understand what it is to built
when re*uirements are fuzzy and %et valuable feedback from the users early in
the project
Prescri"tive Process Models
The E)olutionary o!el* +rototyping
'o!!%nication
*%ick "lan
'onstr%ction
of
"rototy"e
Modeling
*%ick design
(elivery
+ Feedback
#eployment
communication
Quick
plan
Modeling
Quick design
Construction
of prototype
Deployment
delivery &
feedback
If the prototype was working properly; Do we consider it as a
final production software
Prescri"tive Process Models
The E)olutionary o!el* Spiral
A process model that combines the iterative nature of
prototyping with the systematic aspects of waterfall model.
-he spiral model can be thou%ht of as a repeatin% waterfall model
that emphasizes risk assessment and that is executed in an
incremental fashion"
Each loop@pass throu%h the spiral model consists of risk
assessment and other framework activities from communication
throu%h deployment
Prescri"tive Process Models
The E)olutionary o!el* Spiral
comm$nication
planning
modeling
constr$ction
deployment
delivery
!eed%ack
start
analysis
design
code
test
estimation
sched$ling
risk analysis
,sed w"en re-uirements are not well understood and ris(s are "ig"
Prescri"tive Process Models
The E)olutionary o!el* Spiral
,sed w"en re-uirements are not well understood and ris(s are "ig"
Prescri"tive Process Models
The ,on&urrent o!el

A process model that combines the iterative and


parallel elements of any of the prescriptive
process models"

'n this model! all SE activities #framework or


umbrella$ exist concurrently but assess in
different states
Prescri"tive Process Models
The ,on&urrent o!el
&nder review
'aselined
#one
&nder
revision
Awaiting
changes
&nder
development
none
Modeling activity
represents the state
o! a so!tware engineering
activity or task
For example
early in a pro.ect t"e customer
communication activity "as completed its
first iteration and e)ists in t"e awaiting
c"anges state& *"e analysis activity
(w"ic" e)isted in t"e none state w"ile
initial customer communication was
completed) now ma(es a transition into
t"e under development state& If% "owever%
t"e customer indicates t"at c"anges in
re-uirements must be made% t"e analysis
activity moves from t"e under
development state into t"e awaiting
c"anges state&
*"e concurrent process model defines a
series of events t"at will trigger
transitions from state to state for eac" of
t"e software engineering activities&
S"eciali,ed Process Models
Specialized ,rocess 0odels is a combination of both component
based development model #.;D$ and formal method model"
Special process models take on many of the characteristics of
one or more of the conventional models"
Specialized models tend to be applied when a narrowly defined
software en%ineerin% approach is chosen"
S"eciali,ed Process Models
.omponent based software development #.;SD$
o
the process to apply when reuse is a development objective
&ormal methods
o
emphasizes the mathematical specification of re*uirements! which can
demonstrate software correctness but are not widely used"
Aspect-oriented software development #A5SD$
o
provides a process and methodolo%ical approach for definin%!
specifyin%! desi%nin%! and constructin% aspects
+nified ,rocess
o
a Huse-case driven! architecture-centric! iterative and incrementalI
software process closely ali%ned with the +nified 0odelin% Fan%ua%e
#+0F$
S"eciali,ed Process Models
A%ile ,rocess
o
An iterative approach to re*uirements specification! construction and
deployment! which support rapid chan%es to re*uirements
,ersonal ,rocess 0odel
o
Emphasizes the need to record and analyze errors made by each
individual! so that he@she can develop a strate%y to eliminate them
-eam ,rocess 0odel
o
;uild self-directed teams that plan and track their work! establish %oals!
and own their processes and plans" -hese can be pure software teams
or inte%rated product teams #',-$ of three to about 7= en%ineers
o
Show mana%ers how to coach and motivate their teams and how to
help them sustain peak performance
Process Models
Selecting a Process Model
Selecting a Process Model
Fa&tors to ,onsi!er
-he characteristics of the problems to be solved
o
Such as complexity of the problem! etc"
o
e"%" simple with clear! stable re*uirements! or complex with chan%in%!
unstable re*uirements! etc"
-he characteristics of the project
o
Such as the customers who have re*uested the product and the people
who will do the work! etc"
o
e"%" +ncertain re*uirements! breakthrou%h technolo%y
-he characteristics of the product
o
Such as *uality attributes or metric of the product! product domain! etc"
#he project environment in which the software team works
o
Such as political! cultural! lan%ua%e! etc"
Process Manage!ent Tools
Also known as process modeling tools or process technology.
Allows a team to define and mana%e the elements of a process model #activities!
actions! task! work products! milestones! and 1A points@filters$"
Such tools also provide detailed %uidance on the content of each process
element"
-he tools may also provide standard project mana%ement tasks such as
estimatin%! schedulin%! trackin% and control"
Example
o
'%rafx ,rocess -ools #www"micro%rafx"com$
S%!!ary
-here are four types of process flows K linear! iterative!
evolutionary! and parallel"
Software process patterns may su%%est one or more proven
solutions to the problem from other projects! which can be
reused in another project
-here are several process assessment and improvements
frameworks that can be exercised by practitioners
-he 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
Selecting a Process Model
"n Exer&ise
-he ,roject
o
Assume that you are in char%e of a project to create a portal for
Selan%or"
o
-his portal would include a homepa%e with links to a wide ran%e of
discounted travel packa%es to major destinations in Selan%or! links
to certain featured places like %olf courses! shoppin% complexes
and places to eat! links to the detailed map of Selan%or! and links
to news and events listin%
o
't also includes a bulletin board and chat room feature where
tourists #international and local tourists$ can exchan%e information"
o
-he portal should also provide Automated -eller 0achine #A-0$
locator! time zone converter! and currency converter"
Selecting a Process Model
"n Exer&ise

Select a software process model that you would


recommend to be implemented in the above
mentioned project

2hy is the software process model selected3


THE END
#r( A%dallah A%$alkishik
)ollege o! In!ormation
Technology

You might also like