68
Slide 9.1 © The McGraw-Hill Companies, 2007 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach [email protected]

Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.1

© The McGraw-Hill Companies, 2007

Object-Oriented andClassical Software

Engineering

Seventh Edition, WCB/McGraw-Hill, 2007

Stephen R. [email protected]

Page 2: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.2

© The McGraw-Hill Companies, 2007

CHAPTER 9

PLANNING ANDESTIMATING

Page 3: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.3

© The McGraw-Hill Companies, 2007

Overview

Planning and the software process Estimating duration and cost Components of a software project management plan Software project management plan framework IEEE software project management plan Planning testing Planning object-oriented projects Training requirements Documentation standards CASE tools for planning and estimating Testing the software project management plan

Page 4: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.4

© The McGraw-Hill Companies, 2007

Planning and Estimating

Before starting to build software, it is essential toplan the entire development effort in detail

Planning continues during development and thenpostdelivery maintenanceInitial planning is not enoughPlanning must proceed throughout the projectThe earliest possible time that detailed planning can take

place is after the specifications are complete

Page 5: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.5

© The McGraw-Hill Companies, 2007

9.1 Planning and the Software Process

The accuracy of estimation increases as theprocess proceeds

Figure 9.1

Page 6: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.6

© The McGraw-Hill Companies, 2007

Planning and the Software Process (contd)

Example

Cost estimate of $1 million during the requirementsworkflow Likely actual cost is in the range ($0.25M, $4M)

Cost estimate of $1 million at the end of therequirements workflow Likely actual cost is in the range ($0.5M, $2M)

Cost estimate of $1 million at the end of the analysisworkflow (earliest appropriate time) Likely actual cost is in the range ($0.67M, $1.5M)

Page 7: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.7

© The McGraw-Hill Companies, 2007

Planning and the Software Process (contd)

These four points are shown in the cone ofuncertainty

Figure 9.2

Page 8: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.8

© The McGraw-Hill Companies, 2007

Planning and the Software Process (contd)

This model is old (1976)Estimating techniques have improvedBut the shape of the curve is likely to be similar

Page 9: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.9

© The McGraw-Hill Companies, 2007

9.2 Estimating Duration and Cost

Accurate duration estimation is critical

Accurate cost estimation is criticalInternal, external costs

There are too many variables for accurateestimate of cost or duration

Page 10: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.10

© The McGraw-Hill Companies, 2007

Human Factors

Sackman (1968) measured differences of up to 28to 1 between pairs of programmersHe compared matched pairs of programmers with

respect to Product size Product execution time Development time Coding time Debugging time

Critical staff members may resign during theproject

Page 11: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.11

© The McGraw-Hill Companies, 2007

9.2.1 Metrics for the Size of a Product

Lines of code (LOC, KDSI, KLOC) FFP Function Points COCOMO

Page 12: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.12

© The McGraw-Hill Companies, 2007

Lines of Code (LOC)

Alternate metricThousand delivered source instructions (KDSI)

Source code is only a small part of the totalsoftware effort

Different languages lead to different lengths ofcode

LOC is not defined for nonprocedural languages(like LISP)

Page 13: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.13

© The McGraw-Hill Companies, 2007

Lines of Code (contd)

It is not clear how to count lines of codeExecutable lines of code?Data definitions?Comments?JCL statements?Changed/deleted lines?

Not everything written is delivered to the client

A report, screen, or GUI generator can generatethousands of lines of code in minutes

Page 14: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.14

© The McGraw-Hill Companies, 2007

Lines of Code (contd)

LOC is accurately known only when the productfinished

Estimation based on LOC is therefore doublydangerousTo start the estimation process, LOC in the finished

product must be estimatedThe LOC estimate is then used to estimate the cost of

the product — an uncertain input to an uncertain costestimator

Page 15: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.15

© The McGraw-Hill Companies, 2007

Metrics for the Size of a Product (contd)

Metrics based on measurable quantities that canbe determined early in the software life cycleFFPFunction points

Page 16: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.16

© The McGraw-Hill Companies, 2007

FFP Metric

For cost estimation of medium-scale dataprocessing products

The three basic structural elements of dataprocessing productsFilesFlowsProcesses

Page 17: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.17

© The McGraw-Hill Companies, 2007

FFP Metric (contd)

Given the number of files (Fi), flows (Fl), andprocesses (Pr)The size (S), cost (C) are given by

