Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
G.H. PATEL COLLEGE OF ENGINEERING &
TECHNOLOGY
SUBJECT : SOFTWARE ENGINEERING(2160701)
DEPARTMENT: COMPUTER
PREPARED BY:
RUCHITESH MALUKANI-160110107026
NARSINGANI AMISHA-160110107031
GUJARAT TECHNOLOGICAL UNIVERSITY
Questions
 How big is the program?
 Huge!!
 How close are you to finishing?
 We are almost there!!
 Can you, as a manager, make any useful decisions from such
subjective information?
 Need information like, cost, effort, size of project.
Why Measure Software?
 Determine the quality of the current product or process
 Predict qualities of a product/process
 Improve quality of a product/process
Metrics
 Quantifiable measures that could be used to measure
characteristics of a software system or the software
development process
 Required in all phases
 Required for effective management
 Managers need quantifiable information, and not subjective
information
 Subjective information goes against the fundamental goal
of engineering
Measurement
 Measurement is fundamental to any engineering discipline
 Software Metrics - Broad range of measurements for
computer software
 Software Process - Measurement can be applied to improve it
on a continuous basis
 Software Project - Measurement can be applied in estimation,
quality control, productivity assessment & project control
 Measurement can be used by software engineers in decision
making.
Definitions
• Measure - Quantitative indication of the extent, amount,
dimension, capacity or size of some attribute of a product or
process.
E.g., Number of errors
 Measurement - The act of determining a measure
 Metric - A quantitative measure of the degree to which a
system, component, or process possesses a given attribute
 E.g., Number of errors found per person hours expended
Definitions
 Indicator – An indicator is a metric or combination of metrics
that provide insight into the software process, a software
project or the product itself.
 Direct Metrics: Immediately measurable attributes (e.g. line of
code, execution speed, defects reported)
 Indirect Metrics: Aspects that are not immediately
quantifiable (e.g. functionality, quantity, reliability)
 Faults:
 Errors: Faults found by the practitioners during software
development
 Defects: Faults found by the customers after release
Why Do We Measure?
 To indicate the quality of the product.
 To assess the productivity of the people who produce the
product
 To assess the benefits derived from new software engineering
methods and tools
 To form a baseline for estimation
 To help justify requests for new tools or additional training
 Estimate the cost & schedule of future projects
 Forecast future staffing needs
 Anticipate and reduce future maintenance needs
A Good Manager Measures
measurement
What do we
use as a
basis?
• size?
• function?
project metrics
process metrics
process
product
product metrics
Process Metrics
 majority focus on quality achieved as a consequence of a
repeatable or managed process
 statistical SQA data
 error categorization & analysis
 defect removal efficiency
 propagation from phase to phase
 reuse data
Process Metrics
Measuring the outcomes:
 Errors
 Defects
 Productivity
 Effort
 Time
 Schedule conformance
Measuring the characteristics of specific task:
 Effort and time spent performing the umbrella activities and generic SE
activities
Factors Affecting Software Quality
How to Measure Effectiveness of a Software
Process
 We measure the effectiveness of a software process indirectly
 We derive a set of metrics based on the outcomes that can be derived
from the process.
 Outcomes include
 Errors uncovered before release of the software
 Defects delivered to and reported by end-users
 Work products delivered (productivity)
 Human effort
 Calendar time etc.
 Conformance to schedule
Project Metrics
 Project Metrics are the measures of Software Project and are
used to monitor and control the project. They enable a
software project manager to:
 Minimize the development time by making the
adjustments necessary to avoid delays and potential
problems and risks.
 Assess product quality on an ongoing basis & modify the
technical approach to improve quality.
Project Metrics
 Used in estimation techniques & other technical work.
 Metrics collected from past projects are used as a basis from
which effort and time estimates are made for current software
project.
 As a project proceeds, actual values of human effort &
calendar time expended are compared to the original
estimates.
 This data is used by the project manager to monitor & control
the project.
Project Metrics
 Used by a project manager and software team to
