10
1 3.1 Prescriptive 3.1 Prescriptive Models Models Prescriptive process models advocate an orderly Prescriptive process models advocate an orderly approach to software engineering approach to software engineering If prescriptive process models strive for structure If prescriptive process models strive for structure and order, are they inappropriate for a software and order, are they inappropriate for a software world that thrives on change? world that thrives on change? If we reject traditional prescriptive process models If we reject traditional prescriptive process models and replace them with something less structured do and replace them with something less structured do we make it impossible to achieve coordination and we make it impossible to achieve coordination and coherence in software work? coherence in software work?

1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

Embed Size (px)

Citation preview

Page 1: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 2: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 3: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 4: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 5: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 6: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 7: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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.

Page 8: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 9: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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?

Page 10: 1 3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process models advocate an orderly

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