Transcript Document
Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book) Three Generations of Software Economics The Predominant Cost Estimation Process Five Software Cost Model Parameters • Size of the end product – Usually the number of Source Lines of Code. • • • • Process used to produce the end product. Capabilities of the personnel. The environment – tools and techniques. Required quality of the end product. Cost Estimation Formula • Effort = (personnel)(Environment)(Quality)(Size)(exp(Process)) Formula Use Example Function Points Estimation • An alternative to Source Lines of Code basis for estimation. • Use “Function Points” to estimate effort – – – – – External user inputs External outputs Internal logical data groups External data interfaces External inquiries Accuracy Overall accuracy of current software cost estimation models has been described as “…within 20% of actuals, 70% of the time….” Attributes of a Good Estimate • Estimate is conceived and supported by all. – Project manager, architecture team, development team, and test team accountable for the work. • Estimate is accepted by all stakeholders as ambitious but realizable. • Estimate is based on well-defined cost model with a credible basis. • Estimate is based on relevant project experience. • Estimate is detailed and key risks areas are understood. Improving Software Economics (Royce’ Chapter 3) Software Economic Improvement Trends Five Economy Improvement Dimensions • Reducing the size of the software. • Improving the development process. • Using more-skilled personnel and better teams. • Using better environments (tools) for software development. • Trading off, or backing off, on quality thresholds. Reducing Software Size • Languages. • Object-oriented methods and Visual Modeling. • Reuse. • Commercial Components. Language Comparison Example Function Point Comparison • • • • 1,000,000 lines of assembly language code. 400,000 lines of C 220,000 lines of Ada 83. 175,000 lines of Ada 95 or C++ Object-Oriented Methods and Visual Modeling • Better capture of software abstractions leads to better communications and better teamwork. • Continuous integration leads to earlier risk recognition and less costly corrections. • Object-oriented architectures provide better separation of disparate elements of a system and help create firewalls for less costly development. • Object-oriented and visual modeling create a strong architectural vision for cleaner, less-costly products. Reuse of Software • • • • • • Common architectures. Development environments. Operating systems. Database management systems. Networking products. Office applications. Reuse Cost and Schedule Commercial Components Summary • Software estimation must be based on careful analysis and must be supported by all. • Software economics improvements must come from reducing size, improving process and environments, using moreskilled personnel, and trading off software feature thresholds. Assignment for Next Class • Read Chapters 2 and 3 of Royce’ book, on Software Economics. – Learn the five major parameters in the software effort formula. – Learn the software development effort formula. – Learn the five attributes of a good software estimate. – Learn the five software improvement dimensions. • Read Chapter 2, “The Mythical Man-month” of Brook’s book. • If assigned to you, prepare the “Brooks’ Chapter 2” 20 minute report (for presentation to the class next meeting).