尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
Chapter 4
Software Process and
Project Metrics
Software metrics refers to a broad range of measurements for
computer software.
Measurement can be applied to the software process with the intent
of improving it on a continuous basis.
Measurement can be used throughout a software project to assist in
estimation, quality control, productivity assessment, and project
control.
Measurement can be used by software engineers to help assess the
quality of technical work products and to assist in tactical decision
making as a project proceeds.
Why do we Measure?
• To characterize
• To evaluate
• To predict
• To improve
Measures, Metrics, and
Indicators
A measure provides a quantitative indication of the extent,
amount, dimension, capacity, or size of some attribute of a
product or process.
Metrics is a quantitative measure of the degree to which a
system, component, or process possesses a a given attribute.
Measures, Metrics, and
Indicators
An indicator is a metric or combination of metrics that provide
insight into the software process, a software project, or the
product itself. An indicator provides insight that enables the
project manager or software engineers to adjust the process,
the project, or the process to make things better.
Metrics in the Process and
Project Domains
Process indicators enable a software engineering organization to
gain insight into the efficacy of an existing process (I.e., the
paradigm, software engineering tasks, work products, and
milestones).
They enable managers and practitioners to assess what works and
what doesn’t.
Metrics in the Process and
Project Domains
Project indicators enable a software project manager to
1) assess the status of an ongoing project
2) track potential risks
3) Uncover problem areas before they go “critical”
4) Adjust work flow or tasks, and
5) Evaluate the project team’s ability to control quality of software
work products
4.2.1 Process Metrics and
Software Process Improvement
• Fig 4.1
• We measure the efficacy of a software process indirectly; we
derive a set of metrics based on the outcomes that can be
derived from the process.
Process Metrics and Software
Process Improvement
A software metrics etiquette:
• Use common sense an organizational sensitivity
when interpreting metrics data
• Provide regular feedback to the individuals and
teams who collect measures and metrics
• Don’t use metrics to appraise individuals
• Work with practitioners and teams to set clear goals
and metrics that will be used to achieve them
Cont..
Process Metrics and Software
Process Improvement
A software metrics etiquette (cont.):
• 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.
Process Metrics and Software
Process Improvement
A more rigorous approach: statistical software process improvement
(SSPI):
1. All errors and defects are categorized by origin (flaw in spec,
flaw in logic, nonconformance to standards).
2. The cost to correct each error and defect is recorded.
3. The number of errors and defects in each category is counted
and ranked in descending order.
Cont..
Process Metrics and Software
Process Improvement
SPPI (cont.):
4. The overall cost of errors and defects in each
category is computed.
5. Resultant data are analyzed to uncover the
categories that result in the highest cost to the
organization.
6. Plans are developed to modify the process with the
intent of eliminating (or reducing the frequency of)
the class of errors and defects that is most costly.
Fig 4.2 and Fig 4.3
4.2.2 Project Metrics
• Project metrics are used by a project manager and a software
team to adapt project work flow and technical activities.
• Occurred during:
• estimation  monitor and control progress.
• production rates: pages of documentation, review hours, function
points, and delivered source lines.
• errors
• technical metrics  quality
Project Metrics
The intent of project metrics are two folds:
- to minimize the development schedule by making the adjustments
necessary to avoid delays and mitigate potential problems.
- to assess product quality on an ongoing basis and, when
necessary, modify the technical approach to improve quality.
Project Metrics
Another model of project metrics suggests that every project should
measure:
• Inputs – measures of the resources required to do the work
• Outputs – measures of the deliverables or work products created
during the software engineering process
• Results – measures that indicate the effectiveness of the deliverables
Software Measurement
• Direct measures of SE process include cost and effort. Direct
measures of product include LOC produced, execution speed,
memory size, and defects reported over some set period of time.
• Indirect measures of product include functionality, quality,
complexity, efficiency, reliability, maintainability, and many other
“-abilities”
4.3.1 Size-oriented Metrics
• Derived by normalizing quality and/or productivity measures
by considering the size of the software that has been
produced.
• Fig 4.4
• For example: choose LOC as normalization value.
Size-oriented Metrics
Then we can develop a set of simple size-oriented metrics:
• Errors per KLOC
• Defects per KLOC
• $ per LOC
• Page of documentation per KLOC
And other interesting metrics can be computed:
• Errors per person-month, LOC per person-month, $ per page of
documentation.
4.3.2 Function-Oriented
Metrics
• Use a measure of the functionality delivered by the
application as a normalization value.
• Functionality can not be measured directly, it must be derived
indirectly using other direct measures.
• A measure called the function point.
Function-Oriented Metrics
Function points are derived using an empirical relationship
based on countable (direct) measures of software's
information domain and assessments of software complexity.
Function points are computed by completing the table shown in
Fig 4.5.
Computing Function
PointsAnalyz e info rmatio n
do main of the
application
and develop co unts
Weight each co unt by
assessing co mplexity
Assess influence of
glo bal facto rs that affect
the applicatio n
C ompute
functio n po ints
Establish count for input domain and
system interfaces
A ssign level of complexity orweight
to each count
Grade significance of external factors, F
such as reuse, concurrency, OS, ...
degree of influence: N = F
i
complexity multiplier: C = (0.65 + 0.01 x N)
function points = (count x w eight) x C
where:
i
Function-Oriented Metrics
To compute function points (FP), the following relationship is
used:
FP = count total x [0.65+0.01xΣ(Fi)]
Analyzing the Information
Domain
complexity multiplier
function points
number of user inputs
number of user outputs
number of user inquiries
number of files
number of ext.interfaces
measurement parameter
3
4
3
7
5
count
w eighting factor
simple avg. complex
4
5
4
10
7
6
7
6
15
10
=
=
=
=
=
count-total
X
X
X
X
X
Taking Complexity into
AccountFactors are rated on a scale of 0 (not important)
to 5 (very important):
data communications
distributed functions
heavily used configuration
transaction rate
on-line data entry
end user efficiency
on-line update
complex processing
installation ease
operational ease
multiple sites
facilitate change
Why Opt for FP
Measures?independent of programming language
uses readily countable characteristics of the
"information domain" of the problem
does not "penalize" inventive implementations that
require few er LOC than others
makes it easier to accommodate reuse and the
trend tow ard object-oriented approaches
Typical Function-Oriented
Metrics
• errors per FP
• defects per FP
• $ per FP
• pages of documentation per FP
• FP per person-month
4.4.3 Extended Function Point
Metrics
• Function point was inadequate for many engineering and
embedded systems.
• A function point extension called feature points, is a superset of
the function point measure that can be applied to systems and
engineering software applications.
• Accommodate applications in which algorithmic complexity is high.
Extended Function Point
Metrics
• The feature point metric counts a new software characteristic
– algorithms.
• Another function point extension – developed by Boeing 
integrate data dimension of software with functional and
control dimensions. “3D function point”.
• “Counted, quantified, and transformed”
Extended Function Point
Metrics
Function points, feature points, and 3D point represent the
same thing – “functionality” or “utility” delivered by software.
4.4 Reconciling Different Metrics
Approaches
• Attempt to relate FP and LOC measures. Table in page 94
4.5 Metrics for Software
Quality
• Must use technical measures to evaluate quality in objective,
rather than subjective ways.
• Must evaluate quality as the project progresses.
• The primary thrust is to measure errors and defects  metrics
provide indication of the effectiveness software quality assurance
and control activities.
Measuring Quality
• Correctness: defects per KLOC
• Maintainability: the ease that a program can be corrected,
adapted, and enhanced. Time/cost.
• Time-oriented metrics: Mean-time-to-change (MTTC)
• Cost-oriented metrics: Spoilage – cost to correct defects
encountered.
Measuring Quality
• Integrity: ability to withstand attacks
• Threat: the probability that an attack of a specific type will occur
within a given time.
• Security: the probability that the attack of a specific type will be
repelled.
Integrity = sum [(1 – threat)x(1 – security)]
Measuring Quality
• Usability: attempt to quantify “user-friendliness” in terms of
four characteristics:
1) The physical/intellectual skill to learn the system
2) The time required to become moderately efficient in the use of the
system
3) The net increase of productivity
4) A subjective assessment of user attitude toward the system (e.g.,
use of questionnaire).
Defect Removal Efficiency
• A quality metric that provides benefit at both the project and
process level.
• DRE is a measure of filtering ability of quality assurance and
control activities as they applied throughout all process
framework activities.
Defect Removal
Efficiency
DRE = (errors) / (errors + defects)
where
errors = problems found before release
defects = problems found after release
The ideal value for DRE is 1  no defects found.
4.6 Integrating Metrics Within
the Software Process
Arguments for Software Metrics:
• Why is it so important to measure the process of software
engineering and the product (software) that it produces?
4.7 Managing Variation:
Statistical Process Control
• How can we compare a variety of different projects?
• Use of Control Chart: to determine whether the dispersion
(variability) and “location” (moving average) of process metrics are
stable or unstable.
1) The moving average control chart
2) The individual control chart
Fig. 4.8 Page102
Moving Range (mR) Control
Chart
1. Calculate the moving ranges (mR)
2. Calculate the mean of the moving ranges
3. Multiply the mean by 3.268  upper control limit (UCL)
Fig. 4.8  4.9
- Are all moving range values inside the UCL?
- If “yes”  stable
Individual Chart Control
1. Plot individual metrics values as shown in Fig 4.8
2. Compute the average value, Am
3. Multiply the mean of the mR value by 2.660 and
add Am in (2)  plot the upper natural process
limit (UNPL)
4. Multiply the mean of the mR value by 2.660 and
subtract Am in (2)  plot the lower natural
process limit (LNPL)
5. Compute the SD as (UNPL – Am)/3. Plot lines one
and two SD above and below Am.
Individual Chart Control
Zone rules: If any of the following conditions is true, the metrics data
is out of control:
1. A single metrics value lies outside the UNPL
2. Two out of three successive metrics values lie more than two SD
away from Am
3. Four out of five successive metric values lie more than one SD
away from Am
4. Eight consecutive metrics values lie on one side of Am.
4.8 Metrics for Small
Organizations“Keep it simple”:
• Time
• Effort
• Errors
• Defects
Homework #2
• Problem# 4.9, 4.11, 4.13, 4.17, and 4.18
• Due Mon 15 July 2002

