2/26/2011

Object Oriented Software Engg

Software Process and Project Metrics
‡ Outline:
‡ In the Software Metrics Domain: o product metrics o project metrics o process metrics ‡ Software Measurement o size-oriented metrics o function-oriented metrics ‡ Metrics for Software Quality

2/26/2011

Object Oriented Software Engg

Measure, Metrics, and Indicator
‡ Measure -- Provides a quantitative indication of the extent, amount, dimensions, capacity, or size of some product or process attribute.
‡ Metrics -- A quantitative measure of the degree to which a system, component, or process possesses a ‡ given attribute. Software Metrics -- refers to a broad range of measurements for computer software. ‡ Indicator -- a metric or combination of metrics that provide insight into the software process, a software project, or the product itself.
2/26/2011 Object Oriented Software Engg

Process Metrics and Software Process Improvement
Project

Customer characteristics

Business conditions

People

Developmen t environment

Technolog y

2/26/2011

Object Oriented Software Engg

In the Process and Project Domains
‡ Process Indicator
‡ enable insight into the efficacy of an existing process ‡ to assess the current work status ‡ Goal -- to lead to long-term software process improvement ‡ Project Indicator ‡ ‡ ‡ ‡ assess the status of an ongoing project track potential risks uncover problem areas before they ³go critical´ evaluate the project team¶s ability to control the product quality
Object Oriented Software Engg

2/26/2011

Measurement
‡ What to measure?
‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ errors uncovered before release defects delivered to and reported by end users work products delivered human effort expended calendar time expended schedule conformance At what level of aggregation? By team? Individual? Project?
Object Oriented Software Engg

2/26/2011

Privacy Issues
‡ Should they be used for personnel evaluation?
‡ Some issues? ‡ Privacy? ‡ Is total assignment being measured? ‡ Are the items being measured the same as for other individuals being measured? ‡ Are the conditions of measurement the same across individuals? ‡ However, they can be useful for individual improvement.

2/26/2011

Object Oriented Software Engg

Use of Software Metrics (process maturity)
‡ ‡ ‡ ‡ ‡

‡ Use common sense and organizational sensitivity.

Provide regular feedback to individuals and teams. Don¶t use metrics to appraise individuals. Set clear goal and metrics. Never use metrics to threaten individuals or teams Problems != negative. These data are merely an indicator for process improvement. ‡ Don¶t obsess on a single metric to the exclusion of other important metrics. ‡ Do not rely on metrics to solve your problems. ‡ Beware of people performing to metrics rather than product quality or safety.
2/26/2011 Object Oriented Software Engg

2/26/2011

Object Oriented Software Engg

Example of Defect Analysis (fish bone diagram)
missing ambiguous specification defects
wrong customer queried
customer gave wrong infor.

inadequate inquiries
used outdated information

incorrect
Object Oriented Software Engg

changes

2/26/2011

Project Metrics
‡ Software Project Measures Are Tactical not strategic
used by a project manager and a software team to adapt project work flow and technical activities ‡ The Intent of Project Metrics Is Twofold o to minimize the development schedule to avoid delays and mitigate potential problems and risks o to assess project quality on an ongoing basis and modify the technical approach to improvement quality ‡ Production Rates(Inputs,work products and effectiveness.) o pages of documentation o review hours o function points o delivered source lines 2/26/2011 errors uncovered during SW engineering Object Oriented Software Engg o
o o

Software Metrics
‡ Direct measures
o o o o o o

Cost and effort applied (in SEing process) Lines of code(LOC) produced Execution speed CPU utilization Memory size Defects reported over certain period of time

‡ Indirect Measures o Functionality, quality, complexity, efficiency, reliability, maintainability.
2/26/2011 Object Oriented Software Engg

Software Measurement
‡ Size-Oriented Metrics
‡ are derived by normalizing quality and/or productivity measures by considering the ³size´ of the software that has been produced. ‡ lines of code often as normalization value.
project LOC effort $(000) pp.doc errors defects people

alpha 12,100 24 168 365 134 29 3 beta 27,200 62 440 1224 321 86 5 gamma 20,200 43 314 1050 256 64 6

..... ..... .. . . . .

2/26/2011

Object Oriented Software Engg

Typical Size-Oriented Metrics
‡ Errors per KLOC
‡ ‡ ‡ ‡ ‡ ‡ Defects per KLOC( QA when uncovers the errors) Expenditure per KLOC Pages of documentation per KLOC Errors per person month LOC per person month Expenditure per page of documentation

2/26/2011

Object Oriented Software Engg

Software Measurement
‡ Function-Oriented Metrics
‡ ‡ ‡ ‡ use ³functionality´ to measure(derived from direct mesrs) derived from ³function point´ using an empirical relationship based on countable (direct) measure of SW information domain and assessments of software complexity ‡ Use of Function-Oriented Metrics ‡ Measuring scale of a project ‡ Normalizing other metrics, e.g., $/FP, errors/FP

