CS 350, slide set 2ReadingPlanningWeekly Activity SummaryExample: time logSlide 6Example (cont.)Assignment:Product PlanningJob number logJob Number ExamplePartial example: programming data onlyQuick Survey ResultsCommentsUnits for readingPlot of reading timesPlot of programming time, C++ ObjectsUnits for programmingWhat’s an LOC?Basic metricsEstimating BackgroundSize Estimating Principles - 1Planning Forms, assignment 1Defect Record Log (pg 47) - 1Defects - 2Time Recording LogTest PlanProject Plan SummarySize Estimating Principles - 2Slide 30ReminderSize Estimating Principles - 3Estimating ApproachesDelphi Size EstimatingDelphi Example - 1Delphi Example - 2Delphi Size Estimating - 2Fuzzy Logic Size Estimating - PreparationFuzzy Logic - stepsA Fuzzy Logic Example - 1A Fuzzy Logic Example - 2A Fuzzy Logic Example - 3A Fuzzy Logic Example - 4A Fuzzy Logic Example - 5One more thingTo estimate size of new projectFuzzy Logic Size Estimating - AdvantagesFuzzy Logic Size Estimating - DisadvantagesFuzzy Logic Sizes for C++, LOC per methodAnother widely used time estimation methodSo back to units for programsWhat did I not tell you?Things to Remember about Size & Time EstimatesCS 350, slide set 2M. OverstreetOld Dominion UniversitySpring 2005ReadingPSP text, ch. 4, 5, 6PlanningPeriod plansHow shall I spend my time?Schedule orientedProduct plansWhat are we going to do over the next several weeks?Activity orientedFor any project, these 2 plans are coupledWeekly Activity SummaryFirst step in period planning:Understand how you spend time currentlyStart with Time Recording LogTransfer to Weekly Activity SummaryExample: time logdate start stop int. timedelta activity commentsC U1/26 2:00 p 4:25 p 15,5 125 Read T Read chap 4, 5 x 21/27 5:45 p 7:05 p 80 Class Lect, chap. 4, 5 x 11/28 8:45 p 10:20 p 3,3,4 95 Read S Read Prog 1 req.1/28 10:00 p 10:30 p 30 Prog Prog 1 design1/28 10:30 p 11:05 p 35 Read T Read chap. 6 x 11/30 5:30 p 6:35 p 5 55 Prog Code prog. 11/30 8:45 p 9:20 p 3 30 Prog Test data for p.11/30 9:30 p 9:50 p 20 Prog Code prog. 11/30 9:50 p 10:25 p 35 Prog Comp & test p. 1 x 11/29 5:45 p 7:00 p 75 Class Lect. ch 5 & 6 x 11/31 4:00 p 4:45 p 45 Read T Read chap. 7 x 1Task Date Class Write ProgQuiz PrepRead TextStudySpecTotalSun 1/26 125 125Mon 80 80Tu 30 35 95 160Wed 75 75Th 140 140FriSat 45 45Totals 155 170 205 95 635Example Weekly ActivitySummaryComments: 1. numbers made up 2. recall rule-of-thumb: spend 2 hrs out of class for each hr in classExample (cont.)Total 150 0 25 145 0 420Avg. 150 0 25 145 0 420Max. 150 0 25 145 0 420Min. 150 0 25 145 0 420Previous Week’s TimeTotal 305 170 25 360 95 1055Avg. 152 170 25 175 95 522Max. 155 170 25 205 95 635Min. 150 170 25 145 95 420Task Class Wrt P Quiz Read T Read S Total Current Week’s TimesSemester total, avg,max & min!Ignore 0’s!Assume wehave onlyone weekAssignment:Pg. 43.Due next Wed., Jan. 26.Must mail to [email protected] PlanningSome definitionsProduct: something you produce, usually for someone elseProject: produces a productTask: an element of workProcess: the steps to produce a productPlans: the way a specific project is to be done; how, when, who, at what costsJob: something you do; either a project or a taskJob number logUsed to record estimated and actual timesUsed for product planningGoal: to have personal data on how long certain types of activities takeMust be based on sizeMaybe lots of other factors, but we start with sizeUsed as key input for future time estimatesJob Number ExampleSee detailed example, pg. 50 based on time log, pg. 51Detailed instructions, pg. 52See detailed term def’ns, pg. 53Partial example:programming data onlyJob Date Estimated Actual To date # Time Units Time Units Rate Time Units Rate Max Min1 2/9 120 60 168 87 0.52 168 87 0.52 0.52 0.52 Description: write program 1 (minutes per program)... (other activities types, so omitted on slide)3 2/15 205 148 245 133 0.54 413 220 0.53 0.53 0.52Description: write prog. 2...6 2/24 150 87 145 59 0.40 558 279 0.50 0.53 0.40 Description: write program 310 3/6 175 95 230 104 0.45 ___ __ ___ ___ ___ Description: write prog. 4Quick Survey ResultsWhat’s best prog. language?a. C++ 24b. Java 1c. Perld. Visual Basic 2e. Other 1You prefer to use:a. C++ 24b. Java 1c. Other 3Your largest program:a. < 500 loc 1b. > 500 & < 1 kloc 10c. > 1 & < 10 kloc 11d. > 10 & < 100 kloc 5e. > 100 kloc 1What’s a kloc?a. comments inc.? 5b. declarations? 4c. only exec. stmts? 14d. number of CRs? 5Mail to [email protected]After a while, you will have data onprogrammingavg, min, max(really need better units than “program”)Time to read a text chapterbetter units are probably pages rather than chaptersAnd other activitiesThis can help with time estimates for future similar tasksUnits for readingTable 6.1 has student data on minutes/page.Note varianceminutes/page varies from 3.3 to 7.4 for this studentStill, can be helpful to distinguish between time to read large chapter and time to read small.Plot of reading timesPlot of programming time, C++ ObjectsUnits for programmingLOC looks like a good predictor of timeIt is. Not perfect, but lots of studies show a strong correlation between LOC and development timeThe problem is we only know LOC when we’re done. We’re looking for something to predict the time required for a task.So don’t know LOC when we need themA solution is discussed laterWhat’s an LOC?Depends on formattingSee text for examplesDepends on what you countComments?Only executable lines?Compiler directives?Basic metricsFor our purposes LOC:As long as you are consistent, it will workFor CS 350, use "grep ";" *.h *.cpp | wc –l"Why? it's easy and good enough. then we all do it the same way.Basic productivity measure is LOC/hrUsually misleading to compare your numbers and my numbersCount loc differentlyLikely depends on problem domainDepends on what’s
View Full Document