S = Fi + Fl + Pr

C = b × S

The constant b (efficiency or productivity) variesfrom organization to organization

Page 18: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.18

© The McGraw-Hill Companies, 2007

FFP Metric (contd)

The validity and reliability of the FFP metric weredemonstrated using a purposive sampleHowever, the metric was never extended to include

databases

Page 19: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.19

© The McGraw-Hill Companies, 2007

Function Points

Based on the number of inputs (Inp), outputs (Out),inquiries (Inq), master files (Maf), interfaces (Inf)

For any product, the size in “function points” isgiven by

FP = 4 × Inp + 5 × Out + 4 × Inq + 10 × Maf + 7 × Inf

This is an oversimplification of a 3-step process

Page 20: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.20

© The McGraw-Hill Companies, 2007

Function Points (contd)

Step 1. Classify each component of the product(Inp, Out, Inq, Maf, Inf) as simple, average, or complexAssign the appropriate number of function pointsThe sum gives UFP (unadjusted function points)

Figure 9.3

Page 21: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.21

© The McGraw-Hill Companies, 2007

Function Points (contd)

Step 2. Compute thetechnical complexityfactor (TCF)Assign a value from 0

(“not present”) to 5(“strong influencethroughout”) to each of14 factors such astransaction rates,portability

Figure 9.4

Page 22: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.22

© The McGraw-Hill Companies, 2007

Function Points (contd)

Add the 14 numbersThis gives the total degree of influence (DI)

TCF = 0.65 + 0.01 × DI

The technical complexity factor (TCF) lies between0.65 and 1.35

Page 23: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.23

© The McGraw-Hill Companies, 2007

Function Points (contd)

Step 3. The number of function points (FP) is thengiven by

FP = UFP × TCF

Page 24: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.24

© The McGraw-Hill Companies, 2007

Analysis of Function Points

Function points are usually better than KDSI — butthere are some problems

“Errors in excess of 800% counting KDSI, but only200% in counting function points” [Jones, 1987]

Page 25: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.25

© The McGraw-Hill Companies, 2007

Analysis of Function Points

We obtain nonsensical results from metricsKDSI per person month andCost per source statement

Cost per function point is meaningful

Figure 9.5

Page 26: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.26

© The McGraw-Hill Companies, 2007

Analysis of Function Points

Like FFP, maintenance can be inaccuratelymeasured

It is possible to make major changes withoutchangingThe number of files, flows, and processes; orThe number of inputs, outputs, inquiries, master files,

and interfaces

In theory, it is possible to change every line ofcode with changing the number of lines of code

Page 27: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.27

© The McGraw-Hill Companies, 2007

Mk II Function Points

This metric was put forward to compute UFP moreaccurately

We decompose software into componenttransactions, each consisting of input, process,and output

Mark II function points are widely used all over theworld

Page 28: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.28

© The McGraw-Hill Companies, 2007

9.2.2 Techniques of Cost Estimation

Expert judgment by analogy Bottom-up approach Algorithmic cost estimation models

Page 29: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.29

© The McGraw-Hill Companies, 2007

Expert Judgment by Analogy

Experts compare the target product to completedproductsGuesses can lead to hopelessly incorrect cost estimatesExperts may recollect completed products inaccuratelyHuman experts have biasesHowever, the results of estimation by a broad group of

experts may be accurate

The Delphi technique is sometimes needed toachieve consensus

Page 30: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.30

© The McGraw-Hill Companies, 2007

Bottom-up Approach

Break the product into smaller componentsThe smaller components may be no easier to estimateHowever, there are process-level costs

When using the object-oriented paradigmThe independence of the classes assists hereHowever, the interactions among the classes

complicate the estimation process

Page 31: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.31

© The McGraw-Hill Companies, 2007

Algorithmic Cost Estimation Models

A metric is used as an input to a model to computecost and durationAn algorithmic model is unbiased, and therefore

superior to expert opinionHowever, estimates are only as good as the underlying

assumptions

ExamplesSLIM ModelPrice S ModelCOnstructive COst MOdel (COCOMO)

Page 32: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.32

© The McGraw-Hill Companies, 2007

9.2.3 Intermediate COCOMO

COCOMO consists of three modelsA macro-estimation model for the product as a wholeIntermediate COCOMOA micro-estimation model that treats the product in

detail

We examine intermediate COCOMO