2/26/2011

Object Oriented Software Engg

Weighting Factor measurement parameter count simple average complex # of user inputs * 3 4 6 = # of user outputs * 4 5 7 = # of user inquiries * 3 4 6 = #r of files * 7 10 15 = # of external interfaces * 5 7 10 = count_total

2/26/2011

Object Oriented Software Engg

Computing function points
Rate each factor on a scale of 0 to 5 123456

no influence incidental moderate average significant essential

1. does the system require reliable backup and recovery? 2. are data communications required? 3. are there distributed processing functions? 4. is performance critical? 5. will the system run an existing ,heavily utilized operational environment? 6.does system requires online data entry? 7.does online data entry req. input transaction to be build on multiple screens ?

2/26/2011

Object Oriented Software Engg

Function point calculation
8. Are master files updated online ? 9.are I/ps , O/ps, files and inquires complex? 10.Is essential processing complex? 11.is code reusable? 12.are conversion and installation included in design? 13.is system supports multiple installations ? 14.is application designed to facilitate change and ease of use by user?

2/26/2011

Object Oriented Software Engg

Function-Oriented Metrics
FP = count_total * [0.65 + 0.01 * sum of Fi]
Outcome:normalized measure as productivity , quality and errors per FP defects per FP expenditure per FP page of documentation per FP FP per person_month

2/26/2011

Object Oriented Software Engg

Function Point Extensions
‡ Function Points emphasizes ³data dimension´
‡ Transformations added to capture ³functional ‡ dimension´ added to capture ³control dimension´ Transitions

2/26/2011

Object Oriented Software Engg

2/26/2011

Object Oriented Software Engg

2/26/2011

Object Oriented Software Engg

Metrics for Software Productivity
‡ LOC and FP Measures Are Often Used to Derive Productivity Metrics
‡ ‡ ‡ ‡ ‡ ‡ 5 Important Factors That Influence SW Productivity people factors problem factors process factors product factors resource factors

2/26/2011

Object Oriented Software Engg

Measures of Software Quality
‡ Correctness
‡ is the degree to which the software performs its required function. the most common measure for correctness is defects per KLOC ‡ Maintainability ‡ the ease that a program can be corrected ‡ adapted if the environment changes ‡ enhanced if the customer desires changes in requirements ‡ based on the time-oriented measure mean time to change.
2/26/2011 Object Oriented Software Engg

Measures of Software Quality (Cont¶d)
‡ Integrity
‡ to measure a system¶s ability to withstand attacks (both accidental and intentional) on its security threat and security are defined ‡ integrity = sum [ 1 - threat * (1- security)] ‡ Usability - an attempt to quantify ³user friendliness´ ‡ physical/intellectual requirement to learn ‡ time required to become moderately efficient ‡ the net increase in productivity ‡ user attitudes toward system

2/26/2011

Object Oriented Software Engg

Defect Removal Efficiency
‡ A Quality Metric That Provides Benefit at Both the Project and Process Level ‡ DRE = E / ( E + D ) E = # of errors found before delivery of the software to the end user D = # of defects found after delivery ‡ More generally, DREi = Ei / ( Ei + Ei+1 ) Ei = # of errors found during SE activity i

2/26/2011

Object Oriented Software Engg

2/26/2011

Object Oriented Software Engg

Summary
‡ Metrics are a tool which can be used to improve the productivity and quality of the software system
‡ Process metrics takes a strategic view to the effectiveness of a software process ‡ Project metrics are tactical that focus on project work flow and technical approach ‡ Size-oriented metrics use the line of code as a normalizing factor ‡ Function-oriented metrics use function points ‡ Four quality metrics------correctness, integrity, maintainability, and usability were discussed
2/26/2011 Object Oriented Software Engg

METRICS
‡ CLCS Metrics Philosophy
Phase 1: Provide a mandatory, nearly automated, metrics foundation to track lines of code and errors. Phase 2: Provide additional high-return metrics with recognized value.  Schedule metrics (milestones)  Additional S/W Problem metrics (actuals, trends, prediction)  Defect correction metrics  Run-time analysis metrics (McCabe tools, automated, COTS) Phase 3: Be driven to additional metrics only by absolute need.

2/26/2011

Object Oriented Software Engg

METRICS

2/26/2011

Object Oriented Software Engg

Identify your business goals. Identify what you want to know or learn Identify your sub goals Identify the entities and the attributes related to sub goals. Formalize your measurement goals Identify quantifiable questions and indicators you will use to measure goals Identify data elements reqd. for construction of indicators Define measures to be used to make it operational Identify your actions Prepare plan to implement measures

2/26/2011

Object Oriented Software Engg

Sign up to vote on this title
UsefulNot useful