Personal Software Process Lecture 5 Software Size Estimation
- Slides: 46
Personal Software Process Lecture 5 Software Size Estimation Jerzy. Nawrocki@put. poznan. pl www. cs. put. poznan. pl/~nawrocki/mse/psp J. Nawrocki, PSP, Lecture 5 Copyright, 1999 © Jerzy R. Nawrocki
Introduction What to estimate software size for? • To make plans. • To estimate the effort. • To create a reliable schedule. “Sizing represents the project planner’s first major challenge” -- R. S. Pressman J. Nawrocki, PSP, Lecture 5
Introduction COCOMO: • Effort = a Sizeb COCOMO 2. 0: • Effort = ( ei) A Size. B Walston-Felix model: • Effort = 5. 2 Size 0. 91 Software equation (Putnam): • Effort = (Size B 0. 333/P)3/ t 4 J. Nawrocki, PSP, Lecture 5
Introduction . . Project planning. . J. Nawrocki, PSP, Lecture 5 Size estimating
Plan of the lecture • • • Delphi method Fuzzy-logic method Standard-component method Function point method Probe method J. Nawrocki, PSP, Lecture 5
Plan of the lecture • Delphi method • • Fuzzy-logic method Standard-component method Function point method The Probe method J. Nawrocki, PSP, Lecture 5
Wideband-Delphi method Pythia Rand Corporation, Boehm’ 81 • A few experts individually produce size estimates. • A Delphi process is used to reach a consensus. J. Nawrocki, PSP, Lecture 5
Wideband-Delphi method The Delphi procedure 1. Experts get the specification and an estimation form 2. They meet for discussion (project goals, assumptions, estimation issues) 3. Each expert anonymously lists the tasks and estimates the size The estimate 4. The estimates go to the estimate moderator. He tabulates the results and moderator returns them to the experts. J. Nawrocki, PSP, Lecture 5
Wideband-Delphi method Estimator: Jerzy Nawrocki Date: 22. 06. 1999 Project: Sorting routine The estimates from the 1 st round: e 0 20 E 40 M e 60 e 80 100 e - estimates, E - your estimate, M - median estimate Your estimate for the next round: . . LOC A rationale for your estimate: . . . . . . . . J. Nawrocki, PSP, Lecture 5
Wideband-Delphi method The Wideband-Delphi procedure 5. The experts meet to discuss the results. They review the tasks they have defined but not their size estimates. 6. The procedure is repeated from step 3 until the estimates are acceptably near The estimate moderator J. Nawrocki, PSP, Lecture 5
Plan of the lecture • Delphi method • Fuzzy-logic method • Standard-component method • Function point method • Probe method J. Nawrocki, PSP, Lecture 5
Fuzzy-logic method Putnam’ 92: • We need accurate, not necessary precise size estimates. • Let’s relate the estimate to the historical data Tall Middle Short J. Nawrocki, PSP, Lecture 5
Fuzzy-logic method Fuzzy-logic size ranges J. Nawrocki, PSP, Lecture 5
Fuzzy-logic method V. small: S - A Small: A - B Medium: B - C Large: C - D V. Large: D - L J. Nawrocki, PSP, Lecture 5 Given the smallest (S) and the largest (L) program size, find range boundaries A, B, C, D such that S, A, B, C, D, L form a geometrical progression. A/S = B/A = C/B = D/C = L/D = p L/S = p 5 p = (L/S)0. 2 If S= 1 000 and L= 1 024 000, then p=4
Fuzzy-logic method Remarks: • Historical data are required on a large number of projects. • Don’t change the existing ranges. Add new ranges when required. Tall Middle Short J. Nawrocki, PSP, Lecture 5 ?
Plan of the lecture • Delphi method • Fuzzy-logic method • Standard-component method • Function point method • Probe method J. Nawrocki, PSP, Lecture 5
Standard-component method Putnam’ 92 • We have a system decomposed into a set of standard components (screens, files, modules etc. ) • For each standard component we have historical data about its size J. Nawrocki, PSP, Lecture 5
Standard-component method You have to provide for each component type: S - the smallest number of components of that type; L - the largest number M - the most likely number Estimated number of components of a given type: (S+4*M+L) / 6 For each component type we know average LOC. J. Nawrocki, PSP, Lecture 5
Plan of the lecture • Delphi method • Fuzzy-logic method • Standard-component method • Function point method • Probe method J. Nawrocki, PSP, Lecture 5
Function point method Albrecht, IBM, 1979 Basic functions: • Inputs • Outputs • Inquiries • Internal data files • External interfaces J. Nawrocki, PSP, Lecture 5
Function point method Another application Designed application External interface file Internal data file J. Nawrocki, PSP, Lecture 5 Input Output Inquiry
Function point method Output Inquiry An output: a report, a screen, an error message. Individual data items within a report are not counted separately. An inquiry: an on-line input that results in an on-line output. An inquiry cannot modify any internal file. J. Nawrocki, PSP, Lecture 5
Function point method 2 26 3 3 3 48 2 1 0 10 2 1 0 24 0 1 0 7 115 Problem: simple, average or complex? J. Nawrocki, PSP, Lecture 5
Function point method FP = UT * CM FP - Function points UT - Unadjusted total (previous slide) CM - Complexity multiplier (0. 65. . 1. 35) CM = 0. 65 + 0. 01 * Influence_factors 14 influence factors, 0 - 5 points each J. Nawrocki, PSP, Lecture 5
Function point method Influence factor evaluation 0 - No influence 1 - Incidental 2 - Moderate 3 - Average 4 - Significant 5 - Essential J. Nawrocki, PSP, Lecture 5
Function point method Are data communications required? Are there distributed processing functions? Is performance critical? Will the system run in a heavily used operational environment? Does the system require on-line data entry? Is the internal processing complex? Is the code designed to be reusable? J. Nawrocki, PSP, Lecture 5
Function point method Are the inputs, outputs, files or inquiries complex? Does the on-line data entry require the input transaction to be built over multiple screens or operations? Are the master files updated on-line? Are conversion and installation included in the design? J. Nawrocki, PSP, Lecture 5
Function point method Does the system require reliable backup and recovery? Is the system designed for multiple installations in different organisations? Is the application designed to facilitate change and ease of use by the user? J. Nawrocki, PSP, Lecture 5
Function point method Language LOC/FP Assembly language 320 C 128 Cobol 105 Fortran 105 Pascal 90 Ada 70 o-o languages 30 spreadsheets 6 J. Nawrocki, PSP, Lecture 5
Function point method Modifications of the basic FP model: • Feature points (C. Jones, 1991) • Object points (R. Kauffman, R. Kumar, 1993) • 3 D function point (S. A. Whitmire, 1995) J. Nawrocki, PSP, Lecture 5
Plan of the lecture • • Delphi method Fuzzy-logic method Standard-component method Function point method • Probe method J. Nawrocki, PSP, Lecture 5
Probe method Humphrey, CMU, 1995 PROxy-Based Estimating Objects as proxies J. Nawrocki, PSP, Lecture 5
Planning a software project Requirements Conceptual design Size estimates Size database Resource estimates Productivity database The schedule Resources available The product Size, res. , sched. data J. Nawrocki, PSP, Lecture 5
Probe method 1. Prepare a conceptual design (objects and methods + their function) J. Nawrocki, PSP, Lecture 5
Probe method 2. For each method assign one of size ranges Very big Big Medium J. Nawrocki, PSP, Lecture 5 Small Very small
Probe method 3. Knowing: • programming language • object category • size ranges • the number of methods estimate, using historical data, size of each object. J. Nawrocki, PSP, Lecture 5
Probe method 2+3=5 4. Determine initial program estimated size, X, adding the values received in the previous step. J. Nawrocki, PSP, Lecture 5
Probe method 5 means 10 5. Apply linear regression to get estimated program size Y: Y = 1 X + 0 J. Nawrocki, PSP, Lecture 5
Probe method 1 = xi yi - n xavg yavg xi 2 - n xavg 2 0 = yavg - 1 xavg J. Nawrocki, PSP, Lecture 5
Probe method For 100% the interval is [0; + ] J. Nawrocki, PSP, Lecture 5 6. Using the t distribution and standard deviation compute the prediction interval for a given percentage.
Probe method 6 a. Calculate the standard deviation, , of the regression function. 6 b. To find the two-sided value of t for the probability q, look in a table of the t distribution under p( )= (1+q)/2 and n-2 degree of freedom. J. Nawrocki, PSP, Lecture 5
The t distribution J. Nawrocki, PSP, Lecture 5
Probe method 6 c. Compute the range as follows: Range = t J. Nawrocki, PSP, Lecture 5 (xk - xavg)2 1 + n (xi - xavg)2
Summary After requirements analysis: • Function points After high level design: • Wideband-Delphi method • Fuzzy-logic method • Standard-component method After low level design: • Probe method J. Nawrocki, PSP, Lecture 5
Further readings Function Point Counting Practices Manual Release 4. 0, IFPUG, http: //www. ifpug. org. How Are Function Points Useful, Longstreet Consulting, http: //www. Software. Metrics. com/manyuser. htm. R. Pressman, Software Engineering - A Practitioner Approach, Mc. Graw-Hill, New York, 1997 (4 th edition), Ch. 4. 3 W. Humphrey, A Discipline for Software Engineering, Addison-Wesley, Reading, 1995 J. Nawrocki, PSP, Lecture 5
Quality assessment 1. What is your general impression ? (1 - 6) 2. Was it too slow or too fast ? 3. Did you learn something important to you ? 4. What to improve and how ? J. Nawrocki, PSP, Lecture 5
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Ssrmove
- Metrics for project size estimation
- Process based estimation
- Process based estimation example
- Personal process software
- Introduction to the personal software process
- Personal software process
- Personal software process
- Char char slide
- Size separation objectives
- Software estimation demystifying the black art
- Project cost management lecture notes
- Software effort estimation in spm
- Software estimation demystifying the black art
- Cost of software engineering
- Project planning in software engineering
- Software engineering lecture notes
- Software project management lecture notes
- Lecture presentation software
- Oraciones infinitivo gerundio y participio
- Higiene personal adivinanzas de higiene
- Alam mo ba ang direksyon ng tinatahak mo sa buhay
- Growth refers to
- 7 steps of selling
- Personal selling process in sales management
- Personal safety vs process safety
- Personal sales process
- Jennifer dixon accident
- Dataloy voyage management system
- Principle of blood glucose estimation
- Quantity of sanitary sewage
- Multiplication course steve wyborney
- What is a point estimate in statistics
- Post estimation test
- Staffing level estimation
- Front end estimation with decimals
- Remainder estimation theorem
- Quantitative estimation of protein by lowry method
- Quantitative estimation of glucose by which method
- Objectives of cost estimation
- Bayesian parameter estimation in pattern recognition
- Maximum a posteriori estimation for multivariate gaussian
- Demand estimation and demand forecasting
- Mle of variance
- Sahlis method
- Total body volume formula