More Related Content

What's hot

Software design
Software designSoftware design
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
Priya Tomar
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
asimnawaz54
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
verification and validation
verification and validationverification and validation
verification and validation
Dinesh Pasi
 
Software metrics
Software metricsSoftware metrics
Software metrics
syeda madeha azmat
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
Aprajita (Abbey) Singh
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Software quality
Software qualitySoftware quality
Software quality
Sara Mehmood
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
KarthigaiSelviS3
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
Rahul Pola
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
saurabhshertukde
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
Drishti Bhalla
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
SHREEHARI WADAWADAGI
 
Software project planning
Software project planningSoftware project planning
Software project planning
rajvir_kaur
 

What's hot (20)

Software design
Software designSoftware design
Software design
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
verification and validation
verification and validationverification and validation
verification and validation
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Software quality
Software qualitySoftware quality
Software quality
 
Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Software project planning
Software project planningSoftware project planning
Software project planning
 

Similar to Software process and project metrics

Project Matrix and Measuring S/W
Project Matrix and Measuring S/WProject Matrix and Measuring S/W
Project Matrix and Measuring S/W
Akash Maheshwari
 
Software metrics
Software metricsSoftware metrics
Software metrics
Aadarsh Sharma
 
software metrics(process,project,product)
software metrics(process,project,product)software metrics(process,project,product)
software metrics(process,project,product)
Amisha Narsingani
 
