Object Oriented Software Enginnering
Object Oriented Software Enginnering
Metrics
1. People 3. Process
2. Product 4. Project
• Here, the manager of the project has to control all these P’s to have a
smooth flow in the progress of the project and to reach the goal.
2
First P - People
3
First P - People
4
People - Stakeholders
• Senior managers who define the business issues that often have
significant influence on the project.
• Project (technical) managers who must plan, motivate, organize, and
control the practitioners who do software work.
• Practitioners/Software Engineers who deliver the technical skills that are
necessary to engineer a product or application.
• Customers who specify the requirements for the software to be
engineered and other stakeholders who have a peripheral interest in the
outcome.
• End-users who interact with the software once it is released for
production use.
5
People – Team Leaders
6
People – Software Team
7
Second P - Product
• Objectives identify the overall goals for the product (from the customers’ point of
view) without considering how these goals will be achieved.
• Scope identifies the primary data, functions and behaviors that characterize the
product, and more important, attempts to bound these characteristics in a
quantitative manner.
• If scope and objectives are not defined, then it will be impossible:
– To define a reasonable and accurate estimate of cost.
– To assess possible risks and to define a manageable project schedule.
8
Product/Software Scope
• The first software project management activity is the determination of
software scope.
• Scope is defined by answering the following questions:
– Context: How does the software to be built fit into a larger system,
product, or business context and what constraints are imposed as a
result of the context?
– Information objectives: What customer-visible data objects are
produced as output from the software? What data objects are required
for input?
– Function and performance: What function does the software perform
to transform input data into output? Are any special performance
characteristics to be addressed?
9
Problem Decomposition
or
– It is decomposed into a set of problem classes
• Decomposition process continues until all functions or problem classes
have been defined
10
Third P - Process
11
Third P – Process (contd.)
12
Fourth P - Project
1. Start on the right foot: This is accomplished by working hard (very hard)
to understand the problem that is to be solved and then setting realistic
objectives and expectations.
14
Common Sense Approaches to Projects
15
Metrics in Process and
Project Domains
16
Introduction
• Process metrics are collected across all projects and over long periods of
time. Their intent is to provide a set of process indicators that lead to
long-term software process improvement.
• Project metrics enable a software project manager to:
17
Process Metrics and Software Process
Improvement (contd.)
19
Process Metrics and Software Process
Improvement (contd.)
• Process sits at the center of a triangle connecting three factors that have a
profound influence on organizational performance and software quality.
• In addition, the process triangle exists within a circle of environmental
conditions that include the:
– development environment (e.g., integrated software tools),
– business conditions (e.g., deadlines, business rules), and
– customer characteristics (e.g., ease of communication and
collaboration)
20
Process Metrics and Software Process
Improvement (contd.)
– Work with practitioners and teams to set clear goals and metrics that will be
used to achieve them.
– Never use metrics to threaten individuals or teams.
– Metrics data that indicate a problem area should not be considered “negative.”
These data are merely an indicator for process improvement.
– Don’t obsess on a single metric to the exclusion of other important metrics.
23
Project Metrics
• Project metrics and the indicators derived from them are used by a project
manager and a software team to adapt project workflow and technical
activities.
• The first application of project metrics on most software projects occurs
during estimation.
• Metrics collected from past projects are used as a basis from which
effort and time estimates are made for current software work.
• As a project proceeds, measures of effort and calendar time expended are
compared to original estimates (and the project schedule).
• The project manager uses this data to monitor and control progress.
24
Project Metrics (contd.)
25
Project Metrices (contd.)
26
Metrics for Software Quality
27
Measures of Software Quality
1. Correctness:
– Is the degree to which the software performs its required function.
– The most common measure for correctness is defects per KLOC
(thousand line of codes), where a defect is defined as a verified lack
of conformance to requirements.
– When considering the overall quality of a software product, defects are
those problems reported by a user of the program after the program has
been released for general use.
– For quality assessment purposes, defects are counted over a standard
period of time, typically one year.
28
Measures of Software Quality
29
Measures of Software Quality
3. Integrity:
• This attribute measures a system’s ability to withstand attacks (both
accidental and intentional) to its security.
• Attacks can be made on all three components of software: programs, data,
and documentation.
• To measure integrity, two additional attributes must be defined: threat and
security.
– Threat is the probability that an attack of a specific type will occur
within a given time.
– Security is the probability that the attack of a specific type will be
repelled.
30
Measures of Software Quality
3. Integrity (contd.):
• The integrity of a system can then be defined as:
• For example, if threat (the probability that an attack will occur) is 0.25 and
security (the likelihood of repelling an attack) is 0.95, the integrity of the
system is 0.9875 (very high).
• If, on the other hand, the threat probability is 0.50 and the likelihood of
repelling an attack is only 0.25, the integrity of the system is 0.625
(unacceptably low).
31
Measures of Software Quality
4. Usability
• If a program is not easy to use, it is often doomed to failure, even if the
functions that it performs are valuable.
• Usability is an attempt to quantify “user friendliness”.
32
Defect Removal Efficiency
• A quality metric that provides benefit at both the project and process level is
defect removal efficiency (DRE).
• In essence, DRE is a measure of the filtering ability of quality assurance
and control actions as they are applied throughout all process framework
activities.
• When considered for a project as a whole, DRE is defined in the following
manner:
• Here, E is the number of errors found before delivery of the software to the
end user and D is the number of defects found after delivery.
• As D increases, DRE decreases (i.e., becomes a smaller and smaller fraction)
• The ideal value of DRE is 1, which means no defects are found after delivery.
33
Product Metrics
34
Measures, Metrics and Indicators
37
Goal Oriented Software Measurement
38
Goal Oriented Software Measurement
• Goal definition template can be used to define each measurement goal. The
template takes the form:
– Analyze {the name of activity or attribute to be measured} for the
purpose of {the overall objective of the analysis} with respect to {the
aspect of the activity or attribute that is considered} from the
viewpoint of {the people who have an interest in the measurement}in
the context of {the environment in which the measurement takes
place}.
39
Attributes of Effective Software Metrics
40
Attributes of Effective Software Metrics
41
Metrics for Requirement Model
42
Metrics for Requirement Model –
Function Point (FP) Metrics
• The function point (FP) metric can be used effectively as a means for measuring the
functionality delivered by a system.
• The FP metric can then be used to
– estimate the cost or effort required to design, code, and test the software;
– predict the number of errors that will be encountered during testing; and
43
Metrics for Requirement Model –
Function Point (FP) Metrics
46
Metrics for Requirement Model –
Function Point (FP) Metrics
• Where count total is the sum of all FP entries obtained from the above table.
47
Metrics for Requirement Model –
Function Point (FP) Metrics
The Fi (i = 1 to 14) are value adjustment factors (VAF) based on responses to the following
questions:
1. Does the system require reliable backup and recovery?
2. Are specialized data communications required to transfer information to or from the
application?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized operational environment?
6. Does the system require online data entry?
7. Does the online data entry require the input transaction to be built over multiple screens
or operations?
Each of these questions is
8. Are the ILFs updated online?
answered using a scale that
9. Are the inputs, outputs, files, or inquiries complex? ranges from 0 (not important
10. Is the internal processing complex? or applicable) to 5
(absolutely essential).
11. Is the code designed to be reusable?
12. Are conversion and installation included in the design?
13. Is the system designed for multiple installations in different organizations?
14. Is the application designed to facilitate change and ease of use by the user?
48
Metrics for Requirement Model –
Function Point (FP) Metrics
Example of Function Point Analysis Computation
49
Metrics for Requirement Model –
Function Point (FP) Metrics
Assume all functions have average complexity, so:
• EI: 3×4=12
• EO: 4×5=20
• EQ: 2×4=8
• ILF: 5×10=50
• EIF: 3×7=21
Now, Compute count_total:
count_total = 12+20+8+50+21=111
where fout(i) is the fan-out of module i , refers to the number of other modules or
components that a specific module or component calls or uses.
51
Metrics for Design Model
1. Architectural Design Metrics (contd.):
• Data complexity provides an indication of the complexity in the internal interface
for a module i and is defined as
where v(i) is the number of input and output variables that are passed to and from
module i
• Finally, system complexity is defined as the sum of structural and data complexity,
specified as
52
Metrics for Design Model
53
Metrics for Design Model
54
Metrics for Testing
where e(k) is computed for module k and the summation in the denominator is the sum
of Halstead effort across all modules of the system.
66
Metrics for Testing
Halstead defines a volume ratio L as the ratio of volume of the most compact form of a
program to the volume of the actual program. In actuality, L must always be less than
1.
67
Practice Questions
1. What are the four P’s of the management spectrum in software engineering?
a) Planning, People, Process, Product
b) People, Process, Product, Project
c) People, Planning, Performance, Process
d) Project, Process, Productivity, People
Answer: b) People, Process, Product, Project
72
Practice Questions
73
THANKS
74