Software Quality
Software Quality

(1) The degree to which a system, component, or
process meets specified requirements.

(2) The degree to which a system, component, or
process meets customer or user needs or
expectations.

                    Source: IEEE Std. 610-1990
According with Jones, a workable definition of software quality
needs to have six fundamental features:
1. Quality should be predictable before a software
application starts.
2. Quality needs to encompass all deliverables and not just
the code.
3. Quality should be measurable during development.
4. Quality should be measurable after release to customers.
5. Quality should be apparent to customers and recognized
by them.
6. Quality should         continue    after   release,    during
maintenance
Business advantages of software quality
• Increases sales volume
• Decreased support costs.
• Reduced liability.
• Software reuse.
Benefits   of   implementing             software
 engineering standards

• Increasing software quality.
• Reducing project cost and schedule.
• Achieving compliance.
• Improving manageability of software projects.
Metrics and Measures
•IEEE Std. 982.1-1988, IEEE Standard Dictionary of
Measures to Produce Reliable Software
•IEEE Std. 1061-1998, IEEE Standard for a Software Quality
Metrics Methodology
•IEEE Std. 982.2-1988, IEEE Guide for the Use of IEEE
Standard Dictionary of Measures to Produce Reliable
Software

These standards can be used to evaluate the software itself,
or the software development process
IEEE Std. 982.1
• Measure: a quantitative assessment of the degree to which a
software product or process possesses a given attribute.
• Reliability: The probability that software will not cause the failure
of a system for a specified time under specified conditions.
•Failure:
(1) The termination of the capability of a functional unit to perform
its required function.
(2) An event in which a system or system component does not
perform a required function within specified limits.
IEEE Std. 1061

 Software Quality Metrics: a function whose inputs are
software data and whose output is a single numerical value
that can be interpreted as the degree to which software
possesses a given attribute that affects its quality.
Goals IEEE 982.1
1. The process goal is to provide measures that may
be applicable throughout the life cycle and may
provide the means for continual self-assessment
and reliability improvement.
2. The product goal is to increase the reliability of
the software in its actual use environment during the
operations and support phases.
Benefits
• The use of metrics and measures can increase software
product reliability and quality,
• Metrics and measures can also increase the effectiveness
of software review and testing activities,
• Because metrics and measures provide a quantitative
means of evaluating software reliability and quality, they can
provide more objective, tangible, and neutral goals for project
personnel.
Goals IEEE 1061
The use of software metrics reduces subjectivity in
the assessment and control of software quality by
providing a quantitative basis for making decisions
about software quality.…The use of software metrics
within an organization or project is expected to have
a beneficial effect by making software quality more
visible.
Software quality assurance
Quality Assurance (QA):

(1) A planned and systematic pattern of all actions necessary
to provide adequate confidence that an item or product
conforms     to   established     technical      requirements.

(2) A set of activities designed to evaluate the process by
which products are developed or manufactured.

                                    Source: IEEE Std. 610.12
Verification and Validation (V&V)
The process of determining whether the
requirements for a system or component are
complete and correct, the products of each
development phase fulfill the requirements or
conditions imposed by the previous phase, and
the final system or component complies with
specified requirements.

I software quality

  • 1.
  • 2.
    Software Quality (1) Thedegree to which a system, component, or process meets specified requirements. (2) The degree to which a system, component, or process meets customer or user needs or expectations. Source: IEEE Std. 610-1990
  • 3.
    According with Jones,a workable definition of software quality needs to have six fundamental features: 1. Quality should be predictable before a software application starts. 2. Quality needs to encompass all deliverables and not just the code. 3. Quality should be measurable during development. 4. Quality should be measurable after release to customers. 5. Quality should be apparent to customers and recognized by them. 6. Quality should continue after release, during maintenance
  • 4.
    Business advantages ofsoftware quality • Increases sales volume • Decreased support costs. • Reduced liability. • Software reuse.
  • 5.
    Benefits of implementing software engineering standards • Increasing software quality. • Reducing project cost and schedule. • Achieving compliance. • Improving manageability of software projects.
  • 6.
    Metrics and Measures •IEEEStd. 982.1-1988, IEEE Standard Dictionary of Measures to Produce Reliable Software •IEEE Std. 1061-1998, IEEE Standard for a Software Quality Metrics Methodology •IEEE Std. 982.2-1988, IEEE Guide for the Use of IEEE Standard Dictionary of Measures to Produce Reliable Software These standards can be used to evaluate the software itself, or the software development process
  • 7.
    IEEE Std. 982.1 •Measure: a quantitative assessment of the degree to which a software product or process possesses a given attribute. • Reliability: The probability that software will not cause the failure of a system for a specified time under specified conditions. •Failure: (1) The termination of the capability of a functional unit to perform its required function. (2) An event in which a system or system component does not perform a required function within specified limits.
  • 8.
    IEEE Std. 1061 Software Quality Metrics: a function whose inputs are software data and whose output is a single numerical value that can be interpreted as the degree to which software possesses a given attribute that affects its quality.
  • 9.
    Goals IEEE 982.1 1.The process goal is to provide measures that may be applicable throughout the life cycle and may provide the means for continual self-assessment and reliability improvement. 2. The product goal is to increase the reliability of the software in its actual use environment during the operations and support phases.
  • 10.
    Benefits • The useof metrics and measures can increase software product reliability and quality, • Metrics and measures can also increase the effectiveness of software review and testing activities, • Because metrics and measures provide a quantitative means of evaluating software reliability and quality, they can provide more objective, tangible, and neutral goals for project personnel.
  • 11.
    Goals IEEE 1061 Theuse of software metrics reduces subjectivity in the assessment and control of software quality by providing a quantitative basis for making decisions about software quality.…The use of software metrics within an organization or project is expected to have a beneficial effect by making software quality more visible.
  • 12.
    Software quality assurance QualityAssurance (QA): (1) A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. (2) A set of activities designed to evaluate the process by which products are developed or manufactured. Source: IEEE Std. 610.12
  • 13.
    Verification and Validation(V&V) The process of determining whether the requirements for a system or component are complete and correct, the products of each development phase fulfill the requirements or conditions imposed by the previous phase, and the final system or component complies with specified requirements.