MIRPUR UNIVERSITY OF SCIENCE AND TECHNOLOGY
DEPARMENT OF SOFTWARE ENGINEERING
SE-361 Software Engineering Economics 1
Scope of Software Metrics
Process, Product and Resources
(Lecture # 06)
CLO PLO
2 3
Engr. Samina Fazilat
(Junior Lecturer)
Date:,
SE-361 Software Engineering Economics 2
Scope of Software Metrics/1
Cost and effort estimation
Software cost estimation is the process of predicting the
amount of effort required to build a software system.
Estimates for project cost and time requirements are
derived during the planning stage of a project.
Models used to estimate cost can be categorized as either
cost models (e.g., Constructive Cost Model COCOMO)
or constraint models (e.g., SLIM).
Experience is often the only guide used to derive these
estimates, but it may be insufficient if the project breaks
new ground.
Many models are available as automated tools.
SE-361 Software Engineering Economics 40
Scope of Software Metrics/2
Productivity models and measures
Definition: The rate of output per unit of input.
Productivity = size / effort
Productivity = LOC / person-month
Productivity model based on decomposition to measurable
attributes:
measurabl
e
SE-361 Software Engineering Economics 41
Scope of Software Metrics/3
Data collection
Very critical and very hard step.
What data should be collected?
How it should be collected?
Is collected data reproducible?
Example: software failure data collection
1) Time of failure
2) Time interval between failures
3) Cumulative failure up to a given time
4) Failures experienced in a time interval
SE-361 Software Engineering Economics 42
Scope of Software Metrics/4
Quality models and measures
Software quality measurement (Rubey and Hartwick 1968~)
McCall’s quality factors (1977~), ISO 9126
SE-361 Software Engineering Economics 43
Scope of Software Metrics/5
Reliability models
Plot the change of failure intensity () against time.
Many models are proposed. The most famous ones
are basic exponential model and logarithmic
Poisson model.
The basic exponential model assumes finite failures
in infinite time; the logarithmic Poisson model
assumes infinite failures.
Automated tools such as CASRE are available.
SE-361 Software Engineering Economics 44
Scope of Software Metrics/6
Performance evaluation and models
Using externally observable performance
characteristics such as response time and
completion rate (Ferrari 1978~)
Efficiency of algorithms (Garey 1979~)
SE-361 Software Engineering Economics 46
Scope of Software Metrics/7
Structural and complexity
metrics
Control-flow structure
Data-flow structure
Data structure
Information flow attributes
Complexity metrics (1979~) V(F) = 5
Cyclomatic complexity (McCabe 1989)
defining number of independent paths in
execution of a program
SE-361 Software Engineering Economics 47
Scope of Software Metrics/8
Management by metrics
Metrics for project control (1980~)
Metrics related to specification quality
Metrics for the design model
Metrics for documentation
Checking and testing metrics
Resource metrics
Change metrics
SE-361 Software Engineering Economics 48
Scope of Software Metrics/9
Evaluation of methods and tools
Efficiency of methods (1991~)
Efficiency and reliability of tools
Certification test of acquired tools and
components
Benchmarking
SE-361 Software Engineering Economics 49
Scope of Software Metrics /10
Capability maturity assessment
US Software Engineering Institute (SEI) model
(1989): CMM grading using five-level scale.
ISO 9001: Quality systems: models for quality
assurance in design/development, production,
installation and servicing (1991)
ISO 9000-3: Guidelines for application of ISO 9001
to the development, supply and maintenance of
software (1991)
SE-361 Software Engineering Economics 50
Who Benefits From Measurement
Managers
What does each process cost?
How productive is the staff?
How good is the code being developed?
Will the user be satisfied with the product?
How can we improve?
Engineers
Are the requirements testable?
Have we found all the failures?
Have we met our product or process goals?
What can we predict about our software product in the
future?
SE-361 Software Engineering Economics 52
Metrology
Metrology is the science of measurement.
Metrology is the basis for empirical science and
engineering in order to bring knowledge under
general laws, i.e., to distil observations into formal
theories and express them mathematically.
Measurement is used for formal (logical or
mathematical, orderly and reliable) representation of
observation.
SE-361 Software Engineering Economics 14
Two Problem Categories
Components of a measurement system:
m = <attribute, scale, unit>
Attribute is what is being measured (e.g., size of a program)
Scale is the standard and scope of measurement (e.g., nominal,
ordinal, ratio scale, etc.)
Unit is the physical meaning of scale (e.g., a positive integer, a
symbol, etc.)
Determining the value of an attribute of an entity.
Determining the class of entities to which the
measurement relates.
SE-361 Software Engineering Economics 15
Empirical Relations
Empirical relation preserved under measurement M
as numerical relation
Figure from Fenton’s Book
SE-361 Software Engineering Economics 16
Real, Empirical & Formal Worlds
Measurement
Real Empirical
World World
Scales
&Units
Formal
Modeling & World
Verification Mapping
Mathematical (logical) Model
SE-361 Software Engineering Economics 17
Real, Empirical & Formal Worlds
Measurement
height
Entity A 197
Entity B 124
Scale: ratio
Unit: cm
M(A) > M(B)
Modeling &
Verification Mapping
SE-361 Software Engineering Economics 18
Measurement: Activities/1
Problem definition
Defining measurement problem
Designating set of entities forming the target of
measurement
Identifying key attributes for the entities
Identifying scales
Identifying scales for which the attributes can be
measured
Forming the empirical relational system
Mapping entities and their selected attributes to numbers
or values on the scales
SE-361 Software Engineering Economics 19
Measurement: Activities/2
Modeling
Developing mathematical (logical) representation of the
entities and their attributes
Defining the formal relational system
Mapping the empirical relational system to the formal
model
Verifying the results of measurement
Verifying whether the measurement results reflect the
properties of the entities, attributes and relationships
SE-361 Software Engineering Economics 20
Conclusion
Without measurements there is no way to determine if the
process/product are improving.
Metrics allow the establishment of meaningful goals for
improvement. A baseline from which improvements can
be measured can be established.
Metrics allow us to identify the causes of defects which have
major effect on software development.
When metrics are applied to a product they help identify:
which user requirements are likely to change
which modules are most error prone
how much testing should be planned for each module
SE-361 Software Engineering Economics 56
THANKS
SE-361 Software Engineering Economics 22