Unit2 - Metrics.pptx
Unit2 - Metrics.pptxUnit2 - Metrics.pptx
Unit2 - Metrics.pptx
rituah
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
ShudipPal
 
Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.ppt
ssuser3f82c9
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
Seema Kamble
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
Rupesh Vaishnav
 
Software matrics and measurement
Software matrics and measurementSoftware matrics and measurement
Software matrics and measurement
Gurpreet Saini
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
Saqib Raza
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sakthibalabalamuruga
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
lokareminakshi
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
MuskanSony
 
Software metrics
Software metricsSoftware metrics
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metrics
Piyush Sohaney
 
Software engineering 11 software quality assurance plans
Software engineering 11 software quality assurance plansSoftware engineering 11 software quality assurance plans
Software engineering 11 software quality assurance plans
Vaibhav Khanna
 
Lecture3
Lecture3Lecture3
Lecture3
soloeng
 
Software Matrix it's a topic in software quality.pptx
Software Matrix it's a topic in software quality.pptxSoftware Matrix it's a topic in software quality.pptx
Software Matrix it's a topic in software quality.pptx
abpassion478
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
Software metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. MohiteSoftware metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. Mohite
Zeal Education Society, Pune
 

Similar to Software process and project metrics (20)

Project Matrix and Measuring S/W
Project Matrix and Measuring S/WProject Matrix and Measuring S/W
Project Matrix and Measuring S/W
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
software metrics(process,project,product)
software metrics(process,project,product)software metrics(process,project,product)
software metrics(process,project,product)
 
