Class Notes (1,100,000)
CA (620,000)
Western (60,000)
SOFTENG (10)
Lecture 14

Software Engineering 4453A/B Lecture Notes - Lecture 14: Cyclomatic Complexity, Software Maintenance, Function Point


Department
Software Engineering
Course Code
SOFTENG 4453A/B
Professor
Abdelnasser Hassan Ouda
Lecture
14

This preview shows pages 1-3. to view the full 10 pages of the document.
Unit 6
Software Measurement and Metrics
Classification of Software Quality Metrics
Product Metrics
Process Metrics
Implementation of Software Quality Metrics
Limitations of Software Metrics
Function Point Method

Only pages 1-3 are available for preview. Some parts have been intentionally blurred.

IEEE Definition of Software Quality Metrics
(1) Quantitative Measure
degree to which an item possesses a given quality attribute
(2) Function
whose inputs are software data, output is a single numerical value that can be
interpreted as a degree to which software possesses a given quality attribute
Main objective of Software Quality Metrics:
A. Facilitate management control, planning and managerial
intervention
based on deviations of actual from planned performance
based on deviations of actual timetable and budget performance
from planned
B. Identify situations for development or maintenance process
improvement (preventive or corrective actions)
accumulation of metrics information regarding the performance of
teams, units, etc
Use of Measurements
To assign a value to system quality attributes
by measuring the characteristics of system components, such as cyclomatic
complexity
To identify system components whose quality is sub-standard
measurements ca identify individual components with characteristics that deviate
from the norm
Metric Assumptions
software property can be measured
relationship exists between what we can measure and what we want to know
we can only measure internal attributes but are often more interested in external
software attributes
relationship has been formalized and validated
may be difficult to relate what can be measured to desirable external quality attributes

Only pages 1-3 are available for preview. Some parts have been intentionally blurred.

Classifications of Software Quality Metrics
Classification by Phases
A. Process Metrics
metrics related to the software development process
B. Product Metrics
metrics related to software maintenance
Classification by Subjects of Measurements
Quality
Timetable
Effectiveness (error removal and maintenance services)
Productivity
A. Product Metrics
Classes of product metrics:
Dynamic metrics which are collected by measurements made of a program in
execution
Static metrics which are collected by measurements made of the system
representations
Dynamic metrics help assess efficiency
Dynamic metrics help assess efficiency and reliability
Static metrics help assess complexity, understandability and maintainability
Fan-In
measure of the number of functions or methods that call another function or
method
high value means X is tightly couples to the rest of the design
changes to X will have extensive effects
Fan-Out
number of functions that are called by function X
high value means overall complexity of X may be high due to complexity of the
control logic
Length of Code (LOC)
measure of the size of a program
larger the size of the code of a component, more complex and error-prone that
component is likely to be
LOC has been shown to be one of the most reliable metrics for predicting error-
proneness in components
Cyclomatic Complexity
measure of the control complexity of a program
control complexity may be related to program understandability
You're Reading a Preview

Unlock to view full version