Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving...

Post on 03-Jan-2016

214 views 1 download

Tags:

Transcript of Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving...

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