CS550 Intro. to SE Spring 2007 1
Chapter 3Chapter 3Prescriptive Process ModelsPrescriptive Process Models
Moonzoo KimCS Division of EECS Dept.
KAIST [email protected]
http://pswlab.kaist.ac.kr/courses/cs550-07
CS550 Intro. to SE Spring 2007 2
Comments on HW #1Comments on HW #1
Generally did good jobGenerally did good jobHWsHWs submitted earlier have better scoressubmitted earlier have better scores
Start your HW as early as possibleStart your HW as early as possible
Do not write in a colloquial style, but a literary styleDo not write in a colloquial style, but a literary styleBe careful to select proper words appropriate in technical conteBe careful to select proper words appropriate in technical contextxt
Spend time to find a right work by using thesaurusSpend time to find a right work by using thesaurus
If you have a score less than 8/10, try to improve your If you have a score less than 8/10, try to improve your writing skillwriting skill
CS550 Intro. to SE Spring 2007 3
Prescriptive ModelsPrescriptive Models
Prescriptive process models advocate an orderly approach to Prescriptive process models advocate an orderly approach to software engineeringsoftware engineering
That leads to a few questions That leads to a few questions ……If prescriptive process models strive for structure and order, If prescriptive process models strive for structure and order, are they are they inappropriate for a software world that thrives on change?inappropriate for a software world that thrives on change?Yet, if we reject traditional process models (and the order theyYet, if we reject traditional process models (and the order theyimply) and replace them with something less structured, imply) and replace them with something less structured, do we make do we make it impossible to achieve coordination and coherence in software it impossible to achieve coordination and coherence in software work?work?
CS550 Intro. to SE Spring 2007 4
The Waterfall ModelThe Waterfall Model
Communicat ion Planning
ModelingConst ruct ion
Deployment analysis design code
t est
project init iat ion requirement gat hering estimating
scheduling tracking
delivery support f eedback
Which problems does the waterfall model have?Which problems does the waterfall model have?……
CS550 Intro. to SE Spring 2007 5
The Incremental ModelThe Incremental Model
C o m m u n i c a t i o nP l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
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
ana ly s is
des ign c ode
t es t
increment # 1
increment # 2
delivery of 1st increment
delivery of 2nd increment
delivery of nt h increment
increment # n
project calendar t ime
C o m m u n i c a t i o nP l a n n i n g
M o d e l i n gC o n s t r u c t i o n
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
ana ly s is des ign c ode
t es t
C o m m u n i c a t i o nP l a n n i n g
M o d e l i n gC o n s t r u c t i o n
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
analy s is des ign c ode
t es t
Can be implemented with fewer people
Can manage technical risks
CS550 Intro. to SE Spring 2007 6
The RAD (Rapid Application Development) ModelThe RAD (Rapid Application Development) Model
Communicat ion
Planning
Mode lingbusiness modeling dat a modeling process modeling
Const ruct ioncomponent reuse aut omat ic code generat ion t est ing
De ployme nt
6 0 - 9 0 days
Team # 1
Mo d elingbusiness m odel ing dat a m odel ing process m odel ing
Co nst ruct io ncom ponent reuse aut om at ic code generat ion t est ing
M o d e lin gbusiness m odeling data m odeling process m odeling
Co n st ru ct io ncom ponent reuse autom at ic code generat ion test ing
Team # 2
Team # n
int egrat ion delivery feedback
Requires sufficient Requires sufficient human resourceshuman resourcesModularization is Modularization is prerequisiteprerequisiteGlobal tuning is not Global tuning is not possiblepossible
CS550 Intro. to SE Spring 2007 7
Evolutionary Models: PrototypingEvolutionary Models: Prototyping
Communicat ion
Qu ick p lan
Const ruct ion of prot ot ype
Mo d e lin g Qu ick d e sig n
De live ry & Fe e dback
Deployment
communication
Quickplan
ModelingQuick design
Constructionof prototype
Deploymentdelivery &feedback
Ex. Use-case design
Ideally, the prototype serves to identify SW requirements
CS550 Intro. to SE Spring 2007 8
Evolutionary Models: The SpiralEvolutionary Models: The Spiral
communication
planning
modeling
constructiondeployment delivery feedback
start
analysis design
code test
estimation scheduling risk analysis
CS550 Intro. to SE Spring 2007 9
Still Other Process ModelsStill Other Process ModelsComponent based developmentComponent based development——the process to apply the process to apply when reuse is a development objectivewhen reuse is a development objectiveFormal methodsFormal methods——emphasizes the mathematical emphasizes the mathematical specification of requirementsspecification of requirementsAOSDAOSD——provides a process and methodological provides a process and methodological approach for defining, specifying, designing, and approach for defining, specifying, designing, and constructing constructing aspectsaspectsUnified ProcessUnified Process——a a ““useuse--casecase driven, architecturedriven, architecture--centric, centric, iterative and incrementaliterative and incremental”” software process closely software process closely aligned with the Unified Modeling Language (UML)aligned with the Unified Modeling Language (UML)
CS550 Intro. to SE Spring 2007 10
inception
The Unified Process (UP)The Unified Process (UP)
soft ware increment
Release
Incept ion
Elaborat ion
const ruct ion
t ransit ion
product ion
inception
elaboration
CS550 Intro. to SE Spring 2007 11
UP Work ProductsUP Work ProductsIncept ion phase
Elaborat ion phase
Const ruct ion phase
Transit ion phase
Vision documentInit ial use-case modelInit ial project glossaryInit ial business caseInit ial risk assessment .Project plan,
phases and it erat ions.Business model,
if necessary .One or more prot ot ypesI nc e p t i on
Use-case modelSupplement ary requirement s
including non-funct ionalAnalysis modelSoft ware archit ect ure
Descript ion.Execut able archit ect ural
prot ot ype.Preliminary design modelRev ised risk listProject plan including
it erat ion planadapt ed workf lowsmilest onest echnical work product s
Preliminary user manual
Design modelSoft ware component sInt egrat ed soft ware
incrementTest plan and procedureTest casesSupport document at ion
user manualsinst allat ion manualsdescript ion of current
increment
Delivered soft ware incrementBet a t est report sGeneral user feedback
CS550 Intro. to SE Spring 2007 12
Quick Overview of SafeHome
The SafeHome company has developed an innovative HW box that implements wireless Internet (802.11) connectivity in a very small form factor (the size of a matchbook). The idea is to use this technology to develop and market a comprehensive home automation product line.
This would provide security functions, control over telephone answering machines, lights, heating, air conditioning, and home entertainment devices.
The first generation of the system will only focus on home security since that is a market the public readily understands.
CS550 Intro. to SE Spring 2007 13
CS550 Intro. to SE Spring 2007 14
CS550 Intro. to SE Spring 2007 15
SafeHomeSafeHome: Selecting a Process Model, Part 2: Selecting a Process Model, Part 2The players: The players:
LeeLee Warren: engineering managerWarren: engineering managerDougDoug Miller: SE managerMiller: SE managerEdEd and and VinodVinod: members of the SE : members of the SE teamteam
The conversation: (The conversation: (DougDoug describes describes evolutionary process options)evolutionary process options)EdEd: Now I see something I like. An : Now I see something I like. An incremental approach makes sense incremental approach makes sense and I really like the flow of that spiral and I really like the flow of that spiral model thing. Thatmodel thing. That’’s keeping it real.s keeping it real.VinodVinod: I agree. We deliver an : I agree. We deliver an increment, learn from customer increment, learn from customer feedback, feedback, replanreplan, and then deliver , and then deliver another increment. It also fits into the another increment. It also fits into the nature of the product. We can have nature of the product. We can have something on the market fast and then something on the market fast and then add functionality with each version, add functionality with each version, erer, , increment. increment.
Lee:Lee: Wait a minute, did you say that Wait a minute, did you say that we regenerate the plan with each tour we regenerate the plan with each tour around the spiral, Doug? Thataround the spiral, Doug? That’’s not so s not so great, we need one plan, one schedule, great, we need one plan, one schedule, and weand we’’ve got to stick to it.ve got to stick to it.Doug:Doug: ThatThat’’s old school thinking, Lee. s old school thinking, Lee. Like Ed said, weLike Ed said, we’’ve got to keep it real. ve got to keep it real. I submit that itI submit that it’’s better to tweak the s better to tweak the plan as we learn more and as changes plan as we learn more and as changes are requested. Itare requested. It’’s way more realistic. s way more realistic. WhatWhat’’s the point of a plan if it doesns the point of a plan if it doesn’’t t reflect reality?reflect reality?LeeLee (frowning): I suppose so, but (frowning): I suppose so, but senior managementsenior management’’s not going to like s not going to like thisthis…… they want a fixed plan.they want a fixed plan.DougDoug (smiling): Then, you (smiling): Then, you ‘‘llll have to have to reeducate them, buddyreeducate them, buddy