0% found this document useful (0 votes)
17 views23 pages

Lecture 2 Quality Models

The document discusses various quality models and frameworks in software engineering, emphasizing the importance of both process-based and product-based approaches to ensure software quality. Key models include ISO-9126, McCall, and the FURPS model, each defining specific attributes and characteristics of software quality. Additionally, it covers the concept of Cost of Quality, which quantifies the costs associated with maintaining and failing to maintain quality standards.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views23 pages

Lecture 2 Quality Models

The document discusses various quality models and frameworks in software engineering, emphasizing the importance of both process-based and product-based approaches to ensure software quality. Key models include ISO-9126, McCall, and the FURPS model, each defining specific attributes and characteristics of software quality. Additionally, it covers the concept of Cost of Quality, which quantifies the costs associated with maintaining and failing to maintain quality standards.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Quality Models

Lecture 2
Text Book
Software Quality Engineering by Jeff Tian
Quality Standards and Frameworks
• Two approaches to software that can be followed to ensure
software quality:
• Process based: assurance of the process by which a product is
developed (ISO 9001, ISO 9000-3 provides guidelines for the
application of the ISO 9001)
• Product based: the evaluation of the quality of the end product
(ISO 9126).
• Both approaches are important and both require the
presence of a system for managing quality.
QUALITY FRAMEWORKS AND
ISO-9126
• Various models or frameworks have been proposed to accommodate
these different quality views and expectations, define quality and
related attributes, features, characteristics, and measurements.
• ISO-9126 (ISO, 2001), the mostly influential one in the software
engineering community today, and discuss various adaptations of
such quality frameworks for specific application environments.
• Causal relationship from intangible quality views to tangible software
measures.
Quality Frameworks

• Two main approaches:


• „ Standard Models:
• ISO 9126
• McCall
• Application or company specific quality models:
• FURPS
Functionality, Usability, Reliability, Performance , and
Supportability
• GQM Approach
ISO-9126
ISO-9126
• Functionality: A set of attributes that bear on the existence of a set of functions
and their specified properties. The functions are those that satisfy stated or
implied needs. The sub-characteristics include:
• Suitability- to the user’s needs
• Accuracy- of results
• Interoperability- with other systems
• Security- against unintended access

• Reliability: A set of attributes that bear on the capability of software to maintain


its level of performance under stated conditions for a stated period of time. The
sub-characteristics include:
• Maturity- frequency of failures
• Fault Tolerance- performance in case of faults
• Recoverability- of functionality and data loss
ISO-9126
• Usability: A set of attributes that bear on the effort needed for use, and on
the individual assessment of such use, by a stated or implied set of users.
The sub characteristics include:
• - Understandability
• - Learnability
• - Operability

• Efficiency: A set of attributes that bear on the relationship between the


level of performance of the software and the amount of resources used,
under stated conditions. The sub-characteristics include:
• - Time behavior
• - Resource behavior
ISO-9126
• Maintainability: A set of attributes that bear on the effort needed to make
specified modifications. The sub-characteristics include:
• - Analyzability- effort for diagnosis
• Changeability- ease of modification
• Stability- after change
• Testability- effort required for testing after change

• Portability: A set of attributes that bear on the ability of software to be


