Unformatted text preview:

1CS 350: Introduction toSoftware EngineeringSlide Set 2Process MeasurementC. M. OverstreetOld Dominion UniversitySpring 2006Fall 2005 CS 350/ODU 2Reading assignment Chapters 3 & 4, PSP textLecture Topics Process measurement Planning overview Software size why measure size size measurement criteria the SEI size measurement framework Counting program size size counters coding standards2Process Measurement Principles To be useful, measurements should be gathered for a specific purpose explicitly defined properly managed properly used  Measuring your process will not improve it. You must make process changes to achieve lasting improvement.Process Measurement Purposes We measure to: understand and manage change predict or plan for the future  compare one product, process, or organization with another determine adherence to standards provide a basis for controlMeasurement Objectives Measurements only produce numbers. To be useful, they must: relate to business objectives be properly interpreted lead to appropriate action  If the business purposes for the measurements are not understood the wrong data may be gathered data may not be properly used3Types of Measurements We generally need objective and explicit measures. To be useful, we need relationships that correlate. program size versus development hours cost distributions defect densities We also seek a controlling or predictive capability. actions to reduce test defects steps to improve review quality means to improve productivityThe PSP Measurements The basic PSP data are program size time spent by phase defects found and injected by phase Both actual and estimated data are gathered on every item. Measures derived from these data  support planning characterize process quality PSP Size Measures The goals of the PSP size measures are to define a consistent size measure  establish a basis for normalizing time and defect data help make better size estimates Some of the questions these data can help to answer are What size program did I plan to develop? How good was my size estimate? What was the completed size of the finished program?4PSP Time Measures The goals of the PSP time measures are to determine how much time you spend in each PSP phase  help you to make better time estimates Typical questions these data can help answer are How much time did I spend by PSP phase? How much time did I plan to spend by PSP phase?PSP Defect Measures The goals of the PSP defect measures are to provide a historical baseline of defect data understand the numbers and types of defects injected understand the relative costs of removing defects in each PSP phase Some questions these data can help answer are How many defects did I make in each phase? How many defects did I remove in each phase? How much time did it take to find and fix each defect?PSP Derived Measures  Some PSP derived measures are To Date and To Date % Product size developed or reviewed per hour CPI % Reuse and % New Reusable A/FR PQI You will learn about these measures in the rest of the PSP course.5Size Measurement Criteria Size measurements must be related to development effort precise machine countable suitable for early planningSize Versus Development Effort The principal requirement: If the size measure is not directly related to development cost, it is not worth using. There are many possible measures. database elements lines of code (LOC) function points pages, screens, scripts, reports The size measure should be sensitive to language, design, and development practice.Text Pages Versus Time0204060801001200 5 10 15 20 25 30 35 40 45Time (hours)Text Pages6Script Size Versus Time01020304050600 100 200 300 400 500 600 700Script SizeTime (hours)Report Size Versus Time0102030405060700 1000 2000 3000 4000 5000 6000 7000 8000Report SizeTime (hours)Screen Elements Versus Time01020304050607080901000 500 1000 1500 2000 2500 3000 3500 4000Screen ElementsTime (hours)7C++ LOC Versus Time01000200030004000500060000 100 200 300 400 500 600 700 800C++ LOCTime (min.)Pascal LOC Versus Time020004000600080001000012000140000 200 400 600 800 1000 1200 1400 1600 1800 2000Pascal LOCTime (min.)Relationship to Development  Pages are often an acceptable measure for document development. LOC is usually a good measure for developing source programs like Pascal and C++. Other possible measures are function points, screens, modules, database elements, and maintenance fixes.8Precision and Accuracy Imprecise and inaccurate Precise and inaccurateImprecise and accurate Precise and accuratexxxxxxxxxx xxxxxxxxxxxx xx xx xxMeasurement Precision When two people measure the same thing, will they get the same result? To do so requires a precise measurement definition. The measure must also be properly applied. Different people will likely have different definitions of database elements. Pascal LOC do not equate to assembler LOC. New LOC are not the same as modified LOC. Logical LOC do not equate to physical LOC. One person’s C++ LOC may not relate to someone else’s C++ LOC.Machine Countable Manual size counting is time-consuming and inaccurate. Automated counters will only work for defined product characteristics. Counters can be complex, depending on the size definition selected counting method used9Suitable for Early Planning -1 For making initial project plans, measures are needed that you can visualize at the beginning of the job. For a house, square feet predicts cost.  Few people can visualize a house in terms of square feet of living space. Numbers of rooms is more intuitive. Intuitive size measures are usually needed for initial plans.Suitable for Early Planning -2 Unfortunately, popular intuitive measures are not often measurable, and popular measurable measures are often not intuitive. Function points intuitive not directly measurable LOC not intuitive directly measurableSelecting a Size Measure -1 Start with product development data. resources required  product characteristic measures any special development conditions Rank products by resources required. See what characteristics distinguish those products that took the greatest


View Full Document

ODU CS 350 - Lecture Notes

Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?