Скачать презентацию Personal Software Process Lecture 6 Software Size Estimation Скачать презентацию Personal Software Process Lecture 6 Software Size Estimation

093248552bc23905a0f15f30b960e50d.ppt

  • Количество слайдов: 34

Personal Software Process Lecture 6 Software Size Estimation II Jerzy. Nawrocki@put. poznan. pl www. Personal Software Process Lecture 6 Software Size Estimation II Jerzy. Nawrocki@put. poznan. pl www. cs. put. poznan. pl/~nawrocki/mse/psp J. Nawrocki, PSP, Lecture 5 Copyright, 1999 © Jerzy R. Nawrocki

Introduction Cyclic dev. Design templates Code & design reviews Task & schedule planning Size Introduction Cyclic dev. Design templates Code & design reviews Task & schedule planning Size estimating + Test report Coding strd+Size measuremnt+PIP Time & defect recording J. Nawrocki, PSP, Lecture 5 Cyclic Quality Planning Baseline

Plan of the lecture • Introduction • From the previous lecture • Probe method Plan of the lecture • Introduction • From the previous lecture • Probe method J. Nawrocki, PSP, Lecture 5

From the previous lecture. . . What to estimate software size for? • To From the previous lecture. . . What to estimate software size for? • To make plans. • To estimate the effort. • To create a reliable schedule. J. Nawrocki, PSP, Lecture 5

From the previous lecture. . . • • J. Nawrocki, PSP, Lecture 5 Delphi From the previous lecture. . . • • J. Nawrocki, PSP, Lecture 5 Delphi method Function point method Fuzzy-logic method Standard-component method

From the previous lecture. . . Wideband-Delphi method Estimator: Jerzy Nawrocki Date: 22. 06. From the previous lecture. . . Wideband-Delphi method Estimator: Jerzy Nawrocki Date: 22. 06. 1999 Project: Sorting routine The estimates from the 1 st round: e 0 The estimate moderator 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

From the previous lecture. . . Function point method 2 26 3 3 3 From the previous lecture. . . Function point method 2 26 3 3 3 48 2 1 0 10 2 1 0 24 0 1 0 7 115 FP = UT * Complexity_multiplier J. Nawrocki, PSP, Lecture 5

From the previous lecture. . . Function point method Language LOC/FP Assembly language 320 From the previous lecture. . . 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

From the previous lecture. . . Fuzzy-logic method V. small: S - A Small: From the previous lecture. . . Fuzzy-logic method V. small: S - A Small: A - B Medium: B - C Large: C - D V. Large: D - L Tall Middle Short J. Nawrocki, PSP, Lecture 5 Geometrical progression: A/S = B/A =. . . = L/D = p

