CS 350: Introduction to Software EngineeringLecture TopicsThe Prediction IntervalThe Range CalculationThe Standard Deviation CalculationCalculate the Prediction IntervalIntuitive Size Ranges -1Intuitive Size Ranges -2Intuitive Size Ranges -3The Distribution of Program Size DataA Log-Normal DistributionThe Log-Normal DistributionOrganizing Proxy Data -4Estimating with Limited Data -1Estimating with Limited Data -2Method A (Regression): Estimated Proxy SizeMethod B (Regression): Plan Added and Modified SizeMethod C: AveragingMethod D: Engineering JudgmentEstimating AccuracyCombining EstimatesEstimating Error: ExampleCombining Individual ErrorsClass Exercise -1Class Exercise -2Class Exercise -3Class Exercise -4Using Multiple ProxiesEstimating ConsiderationsCorrelation with an Extreme PointConclusions on Misleading DataMessages to RememberLecture TopicsUsing Data in PlanningUsing Personal Data -1Using Personal Data -2Making Task Plans -1Making Task Plans -2Making Task Plans -3SchedulingThe Importance of Period PlansSchedule EstimatingAvailable Direct HoursTask OrderProduce the ScheduleAnnouncement!The Task Planning TemplateSchedule Planning TemplateCompleting the PlanSchedule Planning Example -1Schedule Planning Example -2Schedule Planning Example -3Project Tracking -1Project Tracking -2Earned ValueEstablish the Planned ValueEarned Value Example -1Earned Value Example -2Tracking the PlanTracking the Plan Example -1Tracking the Plan Example -2Estimating Job CompletionEstimating Completion Example -1Estimating Completion Example -2Plan Changes -1Plan Changes -2Project ReportingExample TSP Weekly Data -1Question 1Answer to Question 1Question 2Answer to Question 2Question 3Answer to Question 3Question 4Answer to Question 4Example ConclusionsSlide 78CS 350: Introduction toSoftware EngineeringSlide Set 4Estimating with Probe IIC. M. OverstreetOld Dominion UniversitySpring 2006Fall 2005 CS 350/ODULecture Topics The prediction interval Organizing proxy data Estimating with limited data Estimating accuracy Estimating considerationsFall 2005 CS 350/ODUThe Prediction IntervalThe prediction interval provides a likely range around the estimate.A 70% prediction interval gives the range within which the actual size will likely fall 70% of the time.The prediction interval is not a forecast, only an expectation.It applies only if the estimate behaves like the historical data.It is calculated from the same data used to calculate the regression parameters.Fall 2005 CS 350/ODUThe Range Calculation The range defines the likely error around the projection within which the actual value is likely to fall. Widely scattered data will have a wider range than closely bunched data. The variables aren - number of data points - the standard deviation around the regression linet(p, df) – the t distribution value for probability p (70%) and df (n-2) (degrees of freedom)x – the data: k – the estimate, i – a data point, and avg – average of the data Range = t p,n 11nxk xavg 2xi xavg 2i1nFall 2005 CS 350/ODUThe Standard Deviation Calculation The standard deviation measures the variability of the data around the regression linethe closer the actual values are to the estimates (the regression line) the lower the variance Widely scattered data will have a higher standard deviation than closely bunched data.The standard deviation is the square root of the variance.Variance = 2= 1n 2yi01xi 2i1nFall 2005 CS 350/ODUCalculate the Prediction IntervalCalculate the prediction range for size and time for the example in lecture 3 (slides 42 and 43).Calculate the upper (UPI) and lower (LPI) prediction intervals for size.UPI = P + Range = 538 + 235 = 773 LOCLPI = P - Range (or 0) = 538 - 235 = 303 LOCCalculate the UPI and LPI prediction intervals for time.UPI = Time + Range = 1186 +431 = 1617 min.LPI = Time - Range (or 0) = 1186 - 431 = 755 min.Fall 2005 CS 350/ODUIntuitive Size Ranges -1 In judging size, our intuition is generally based on a normal distribution. That is, we think of something as of average size if most such items are about that same size. We consider something to be very large if it is larger than almost all items in its category. When items are distributed this way, it is called a normal distribution. With normally distributed data, the ranges should remain reasonably stable with the addition of new data points.Fall 2005 CS 350/ODUIntuitive Size Ranges -2 A normal distributionFall 2005 CS 350/ODUIntuitive Size Ranges -3 With a large volume of data, you could calculate the mean and standard deviation of that data. For the size rangesMedium would be the mean value.Large would be mean plus one standard deviation.Small would be mean minus one standard deviation.Very large would be mean plus two standard deviations.Very small would be mean minus two standard deviations. This method would provide suitably intuitive size ranges if the data were normally distributed.Fall 2005 CS 350/ODUThe Distribution of Program Size DataProgram size data are not normally distributed.many small valuesa few large valuesno negative valuesWith size data, the mean minus one or two standard deviations often gives negative size values.The common strategy for dealing with such distributions is to treat it as a log-normal distribution.Fall 2005 CS 350/ODUA Log-Normal DistributionFall 2005 CS 350/ODUThe Log-Normal Distribution To normalize size data, do the following:1. Take the natural logarithm of the data.2. Determine the mean and standard deviation of the log data.3. Calculate the average, large, very large, small, and very small values for the log data.4. Take the inverse log of the ranges to obtain the range size values.5. This procedure will generally produce useful size ranges.Fall 2005 CS 350/ODUOrganizing Proxy Data -4A mathematically precise way to determine the proxy size ranges is described in the text (pages 78-79).This simple way to determine these size ranges will work when you have lots of data. Otherwise, it can cause underestimates.Comparative estimating rangesFall 2005 CS 350/ODUEstimating with Limited Data -1 Even after using PSP for many projects, you will have to make estimates with limited data when youwork in a new environmentuse
View Full Document