Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. Dr Natheer Gharaibeh . - Ch03 Prescriptive Process Models
Software Engineering: A Practitioner’s Approach, 6/e
Software Engineering: A Practitioner’s Approach, 6/e
Chapter 3
Chapter 3 Prescriptive Process ModelsPrescriptive Process Models
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
Dr Natheer Gharaibeh .
Prescriptive Process Models Prescriptive Process Models
, ,
1-liiear, 2-iicremeital, ofr 3- e oflutiofiary 1-liiear, 2-iicremeital, ofr 3- e oflutiofiary
The profcess guides a SW team throfugh a set of ramewofrk The profcess guides a SW team throfugh a set of ramewofrk acti ities that are ofrgaiized iitof a acti ities that are ofrgaiized iitof a profcess flofw profcess flofw that may be that may be
tof ai acti ity that cai, i le t uicofitroflled, tof ai acti ity that cai, i le t uicofitroflled, becofme quite chaoftic becofme quite chaoftic
organization organization
, , aid aid
control control
They defie a distiict set of acti ities, actiofis, tasks, They defie a distiict set of acti ities, actiofis, tasks, milestofies, aid wofrk profducts that required tof eigiieer milestofies, aid wofrk profducts that required tof eigiieer high-quality sof tware high-quality sof tware
They are impofrtait because they prof ide They are impofrtait because they prof ide
SW eigiieeriig wofrk SW eigiieeriig wofrk
ofr ofr
useful roadmap useful roadmap
They are ioft per ect but they prof ide a They are ioft per ect but they prof ide a
stability stability
Prescriptive Process Models
Prescriptive Process Models
The termiioflofgy aid detail of each profcess mofdel difer, The termiioflofgy aid detail of each profcess mofdel difer, but the geieric ramewofrk acti ities remaii but the geieric ramewofrk acti ities remaii
consistent consistent
The The
work products work products
are the profgrams, dofcumeits, aid are the profgrams, dofcumeits, aid data that are profduced as a cofisequeice of the acti ities data that are profduced as a cofisequeice of the acti ities aid tasks defied by the profcess aid tasks defied by the profcess
The quality, timeliiess, aid lofig term iability of the The quality, timeliiess, aid lofig term iability of the profduct yofu build are the best iidicatofrs of the efcacy profduct yofu build are the best iidicatofrs of the efcacy of the profcess that yofu use of the profcess that yofu use
Prescriptive Models
Prescriptive Models
Prescripti e profcess mofdels Prescripti e profcess mofdels
advocate advocate
ai ofrderly ai ofrderly approfach tof sof tware eigiieeriig approfach tof sof tware eigiieeriig
That leads to a few questions … That leads to a few questions …
I prescripti e profcess mofdels stri e ofr structure aid I prescripti e profcess mofdels stri e ofr structure aid ofrder, ofrder, are they iiapprofpriate ofr a sof tware wofrld that
are they iiapprofpriate ofr a sof tware wofrld that
thri es ofi chaige?
thri es ofi chaige?
Yet, i we reject traditiofial profcess mofdels (aid the Yet, i we reject traditiofial profcess mofdels (aid the ofrder they imply) aid replace them with sofmethiig less ofrder they imply) aid replace them with sofmethiig less structured, structured, dof we make it impofssible tof achie e
dof we make it impofssible tof achie e
cofofrdiiatiofi aid cofhereice ii sof tware wofrk?
cofofrdiiatiofi aid cofhereice ii sof tware wofrk?
Prescriptive Models
Prescriptive Models
E ery SW eigiieeriig ofrgaiizatiofi shofuld describe a E ery SW eigiieeriig ofrgaiizatiofi shofuld describe a uiique set of uiique set of ramewofrk acti ities ramewofrk acti ities ofr the SW profcess it ofr the SW profcess it adofpts adofpts
Each Each ramewofrk acti ity ramewofrk acti ity is pofpulated with a set of SW is pofpulated with a set of SW eigiieeriig eigiieeriig actiofis actiofis
Each Each actiofi actiofi is defied ii terms of a is defied ii terms of a task task set that ideitifes set that ideitifes the wofrk (aid wofrk profducts) tof be accofmplished tof the wofrk (aid wofrk profducts) tof be accofmplished tof meet de elofpmeit meet de elofpmeit gofals gofals
Resultait profcess mofdel is adapted tof accofmmofdate Resultait profcess mofdel is adapted tof accofmmofdate specifc iature of each profject, peofple whof dof the wofrk, specifc iature of each profject, peofple whof dof the wofrk, ei irofimeit ii which wofrk is cofiducted ei irofimeit ii which wofrk is cofiducted
Prescriptive Models
Prescriptive Models
SW eigiieers ha e traditiofially chofsei a geieric profcess SW eigiieers ha e traditiofially chofsei a geieric profcess ramewofrk that eicofmpasses the ofllofwiig ramewofrk that eicofmpasses the ofllofwiig ramewofrk ramewofrk acti ities acti ities
: cofmmuiicatiofi, plaiiiig, mofdeliig, : cofmmuiicatiofi, plaiiiig, mofdeliig, cofistructiofi, aid deplofymeit cofistructiofi, aid deplofymeit
All SW profcess mofdels cai accofmmofdate the geieric All SW profcess mofdels cai accofmmofdate the geieric ramewofrk acti ities, ramewofrk acti ities,
but each but each
applies a difereit applies a difereit emphasis tof these acti ities aid defies a wofrkflofw that emphasis tof these acti ities aid defies a wofrkflofw that ii ofkes each ramewofrk acti ity ii a difereit maiier ii ofkes each ramewofrk acti ity ii a difereit maiier
1 The Waterfall Model
1 The Waterfall Model
Used 1)whei requiremeits well uiderstofofd, Used 1)whei requiremeits well uiderstofofd,
2
2
)whei wofrk flofws rofm cofmmuiicatiofi throfugh )whei wofrk flofws rofm cofmmuiicatiofi throfugh deplofymeit ii a reasofiably deplofymeit ii a reasofiably liiear ashiofi liiear ashiofi
Water all mofdel, sofmetimes called classic li e cycle, Water all mofdel, sofmetimes called classic li e cycle, suggests a systematic, sequeitial approfach tof sof tware suggests a systematic, sequeitial approfach tof sof tware de elofpmeit that begiis with custofmer specifcatiofi of de elofpmeit that begiis with custofmer specifcatiofi of requiremeits aid profgresses throfugh ariofus phases, requiremeits aid profgresses throfugh ariofus phases, culmiiatiig ii ofi-gofiig suppofrt of the cofmpleted culmiiatiig ii ofi-gofiig suppofrt of the cofmpleted sof tware sof tware
The Waterfall Model
The Waterfall Model
Communication Planning
Modeling
ConstructionDeployment
analysis
design
code test project initiation requirement gathering estimating scheduling tracking delivery support feedback
Problems with Waterfall Model
Problems with Waterfall Model
Real profjects rarely ofllofw the sequeitial flofw that the Real profjects rarely ofllofw the sequeitial flofw that the mofdel profpofses mofdel profpofses
It is of tei difcult ofr the custofmer tof state all It is of tei difcult ofr the custofmer tof state all requiremeits explicitly requiremeits explicitly
The custofmer must ha e patieice. A wofrkiig ersiofi of The custofmer must ha e patieice. A wofrkiig ersiofi of the profgram will ioft be a ailable uitil late ii the profject the profgram will ioft be a ailable uitil late ii the profject time-spai time-spai
2 The Incremental Model
2 The Incremental Model
It cofmbiies elemeits of the water all mofdel applied ii It cofmbiies elemeits of the water all mofdel applied ii ai iterati e ashiofi ai iterati e ashiofi
It deli ers a series of releases , called iicremeits, that It deli ers a series of releases , called iicremeits, that prof ide profgressi ely mofre uictiofiality ofr custofmer as prof ide profgressi ely mofre uictiofiality ofr custofmer as each iicremeit is deli ered each iicremeit is deli ered
Whei it is used, the frst iicremeit is of tei a cofre Whei it is used, the frst iicremeit is of tei a cofre profduct. That is, basic requiremeits are addressed, but profduct. That is, basic requiremeits are addressed, but maiy supplemeitary eatures remaii uideli ered maiy supplemeitary eatures remaii uideli ered
The core product is used by customer. As a result, a plan is developed for next increment
The Incremental Model The Incremental Model
increment # n C o m m u n i c a t i o n P l a n n i n g M o d e l i n g des ign analys is C o n s t r u c t i o n c ode D e p l o y m e n t t es t f e e d b a c k d e l i v e r y increment # 2 C o m m u n i c a t i o n P l a n n i n g M o d e l i n g analysis C o n s t r u c t i o n nth increment delivery of increment # 1 C o m m u n i c a t i o n P l a n n i n g M o d e l i n g des ign
t es t
code
D e p l o y m e n t d e l i v e r y f e e d b a c k delivery of 2nd increment des ign analys is C o n s t r u c t i o n t es t c ode f e e d b a c k d e l i v e r y D e p l o y m e n t 1st increment delivery ofproject calendar time
The Incremental Model
The Incremental Model
Unlike prototyping Unlike prototyping
, the iicremeital mofdel ofcuses ofi , the iicremeital mofdel ofcuses ofi the deli ery of ai ofperatiofial profduct with each the deli ery of ai ofperatiofial profduct with each iicremeit iicremeit
Iicremeital de elofpmeit is particularly Iicremeital de elofpmeit is particularly
useful when useful when
stafig is uia ailable ofr a cofmplete implemeitatiofi by stafig is uia ailable ofr a cofmplete implemeitatiofi by the busiiess deadliie. Early iicremeits cai be the busiiess deadliie. Early iicremeits cai be implemeited with ewer peofple, aid additiofial staf cai implemeited with ewer peofple, aid additiofial staf cai be added tof later iicremeits be added tof later iicremeits
Iicremeits cai be plaiied tof maiage Iicremeits cai be plaiied tof maiage
technical risks technical risks
3 The RAD Model
3 The RAD Model
RAD is ai RAD is ai
incremental incremental
SW profcess mofdel that SW profcess mofdel that emphasizes a emphasizes a shofrt de elofpmeit cycle
RAD mofdel is a “high-speed” adaptatiofi of the RAD mofdel is a “high-speed” adaptatiofi of the
waterfall waterfall
mofdel, ii which rapid de elofpmeit is mofdel, ii which rapid de elofpmeit is achie ed by usiig a achie ed by usiig a
component-based component-based
cofistructiofi cofistructiofi approfach approfach
I requiremeits are well uiderstofofd aid profject scofpe is I requiremeits are well uiderstofofd aid profject scofpe is cofistraiied, the RAD profcess eiables a de elofpmeit cofistraiied, the RAD profcess eiables a de elofpmeit team tof create a “ team tof create a “
fully functional system fully functional system
” withii a ery ” withii a ery shofrt time periofd shofrt time periofd
The RAD Model
The RAD Model
Time cofistraiits impofsed ofi a RAD profject demaid Time cofistraiits impofsed ofi a RAD profject demaid scalable scofpe scalable scofpe
I a busiiess applicatiofi cai be mofdularized ii a way I a busiiess applicatiofi cai be mofdularized ii a way that eiables each majofr uictiofi tof be cofmpleted ii less that eiables each majofr uictiofi tof be cofmpleted ii less thai thai
3 months 3 months
, it is a caididate ofr RAD , it is a caididate ofr RAD
Each majofr Each majofr
function function
cai be addressed by a cai be addressed by a separate separate
RAD team RAD team
aid thei aid thei iitegrated iitegrated tof ofrm a whofle tof ofrm a whofle
The RAD Model
Communication Planning Modeling business modeling
dat a modeling
process modeling
Construction Team # 1 component reuse automatic code generation testing Deployment Modeling business modeling dat a modeling process modeling Construction component reuse automat ic code generat ion test ing Mo d e lin g business modeling data modeling process modeling Co n st ru ct io n component reuse automatic code generation testingTeam # 2
Team # n integration delivery feedback
Drawback of RAD
Drawback of RAD
1.1. Fofr
Fofr
large large
, but , but
scalable projects scalable projects
, RAD requires sufcieit , RAD requires sufcieit humai resofurces tof create right iumber of RAD teams humai resofurces tof create right iumber of RAD teams 2.
2. I de elofpers aid custofmers are ioft cofmmited tof the
I de elofpers aid custofmers are ioft cofmmited tof the rapid-fre acti ities iecessary, RAD profjects will ail rapid-fre acti ities iecessary, RAD profjects will ail 3.
3. I a system caiioft be profperly mofdularized, buildiig
I a system caiioft be profperly mofdularized, buildiig the cofmpofieits iecessary ofr RAD will be profblematic the cofmpofieits iecessary ofr RAD will be profblematic 4.
4. RAD may ioft be approfpriate whei
RAD may ioft be approfpriate whei
technical risks technical risks
are are high high
4 Evolutionary Process Models
4 Evolutionary Process Models
E oflutiofiary mofdels are iterati e E oflutiofiary mofdels are iterati e
They are characterized ii a maiier that eiables SW They are characterized ii a maiier that eiables SW eigiieers tof de elofp iicreasiigly mofre cofmplete eigiieers tof de elofp iicreasiigly mofre cofmplete ersiofis of the sof tware ersiofis of the sof tware
Evolutionary Models: Prototyping
Evolutionary Models: Prototyping
Althofugh it cai be used as a staidalofie profcess mofdel, Althofugh it cai be used as a staidalofie profcess mofdel, it is mofre cofmmofily used as a techiique that cai be it is mofre cofmmofily used as a techiique that cai be implemeited withii the implemeited withii the cofitext of ofther cofitext of ofther profcess mofdels profcess mofdels
The proftoftypiig paradigm assists the SW eigiieer aid The proftoftypiig paradigm assists the SW eigiieer aid the custofmer tof beter uiderstaid what is tof be built the custofmer tof beter uiderstaid what is tof be built whei whei requiremeits are uzzy requiremeits are uzzy
Ideally, the proftoftype ser es as a mechaiism ofr Ideally, the proftoftype ser es as a mechaiism ofr ideiti yiig SW requiremeit ideiti yiig SW requiremeit
Evolutionary Models: Prototyping
Evolutionary Models: Prototyping
communication Communication Quick plan Quick plan Quick design Modeling Modeling Quick design Deployment Deployment delivery & feedback prototype & Feedback Delivery Construction of prototype of Construction
Drawbacks of Prototyping
Drawbacks of Prototyping
The custofmer sees what appears tof be a wofrkiig ersiofi The custofmer sees what appears tof be a wofrkiig ersiofi of SW, uiaware that ii the rush tof get it wofrkiig we of SW, uiaware that ii the rush tof get it wofrkiig we ha ei’t cofisidered of erall quality ofr lofig-term ha ei’t cofisidered of erall quality ofr lofig-term maiitaiiability maiitaiiability
(Custofmer may imagiie that the proftoftype is fial) (Custofmer may imagiie that the proftoftype is fial)
The de elofper of tei makes The de elofper of tei makes implemeitatiofi implemeitatiofi cofmprofmises cofmprofmises ii ofrder tof get proftoftype wofrkiig quickly ii ofrder tof get proftoftype wofrkiig quickly aid this Iiitial quick fx chofices may be carried-of er tof aid this Iiitial quick fx chofices may be carried-of er tof later de elofpmeit later de elofpmeit
5 Evolutionary Models: The Spiral
5 Evolutionary Models: The Spiral
It is ai e oflutiofiary SW profcess mofdel that cofuples the It is ai e oflutiofiary SW profcess mofdel that cofuples the iterati e iature of proftoftypiig with the cofitroflled aid iterati e iature of proftoftypiig with the cofitroflled aid systematic aspects of the water all mofdel systematic aspects of the water all mofdel
It is a risk-dri ei profcess mofdel geieratofr that is used tof It is a risk-dri ei profcess mofdel geieratofr that is used tof guide multi-stakehoflder coficurreit eigiieeriig of SW guide multi-stakehoflder coficurreit eigiieeriig of SW iiteisi e systems iiteisi e systems
It has distiiguishiig eatures: (1) A cyclic approfach ofr It has distiiguishiig eatures: (1) A cyclic approfach ofr iicremeitally grofwiig the system’s degree of defiitiofi iicremeitally grofwiig the system’s degree of defiitiofi
& implemeitatiofi while decreasiig its degree of risk, (2) & implemeitatiofi while decreasiig its degree of risk, (2) a set of aichofr pofiit milestofies a set of aichofr pofiit milestofies
Evolutionary Models: The Spiral
Evolutionary Models: The Spiral
planningrisk analysis
scheduling
estimation
communication modeling design analysis start deployment feedback delivery construction test codeProblems with Spiral Model Problems with Spiral Model
Difcult tof cofi iice custofmers that e oflutiofiary Difcult tof cofi iice custofmers that e oflutiofiary approfach is cofitrofllable approfach is cofitrofllable
Demaids cofisiderable risk assessmeit expertise aid Demaids cofisiderable risk assessmeit expertise aid relies ofi this expertise ofr success relies ofi this expertise ofr success
I majofr risks are uicof ered aid maiaged, profblems I majofr risks are uicof ered aid maiaged, profblems will ofccur will ofccur
7-Evolutionary Models: Concurrent
7-Evolutionary Models: Concurrent
The coficurreit profcess mofdel defies a series of e eits The coficurreit profcess mofdel defies a series of e eits that will trigger traisitiofi rofm state tof state ofr each of that will trigger traisitiofi rofm state tof state ofr each of the SW eigiieeriig acti ities, actiofis ofr tasks. All the SW eigiieeriig acti ities, actiofis ofr tasks. All acti ities exist coficurreitly but reside ii difereit states acti ities exist coficurreitly but reside ii difereit states
E. g. The mofdeliig acti ity which existed ii
E. g. The mofdeliig acti ity which existed ii
none none
state state while iiitial cofmmuiicatiofi was cofmpleted, iofw makes while iiitial cofmmuiicatiofi was cofmpleted, iofw makes a traisitiofi iitof a traisitiofi iitof
under development under development
state. I custofmer state. I custofmer iidicates that chaiges ii requiremeits must be made, iidicates that chaiges ii requiremeits must be made, mofdeliig acti ity mof es rofm mofdeliig acti ity mof es rofm
under development under development
state state iitof iitof
awaiting changes awaiting changes
state state
7 Evolutionary Models: Concurrent
Modeling activity none development Under of a software engineering activity or task represents the state Awaiting changes revision Under Under review BaselinedDone
Concurrent Process Model Concurrent Process Model
Is applicable tof all types of sof tware de elofpmeit aid Is applicable tof all types of sof tware de elofpmeit aid prof ides ai accurate picture of the curreit state of prof ides ai accurate picture of the curreit state of profject profject
Each acti ity, actiofi, ofr task ofi the ietwofrk exists Each acti ity, actiofi, ofr task ofi the ietwofrk exists simultaieofusly with ofther acti ities, actiofis, ofr tasks. simultaieofusly with ofther acti ities, actiofis, ofr tasks.
E eits geierated at ofie pofiit ii the profcess ietwofrk E eits geierated at ofie pofiit ii the profcess ietwofrk trigger traisitiofis amofig the states trigger traisitiofis amofig the states
Still Other Process Models
Still Other Process Models
AOSD
Uiifed Profcess
Uiifed Profcess
aspects aspects
—prof ides a profcess aid methofdoflofgical —prof ides a profcess aid methofdoflofgical approfach ofr defiiig, speci yiig, desigiiig, aid approfach ofr defiiig, speci yiig, desigiiig, aid cofistructiig cofistructiig
AOSD
—emphasizes the mathematical —emphasizes the mathematical specifcatiofi of requiremeits specifcatiofi of requiremeits
Fofrmal methofds
Fofrmal methofds
—the profcess tof apply —the profcess tof apply whei reuse is a de elofpmeit ofbjecti e whei reuse is a de elofpmeit ofbjecti e
Cofmpofieit based de elofpmeit
Cofmpofieit based de elofpmeit
—a “use-case dri ei, architecture-ceitric, —a “use-case dri ei, architecture-ceitric, iterati e aid iicremeital” sof tware profcess clofsely iterati e aid iicremeital” sof tware profcess clofsely aligied with the Uiifed Mofdeliig Laiguage (UML) aligied with the Uiifed Mofdeliig Laiguage (UML)
The Unifed Process (UP)
The Unifed Process (UP)
Elaboration
elaboration
inception Inceptioninception
inception
Release construction software increment transition productionUP Phases
UP Phases UP Phases Workflows Inception Elaboration Construction Transition Production Requirements Analysis Implementation Design Support Test
Iterations #1 #2 #n-1 #n
UP Work Products
Initial use-case model Vision document Inception phaseUP Work Products
Elaboration phase Initial project glossary Initial business case Project plan, Initial risk assessment. phases and iterations. Analysis model Software architecture including non-functional Supplementary requirements Use-case model Construction phase Software components Design model Integrated software Transition phase Delivered software increment I nc ept i o if necessary. n Business model, One or more prototypes Executable architectural Description. Revised risk list Preliminary design model prototype. user manuals Support documentation increment Beta test reports Test cases Test plan and procedure General user feedback Project plan including milestones technical work products adapted workflows iteration plan increment description of current installation manuals Preliminary user manual