Metrics: Original Prepared By: Sudipto Ghosh Revised: Aditya Mathur
Metrics: Original Prepared By: Sudipto Ghosh Revised: Aditya Mathur
Learning objectives
Software metrics
Metrics for various phases
Questions
How big is the program?
Huge!!
Can you, as a manager, make any useful decisions from such subjective information? Need information like, cost, effort, size of project.
10/19/2003 Metrics 3
Metrics
Quantifiable measures that could be used to measure characteristics of a software system or the software development process Required in all phases Required for effective management Managers need quantifiable information, and not subjective information
Subjective information goes against the fundamental goal of engineering.
10/19/2003 Metrics 4
Process metrics
quantify characteristics of the process being used to develop the software
efficiency of fault detection
10/19/2003
Metrics
CMM
Level 4: Managed level
Process measurement performed Quality and productivity goals set Continually measured and corrective actions taken Statistical quality controls in place
Issues [1]
Cost of collecting metrics
Automation is less costly than manual method CASE tool may not be free
Development cost of the tool Extra execution time for collecting metrics
Validity of metrics
Does the metric really measure what it should? What exactly should be measured?
10/19/2003 Metrics 7
Issues [2]
Selection of metrics for measurement
Hundreds available and with some cost
Basic metrics
Size (like LOC) Cost (in $$$) Duration (months) Effort (person-months) Quality (number of faults detected)
Metrics 8
10/19/2003
Selection of metrics
Identify problems from the basic metrics
high fault rates during coding phase
Introduce strategy to correct the problems To monitor success, collect more detailed metrics
fault rates of individual programmers
10/19/2003
Metrics
Utility of metrics
LOC
size of product take at regular intervals and find out how fast the project is growing
10/19/2003
Metrics
10
Applicability of metrics
Throughout the software process, like
effort in person-months staff turnover cost
Specific to a phase
LOC # defects detected per hour of reviewing specifications
10/19/2003
Metrics
11
Metrics: planning
When can we plan the entire software project?
At the very beginning? After a rapid prototype is made? After the requirements phase? After the specifications are ready?
10/19/2003
Metrics
12
Metrics: planning
graph of cost estimate
4
Problem with
underestimation (possible loss by the developer) overestimation (client may offer bid to someone else)
Cost
internal (salaries of personnel, overheads) external (usually cost + profit)
10/19/2003 Metrics 14
Cost estimation
Other factors:
desperate for work - charge less client may think low cost => low quality, so raise the amount
Size of product
10/19/2003 Metrics 15
Problems
creation of code is only a part of the total effort effect of using different languages on LOC how should one count LOC?
executable lines of code? data definitions comments? What are the pros and cons?
10/19/2003 Metrics 17
What if you are using a code generator? Early on, you can only estimate the lines of code. So, the cost estimation is based on another estimated quantity!!!
10/19/2003 Metrics 18
Based on statistics
large number of projects are studied
Hybrid models
mathematical models, statistics and expert judgement
10/19/2003 Metrics 21
Estimates total effort in terms of person-months Cost of development, management, support tasks included Secretarial staff not included
10/19/2003 Metrics 22
Intermediate COCOMO
Obtain an initial estimate (nominal estimate) of the development effort from the estimate of KDSI Nominal effort = a X (KDSI)b person-months
System Organic Semi-detached Embedded a 3.2 3.0 2.8 b 1.05 1.12 1.20
10/19/2003
Metrics
23
Kind of systems
Organic
Organization has considerable experience in that area Requirements are less stringent Small teams Simple business systems, data processing systems
Semi-detached
New operating system Database management system Complex inventory management system
Metrics
10/19/2003
24
Kind of systems
Embedded
Ambitious, novel projects Organization has little experience Stringent requirements for interfacing, reliability Tight constraints from the environment Embedded avionics systems, real-time command systems
10/19/2003
Metrics
25
Adjust the effort estimate by multiplying the initial estimate with all the multiplying factors
COCOMO example
System for office automation Four major modules
data entry: data update: query: report generator: Total: 0.6 KDSI 0.6 KDSI 0.8 KDSI 1.0 KDSI 3.0 KDSI
EAF = 1.15 * 1.06 * 1.13 * 1.17 = 1.61 Adjusted effort = 1.61 * 10.14 = 16.3 PM
10/19/2003 Metrics 29
10/19/2003
Metrics
30
Tentative information
a process in a DFD may be broken down later into different modules a number of processes may constitute one module
10/19/2003 Metrics 31
Duration
Effort Quality
number of faults found during inspection rate at which faults are found (efficiency of inspection)
10/19/2003 Metrics 32
4-4+2=2
3-3+2=2
if-then-else
Metrics
while-do
34
Measure of complexity:
length X (fan-in X fan-out)2
10/19/2003
Metrics
36
10/19/2003
Metrics
38
10/19/2003
Metrics
39
10/19/2003
Metrics
40
Metrics: implementation and integration phase Total number of test cases Number of tests resulting in failure Fault statistics
Total number of faults Types of faults
misunderstanding the design lack of initialization inconsistent use of variables
Statistical testing:
zero-failure technique
10/19/2003 Metrics 41
Assume that the chance of a failure decreases exponentially as testing proceeds. Figure out the number of test hours required without a single failure occurring.
10/19/2003 Metrics 42
Metrics: inspections
Purpose: to measure the effectiveness of inspections
may reflect deficiencies of the development team, quality of code
10/19/2003
10/19/2003
Metrics
44
References
Textbook
Roger Pressman: Chapters 4, 19
Other books
P. Jalote - An Integrated Approach to Software
Engineering (Look at metrics under Index)
Internet reference
www.cs.waikato.ac.nz/~bernhard/314/schachSlides/ schach5-chap0914%5B1%5D.ppt
10/19/2003
Metrics
45