Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315 v3.0.

Similar presentations


Presentation on theme: "CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315 v3.0."— Presentation transcript:

1 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315 v3.0 M12 Slide 1 January 7, 2004 SMU CSE 7315 / NTU SE 584-N Planning and Managing a Software Project Module 12 Size Estimating Methods Part 1 - Analogy and Expert Methods

2 CSE7315 v3.0 M12 Slide # 2 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Objective of This Module To discuss several basic size estimating methods based on analogy or expertise

3 CSE7315 v3.0 M12 Slide # 3 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Detailed Planning - Processes Estimate Schedule Evaluate Source Information Statement of Work Requirements Constraints Standards Processes History etc. WBSSize Effort & Cost ScheduleOK Complete Detailed Planning Revise & Negotiate Not OK Estimate Size Estimate Effort and Cost

4 CSE7315 v3.0 M12 Slide # 4 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Architecture of Spreadsheet for assignments 3 and 4 Cocomo Based Effort Estimate Other Effort Estimates... Analogy based Size Estimate Software Reuse Analysis Size / Reuse EffortEffort & Cost Schedules Final Effort Estimate Productivity Based Effort Estimate Generic Schedule Effort Schedule Labor Schedule Cost Schedule Other Size Estimates... Final Size Estimate Expert Based Size Estimate

5 CSE7315 v3.0 M12 Slide # 5 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Size Estimating Method #1: Compare with Existing Code If you have existing software that is similar to the code being developed, you have a good way to estimate the size of the new code This is a bottom-up, analogy method

6 CSE7315 v3.0 M12 Slide # 6 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Compare With Past Experience Knowledge or experience on a similar system can be a good starting point

7 CSE7315 v3.0 M12 Slide # 7 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved If the New Code Is Not Identical... Indicate your level of confidence in the estimate, or Compute three different numbers – Minimum – Likely – Maximum These techniques help you understand the level of risk in the estimate

8 CSE7315 v3.0 M12 Slide # 8 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Example

9 CSE7315 v3.0 M12 Slide # 9 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Guideline for Min and Max Guideline: the chances of the actual size being less than the minimum or greater than the maximum should be very low -- less than 1 chance in 300 (we will see why later)

10 CSE7315 v3.0 M12 Slide # 10 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved You Might Also Add a Column to Document the Size of the Code in Memory... Estimated SizeRequired...MinLikelyMaxMemoryComment...23452345234510000Identical...16002000250015000Slightly more advanced...25003000330020000Simpler...40005000600035000Convert C to Ada etc.etc.etc.etc.etc.etc.

11 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315 v3.0 M12 Slide 11 January 7, 2004 See Appendix A For Issues Related to Accurate Estimation of Memory Size

12 CSE7315 v3.0 M12 Slide # 12 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Sources of Inaccuracies with Method 1 L -- Different Programming Languages C -- Different Levels of Complexity F -- Different Functionality D -- Different Application Domain A -- Different Algorithms R -- Different Level of Reality – Simulation vs. Actual Application; Simulation vs. Emulation

13 CSE7315 v3.0 M12 Slide # 13 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved One View of the Risks Involved RiskSameDifferentNote LowestL, A, D, R, C, F NothingReuse of Old SW...A, D, R, C, FLanguageReuse of Old Design...A, D, C, FL, ROld was Simulated...L, D, R, C, FAlgorithmsCan have big impact...D, R, C, FA, LMultiple changes...D, C, FA, L, R“ Highest D, FA, L, R, C “ I.e., changing language is the least risky; changing algorithms or functions is more risky; changing more than one of these is even more risky

14 CSE7315 v3.0 M12 Slide # 14 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Programming Language Size Comparison Given the same program written in different languages, how does it compare in source lines of code (NOT size of object code)? There are many studies of this with different results, thus all such data must be taken as only a general guide

15 CSE7315 v3.0 M12 Slide # 15 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Programming Language Size Comparison (continued) Ideally, you should develop your own data based on your own type of application Data on next slide come from: Jones, T. Capers, Programming Productivity, McGraw Hill, 1986.