transferred from one environment to another. The sub-characteristics include:
• - Adaptability
• - Installability
• - Conformance
• - Replaceability
McCall Quality Model
• This model classifies all software requirements into 11 software quality
factors. The 11 factors are grouped into three categories.
Product operation factors − Correctness, Reliability, Efficiency, Integrity, Usability.
Product revision factors − Maintainability, Flexibility, Testability.
Product transition factors − Portability, Reusability, Interoperability.
Boehm’s Quality Model
• The model three levels, high level characteristics, intermediate level
characteristics, and primitive characteristics.
• The high level of characteristics is made in such a way that answers
following questions:
• As-Is Utility:: It defines the way a utility signifies the as-is utility. It
creates a question of how easily, reliably and efficiently an as can be
utilized.
• Maintainability:: This aspect decides how convenient it is to understand,
change or re-evaluate a process.
• Portability: This aspect helps in deciding an effective way to change an
environment.
Boehm’s Quality Model
• The intermediate level of characteristics represented by the model displays seven
quality factors that altogether signify expected quality from a software system. These
are as follows:
• Flexibility: It is very easy to amend the software as per the requirement. Parameters
of the software should be so flexible that they can react on numerous situations.
• Reliability: Software performance should be reliable with zero defects. Result should
be accurate.
• Portability: Software can run on different computer' program example DOS, windows.
• Efficiency: Practical & efficient use of resources or data collected. Optimum utilization
of resources should be made.
• "Testability": Software should be tested easily and as a result users can easily check
that the results are correct, so that they can rely on result blindly.
• Understandability: Software should be simple to understand for users so that they can
use it properly and efficiently.
• Usability: Users can apply it easily and comfortably.
Boehm’s Quality Model
• The next level “Primitive Level” includes the following measurable properties. These are
as follows:
1. Device Independence.
2. Accuracy.
3. Completeness.
4. Robustness.
5. Consistency.
6. Accountability.
7. Device efficiency.
8. Accessibility.
9. Communicativeness.
10. Self-descriptiveness.
11. Legibility.
12. Augment-ability.
Boehm’s Model
“FURPS” Model
• Functional: Functional Requirement (FRs) is a description of the service that the
software must offer. It describes a software system or its component.
• Non-Functional (NFRs)
• Usability
• The ease with which the system can be learned and operated by the intended users.
• Help, documentation, required training time, task times for typical tasks, conformance to usability
standards, etc.
• Reliability
• Allowed MTBF (Mean Time Between Failures)
• Recoverability, etc.
• Performance
• Response time, throughput, …
• Average, maximum response time for a transaction
• Number of customers/transactions the system can accommodate
• Example:
• Buyers want to complete sales processing very quickly. One bottleneck is external payment authorization. Our
goal: authorization in less than 1 minute, 90% of the time.
• Supportability:
• Supportability is the ability of the software to be easily modified to accommodate enhancements and
repairs
GQM (goal, question, metric) by Software
Engineering Lab at the NASA
• A measurement program can be more successful if designed with the
goals in mind
• „ GQM approach provides a framework with 3 steps:

• List the major goals of the development / maintenance project


• Derive from each goal the questions that must be answered to
determine if the goals are being met
• Decide what must be measured to answer the questions
adequately
GQM (goal, question, metric)
• Example:

GOAL Evaluate effectiveness of coding standard

Who is What is What is


QUESTIONS using coder code
Standard? productivity? quality?

Proportion of Experience of Code Effort Errors


Coders Coders size
METRICS -using standard -with standard
-using language -with language
-with environment
etc
Definitions: Error, fault, failure,
and defect
• The term “defect” generally refers to some problem with the
software, either with its external behavior or with its internal
characteristics. The IEEE Standard 610.12 (IEEE, 1990) defines the
following terms related to defects:
• Failure: The inability of a system or component to perform its
required functions within specified performance requirements.
• Fault: An incorrect step, process, or data definition in a computer
program.
• Error: A human action that produces an incorrect result.
Error, fault, failure: Relation
Cost of Quality
• COST OF QUALITY (COQ) is a measure that quantifies the cost of
control/conformance and the cost of failure of control/non-
conformance. In other words, it sums up the costs related to prevention
and detection of defects and the costs due to occurrences of defects.
• Definition by ISTQB (International Software Testing Qualifications
Board): cost of quality: The total costs incurred on quality activities and
issues and often split into prevention costs, appraisal costs, internal
failure costs and external failure costs.
• Definition by QAI (Quality Assurance Institute, Florida): Money spent
beyond expected production costs (labor, materials, equipment) to
ensure that the product the customer receives is a quality (defect free)
product. The Cost of Quality includes prevention, appraisal, and
correction or repair costs.
Cost of Quality

• Cost of Control (Also known as Cost of Conformance)


• Prevention Cost
• The cost arises from efforts to prevent defects.
• Example: Quality Assurance costs
• Appraisal Cost
• The cost arises from efforts to detect defects.
• Example: Quality Control costs
Cost of Quality
• Cost of Failure of Control (Also known as Cost of Non-Conformance)
• Internal Failure Cost
• The cost arises from defects identified internally and efforts to correct them.
• Example: Cost of Rework (Fixing of internal defects and re-testing)
• External Failure Cost
• The cost arises from defects identified by the client or end-users and efforts
to correct them.
• Example: Cost of Rework (Fixing of external defects and re-testing) and any
other costs due to external defects (Product service/liability/recall, etc)
End of Lecture

You might also like