Class11_SW_Metrics (1)
Class11_SW_Metrics (1)
Class11_SW_Metrics (1)
Software Metrics
Chapter 4
1
SW Metrics
• SW process and product metrics are
quantitative measures that enable SW
people to gain insight into the efficacy of
SW process and the projects that are
conducted using the process as a
framework.
2
SW Metrics Terms
• Measure –
– provides a quantitative indication of the extent, amount,
dimension, capacity or size of some attribute of a
process or product.
– Example: Number of defects found in component
testing. LOC of each component.
• Measurement –
– The act of collecting a measure.
– Example: Collecting the defect counts. Counting LOC.
3
SW Metrics Terms
• Metric (IEEE Standard Glossary of Software
Engineering Terms)
– A quantitative measure of the degree to which a system,
component or process possesses a given attribute. It
relates measure in some way.
– Example: defects found in component testing/LOC of
code tested.
• Indicator –
– A metric that provide insight into the SW process,
project or product.
– Indicators are used to manage the process or project.
4
SW Metrics Terms
• SW Metrics refers to a range of measurements for
computer software that enable software people to
gain insight into the project:
– To improve the Process and the Product
– Assist in Estimation
– Productivity Assessment
– Quality Control
– Project Control
5
SW Metrics
• How are metrics used?
– Measures are often collected by SW engineers
and used by SW managers.
– Measurements are analyzed and compared to
past measurements, for similar projects, to look
for trends (good and bad) and to make better
estimates.
6
SW Metrics
• Reasons for measuring SW processes, products, and resources:
– To characterize
• To gain understanding of Product, Process, and ?
• To establish baseline for future comparisons
– To evaluate
• To determine status within the plan
– To predicate
• So that we can plan. Update estimates
– To improve
• We would have more information “quantitative” to help determine
root causes
7
Three domains of SW metrics
• Product –
– These measurements relate to SW product and all
related artifacts.
– Examples: code, design docs, test plan, user manual
…LOC, # of objects, # of pages, # of files.
– Measures can also be used to evaluate the SW quality:
• Cyclomatic complexity: a way to measure the complexity of a
module.
• It assigns a value V(G) to a module based on the control flow
of the module. Some companies place a cap on V(G). If too
high, the module must be redesigned.
8
Three domains of SW metrics
• Process: -
– These measures used to quantify characteristics of the
SW process.
– Usually related to events or things that occur.
– Examples: # defects found in test, # requirements
changes, # days to complete task …
• Project –
– used to manage the SW project “Tactic”.
– Estimating cost is the first application of Project
Metrics
– Examples: estimates of SW development time based on
past projects.
9
Two types of uses for
process metrics
• Private metrics –
– measures taken of an individual's software process.
These are usually private to the individual or team.
Used to improve an individual's performance or
personal software process.
– Example: defect rate for an individual.
• Public metrics –
– measures taken at a team level. These are made public
to the organization. Used to improve an organizations
process maturity.
– Example: defects found after release per KLOC.
10
Software Measurement
• Two categories of measurement:
– Direct measures –
• measurements that are more tangible.
• Examples:
– cost, time, and efforts are Direct Process measures
– LOC, memory size are examples of Direct Product measures
– Indirect measures –
• measurements of things that describe the characteristics of a
product or process. These are the "-abilities".
• Examples: functionality, quality, complexity, reliability,
maintainability…
11
Software Measurement
• Size Oriented Metrics
– Derived from the size of the software (KLOC)
• Errors per KLOC
• Defects per KLOC
• $ Per LOC
• Errors per person
• LOC per Person-per-Mont
– Do you see any problem with Size Oriented
Metrics (I.e thing of Assembly vs. C++)?
12
Software Measurement
• Functional-Oriented Metrics
– use measures of the functionality delivered by
the application.
– Functionality is derived indirectly using other
direct measures.
– Function Points are derived using direct
measures of software’s information domain.
• FPs are computed using a simple tabular form
• Text Book Page 90.
13
Software Measurement
Complexity
• Functional-Oriented Metrics adjustment values