Upload
scott-brooks
View
216
Download
1
Tags:
Embed Size (px)
Citation preview
Second Hour Lecture9: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 more-skilled 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).