16 CSE7315 v3.0 M12 Slide # 16 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Language vs. Size From\ToBasicAdaPascalCobolFortranJovialC Assemb Basic1.01.11 1.441.671.671.672.05.0 Ada0.91.0 1.31.51.51.51.84.5 Pascal0.690.77 1.01.151.151.151.383.5 Cobol0.60.67 0.871.01.01.01.23.0 Fortran0.60.67 0.871.01.01.01.23.0 Jovial0.60.67 0.871.01.01.01.23.0 C0.50.55 0.720.830.830.831.02.5 Assemb0.20.22 0.290.330.330.330.41.0 I.e., 1 line of Basic takes 5 lines of assembly language, etc.

17 CSE7315 v3.0 M12 Slide # 17 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Factors that Cause the Previous Numbers to Vary Quality of compiler (compactness of code produced) Style and quality of source code Use of language-specific features that may not be present in other languages

18 CSE7315 v3.0 M12 Slide # 18 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Factors that Cause the Previous Numbers to Vary (continued) Experience of programmer with language Subroutine libraries available The nature of the application Others? (Class Discussion)

19 CSE7315 v3.0 M12 Slide # 19 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Quiz If a 100 line Ada program translates to 500 lines of assembly Then a 500 line assembly program should translate into 100 lines of Ada Right? or Wrong? DISCUSSION

20 CSE7315 v3.0 M12 Slide # 20 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Warning Lines of assembly are not equivalent to bytes or words of target machine memory Some assembly lines generate more target space than others But ratio of source lines to target space is more reliable in assembly language than it is in high level languages

21 CSE7315 v3.0 M12 Slide # 21 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Which Lines of Code do you Count? Jones’ translation table counts only source statements and data declarations Most cost estimating tools use this approach as well Comments should translate 1-1, if you count them

22 CSE7315 v3.0 M12 Slide # 22 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved So Isn’t There Something Better than Lines of Code? You can argue about this all day We will show examples of alternatives - function points, feature points, and object points The most important thing is not what you measure, but how consistently you measure it and how well it represents your type of application

23 CSE7315 v3.0 M12 Slide # 23 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved So Isn’t There Something Better than Lines of Code? (continued) Much of the debate over “better” methods than lines of code has to do with how well a specific method happens to fit a given collection of data Consider: how do you measure the size of a house?

24 CSE7315 v3.0 M12 Slide # 24 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved An Example from a Study in England Software was rewritten from Cobol to C++ Design technique was changed from “none” to “object oriented” The size went down by 30% when measured by lines of code - because they designed it better

25 CSE7315 v3.0 M12 Slide # 25 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved An Example from a Study in England (continued) But the functionality and quality went up The cost per line of code was 10% higher! An apparent loss in productivity - but not really -- it was actually about a 20% improvement!

26 CSE7315 v3.0 M12 Slide # 26 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Don Riefer’s Suggestion The most important thing to do is to develop a “line of code counter” program and use it consistently to measure the size of all software that you develop It does not matter nearly as much how you count lines of code (but it may take you longer to agree than it will to write the program)

27 CSE7315 v3.0 M12 Slide # 27 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Method #2 - Wideband Delphi Method This is a disciplined method of using the experience of several people to reach an estimate that incorporates all of their knowledge This method can also be used to estimate cost directly (see Humphrey - Textbook) This is an expert judgment method

28 CSE7315 v3.0 M12 Slide # 28 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Big Picture of Wideband Delphi Steps 1-2 - Meeting 1 – Inform the Experts Step 3-4 – Experts form Independent Opinions Steps 5-11 - Meeting 2 – Experts Meet and Compare Estimates – Experts Seek Consensus Step 12 – Consolidate the Data

29 CSE7315 v3.0 M12 Slide # 29 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 1 1) Get a few experts (typically three to five) – Include experience in all of the “risk” areas e.g. application domain, programming language, algorithms, target hardware, operating system, etc.

30 CSE7315 v3.0 M12 Slide # 30 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 1 (continued) 2) Discuss issues and describe the software to the experts – Specifications, source documents, WBS, etc. – Let them add their own info, questions, etc. – All take notes