Page 33: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.33

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Step 1. Estimate the length of the product inKDSI

Page 34: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.34

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Step 2. Estimate the product developmentmode (organic, semidetached, embedded)

Example:Straightforward product (“organic mode”)

Nominal effort = 3.2 × (KDSI)1.05 person-months

Page 35: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.35

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Step 3. Compute the nominal effort

Example:Organic product12,000 delivered source statements (12 KDSI)

(estimated)

Nominal effort = 3.2 × (12)1.05 = 43 person-months

Page 36: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.36

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Step 4.Multiply thenominal valueby 15softwaredevelopmentcostmultipliers

Figure 9.6

Page 37: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.37

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Example:Microprocessor-based communications processing

software for electronic funds transfer network with highreliability, performance, development schedule, andinterface requirements

Step 1. Estimate the length of the product10,000 delivered source instructions (10 KDSI)

Step 2. Estimate the product development modeComplex (“embedded”) mode

Page 38: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.38

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Step 3. Compute the nominal effortNominal effort = 2.8 × (10)1.20 = 44 person-months

Step 4. Multiply the nominal value by 15 softwaredevelopment cost multipliersProduct of effort multipliers = 1.35 (see table on next

slide)Estimated effort for project is therefore 1.35 × 44 = 59

person-months

Page 39: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.39

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Software development effort multipliers

Figure 9.7

Page 40: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.40

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Estimated effort for project (59 person-months) isused as input for additional formulas forDollar costsDevelopment schedulesPhase and activity distributionsComputer costsAnnual maintenance costsRelated items

Page 41: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.41

© The McGraw-Hill Companies, 2007

Intermediate COCOMO (contd)

Intermediate COCOMO has been validated withrespect to a broad sample

Actual values are within 20% of predicted valuesabout 68% of the timeIntermediate COCOMO was the most accurate

estimation method of its time

Major problemIf the estimate of the number of lines of codes of the

target product is incorrect, then everything is incorrect

Page 42: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.42

© The McGraw-Hill Companies, 2007

9.2.4 COCOMO II

1995 extension to 1981 COCOMO thatincorporatesObject orientationModern life-cycle modelsRapid prototypingFourth-generation languagesCOTS software

COCOMO II is far more complex than the firstversion

Page 43: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.43

© The McGraw-Hill Companies, 2007

COCOMO II (contd)

There are three different models

Application composition model for the early phases Based on feature points (similar to function points)

Early design model Based on function points

Post-architecture model Based on function points or KDSI

Page 44: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.44

© The McGraw-Hill Companies, 2007

COCOMO II (contd)

The underlying COCOMO effort model is

effort = a ×(size)b

Intermediate COCOMO Three values for (a, b)

COCOMO II b varies depending on the values of certain parameters

COCOMO II supports reuse

Page 45: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.45

© The McGraw-Hill Companies, 2007

COCOMO II (contd)

COCOMO II has 17 multiplicative cost drivers(was 15)Seven are new

It is too soon for results regardingThe accuracy of COCOMO IIThe extent of improvement (if any) over Intermediate

COCOMO

Page 46: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.46

© The McGraw-Hill Companies, 2007

9.2.5 Tracking Duration and Cost Estimates

Whatever estimation method used, careful trackingis vital

Page 47: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.47

© The McGraw-Hill Companies, 2007

9.3 Components of a Software Project Management Plan

The work to be done

The resources with which to do it

The money to pay for it

Page 48: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.48

© The McGraw-Hill Companies, 2007

Resources

Resources needed for software development:PeopleHardwareSupport software

Page 49: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.49

© The McGraw-Hill Companies, 2007

Use of Resources Varies with Time

Rayleigh curvesaccurately depictresourceconsumption

The entiresoftwaredevelopmentplan must be afunction of time

Figure 9.8

Page 50: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.50

© The McGraw-Hill Companies, 2007

Work Categories

Project functionWork carried on throughout the projectExamples:

Project management Quality control

Page 51: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.51

© The McGraw-Hill Companies, 2007

Work Categories

ActivityWork that relates to a specific phaseA major unit of work,With precise beginning and ending dates,That consumes resources, andResults in work products like the budget, design,

schedules, source code, or users’ manual

Page 52: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.52

© The McGraw-Hill Companies, 2007

Work Categories (contd)

TaskAn activity comprises a set of tasks (the smallest unit of

work subject to management accountability)

Page 53: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.53