adapt project work flow and technical activities.
 Metrics:
 Effort or time per SE task
 Errors uncovered per review hour
 Scheduled vs. actual milestone dates
 Number of changes and their characteristics
 Distribution of effort on SE tasks
Product Metrics
 focus on the quality of deliverables
 measures of analysis model
 complexity of the design
 internal algorithmic complexity
 architectural complexity
 data flow complexity
 code measures (e.g., Halstead)
 measures of process effectiveness
 e.g., defect removal efficiency
Metrics Guidelines
 Use common sense and organizational sensitivity when interpreting metrics
data.
 Provide regular feedback to the individuals and teams who have worked to
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.
 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.
Types of Software Measurements
 Direct measures
 Easy to collect
 E.g. Cost, Effort, Lines of codes (LOC), Execution Speed,
Memory size, Defects etc.
 Indirect measures
 More difficult to assess & can be measured indirectly only.
 Quality, Functionality, Complexity, Reliability, Efficiency,
Maintainability etc.
Normalization of Metrics
 To answer this we need to know the size & complexity of the
projects.
 But if we normalize the measures, it is possible to compare the
two
 Normalization: compensate for complexity aspects particular
to a product
 For normalization we have 2 ways-
 Size-Oriented Metrics
 Function Oriented Metrics
Size-Oriented Metrics
• Based on the “size” of the software produced
 LOC - Lines Of Code
 KLOC - 1000 Lines Of Code
 SLOC – Statement Lines of Code (ignore whitespace)
 Typical Measures:
 Errors/KLOC, Defects/KLOC, Cost/LOC, Documentation
Pages/KLOC
Function-Oriented Metrics
 Based on “functionality” delivered by the software
 Functionality is measured indirectly using a measure called
function point.
 Function points (FP) - derived using an empirical relationship
based on countable measures of software & assessments of
software complexity
Qualities of a good metric
 simple, precisely definable—so that it is clear how the metric can be
evaluated;
 objective, to the greatest extent possible;
 easily obtainable (i.e., at reasonable cost);
 valid—the metric should measure what it is intended to measure; and
 robust—relatively insensitive to (intuitively) insignificant changes in the
process or product.
software metrics(process,project,product)

More Related Content