31 CSE7315 v3.0 M12 Slide # 31 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Between Meetings 3) Each expert develops an estimate – Independent and anonymous 4) Record estimates anonymously – Usually done by a facilitator x xx x x

32 CSE7315 v3.0 M12 Slide # 32 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 5) Meet and have each expert discuss his/her estimate – Assumptions – Rationale x xx x x

33 CSE7315 v3.0 M12 Slide # 33 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 (continued) 6) Seek consensus on assumptions, etc. – May result in action items to gather factual data 7) Each expert updates his or her estimate based on the new information 8) Record the new estimates x x x x x

34 CSE7315 v3.0 M12 Slide # 34 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 (continued) 9) Discuss again – Typically, new questions will come up – But this round is typically much shorter 10) Repeat from step 7 until you reach a consensus x x x x x

35 CSE7315 v3.0 M12 Slide # 35 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 (continued) 11) If no consensus, break until you can gather additional data, then repeat from step 7

36 CSE7315 v3.0 M12 Slide # 36 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method (Concluded) Stop repeating when either: a) The experts agree on an estimate, OR b) There is no significant change in the estimate over two consecutive cycles and no significant additional data are available At the end, you have a consensus estimate on the expected value. You should also agree on the degree of confidence (i.e., the risk) in the estimate.

37 CSE7315 v3.0 M12 Slide # 37 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Wideband Delphi Method Consolidation Step 12) Gather all of the detailed estimates and resolve remaining issues – Major discrepancies between experts’ views on individual components – Unknowns that can be resolved by gathering data – Assumptions that can be verified

38 CSE7315 v3.0 M12 Slide # 38 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Advantages of Wideband Delphi Method Takes advantage of the expertise of several people All participants become better educated about the software Buy-in to final estimate Does not require historical data (although it can be useful input if it is available)

39 CSE7315 v3.0 M12 Slide # 39 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Drawbacks of Wideband Delphi Method You can reach consensus on an incorrect estimate – Because you all “buy in”, you may not be skeptical enough when actual data shows the estimate is wrong You can develop a false sense of confidence You may fail to reach a consensus

40 CSE7315 v3.0 M12 Slide # 40 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Method #3: Prototyping Build a prototype of the software, including certain important functions – especially those whose size is unknown Use the prototype to answer questions raised by other estimating methods Then revisit previous estimates with the new information

41 CSE7315 v3.0 M12 Slide # 41 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Method #4: Statistical Method (1) This is really a method of evaluating the results of other methods to determine the level of uncertainty and risk (1) Boehm, Barry, Software Engineering Economics, Prentice- Hall. Also in Software Cost Estimation with Cocomo II. Note: every software organization should have at least one copy of one of these books.

42 CSE7315 v3.0 M12 Slide # 42 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Statistical Method Formula This method is designed to tell you something about the most probable or “expected” size, given the minimum, likely, and maximum values developed by earlier methods For each component, the expected size is: Expected = min + 4*likely + max 6

43 CSE7315 v3.0 M12 Slide # 43 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Notes on the Statistical Method The method is only valid from a statistical viewpoint if the min and max values cover 3 standard deviation limits This means that the probability of the actual size being inside these limits is 99.7% or 99.7 times out of 100 (i.e., 299 times out of 300)

44 CSE7315 v3.0 M12 Slide # 44 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Notes on the Statistical Method (continued) The “3 standard deviations” assumption must be taken into consideration when people estimate min and max “Are you reasonably confident that the chances of being below min or above max are less than 1 in 300?”

45 CSE7315 v3.0 M12 Slide # 45 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Calculations Standard Deviation for component i is: max i - min i  i = ---------------- 6 Standard Deviation for whole product is: ______  = \ / E  i 2 The above formulas assume min and max represent 3 sigma limits (1 chance in 300)

46 CSE7315 v3.0 M12 Slide # 46 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Normal Distribution Curve Value of Product Characteristic Number of Products with This Value 68.26% of the time, results are within 1 sigma of the mean 95.44% of the time, results are within 2 sigma of the mean 99.7% of the time, results are within 3 sigma of the mean + 1  - 1  + 2  Likely (mean) Max Min

