0% found this document useful (0 votes)
10 views

Lecture 2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Lecture 2

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Lecture#2

Quality Frameworks and ISO-9126


Objective
• Quality Frameworks and ISO-9126.

• Correctness and Defects


Perspectives and Expectations
• Five major views according to (Kitchenham and Pfleeger,
1996) are:
➢Transcendental view, quality is hard to define.
➢User view, quality is fitness for purpose.
➢Manufacturing view, quality means conformance to
process standards.
➢Product view, the focus is on inherent characteristics .
➢Value-based view, willingness to pay for a software.
Software Quality Framework
• Software Quality Framework is a model for software
quality by connecting and integrating the different views
of software quality.

• Various models or frameworks have been proposed to


accommodate these different quality views and
expectations and to define quality and related attributes,
features, characteristics, and measurements.
ISO-9126 Quality Framework
• ISO → International Organization for standardization
• ISO-9126:
➢ ISO-9126 is an international standard for the
evaluation of software
➢ It helps creating a solid framework for assessing
software.
➢ The most influential one in the software community
today.
➢Provide hierarchical framework for quality definition,
organized into quality characteristics and sub-
characteristics
ISO-9126 Quality Framework
• Six top-level quality characteristics, with each associated
with its own exclusive (non-overlapping) sub-
characteristic.
• The ISO-9126 software quality model identifies six main
quality characteristics :
➢ Functionality
➢ Reliability
➢ Usability
➢ Efficiency
➢ Maintainability
➢ Portability
ISO-9126 Quality Framework
1) Functionality
• It is a key aspect of any product or service. It is due to
this the software is able to fulfill a task and keep to its
purpose.
• 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.
• A functionality of software is dependent on its
complexity.
• The sub-characteristics include:
- Suitability
- Accuracy
- Interoperability
- Security
ISO-9126 Quality Framework
2) 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
- Fault tolerance
- Recoverability
ISO-9126 Quality Framework
3) Usability:
• The usability of software is highly dependent on the
functional uses of software.
• 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
ISO-9126 Quality Framework
4) 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.
• This feature of the model is more concerned by
resources of the system when used for providing a
desired functionality.
• The sub-characteristics include:
- Time behavior
- Resource behavior
ISO-9126 Quality Framework
5) Maintainability:
• A set of attributes that bear on the effort needed to
make specified modifications.
• This property of maintainability of the software model is
used to recognize and fix a defect accordingly.
• The sub-characteristics include:
- Analyzability
- Changeability
- Stability
- Testability
ISO-9126 Quality Framework
6) Portability:
• A set of attributes that bear on the ability of software to
be transferred from one environment to another.
• According to this feature, capable software should easily
adapt to the environmental changes frequently as
possible.
• The sub-characteristics include:
- Adaptability
- Installability
- Conformance
- Replaceability
Other Quality Framework
• Adaptation of ISO-9126
➢ Customized for companies
- e.g. IBM’s CUPRIMDS (capability, usability, performance,
reliability, installation, maintenance, documentation, service and
overall customer satisfaction)
➢ Adapted to application domain
- reliability, usability, security for web
• Other quality frameworks/mega-models besides the ISO-9126
➢ SEI/CMMI: Process focus/levels
➢ McCall: Factors , Criteria
➢ Dromey: Component reflects Q-attributes
Correctness, Defect and Quality

• High quality → low defects

• Key to the correctness aspect of software quality is the


concept of defect, failure, fault, and error.

• Correctness is the degree to which a system is free from


defects in its specification, design, and implementation.

• The term “defect” generally refers to some problem with the


software, either with its external behavior or with its internal
characteristics.
Correctness, Defect and Quality

• 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.


Correctness, Defect and Quality

• Failure: External behavior is incorrect


• Fault: Discrepancy in code that causes a failure
• Error: Human mistake that caused fault, Error is terminology
of Developer.

• Bug/Debug : problematic terms, avoid the error in the


problem
• Bug is terminology of Tester, software problems or defects,
are also commonly referred to as “bugs”-- never precisely
defined, such as the different aspects of defects defined as
errors, faults, and failures above.
Correctness, Defect and Quality

Relation: errors → faults → failures (not necessarily 1-to-1)


Correctness, Defect and Quality

• A single error may cause many faults, such as in the case that
a wrong algorithm is applied in multiple modules and causes
multiple faults, and a single fault may cause many failures in
repeated executions.
• Conversely, the same failure may be caused by several faults,
such as an interface or interaction failure involving multiple
modules, and the same fault may be there due to different
errors.
Correctness properties a/c to quality view and attributes
Quality: Historical Perspective
• Software v/s other products/systems:
➢ pre-software/IT: manufacturing process
→ physical-object attributes (defects)
➢ service: manage expectations: 0 defect → 0 deflection
➢ IT and software: different as compared to other manufacture
system
• The new meaning of Quality in the information age (Prahalad
and Krishnan, 1999):
➢ high-quality software can be defined by three basic elements:
conformance, adaptability, and innovation.

You might also like