software metrics(process,project,product)

  • 1. G.H. PATEL COLLEGE OF ENGINEERING & TECHNOLOGY SUBJECT : SOFTWARE ENGINEERING(2160701) DEPARTMENT: COMPUTER PREPARED BY: RUCHITESH MALUKANI-160110107026 NARSINGANI AMISHA-160110107031 GUJARAT TECHNOLOGICAL UNIVERSITY
  • 2. Questions  How big is the program?  Huge!!  How close are you to finishing?  We are almost there!!  Can you, as a manager, make any useful decisions from such subjective information?  Need information like, cost, effort, size of project.
  • 3. Why Measure Software?  Determine the quality of the current product or process  Predict qualities of a product/process  Improve quality of a product/process
  • 4. Metrics  Quantifiable measures that could be used to measure characteristics of a software system or the software development process  Required in all phases  Required for effective management  Managers need quantifiable information, and not subjective information  Subjective information goes against the fundamental goal of engineering
  • 5. Measurement  Measurement is fundamental to any engineering discipline  Software Metrics - Broad range of measurements for computer software  Software Process - Measurement can be applied to improve it on a continuous basis  Software Project - Measurement can be applied in estimation, quality control, productivity assessment & project control  Measurement can be used by software engineers in decision making.
  • 6. Definitions • Measure - Quantitative indication of the extent, amount, dimension, capacity or size of some attribute of a product or process. E.g., Number of errors  Measurement - The act of determining a measure  Metric - A quantitative measure of the degree to which a system, component, or process possesses a given attribute  E.g., Number of errors found per person hours expended
  • 7. Definitions  Indicator – An indicator is a metric or combination of metrics that provide insight into the software process, a software project or the product itself.  Direct Metrics: Immediately measurable attributes (e.g. line of code, execution speed, defects reported)  Indirect Metrics: Aspects that are not immediately quantifiable (e.g. functionality, quantity, reliability)  Faults:  Errors: Faults found by the practitioners during software development  Defects: Faults found by the customers after release
  • 8. Why Do We Measure?  To indicate the quality of the product.  To assess the productivity of the people who produce the product  To assess the benefits derived from new software engineering methods and tools  To form a baseline for estimation  To help justify requests for new tools or additional training  Estimate the cost & schedule of future projects  Forecast future staffing needs  Anticipate and reduce future maintenance needs
  • 9. A Good Manager Measures measurement What do we use as a basis? • size? • function? project metrics process metrics process product product metrics
  • 10. Process Metrics  majority focus on quality achieved as a consequence of a repeatable or managed process  statistical SQA data  error categorization & analysis  defect removal efficiency  propagation from phase to phase  reuse data
  • 11. Process Metrics Measuring the outcomes:  Errors  Defects  Productivity  Effort  Time  Schedule conformance Measuring the characteristics of specific task:  Effort and time spent performing the umbrella activities and generic SE activities
  • 13. How to Measure Effectiveness of a Software Process  We measure the effectiveness of a software process indirectly  We derive a set of metrics based on the outcomes that can be derived from the process.  Outcomes include  Errors uncovered before release of the software  Defects delivered to and reported by end-users  Work products delivered (productivity)  Human effort  Calendar time etc.  Conformance to schedule
  • 14. Project Metrics  Project Metrics are the measures of Software Project and are used to monitor and control the project. They enable a software project manager to:  Minimize the development time by making the adjustments necessary to avoid delays and potential problems and risks.  Assess product quality on an ongoing basis & modify the technical approach to improve quality.
  • 15. Project Metrics  Used in estimation techniques & other technical work.  Metrics collected from past projects are used as a basis from which effort and time estimates are made for current software project.  As a project proceeds, actual values of human effort & calendar time expended are compared to the original estimates.  This data is used by the project manager to monitor & control the project.
  • 16. Project Metrics  Used by a project manager and software team to adapt project work flow and technical activities.  Metrics:  Effort or time per SE task  Errors uncovered per review hour  Scheduled vs. actual milestone dates  Number of changes and their characteristics  Distribution of effort on SE tasks
  • 17. Product Metrics  focus on the quality of deliverables  measures of analysis model  complexity of the design  internal algorithmic complexity  architectural complexity  data flow complexity  code measures (e.g., Halstead)  measures of process effectiveness  e.g., defect removal efficiency
  • 18. Metrics Guidelines  Use common sense and organizational sensitivity when interpreting metrics data.  Provide regular feedback to the individuals and teams who have worked to 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.  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.
  • 19. Types of Software Measurements  Direct measures  Easy to collect  E.g. Cost, Effort, Lines of codes (LOC), Execution Speed, Memory size, Defects etc.  Indirect measures  More difficult to assess & can be measured indirectly only.  Quality, Functionality, Complexity, Reliability, Efficiency, Maintainability etc.
  • 20. Normalization of Metrics  To answer this we need to know the size & complexity of the projects.  But if we normalize the measures, it is possible to compare the two  Normalization: compensate for complexity aspects particular to a product  For normalization we have 2 ways-  Size-Oriented Metrics  Function Oriented Metrics
  • 21. Size-Oriented Metrics • Based on the “size” of the software produced  LOC - Lines Of Code  KLOC - 1000 Lines Of Code  SLOC – Statement Lines of Code (ignore whitespace)  Typical Measures:  Errors/KLOC, Defects/KLOC, Cost/LOC, Documentation Pages/KLOC
  • 22. Function-Oriented Metrics  Based on “functionality” delivered by the software  Functionality is measured indirectly using a measure called function point.  Function points (FP) - derived using an empirical relationship based on countable measures of software & assessments of software complexity
  • 23. Qualities of a good metric  simple, precisely definable—so that it is clear how the metric can be evaluated;  objective, to the greatest extent possible;  easily obtainable (i.e., at reasonable cost);  valid—the metric should measure what it is intended to measure; and  robust—relatively insensitive to (intuitively) insignificant changes in the process or product.