Unit2 - Metrics.pptx
Unit2 - Metrics.pptxUnit2 - Metrics.pptx
Unit2 - Metrics.pptx
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Chapter 11 Metrics for process and projects.ppt
Chapter 11  Metrics for process and projects.pptChapter 11  Metrics for process and projects.ppt
Chapter 11 Metrics for process and projects.ppt
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Software matrics and measurement
Software matrics and measurementSoftware matrics and measurement
Software matrics and measurement
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metrics
 
Software engineering 11 software quality assurance plans
Software engineering 11 software quality assurance plansSoftware engineering 11 software quality assurance plans
Software engineering 11 software quality assurance plans
 
Lecture3
Lecture3Lecture3
Lecture3
 
Software Matrix it's a topic in software quality.pptx
Software Matrix it's a topic in software quality.pptxSoftware Matrix it's a topic in software quality.pptx
Software Matrix it's a topic in software quality.pptx
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Software metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. MohiteSoftware metrics by Dr. B. J. Mohite
Software metrics by Dr. B. J. Mohite
 

More from Indu Sharma Bhardwaj

E model
E modelE model
E commerce
E commerceE commerce
Ui design final
Ui design finalUi design final
Ui design final
Indu Sharma Bhardwaj
 
Testing
TestingTesting
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
Indu Sharma Bhardwaj
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
Indu Sharma Bhardwaj
 
Software project management
Software project managementSoftware project management
Software project management
Indu Sharma Bhardwaj
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
Indu Sharma Bhardwaj
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
Indu Sharma Bhardwaj
 
Risk analysis
Risk analysisRisk analysis
Risk analysis
Indu Sharma Bhardwaj
 
Design final
Design finalDesign final
Design final
Indu Sharma Bhardwaj
 
Debugging
DebuggingDebugging
10 common english mistakes
10 common english mistakes10 common english mistakes
10 common english mistakes
Indu Sharma Bhardwaj
 
3. jvm
3. jvm3. jvm
6. static keyword
6. static keyword6. static keyword
6. static keyword
Indu Sharma Bhardwaj
 
4. method overloading
4. method overloading4. method overloading
4. method overloading
Indu Sharma Bhardwaj
 
2. hello java
2. hello java2. hello java
2. hello java
Indu Sharma Bhardwaj
 
1 .java basic
1 .java basic1 .java basic
1 .java basic
Indu Sharma Bhardwaj
 

More from Indu Sharma Bhardwaj (18)

E model
E modelE model
E model
 
E commerce
E commerceE commerce
E commerce
 
Ui design final
Ui design finalUi design final
Ui design final
 
Testing
TestingTesting
Testing
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 
Software project management
Software project managementSoftware project management
Software project management
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
 
Risk analysis
Risk analysisRisk analysis
Risk analysis
 
Design final
Design finalDesign final
Design final
 
Debugging
DebuggingDebugging
Debugging
 
10 common english mistakes
10 common english mistakes10 common english mistakes
10 common english mistakes
 
3. jvm
3. jvm3. jvm
3. jvm
 
6. static keyword
6. static keyword6. static keyword
6. static keyword
 
4. method overloading
4. method overloading4. method overloading
4. method overloading
 
2. hello java
2. hello java2. hello java
2. hello java
 
1 .java basic
1 .java basic1 .java basic
1 .java basic
 

Recently uploaded

managing Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptxmanaging Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptx
nabaegha
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
biruktesfaye27
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
chaudharyreet2244
 
How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17
Celine George
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
MattVassar1
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
MattVassar1
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
Celine George
 
BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...
BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...
BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...
Nguyen Thanh Tu Collection
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
Kalna College
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
Quizzito The Quiz Society of Gargi College
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
roshanranjit222
 
Keynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse CityKeynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse City
PJ Caposey
 