© The McGraw-Hill Companies, 2007

Completion of Work Products

Milestone: The date on which the work product isto be completed

It must first pass reviews performed byFellow team membersManagementThe client

Once the work product has been reviewed andagreed upon, it becomes a baseline

Page 54: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.54

© The McGraw-Hill Companies, 2007

Work Package

Work product, plusStaffing requirementsDurationResourcesThe name of the responsible individualAcceptance criteria for the work productThe detailed budget as a function of time, allocated to

Project functions Activities

Page 55: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.55

© The McGraw-Hill Companies, 2007

9.4 Software Project Management Plan Framework

There are many ways to construct an SPMP

One of the best is IEEE Standard 1058.1The standard is widely accepted

It is designed for use with all types of software products

It supports process improvement Many sections reflect CMM key process areas

It is ideal for the Unified Process There are sections for requirements control and risk

management

Page 56: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.56

© The McGraw-Hill Companies, 2007

Software Project Management Plan Framework (contd)

Some of the sections are inapplicable to small-scale softwareExample: Subcontractor management plan

Page 57: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.57

© The McGraw-Hill Companies, 2007

9.5 IEEE Software Project Management Plan

Figure 9.9

Page 58: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.58

© The McGraw-Hill Companies, 2007

9.6 Planning Testing

The SPMP must explicitly state what testing is tobe done

Traceability is essential

All black box test cases must be drawn up as soonas possible after the specifications are complete

Page 59: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.59

© The McGraw-Hill Companies, 2007

9.7 Planning Object-Oriented Projects

An object-oriented product consists of largelyindependent pieces

Consequently, planning is somewhat easier

The whole is more than the sum of its parts

We can use COCOMO II (or modify IntermediateCOCOMO estimators)

Page 60: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.60

© The McGraw-Hill Companies, 2007

Planning of Object-Oriented Projects (contd)

However, reuse induces errors in cost andduration estimatesReuse of existing components during developmentProduction of components for future reuse

These work in opposite directions

Newer data: The savings outweigh the costs

Page 61: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.61

© The McGraw-Hill Companies, 2007

9.8 Training Requirements

“We don’t need to worry about training until theproduct is finished, and then we can train the user”

Training is generally needed by the members ofthe development group, starting with training insoftware planning

A new software development method necessitatestraining for every member of the group

Page 62: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.62

© The McGraw-Hill Companies, 2007

Training Requirements (contd)

Introduction of hardware or software tools of anysort necessitates training

Programmers may need training in the operatingsystem and/or implementation language

Documentation preparation training may beneeded

Computer operators require training

Page 63: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.63

© The McGraw-Hill Companies, 2007

9.9 Documentation Standards

How much documentation is generated by aproduct?IBM internal commercial product (50 KDSI)

28 pages of documentation per KDSI

Commercial software product of the same size 66 pages per KDSI

IMS/360 Version 2.3 (about 166 KDSI) 157 pages of documentation per KDSI

[TRW] For every 100 hours spent on coding activities,150–200 hours were spent on documentation-relatedactivities

Page 64: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.64

© The McGraw-Hill Companies, 2007

Types of Documentation

Planning

Control

Financial

Technical

Source code

Comments within source code

Page 65: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.65

© The McGraw-Hill Companies, 2007

Documentation Standards

Reduce misunderstandings between teammembers

Aid SQA

Only new employees have to learn the standards

Standards assist maintenance programmers

Standardization is important for user manuals

Page 66: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.66

© The McGraw-Hill Companies, 2007

Documentation Standards (contd)

As part of the planning processStandards must be set up for all documentation

In a very real sense, the product is thedocumentation

Page 67: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.67

© The McGraw-Hill Companies, 2007

9.10 CASE Tools for Planning and Estimating

It is essential to haveA word processor; andA spreadsheet

Tool that automate intermediate COCOMO andCOCOMO II are available

Management tools assist with planning andmonitoringMacProjectMicrosoft Project

Page 68: Slide 9.1 Object-Oriented and Classical Software Engineeringwebstaff.kmutt.ac.th/~iauaroen/ENE463/Slides/se7_ch09_v... · 2008-06-02 · Likely actual cost is in the range ($0.25M,

Slide 9.68

© The McGraw-Hill Companies, 2007

9.11 Testing the Software Project Management Plan

We must check the SPMP as a wholePaying particular attention to the duration and cost

estimates