47 CSE7315 v3.0 M12 Slide # 47 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Example of the Statistical Method ComponentMinimumLikelyMaximumExpected  File System400080001200080001333 User I/F400070001300075001500 I/O Package60001000020000110002333 Parser80001200019000125001833 TOTAL22000370006400039000 # 3354 # 68.3% chance the result will be between 35000 and 42000 (1 sigma) 95.4% chance the result will be between 31000 and 46000 (2 sigma) 99.7% chance the result will be between 22000 and 64000 (3 sigma) # --  may be 7000 -- see next several slides

48 CSE7315 v3.0 M12 Slide # 48 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Two Ways to Compute the Expected Value of the Total and  First way: use statistical formula on the total line Expected E = E min + 4* E likely + E max 6

49 CSE7315 v3.0 M12 Slide # 49 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Notes on First Way Statistically, this is the expected value for the whole system, assuming the components are independent of each other. And the Standard Deviation (  ) applies to the whole system, assuming components tend independently toward their individual expected values.

50 CSE7315 v3.0 M12 Slide # 50 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Second Way Use the sum of the individual expected values  Expected E = E Expected i E max i - E min i  = ---------------------- 6

51 CSE7315 v3.0 M12 Slide # 51 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Notes on Second Way In this case the values represent the best and worst cases of the individual components and the standard deviation assumes best & worst cases

52 CSE7315 v3.0 M12 Slide # 52 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Warning --- Assumptions The statistical method has statistical validity only if the estimates are reliable and min/max meet the conditions described before (1 chance in 300) The method also assumes each component is independent

53 CSE7315 v3.0 M12 Slide # 53 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Warning --- Assumptions (continued) Thus in many cases the statistical validity may be questionable But the standard deviation still gives a measure of the risk inherent in the size estimate

54 CSE7315 v3.0 M12 Slide # 54 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Module Summary Size estimates help you estimate effort and memory size They can also be helpful for tracking (this will be shown in later modules) Most estimating methods benefit from past experience or history data Units of size must be chosen based on availability of data in those units

55 CSE7315 v3.0 M12 Slide # 55 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved END OF MODULE 12

56 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315 v3.0 M12 Slide 56 January 7, 2004 Appendix A Issues Related to Accurate Estimation of Memory Size (object code size)

57 CSE7315 v3.0 M12 Slide # 57 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Issues for Estimating Memory Requirements (Size of Object Code, etc.) Source language – The higher the level, the more memory required per “line of code” Compiler – Compilers can be optimized for speed or space – Some compilers are not very good; others are very good

58 CSE7315 v3.0 M12 Slide # 58 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Issues for Estimating Memory Requirements (continued) Target machine – RISC architectures require more memory than others Run-time libraries and environments – These can vary greatly with the language and the way the program is designed Operating system

59 CSE7315 v3.0 M12 Slide # 59 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Translation Process Operating System Object Code Compiler C or Ada Source Code Object Code Assembler Assembly Source Code Run Time Library Memory

60 CSE7315 v3.0 M12 Slide # 60 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Best Way to Determine Object Code Size Compiler or Assembler Target Computer and Operating System Representative Software Modules Representative Object Code b bytes of memory m lines of code b/m = bytes per line of code

61 CSE7315 v3.0 M12 Slide # 61 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Best Way to Determine Object Code Size - Part 1 Determine the compiler and target system Develop some representative software modules for different functions Compile using the planned compiler for the planned target system

62 CSE7315 v3.0 M12 Slide # 62 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Part 1 - Notes Note how important it is to know what the compiler and the target system will be If these are subject to change, be sure to record this as a risk and plan to re-estimate size if they change

63 CSE7315 v3.0 M12 Slide # 63 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Best Way to Determine Object Code Size - Part 2 Determine the ratio of source lines to target lines, with the compiler you will be using b/m = bytes per line of code

64 CSE7315 v3.0 M12 Slide # 64 January 7, 2004 CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Part 2 - Notes If the ratio varies a lot from one sample to another, try some additional representative software modules until you get a reasonably consistent range of values Use this ratio for estimating target size based on lines of source code


Download ppt "CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315 v3.0."

Similar presentations


Ads by Google