• Tidak ada hasil yang ditemukan

Chapter 023 Estimation 4 SW Proj

N/A
N/A
Protected

Academic year: 2017

Membagikan "Chapter 023 Estimation 4 SW Proj"

Copied!
28
0
0

Teks penuh

(1)

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, Software Engineering: A Practitioner’s Approach,

6/e 6/e

Chapter 23

Chapter 23

Estimation for Software Projects

Estimation for Software Projects

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.

(2)

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

Software Project Planning

Software Project Planning

The overall goal of project planning is to

The overall goal of project planning is to

establish a pragmatic strategy for controlling,

establish a pragmatic strategy for controlling,

tracking, and monitoring a complex technical

tracking, and monitoring a complex technical

project.

project.

Why?

Why?

So the end result gets done on time, with quality!

(3)

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

Project Planning Task Set-I

Project Planning Task Set-I

 Establish project scopeEstablish project scope  Determine feasibilityDetermine feasibility  Analyze risksAnalyze risks

 Risk analysis is considered in detail in Chapter 25.Risk analysis is considered in detail in Chapter 25.

 Define required resourcesDefine required resources

(4)

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

Project Planning Task Set-II

Project Planning Task Set-II

 Estimate cost and effortEstimate cost and effort

 Decompose the problemDecompose the problem

 Develop two or more estimates using size, function points, Develop two or more estimates using size, function points,

process tasks or use-cases process tasks or use-cases

 Reconcile the estimatesReconcile the estimates

 Develop a project scheduleDevelop a project schedule

 Scheduling is considered in detail in Chapter 24.Scheduling is considered in detail in Chapter 24.

 Establish a meaningful task setEstablish a meaningful task set  Define a task networkDefine a task network

(5)

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

Estimation

Estimation

 Estimation of resources, cost, and schedule for a Estimation of resources, cost, and schedule for a

software engineering effort requires

