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 Models

Prescriptive 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

Construction

  Deployment

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 of

project 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 testing

Team # 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

planning

risk analysis

scheduling

estimation

communication modeling design analysis start deployment feedback delivery construction test code

Problems 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 Baselined

  Done

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 Inception

inception

inception

Release construction software increment transition production

UP 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 phase

UP 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