From the previous lecture. . . Standard-component method For each standard component type (screen, From the previous lecture. . . Standard-component method For each standard component type (screen, module, file etc. ) we have historical data about its size aver_size(type) * (S+4*M+L) / 6 type A guess Historical data J. Nawrocki, PSP, Lecture 5

Plan of the lecture • Introduction • From the previous lecture • Probe method Plan of the lecture • Introduction • From the previous lecture • Probe method J. Nawrocki, PSP, Lecture 5

Probe method Humphrey, CMU, 1995 PROxy-Based Estimating Objects as proxies Probe method J. Nawrocki, Probe method Humphrey, CMU, 1995 PROxy-Based Estimating Objects as proxies Probe method J. Nawrocki, PSP, Lecture 5 Standard component method Fuzzy logic method

Planning a software project Requirements Conceptual design Size estimates Size database Resource estimates Productivity 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 Conceptual design Identify objects Number of Object Relative Reuse methods type size Probe method Conceptual design Identify objects Number of Object Relative Reuse methods type size categories Calculate projected and modified LOC Estimate program size Calculate prediction interval J. Nawrocki, PSP, Lecture 5

Probe method 1. Prepare a conceptual design (objects and methods + their function) J. Probe method 1. Prepare a conceptual design (objects and methods + their function) J. Nawrocki, PSP, Lecture 5

Probe method 2. For each object assign its type. • Logic • I/O • Probe method 2. For each object assign its type. • Logic • I/O • Text Very big Big Medium J. Nawrocki, PSP, Lecture 5 • Calculation • Data • Set-up Small Very small

Probe method 3. For each object assign one of size ranges. Very big Big Probe method 3. For each object assign one of size ranges. Very big Big Medium J. Nawrocki, PSP, Lecture 5 Small Very small

Probe method 4. Knowing: • programming language • object type • size ranges • Probe method 4. Knowing: • programming language • object type • size ranges • the number of methods estimate, using historical data, size of each object. J. Nawrocki, PSP, Lecture 5

Probe method 2+3=5 5. Determine initial program estimated size, X, adding the values received Probe method 2+3=5 5. Determine initial program estimated size, X, adding the values received in the previous step. J. Nawrocki, PSP, Lecture 5

Probe method 5 means 10 6. Apply linear regression to get estimated program size Probe method 5 means 10 6. 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 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 Probe method For 100% the interval is [0; + ] J. Nawrocki, PSP, Lecture 5 7. Using the t distribution and standard deviation compute the prediction interval for a given percentage.

Probe method 7 a. Calculate the standard deviation, , of your historical data around Probe method 7 a. Calculate the standard deviation, , of your historical data around the regression line. 2 = 1 n n-2 (yi - 0 - 1 xi)2 i=1 J. Nawrocki, PSP, Lecture 5

Probe method 7 b. To find the two-sided value of t for the probability Probe method 7 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 The t distribution J. Nawrocki, PSP, Lecture 5

Probe method 7 c. Compute the range as follows: Initial estimate obtained in Step Probe method 7 c. Compute the range as follows: Initial estimate obtained in Step 5 Range = t J. Nawrocki, PSP, Lecture 5 (X - xavg)2 1 + n (xi - xavg)2

Example Program to be modified Base program Linear Linked system Matrix list J. Nawrocki, Example Program to be modified Base program Linear Linked system Matrix list J. Nawrocki, PSP, Lecture 5 Data entry

Example Program to be modified Base program Linear Linked system list 1 Matrix 2 Example Program to be modified Base program Linear Linked system list 1 Matrix 2 J. Nawrocki, PSP, Lecture 5 Data entry

Example Assignment of numbers to fuzzy values J. Nawrocki, PSP, Lecture 5 Example Assignment of numbers to fuzzy values J. Nawrocki, PSP, Lecture 5

Example Base program LOC modified (M). . . 5 New objects Type Methods Size Example Base program LOC modified (M). . . 5 New objects Type Methods Size Total LOC Matrix Data 13 Medium 115 Linear sys. Calc. 8 Large 197 Linked list 1 Data 3 Large 49 Total new & modified (X). . . . . 366 0. . . . . 62 1. . . . . 1. 3 Estimated new & modified (Y). . . 538 J. Nawrocki, PSP, Lecture 5

Example Estimated new & modified (Y). . . Prediction percent. . . p = Example Estimated new & modified (Y). . . Prediction percent. . . p = (1 + percent)/2. . . Number of programs in historical DB (n). . Std deviation from regression line. . . . Degrees of freedom (n-2). . . . t (8, 0. 9). . . . (1 + 1/10 +. . ). . . Prediction range. . . Upper interval (Y + range). . . . Lower interval (Y - range). . . . J. Nawrocki, PSP, Lecture 5 538 80% 0. 9 10 198 8 1. 4 1. 05 290 828 248

Summary The Probe method was inspired by: • Fuzzy logic method • Standard component Summary The Probe method was inspired by: • Fuzzy logic method • Standard component method. Historical data are needed. Programmer can obtain not only the estimate but also the prediction interval. J. Nawrocki, PSP, Lecture 5

Further readings W. Humphrey, A Discipline for Software Engineering, Addison. Wesley, Reading, 1995, Chapter Further readings W. Humphrey, A Discipline for Software Engineering, Addison. Wesley, Reading, 1995, Chapter 5. J. Nawrocki, PSP, Lecture 5

Quality assessment 1. What is your general impression ? (1 - 6) 2. Was 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