software engineering effort requires

 experienceexperience

 access to good historical information (metricsaccess to good historical information (metrics

 the courage to commit to quantitative predictions when the courage to commit to quantitative predictions when

qualitative information is all that exists

qualitative information is all that exists

 Estimation carries inherent risk and this risk leads to Estimation carries inherent risk and this risk leads to

uncertainty

(6)

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

Write it Down!

Write it Down!

Software

Software

Project

Project

Plan

Plan

Project Scope

Project Scope

Estimates

Estimates

Risks

Risks

Schedule

Schedule

Control strategy

(7)

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

To Understand Scope ...

To Understand Scope ...

 Understand the customers needsUnderstand the customers needs  understand the business contextunderstand the business context  understand the project boundariesunderstand the project boundaries

 understand the customer’s motivationunderstand the customer’s motivation  understand the likely paths for changeunderstand the likely paths for change  understand that ...understand that ...

Even when you understand,

Even when you understand,

nothing is guaranteed!

(8)

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

What is Scope?

What is Scope?

Software scopeSoftware scope describes describes

 the functions and features that are to be delivered to end-usersthe functions and features that are to be delivered to end-users  the data that are input and outputthe data that are input and output

 the “content” that is presented to users as a consequence of the “content” that is presented to users as a consequence of

using the software using the software

 the performance, constraints, interfaces, and reliability that the performance, constraints, interfaces, and reliability that

bound

bound the system. the system.

 Scope is defined using one of two techniques:Scope is defined using one of two techniques:

 A narrative description of software scope is developed after A narrative description of software scope is developed after

communication with all stakeholders.

communication with all stakeholders.

(9)

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

Resources

Resources

project

people

skills

number

location

reusable software

OTS components

full-experience components

new components

part.-experience components

environment

hardware software

tools

(10)

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

Project Estimation

Project Estimation

 Project scope must be understoodProject scope must be understood

 Elaboration (decomposition) is necessaryElaboration (decomposition) is necessary  Historical metrics are very helpfulHistorical metrics are very helpful

 At least two different techniques should be At least two different techniques should be

used

used

(11)

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

Estimation Techniques

Estimation Techniques

 Past (similar) project experiencePast (similar) project experience

 Conventional estimation techniquesConventional estimation techniques

 task breakdown and effort estimatestask breakdown and effort estimates

 size (e.g., FP) estimatessize (e.g., FP) estimates

(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

12

Estimation Accuracy

Estimation Accuracy

 Predicated on …Predicated on …

 the degree to which the planner has properly estimated the size

of the product to be built

 the ability to translate the size estimate into human effort,

calendar time, and dollars (a function of the availability of reliable software metrics from past projects)

 the degree to which the project plan reflects the abilities of the

software team

 the stability of product requirements and the environment that

(13)

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

13

Functional Decomposition

Functional Decomposition

functional functional decomposition decomposition Statement

Statement of

of Scope

Scope Perform a Perform a

(14)

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

14

Conventional Methods:

Conventional Methods:

LOC/FP Approach

LOC/FP Approach

 compute LOC/FP using estimates of information compute LOC/FP using estimates of information

domain values

domain values

 use historical data to build estimates for the use historical data to build estimates for the

project

(15)

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

15

Example: LOC Approach

Example: LOC Approach

Average productivity for systems of this type = 620 LOC/pm.

Average productivity for systems of this type = 620 LOC/pm.

Burdened labor rate =$8000 per month, the cost per line of

Burdened labor rate =$8000 per month, the cost per line of

code is approximately $13.

code is approximately $13.

Based on the LOC estimate and the historical productivity

Based on the LOC estimate and the historical productivity

data, the total estimated project cost is

data, the total estimated project cost is $431,000 and the $431,000 and the estimated effort is 54 person-months.

(16)

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

16

Example: FP Approach

Example: FP Approach

The estimated number of FP is derived:

The estimated number of FP is derived:

FP

FPestimatedestimated = count-total 3 = count-total 3 [0.65 + 0.01 3 [0.65 + 0.01 3 SS (F (Fii)])] FP

FPestimatedestimated = 375 = 375

organizational average productivity = 6.5 FP/pm.

organizational average productivity = 6.5 FP/pm.

burdened labor rate = $8000 per month, the cost per FP is approximately $1230.

burdened labor rate = $8000 per month, the cost per FP is approximately $1230.

Based on the FP estimate and the historical productivity data,

Based on the FP estimate and the historical productivity data, the total estimated the total estimated project cost is $461,000 and the estimated effort is 58 person-months

(17)

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

17

Process-Based Estimation

Process-Based Estimation

Obtained from “process framework”

Obtained from “process framework”

application

application

functions

functions

framework activities

framework activities

Effort required to

Effort required to

accomplish

accomplish

each framework

each framework

activity for each

activity for each

application function

(18)

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

18

Process-Based Estimation Example

Process-Based Estimation Example

A ctivity

Task

Fu n ctio n

U IC F 2D GA 3D GA

D SM PC F C GD F

D AM

To tals

% effo rt

C C P la nning A na ly s isR is k E ngine e ring C ons truc tionR e le a s e C E T o tals

analy s is des ign c ode tes t

0.25 0.25 0.25 3.50 20.50 4.50 16.50 46.00

1% 1% 1% 8% 45% 10% 36%

C C = cus tom er c om m unic ation C E = cus tom er ev aluation 0.50 0.75 0.50 0.50 0.50 0.25 2.50 4.00 4.00 3.00 3.00 2.00 0.40 0.60 1.00 1.00 0.75 0.50 5.00 2.00 3.00 1.50 1.50 1.50 8.40 7.35 8.50 6.00 5.75 4.25 0.50 2.00 0.50 2.00 5.00

n/a n/a n/a n/a n/a n/a n/a

Based on an average burdened labor rate of $8,000 per month, the

Based on an average burdened labor rate of $8,000 per month, the

total estimated project cost is $368,000 and the estimated effort is 46

total estimated project cost is $368,000 and the estimated effort is 46

person-months.

(19)

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

19

Tool-Based Estimation

Tool-Based Estimation

project characteristics

project characteristics

calibration factors

calibration factors

LOC/FP data

(20)

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

20

Estimation with Use-Cases

Estimation with Use-Cases

use cases scenarios pages scenarios pages LOC LOC estimate e subsystem 6 10 6 12 5 560 3,366 subsystem group 10 20 8 16 8 3100 31,233 e subsystem group 5 6 5 10 6 1650 7,970

stimate 42,568

User interface subsystem Engineering subsystem group Infrastructure subsystem group Total LOC estimate

Using 620 LOC/pm as the average productivity for systems of this

Using 620 LOC/pm as the average productivity for systems of this

type and a burdened labor rate of $8000 per month, the cost per line

type and a burdened labor rate of $8000 per month, the cost per line

of code is approximately $13. Based on the use-case estimate and the

of code is approximately $13. Based on the use-case estimate and the

historical productivity data, the total estimated project cost is

historical productivity data, the total estimated project cost is

$552,000 and the estimated effort is 68 person-months.

(21)

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

21

Empirical Estimation Models

Empirical Estimation Models

General form:

General form:

effort = tuning coefficient * size

effort = tuning coefficient * size exponentexponent

usually derived

usually derived

as person-months

as person-months

of effort required

of effort required

either a constant or

either a constant or

a number derived based

a number derived based

on complexity of project

on complexity of project

usually LOC but

usually LOC but

may also be

may also be

function point

function point

empirically

empirically

derived

(22)

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

22

COCOMO-II

COCOMO-II

 COCOMO II is actually a hierarchy of estimation COCOMO II is actually a hierarchy of estimation

models that address the following areas:

models that address the following areas:

Application composition model.Application composition model. Used during the early stages of Used during the early stages of

software engineering, when prototyping of user interfaces,

software engineering, when prototyping of user interfaces,

consideration of software and system interaction, assessment of

consideration of software and system interaction, assessment of

performance, and evaluation of technology maturity are

performance, and evaluation of technology maturity are

paramount.

paramount.

Early design stage model.Early design stage model. Used once requirements have been Used once requirements have been

stabilized and basic software architecture has been established.

stabilized and basic software architecture has been established.  Post-architecture-stage model.Post-architecture-stage model. Used during the construction of the Used during the construction of the

software.

(23)

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

23

The Software Equation

The Software Equation

A dynamic multivariable model

A dynamic multivariable model

E = [LOC x B

E = [LOC x B0.3330.333/P]/P]33 x (1/t x (1/t44))

where

where

E = effort in person-months or person-years

E = effort in person-months or person-years

t = project duration in months or years

t = project duration in months or years

B = “special skills factor”

B = “special skills factor”

P = “productivity parameter”

(24)

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

24

Estimation for OO Projects-I

Estimation for OO Projects-I

 Develop estimates using effort decomposition, FP analysis, and any other Develop estimates using effort decomposition, FP analysis, and any other method that is applicable for conventional applications.

method that is applicable for conventional applications.

 Using object-oriented analysis modeling (Chapter 8), develop use-cases and Using object-oriented analysis modeling (Chapter 8), develop use-cases and determine a count.

determine a count.

 From the analysis model, determine the number of key classes (called From the analysis model, determine the number of key classes (called analysis classes in Chapter 8).

analysis classes in Chapter 8).

 Categorize the type of interface for the application and develop a multiplier Categorize the type of interface for the application and develop a multiplier for support classes:

for support classes:

Interface typeInterface type MultiplierMultiplier

(25)

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

25

Estimation for OO Projects-II

Estimation for OO Projects-II

 Multiply the number of key classes (step 3) by the multiplier to Multiply the number of key classes (step 3) by the multiplier to

obtain an estimate for the number of support classes. obtain an estimate for the number of support classes.

 Multiply the total number of classes (key + support) by the average Multiply the total number of classes (key + support) by the average

number of work-units per class. Lorenz and Kidd suggest 15 to 20 number of work-units per class. Lorenz and Kidd suggest 15 to 20

person-days per class. person-days per class.

 Cross check the class-based estimate by multiplying the average Cross check the class-based estimate by multiplying the average

(26)

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

26

Estimation for Agile Projects

Estimation for Agile Projects

 Each user scenario (a mini-use-case) is considered separately for estimation Each user scenario (a mini-use-case) is considered separately for estimation purposes.

purposes.

 The scenario is decomposed into the set of software engineering tasks that The scenario is decomposed into the set of software engineering tasks that will be required to develop it.

will be required to develop it.

 Each task is estimated separately. Note: estimation can be based on Each task is estimated separately. Note: estimation can be based on historical data, an empirical model, or “experience.”

historical data, an empirical model, or “experience.”

 Alternatively, the ‘volume’ of the scenario can be estimated in LOC, FP or some Alternatively, the ‘volume’ of the scenario can be estimated in LOC, FP or some

other volume-oriented measure (e.g., use-case count). other volume-oriented measure (e.g., use-case count).

 Estimates for each task are summed to create an estimate for the scenario.Estimates for each task are summed to create an estimate for the scenario.  Alternatively, the volume estimate for the scenario is translated into effort using Alternatively, the volume estimate for the scenario is translated into effort using

historical data. historical data.

 The effort estimates for all scenarios that are to be implemented for a given The effort estimates for all scenarios that are to be implemented for a given software increment are summed to develop the effort estimate for the

software increment are summed to develop the effort estimate for the

increment.

(27)

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

27

The Make-Buy Decision

The Make-Buy Decision

system X

system X reusereuse

simple (0.30) simple (0.30)

difficult (0.70) difficult (0.70)

minor

minor changeschanges (0.40) (0.40) major major changes changes (0.60) (0.60) simple (0.20) simple (0.20) complex (0.80) complex (0.80) major

major changeschanges (0.30)(0.30) minor

minor changeschanges (0.70) (0.70) $380,000 $380,000 $450,000 $450,000 $275,000 $275,000 $310,000 $310,000 $490,000 $490,000 $210,000 $210,000 $400,000 $400,000 buy buy contract contract

without changes (0.60) without changes (0.60)

with changes (0.40) with changes (0.40)

(28)

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

28

Computing Expected Cost

Computing Expected Cost

(path probability) x (estimated path cost) (path probability) x (estimated path cost) ii ii

For example, the expected cost to build is:

For example, the expected cost to build is:

expected cost = 0.30 ($380K) + 0.70 ($450K)

expected cost = 0.30 ($380K) + 0.70 ($450K)

similarly,

similarly,

expected cost =

expected cost =

$382K

$382Kexpected cost = expected cost =

$267K

$267Kexpected cost = expected cost =

$410K $410K build build reus reus e ebuy buy contr contr

expected cost =

expected cost =

= $429 K

Referensi

Dokumen terkait

Pada dasarnya pati dalam campuran protein nabati dengan kandungan lemak 1,1% akan lebih mengembang daripada jumlah lemak 3%, artinya semakin tinggi jumlah lemak

 Mahasiswa diwajibkan memprogram sesuai dengan nama dan bobot mata kuliah tersebut dalam kurikulum baru yang disetarakan.  Jika nilai mata kuliah yang diulang dalam

Perlakuan varietas kedelai berpengaruh nyata (uji T pada α =5%) terhadap semua karakter kimia (kadar air, kadar protein dan minyak) kembang tahu yang dihasilkan,

Pada hari ini Rabu, tanggal delapan belas, bulan Agustus, tahun dua ribu sepuluh, dimulai pukul 10.00 WIB dengan mengambil tempat di Ruang LPSE Universitas Negeri Medan,

[r]

Pada hari ini Rabu , tanggal Enam Belas , bulan Oktober tahun Dua Ribu Tiga Belas , melalui Layanan Pengadaan Secara Elektronik (LPSE) Kabupaten Nunukan dengan alamat

Dari hal ini peneliti melihat bahwa pada keadilan distributif ini tidak dilakukan, dan dari hasil wawancara Benediktus Bifel, Frans Boimau dan Christina Ledo selaku

1.20. - Otonomi Daerah, Pemerintahan Umum dan Administrasi Keuangan 1.20.14. ) - Otonomi Daerah, Pemerintahan Umum dan Administrasi Keuangan. 01.. ) -