Software Engineering Product Metrics for Software - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Software Engineering Product Metrics for Software

Description:

... program can be expected to perform its intended function with required precision. ... Software Engineering Product Metrics for Software. METRIC FOR SOURCE CODE ... – PowerPoint PPT presentation

Number of Views:462
Avg rating:3.0/5.0
Slides: 16
Provided by: Salv9
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering Product Metrics for Software


1
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • In a general sense, software quality is
  • Conformance to explicitly stated functional and
    performance requirements, explicitly documented
    development standards, and implicit
    characteristics that are expected of all
    professionally developed software.
  • There are three key points
  • Software requirements are the foundation from
    which quality is measured. Lack of conformance to
    requirements is a lack of quality.
  • Specified standards define a set of development
    criteria that guide the manner in which software
    is engineered. If the criteria are not followed,
    lack of quality will almost surely result.
  • There is a set of implicit requirements that
    often goes unmentioned (e.g. the desire for ease
    of use). If software conforms to its explicit
    requirements but fails to meet implicit
    requirements, software quality is suspect.

2
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • McCalls Quality Factors
  • Factors that affect software quality can be
    categorized in two broad groups
  • Factors that can be directly measured (e.g.
    defects uncovered during testing)
  • Factors that can be measured only indirectly
    (e.g. usability or maintainability)

3
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • McCalls Quality Factors
  • Correctness The extent to which a program
    satisfies the specification and fulfills the
    customers mission objectives.
  • Reliability The extent to which a program can be
    expected to perform its intended function with
    required precision.
  • Efficiency The amount of computing recourses and
    code required by a program to perform its
    function.
  • Integrity The extend to which access to software
    or data by unauthorized persons can be
    controlled.
  • Usability The effort required to learn, operate,
    prepare input for and interpret output of a
    program. (This can be contradictory, can any
    guess why?)

4
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • McCalls Quality Factors
  • Usability The effort required to learn, operate,
    prepare input for and interpret output of a
    program. (This can be contradictory, can any
    guess why?)
  • What is efficient for a power user may not be
    effective for a end or novice user.
  • Maintainability The effort required to locate
    and fix an error in a program.
  • Flexibility The effort required to modify an
    operational program.
  • Testability The effort required to test a
    program to ensure that it performs the intended
    function.

5
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • McCalls Quality Factors
  • Portability The effort required to transfer the
    program from one hardware and/or software system
    environment to another.
  • Reusability The extent to which a program or
    parts of a program can be reused in other
    applications related to the packaging and scope
    of the functions that the program performs
  • Interoperability The effort required to couple
    one system to another.

6
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • McCalls Quality Factors
  • It is difficult, and in some cases impossible to
    develop direct measures of these quality factors.

7
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • ISO 9126 Quality Factors
  • A standard developed in an attempt to identify
    attributes for computer software.
  • Functionality The degree to which the software
    satisfies stated needs as indicated by the
    following sub-attributes suitability, accuracy,
    interoperability, compliance, and security.
  • Reliability The amount of time that the software
    is available for use as indicated by the
    following sub-attributes maturity, fault
    tolerance, recoverability.
  • Usability The degree to which the software is
    easy to use as indicated by the following
    sub-attributes understandability, learnability,
    operability.

8
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • ISO 9126 Quality Factors
  • Efficiency The degree to which the software
    makes optimal use of system resources as
    indicated by the following sub-attributes time
    behavior, resource behavior.
  • Maintainability The ease with which repair may
    be made to the software as indicated by the
    following sub-attributes analyzability,
    changeability, stability, and testability.
  • Portability The ease with which the software can
    be transposed from one environment to another as
    indicated by the following sub-attributes
    adaptability, installability, conformance, and
    replaceability.
  • Again these factors do not necessarily lend
    themselves to direct measurement.

9
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • Transition to a Quantitative View
  • Subjectivity and specialization apply to
    determining software quality.
  • To help solve the problem, a more precise
    definition of software quality is needed as well
    as a way to derive quantitative measurements of
    software quality for objective analysis.

10
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • Measure provides a quantitative indication of
    the extent, amount, dimension, capacity, or size
    of some attribute of a product or process.
  • Measurement is the act of determining a measure.
  • Metric relates the individual measure in some
    way (e.g. the average number of errors found per
    review or the average number of errors found per
    unit test)
  • CHALLENGES OF PRODUCT METRICS
  • Researchers have attempted to develop a single
    metric that provides a comprehensive measure of
    software complexity.
  • It is fair to ask, just how valid product metrics
    are?

11
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • A metric should have desirable mathematical
    properties (i.e. a meaningful range, zero to
    one).
  • When a metric represents a software
    characteristic that increase when positive traits
    occur or decreases when undesirable traits are
    encountered, the value of the metric should
    increase or decrease in the same manner.
  • Each metric should be validated empirically in a
    wide variety of contexts before being published
    or used to make decisions.

12
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • Good attributes for software metrics are
  • Simple and Computable
  • Intuitively persuasive
  • Consistent and objective
  • Consistent in the use of units and dimensions
  • Programming language independent
  • An effective mechanism for high-quality
    feedback.

13
Software Engineering Product Metrics for
Software
  • METRIC FOR SOURCE CODE
  • n1 the number of distinct operators that appear
    in a program
  • n2 the number of distinct operands that appear
    in a program
  • N1 the total number of operator occurrences.
  • N2 the total number of operand occurrence.
  • Overall program length N can be computed
  • N n1 log2 n1 n2 log2 n2
  • V N log2 (n1 n2)

14
Software Engineering Product Metrics for
Software
  • METRIC FOR TESTING
  • n1 the number of distinct operators that appear
    in a program
  • n2 the number of distinct operands that appear
    in a program
  • N1 the total number of operator occurrences.
  • N2 the total number of operand occurrence.
  • Program Level and Effort
  • PL 1/(n1 / 2) x (N2 / n2 l)
  • e V/PL

15
Software Engineering Product Metrics for
Software
  • SOFTWARE QUALITY
  • METRICS FOR MAINTENANCE
  • Mt the number of modules in the current release
  • Fc the number of modules in the current release
    that have been changed
  • Fa the number of modules in the current release
    that have been added.
  • Fd the number of modules from the preceding
    release that were deleted in the current release
  • The Software Maturity Index, SMI, is defined as
  • SMI Mt (Fc Fa Fd)/ Mt
Write a Comment
User Comments (0)
About PowerShow.com