ch03 pressman software engineering slides

12
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1 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. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.

Upload: manuel-sosaeta

Post on 18-Jul-2016

26 views

Category:

Documents


5 download

DESCRIPTION

Ch03 Pressman Software Engineering slides

TRANSCRIPT

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1

Software Engineering: A Practitioner’s Software Engineering: A Practitioner’s Approach, 6/eApproach, 6/e

Chapter 3Chapter 3Prescriptive Process ModelsPrescriptive Process Models

copyright © 1996, 2001, 2005R.S. Pressman & Associates, Inc.

For University Use OnlyMay be reproduced ONLY for student use at the university level

when used in conjunction with Software Engineering: A Practitioner's Approach.Any other reproduction or use is expressly prohibited.

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2

Prescriptive ModelsPrescriptive Models Prescriptive process models advocate an orderly approach Prescriptive process models advocate an orderly approach

to software engineeringto software engineeringThat leads to a few questions …That leads to a few questions … If prescriptive process models strive for structure and If prescriptive process models strive for structure and

order, order, are they inappropriate for a software world that are they inappropriate for a software world that thrives on change?thrives on change?

Yet, if we reject traditional process models (and the order Yet, if we reject traditional process models (and the order they imply) and replace them with something less they imply) and replace them with something less structured, structured, do we make it impossible to achieve do we make it impossible to achieve coordination and coherence in software work?coordination and coherence in software work?

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3

The Waterfall The Waterfall ModelModel

CommunicationPlanning

ModelingConstruction

Deploymentanalysisdesign code

test

project initiationrequirement gathering estimating

schedulingtracking

deliverysupportfeedback

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4

The Incremental The Incremental ModelModel

CommunicationPlanning Modeling Construction Deployment delivery feedbackanalysisdesign codetest

increment # 1

increment # 2

delivery of1st increment

delivery of2nd increment

delivery ofnth increment

increment # n

project calendar time

CommunicationPlanning Modeling Construction Deployment delivery feedbackanalysisdesign codetest

CommunicationPlanning Modeling Construction Deployment delivery feedbackanalysisdesign codetest

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5

The RAD ModelThe RAD Model

Communication

Planning

Modelingbusiness modelingdata modelingprocess modeling

Constructioncomponent reuseautomatic code generationtesting

Deployment

60 - 90 days

Team # 1

Modelingbusiness modelingdata modelingprocess modeling

Constructioncomponent reuseautomatic code generationtesting

Modelingbusiness modelingdata modelingprocess modeling

Constructioncomponent reuseautomatic code generationtestingTeam # 2

Team # n

integrationdeliveryfeedback

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6

Evolutionary Models: Evolutionary Models: PrototypingPrototyping

CommunicationQuick plan

Constructionofprototype

Modeling Quick design

Delivery& Feedback

Deployment

communication

Quickplan

ModelingQuick design

Constructionof prototype

Deploymentdelivery &feedback

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7

Evolutionary Models: The Evolutionary Models: The SpiralSpiral

communication

planning

modeling

constructiondeployment delivery feedback

start

analysisdesign

codetest

estimationschedulingrisk analysis

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8

Evolutionary Models: ConcurrentEvolutionary Models: Concurrent

Under review

B as elined

Done

Under

rev is ion

A w ait ing

changes

Under

developm ent

none

Modeling ac t iv it y

represents the stateof a software engineeringactivity or task

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9

Still Other Process Still Other Process ModelsModels

Component based developmentComponent based development—the process to apply —the process to apply when reuse is a development objectivewhen 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

Unified ProcessUnified Process—a “use-case driven, architecture-—a “use-case driven, architecture-centric, iterative and incremental” software process centric, iterative and incremental” software process closely aligned with the Unified Modeling Language closely aligned with the Unified Modeling Language (UML)(UML)

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10

inception

The Unified Process (UP)The Unified Process (UP)

software incrementRelease

Inception

Elaboration

constructiontransition

production

inception

elaboration

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11

UP PhasesUP PhasesInception Elaboration Construction Transition ProductionUP Phases

Workflows

Requirements

Analysis

Design

Implementation

Test

Iterations #1 #2 #n-1 #n

Support

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12

UP Work ProductsUP Work ProductsInception phase

Elaboration phaseConstruction phase

Transition phase

Vision documentInitial use-case modelInitial project glossaryInitial business caseInitial risk assessment.Project plan, phases and iterations.Business model, if necessary.One or more prototypesInception

Use-case modelSupplementary requirements including non-functionalAnalysis modelSoftware architecture Description.Executable architectural prototype.Preliminary design modelRevised risk listProject plan including iteration plan adapted workflows milestones technical work productsPreliminary user manual

Design modelSoftware componentsIntegrated software incrementTest plan and procedureTest casesSupport documentation user manuals installation manuals description of current increment

Delivered software incrementBeta test reportsGeneral user feedback