Upload
spencer-stone
View
215
Download
2
Embed Size (px)
Citation preview
1
3.1 Prescriptive 3.1 Prescriptive ModelsModels
Prescriptive process models advocate an orderly approach Prescriptive process models advocate an orderly approach to software engineeringto software engineering
If prescriptive process models strive for structure and If prescriptive process models strive for structure and order, are they inappropriate for a software world that order, are they inappropriate for a software world that thrives on change? thrives on change?
If we reject traditional prescriptive process models and If we reject traditional prescriptive process models and replace them with something less structured do we make it replace them with something less structured do we make it impossible to achieve coordination and coherence in impossible to achieve coordination and coherence in software work?software work?
2
3.2 The Waterfall 3.2 The Waterfall ModelModel
Communication Planning
ModelingConstruction
Deployment analysis design code
test
project initiation requirement gathering estimating
scheduling tracking
delivery support feedback
Is the waterfall model obsolete?Is the waterfall model obsolete?
3
3.3 The Incremental 3.3 The Incremental ModelModel
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
C o n s t ru c t i o n
De p l o y m e n t
d e l i v e ry f e e d b a c k
analys is
des ign code
t es t
increment # 1
increment # 2
delivery of 1st increment
delivery of 2nd increment
delivery of nth increment
increment # n
project calendar time
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 ru c t i o n
De p l o y m e n t
d e l i v e ry
f e e d b a c k
analys is
des ign code
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 g
C o n s t ru c t i o n
De p l o y m e n t
d e l i v e ry
f e e d b a c k
analys is
des igncode t es t
What is an “increment”?What is an “increment”? When is it appropriate to apply the incremental model?When is it appropriate to apply the incremental model?
4
3.3 The RAD Model3.3 The RAD Model
Communication
Planning
Modelingbusiness modeling data modeling process modeling
Constructioncomponent reuse automatic code generation testing
Deployment
60 - 90 days
Team # 1
Modelingbusiness modeling
data modeling process modeling
Constructioncomponent reuse automatic code
generation test ing
Modelingbusiness modeling data modeling process modeling
Const ruct ioncomponent reuse automatic code generation testing
Team # 2
Team # n
integration delivery feedback
When is it appropriate/inappropriate to apply the RAD When is it appropriate/inappropriate to apply the RAD model? model?
5
3.4 Evolutionary Models: 3.4 Evolutionary Models: PrototypingPrototyping
Communication
Quick plan
Construction of prototype
Modeling Quick design
Delivery & Feedback
Deployment
communication
Quickplan
ModelingQuick design
Constructionof prototype
Deploymentdelivery &feedback
How are How are evolutionaevolutionary models ry models different different from from incrementincremental models?al models?
6
3.4 Evolutionary Models: The 3.4 Evolutionary Models: The SpiralSpiral
communication
planning
modeling
constructiondeployment delivery feedback
start
analysis design
code test
estimation scheduling risk analysis
How does the spiral model differ from prototyping?How does the spiral model differ from prototyping? What is the role of risk analysis in the spiral model?What is the role of risk analysis in the spiral model?
7
3.4 Evolutionary Models: 3.4 Evolutionary Models: ConcurrentConcurrent
Under review
Baselined
Done
Under
revision
Awaiting
changes
Under
development
none
Modeling activity
represents the stateof a software engineeringactivity or task
I don’t like I don’t like this one so this one so don’t don’t spend too spend too much time much time reading reading about it. about it.
8
3.5 Specialized Process 3.5 Specialized Process ModelsModels
Component based developmentComponent based development—the process to —the process to apply when reuse is a development objectiveapply when reuse is a development objective
Formal methodsFormal methods—emphasizes the mathematical —emphasizes the mathematical specification of requirementsspecification of requirements
AOSDAOSD—provides a process and methodological —provides a process and methodological approach for defining, specifying, designing, and approach for defining, specifying, designing, and constructing constructing aspectsaspects
What are the primary advantages of the What are the primary advantages of the component-based process model? component-based process model?
9
inceptioninception
3.6 The Unified Process 3.6 The Unified Process (UP)(UP)
software increment
Release
Inception
Elaboration
construction
transition
production
inception
elaboration
What is a use-case?What is a use-case?
10
3.6 UP Work 3.6 UP Work ProductsProducts
Inception phase
Elaboration phase
Construction phase
Transition phase
Vision document Init ial use-case model Init ial project glossaryInit ial business case Init ial risk assessment. Project plan, phases and iterations. Business model, if necessary. One or more prototypes Incept io n
Use-case modelSupplementary requirements including non-functional Analysis model Software architecture Description. Executable architectural prototype. Preliminary design model Revised risk listProject plan including iteration plan adapted workflows milestones technical work products Preliminary user manual
Design modelSoftware components Integrated software increment Test plan and procedure Test cases Support documentation user manuals installat ion manuals description of current increment
Delivered software increment Beta test reports General user feedback