Creating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptxCreating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptx
Forum of Blended Learning
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
MattVassar1
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
Celine George
 
220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science
Kalna College
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
yarusun
 
Observational Learning
Observational Learning Observational Learning
Observational Learning
sanamushtaq922
 
Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024
Friends of African Village Libraries
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
MJDuyan
 

Recently uploaded (20)

managing Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptxmanaging Behaviour in early childhood education.pptx
managing Behaviour in early childhood education.pptx
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
 
How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17
 
Non-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech ProfessionalsNon-Verbal Communication for Tech Professionals
Non-Verbal Communication for Tech Professionals
 
Cross-Cultural Leadership and Communication
Cross-Cultural Leadership and CommunicationCross-Cultural Leadership and Communication
Cross-Cultural Leadership and Communication
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
 
BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...
BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...
BỘ BÀI TẬP TEST THEO UNIT - FORM 2025 - TIẾNG ANH 12 GLOBAL SUCCESS - KÌ 1 (B...
 
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
220711130083 SUBHASHREE RAKSHIT  Internet resources for social science220711130083 SUBHASHREE RAKSHIT  Internet resources for social science
220711130083 SUBHASHREE RAKSHIT Internet resources for social science
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
 
IoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdfIoT (Internet of Things) introduction Notes.pdf
IoT (Internet of Things) introduction Notes.pdf
 
Keynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse CityKeynote given on June 24 for MASSP at Grand Traverse City
Keynote given on June 24 for MASSP at Grand Traverse City
 
Creating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptxCreating Images and Videos through AI.pptx
Creating Images and Videos through AI.pptx
 
Creativity for Innovation and Speechmaking
Creativity for Innovation and SpeechmakingCreativity for Innovation and Speechmaking
Creativity for Innovation and Speechmaking
 
How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17How to Download & Install Module From the Odoo App Store in Odoo 17
How to Download & Install Module From the Odoo App Store in Odoo 17
 
220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science220711130082 Srabanti Bag Internet Resources For Natural Science
220711130082 Srabanti Bag Internet Resources For Natural Science
 
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
Get Success with the Latest UiPath UIPATH-ADPV1 Exam Dumps (V11.02) 2024
 
Observational Learning
Observational Learning Observational Learning
Observational Learning
 
Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024Library news letter Kitengesa Uganda June 2024
Library news letter Kitengesa Uganda June 2024
 
Information and Communication Technology in Education
Information and Communication Technology in EducationInformation and Communication Technology in Education
Information and Communication Technology in Education
 

Software process and project metrics

  • 1. Chapter 4 Software Process and Project Metrics
  • 2. Software metrics refers to a broad range of measurements for computer software. Measurement can be applied to the software process with the intent of improving it on a continuous basis. Measurement can be used throughout a software project to assist in estimation, quality control, productivity assessment, and project control. Measurement can be used by software engineers to help assess the quality of technical work products and to assist in tactical decision making as a project proceeds.
  • 3. Why do we Measure? • To characterize • To evaluate • To predict • To improve
  • 4. Measures, Metrics, and Indicators A measure provides a quantitative indication of the extent, amount, dimension, capacity, or size of some attribute of a product or process. Metrics is a quantitative measure of the degree to which a system, component, or process possesses a a given attribute.
  • 5. Measures, Metrics, and Indicators An indicator is a metric or combination of metrics that provide insight into the software process, a software project, or the product itself. An indicator provides insight that enables the project manager or software engineers to adjust the process, the project, or the process to make things better.
  • 6. Metrics in the Process and Project Domains Process indicators enable a software engineering organization to gain insight into the efficacy of an existing process (I.e., the paradigm, software engineering tasks, work products, and milestones). They enable managers and practitioners to assess what works and what doesn’t.
  • 7. Metrics in the Process and Project Domains Project indicators enable a software project manager to 1) assess the status of an ongoing project 2) track potential risks 3) Uncover problem areas before they go “critical” 4) Adjust work flow or tasks, and 5) Evaluate the project team’s ability to control quality of software work products
  • 8. 4.2.1 Process Metrics and Software Process Improvement • Fig 4.1 • We measure the efficacy of a software process indirectly; we derive a set of metrics based on the outcomes that can be derived from the process.
  • 9. Process Metrics and Software Process Improvement A software metrics etiquette: • Use common sense an organizational sensitivity when interpreting metrics data • Provide regular feedback to the individuals and teams who collect measures and metrics • Don’t use metrics to appraise individuals • Work with practitioners and teams to set clear goals and metrics that will be used to achieve them Cont..
  • 10. Process Metrics and Software Process Improvement A software metrics etiquette (cont.): • 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.
  • 11. Process Metrics and Software Process Improvement A more rigorous approach: statistical software process improvement (SSPI): 1. All errors and defects are categorized by origin (flaw in spec, flaw in logic, nonconformance to standards). 2. The cost to correct each error and defect is recorded. 3. The number of errors and defects in each category is counted and ranked in descending order. Cont..
  • 12. Process Metrics and Software Process Improvement SPPI (cont.): 4. The overall cost of errors and defects in each category is computed. 5. Resultant data are analyzed to uncover the categories that result in the highest cost to the organization. 6. Plans are developed to modify the process with the intent of eliminating (or reducing the frequency of) the class of errors and defects that is most costly. Fig 4.2 and Fig 4.3
  • 13. 4.2.2 Project Metrics • Project metrics are used by a project manager and a software team to adapt project work flow and technical activities. • Occurred during: • estimation  monitor and control progress. • production rates: pages of documentation, review hours, function points, and delivered source lines. • errors • technical metrics  quality
  • 14. Project Metrics The intent of project metrics are two folds: - to minimize the development schedule by making the adjustments necessary to avoid delays and mitigate potential problems. - to assess product quality on an ongoing basis and, when necessary, modify the technical approach to improve quality.
  • 15. Project Metrics Another model of project metrics suggests that every project should measure: • Inputs – measures of the resources required to do the work • Outputs – measures of the deliverables or work products created during the software engineering process • Results – measures that indicate the effectiveness of the deliverables
  • 16. Software Measurement • Direct measures of SE process include cost and effort. Direct measures of product include LOC produced, execution speed, memory size, and defects reported over some set period of time. • Indirect measures of product include functionality, quality, complexity, efficiency, reliability, maintainability, and many other “-abilities”
  • 17. 4.3.1 Size-oriented Metrics • Derived by normalizing quality and/or productivity measures by considering the size of the software that has been produced. • Fig 4.4 • For example: choose LOC as normalization value.
  • 18. Size-oriented Metrics Then we can develop a set of simple size-oriented metrics: • Errors per KLOC • Defects per KLOC • $ per LOC • Page of documentation per KLOC And other interesting metrics can be computed: • Errors per person-month, LOC per person-month, $ per page of documentation.
  • 19. 4.3.2 Function-Oriented Metrics • Use a measure of the functionality delivered by the application as a normalization value. • Functionality can not be measured directly, it must be derived indirectly using other direct measures. • A measure called the function point.
  • 20. Function-Oriented Metrics Function points are derived using an empirical relationship based on countable (direct) measures of software's information domain and assessments of software complexity. Function points are computed by completing the table shown in Fig 4.5.
  • 21. Computing Function PointsAnalyz e info rmatio n do main of the application and develop co unts Weight each co unt by assessing co mplexity Assess influence of glo bal facto rs that affect the applicatio n C ompute functio n po ints Establish count for input domain and system interfaces A ssign level of complexity orweight to each count Grade significance of external factors, F such as reuse, concurrency, OS, ... degree of influence: N = F i complexity multiplier: C = (0.65 + 0.01 x N) function points = (count x w eight) x C where: i
  • 22. Function-Oriented Metrics To compute function points (FP), the following relationship is used: FP = count total x [0.65+0.01xΣ(Fi)]
  • 23. Analyzing the Information Domain complexity multiplier function points number of user inputs number of user outputs number of user inquiries number of files number of ext.interfaces measurement parameter 3 4 3 7 5 count w eighting factor simple avg. complex 4 5 4 10 7 6 7 6 15 10 = = = = = count-total X X X X X
  • 24. Taking Complexity into AccountFactors are rated on a scale of 0 (not important) to 5 (very important): data communications distributed functions heavily used configuration transaction rate on-line data entry end user efficiency on-line update complex processing installation ease operational ease multiple sites facilitate change
  • 25. Why Opt for FP Measures?independent of programming language uses readily countable characteristics of the "information domain" of the problem does not "penalize" inventive implementations that require few er LOC than others makes it easier to accommodate reuse and the trend tow ard object-oriented approaches
  • 26. Typical Function-Oriented Metrics • errors per FP • defects per FP • $ per FP • pages of documentation per FP • FP per person-month
  • 27. 4.4.3 Extended Function Point Metrics • Function point was inadequate for many engineering and embedded systems. • A function point extension called feature points, is a superset of the function point measure that can be applied to systems and engineering software applications. • Accommodate applications in which algorithmic complexity is high.
  • 28. Extended Function Point Metrics • The feature point metric counts a new software characteristic – algorithms. • Another function point extension – developed by Boeing  integrate data dimension of software with functional and control dimensions. “3D function point”. • “Counted, quantified, and transformed”
  • 29. Extended Function Point Metrics Function points, feature points, and 3D point represent the same thing – “functionality” or “utility” delivered by software.
  • 30. 4.4 Reconciling Different Metrics Approaches • Attempt to relate FP and LOC measures. Table in page 94
  • 31. 4.5 Metrics for Software Quality • Must use technical measures to evaluate quality in objective, rather than subjective ways. • Must evaluate quality as the project progresses. • The primary thrust is to measure errors and defects  metrics provide indication of the effectiveness software quality assurance and control activities.
  • 32. Measuring Quality • Correctness: defects per KLOC • Maintainability: the ease that a program can be corrected, adapted, and enhanced. Time/cost. • Time-oriented metrics: Mean-time-to-change (MTTC) • Cost-oriented metrics: Spoilage – cost to correct defects encountered.
  • 33. Measuring Quality • Integrity: ability to withstand attacks • Threat: the probability that an attack of a specific type will occur within a given time. • Security: the probability that the attack of a specific type will be repelled. Integrity = sum [(1 – threat)x(1 – security)]
  • 34. Measuring Quality • Usability: attempt to quantify “user-friendliness” in terms of four characteristics: 1) The physical/intellectual skill to learn the system 2) The time required to become moderately efficient in the use of the system 3) The net increase of productivity 4) A subjective assessment of user attitude toward the system (e.g., use of questionnaire).
  • 35. Defect Removal Efficiency • A quality metric that provides benefit at both the project and process level. • DRE is a measure of filtering ability of quality assurance and control activities as they applied throughout all process framework activities.
  • 36. Defect Removal Efficiency DRE = (errors) / (errors + defects) where errors = problems found before release defects = problems found after release The ideal value for DRE is 1  no defects found.
  • 37. 4.6 Integrating Metrics Within the Software Process Arguments for Software Metrics: • Why is it so important to measure the process of software engineering and the product (software) that it produces?
  • 38. 4.7 Managing Variation: Statistical Process Control • How can we compare a variety of different projects? • Use of Control Chart: to determine whether the dispersion (variability) and “location” (moving average) of process metrics are stable or unstable. 1) The moving average control chart 2) The individual control chart Fig. 4.8 Page102
  • 39. Moving Range (mR) Control Chart 1. Calculate the moving ranges (mR) 2. Calculate the mean of the moving ranges 3. Multiply the mean by 3.268  upper control limit (UCL) Fig. 4.8  4.9 - Are all moving range values inside the UCL? - If “yes”  stable
  • 40. Individual Chart Control 1. Plot individual metrics values as shown in Fig 4.8 2. Compute the average value, Am 3. Multiply the mean of the mR value by 2.660 and add Am in (2)  plot the upper natural process limit (UNPL) 4. Multiply the mean of the mR value by 2.660 and subtract Am in (2)  plot the lower natural process limit (LNPL) 5. Compute the SD as (UNPL – Am)/3. Plot lines one and two SD above and below Am.
  • 41. Individual Chart Control Zone rules: If any of the following conditions is true, the metrics data is out of control: 1. A single metrics value lies outside the UNPL 2. Two out of three successive metrics values lie more than two SD away from Am 3. Four out of five successive metric values lie more than one SD away from Am 4. Eight consecutive metrics values lie on one side of Am.
  • 42. 4.8 Metrics for Small Organizations“Keep it simple”: • Time • Effort • Errors • Defects
  • 43. Homework #2 • Problem# 4.9, 4.11, 4.13, 4.17, and 4.18 • Due Mon 15 July 2002
  翻译: