DOC PREVIEW
USC CSCI 599 - LECT3BW

This preview shows page 1-2-3-26-27-28 out of 28 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Copyright © 1994 Carnegie Mellon University1Disciplined SoftwareEngineeringLecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Sponsored by the U.S. Department of DefenseCopyright © 1994 Carnegie Mellon University2Lecture #3 Overview - SizeEstimating - 1 Why estimate size? Some estimating background Size estimating principles Estimating approaches Estimating proxiesCopyright © 1994 Carnegie Mellon University3Why Estimate Size? To make better plans•to better size the job•to divide the job into separable elements To assist in tracking progress•can judge when job scope changes•can better measure the work Value in this course•learn estimating methods•build estimating skillsCopyright © 1994 Carnegie Mellon University4Estimating Background Estimating models in other fields•large base of history•in wide use•generate detailed planning data•require a size estimate as input Software size estimating experience•100% + errors are normal•few developers make estimates•fewer still use orderly methodsCopyright © 1994 Carnegie Mellon University5Size Estimating Principles - 1 Estimating is an uncertain process.•no one knows how big the product will be•the earlier the estimate, the less is known•estimates can be biased by business andother pressures Estimating is an intuitive learning process.•ability improves with experience•some people will be better at estimating thanothersCopyright © 1994 Carnegie Mellon University6 Estimating is a skill.•improvement will be gradual•you may never get very good The objective, however, is to get consistent.•you will then understand the variability of yourestimates•you seek an even balance between under andover estimatesSize Estimating Principles - 2Copyright © 1994 Carnegie Mellon University7Size Estimating Errors - 12Students Program Number-100010020030040050012345678910MaxClassMinCopyright © 1994 Carnegie Mellon University8Time Estimating Errors - 12StudentsProgram Number-100010020030040050012345678910MaxClassMinCopyright © 1994 Carnegie Mellon University9 The principal advantages of using a definedestimating method are•you have known practices that you can workto improve•it provides a framework for gatheringestimating data•by using consistent methods and historicaldata, your estimates will get more consistentSize Estimating Principles - 3Copyright © 1994 Carnegie Mellon University10DefineRequirementsProduceConceptualDesignEstimateSizeEstimateResourcesProduceScheduleDevelopProductSize, ResourceScheduleDataProcessAnalysisResourcesAvailableProductivityDatabaseSizeDatabaseProductDeliveryTrackingReportsThe Size Estimating FrameworkCopyright © 1994 Carnegie Mellon University11Estimating Approaches Fuzzy logic Function points Standard components DelphiCopyright © 1994 Carnegie Mellon University12Fuzzy Logic Size Estimating - 1 Gather size data on previously developedprograms Subdivide these data into size categories:•very large, large, medium, small, very small•establish size ranges•include all existing and expected products Subdivide each range into subcategoriesCopyright © 1994 Carnegie Mellon University13Fuzzy Logic Size Estimating - 2 Allocate the available data to the categories. Establish subcategory size ranges. When estimating a new program, judge whichcategory and subcategory it most closelyresembles.Copyright © 1994 Carnegie Mellon University14A Fuzzy Logic Example - 1 You have historical data on 5 programs asfollows:•a file utility of 1,844 LOC•a file management program of 5,834 LOC•a personnel record keeping program of 6,845LOC•a report generating package of 18,386 LOC•an inventory management program of 25,943LOCCopyright © 1994 Carnegie Mellon University15A Fuzzy Logic Example - 2 You thus establish 5 size ranges, as follows•log(1844) = 3.266•log(25,943) = 4.414•the difference is 1.148•1/4th this difference is 0.287•the logs of the five ranges are thus spaced0.287 apart•the limits or these ranges are at 0.1435 aboveand below the midpoint of each rangeCopyright © 1994 Carnegie Mellon University16A Fuzzy Logic Example - 3 The 5 size ranges are thus•very small - 1,325 to 2,566: file utility•small - 2,566 to 4970: no members•medium - 4,970 to 9,626: file management andpersonnel record program•large - 9,626 to 18,641: report generator•very large - 18,641 to 36, 104: inventorymanagementCopyright © 1994 Carnegie Mellon University17A Fuzzy Logic Example - 4 Your new program has the followingrequirements•analyze marketing performance by productline•project the likely sales in each productcategory•allocate these sales to marketing regions andtime periods•produce a monthly report of these projectionsand the actual resultsCopyright © 1994 Carnegie Mellon University18A Fuzzy Logic Example - 5 In comparing the new program to the historicaldata you make the following judgments•it is a substantially more complex applicationthan either the file management or personnelprograms•it is not as complex as the inventorymanagement program•it appears to have significantly more functionthan the report package You conclude that the new program is in thelower end of “very large,” or from 18 to 25KLOC.Copyright © 1994 Carnegie Mellon University19Fuzzy Logic - Summary To make a fuzzy logic estimate: 1 - Divide the historical produce size data intosize ranges. 2 - Compare the planned product with theseprior products. 3 - Based on this comparison, select the sizethat seems most appropriate for the newproduct.Copyright © 1994 Carnegie Mellon University20Fuzzy Logic Size Estimating -Advantages Fuzzy logic estimating•is based on relevant historical data•is easy to use•requires no special tools or training•provides reasonably good estimates wherenew work is like prior experienceCopyright © 1994 Carnegie Mellon University21Fuzzy Logic Size Estimating -Disadvantages The disadvantages of fuzzy logic are•it requires a lot of data•the estimators must be familiar with thehistorically developed programs•it only provides a crude sizing•it is not useful for new program types•it is not useful for programs much larger orsmaller than the historical dataCopyright © 1994 Carnegie Mellon University22Function Point Estimating - 1 A function point is an arbitrary unit•based on application functions-inputs, outputs, files, inquiries•scaled by simple, average, complex For job complexity:•adjust a


View Full Document

USC CSCI 599 - LECT3BW

Documents in this Course
Week8_1

Week8_1

22 pages

Week2_b

Week2_b

10 pages

LECT6BW

LECT6BW

20 pages

LECT6BW

LECT6BW

20 pages

5

5

44 pages

12

12

15 pages

16

16

20 pages

Nima

Nima

8 pages

Week1

Week1

38 pages

Week11_c

Week11_c

30 pages

afsin

afsin

5 pages

October5b

October5b

43 pages

Week11_2

Week11_2

20 pages

final

final

2 pages

c-4

c-4

12 pages

0420

0420

3 pages

Week9_b

Week9_b

20 pages

S7Kriegel

S7Kriegel

21 pages

Week4_2

Week4_2

16 pages

sandpres

sandpres

21 pages

Week6_1

Week6_1

20 pages

4

4

33 pages

Week10_c

Week10_c

13 pages

fft

fft

18 pages

LECT7BW

LECT7BW

19 pages

24

24

15 pages

14

14

35 pages

Week9_c

Week9_c

24 pages

Week11_67

Week11_67

22 pages

Week1

Week1

37 pages

Week8_c2

Week8_c2

19 pages

Week5_1

Week5_1

19 pages

LECT5BW

LECT5BW

24 pages

Week10_b

Week10_b

16 pages

Week11_1

Week11_1

43 pages

Week7_2

Week7_2

15 pages

Week5_b

Week5_b

19 pages

Week11_a

Week11_a

29 pages

LECT14BW

LECT14BW

24 pages

T7kriegel

T7kriegel

21 pages

0413

0413

2 pages

3

3

23 pages

C2-TSE

C2-TSE

16 pages

10_19_99

10_19_99

12 pages

s1and2-v2

s1and2-v2

37 pages

Week10_3

Week10_3

23 pages

jalal

jalal

6 pages

1

1

25 pages

T3Querys

T3Querys

47 pages

CS17

CS17

15 pages

porkaew

porkaew

20 pages

LECT4BW

LECT4BW

21 pages

Week10_1

Week10_1

25 pages

wavelet

wavelet

17 pages

October5a

October5a

22 pages

p289-korn

p289-korn

12 pages

2

2

33 pages

rose

rose

36 pages

9_7_99

9_7_99

18 pages

Week10_2

Week10_2

28 pages

Week7_3

Week7_3

37 pages

Load more
Download LECT3BW
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECT3BW and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECT3BW 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?