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).