0% found this document useful (0 votes)
60 views

Mirpur University of Science and Technology: Deparment Software Engineering

This document provides an overview of software metrics and measurement. It discusses measuring software cost and effort, productivity models, data collection, quality models, reliability models, performance evaluation, structural complexity metrics, management by metrics, and capability maturity assessment. Metrology, the science of measurement, is also introduced. Measurement involves determining the value and class of an attribute for an entity and preserving empirical relations through formal representation.

Uploaded by

ahsan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views

Mirpur University of Science and Technology: Deparment Software Engineering

This document provides an overview of software metrics and measurement. It discusses measuring software cost and effort, productivity models, data collection, quality models, reliability models, performance evaluation, structural complexity metrics, management by metrics, and capability maturity assessment. Metrology, the science of measurement, is also introduced. Measurement involves determining the value and class of an attribute for an entity and preserving empirical relations through formal representation.

Uploaded by

ahsan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

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

You might also like