Professional Documents
Culture Documents
Different Perspective
LECTURE # 6
12/30/2020 1
Software Quality
Quality
Quality Types
Quality Control vs Quality Assurance
Different views of Quality
Quality Models
Cost of Quality
12/30/2020 2
What is quality?
12/30/2020 3
Defining Quality Features
Perfection
Consistency
Eliminating waste
Speed of delivery
Compliance with policies & procedures
Providing good, usable products
Doing it right the first time
Delighting or pleasing customers
Total customer service & satisfaction
….
12/30/2020 4
What is quality?
Hard to define.
Difficult to measure.
Easy to recognize in its absence.
Transparent when present.
Some quality requirements are difficult to specify in an
unambiguous way;
◦ Software specifications are usually incomplete and often
inconsistent.
12/30/2020 5
What is quality?
There is a tension between customer quality requirements
(efficiency, reliability, etc.) and developer quality
requirements (maintainability, reusability, etc.);
12/30/2020 6
What is quality?
Quality, simplistically, means that a product should meet its
specification.
This is problematical for software systems:
12/30/2020 7
Quality Types
Functional Quality — a measure of what the software does
vs. what it’s supposed to do
12/30/2020 8
Process quality Vs Product quality
Process quality: Software processes implement best practices
of software engineering in an organizational context. Process
quality expresses the degree to which defined processes were
followed and completed.
Product quality: Software products are the output of software
processes. Product quality is determined by the degree to
which the developed software meets the defined requirements.
12/30/2020 9
Software Quality?
Internal quality (life-cycle properties)
◦ Perceived by developers, testers, etc., i.e., people who see
and work with the internals of the system
◦ Understandable, adaptable, low coupling, high cohesion, etc
◦ High internal quality pays off in the long run!
12/30/2020 11
Cost of Quality
Prevention cost:
Appraisal/Assessment
cost:
Failure cost:
12/30/2020 12
Classification scheme for QA
Defect Prevention
◦ Education and training
◦ Process conformance and standards enforcement
◦ Tools/technologies and techniques
Defect Containment
◦ Software Fault Tolerance
◦ Fault Containment
12/30/2020 13
Techniques for Achieving SQ
Explicit software quality objectives.
Explicit quality assurance activities.
Testing strategy.
Software Engineering guidelines.
Informal technical reviews.
Formal technical reviews.
External audits.
Development process.
12/30/2020 14
Different Views of Quality
1. User View
2. Transcendental View
3. Manufacturing View
4. Product View
5. Value based View
12/30/2020 15
Different Views of Quality
The user view –
◦ quality is fitness for purpose
◦ Quality concerns the extent to which a product meets user
needs and expectations.
◦ Is a product fit for use?
◦ This view is highly personalized.
A product is of good quality if it satisfies a large number of users.
It is useful to identify the product attributes which the users
consider to be important.
◦ This view may encompass many subject elements, such as
usability, reliability, and efficiency.
12/30/2020 16
Different Views of Quality
The manufacturing view –
◦ quality is conformance to specification
◦ This view has its genesis in the manufacturing industry – auto and
electronics.
◦ Key idea: Does a product satisfy the requirements?
Any deviation from the requirements is seen as reducing the quality of the
product.
◦ The concept of process plays a key role.
◦ Products are manufactured “right the first time” so that the cost is
reduced
Development cost
Maintenance cost
◦ Product quality can be incrementally improved by improving the
process.
The CMM and ISO 9001 models are based on the manufacturing view.
12/30/2020 17
Different Views of Quality
The value-based view –
◦ quality is related to the amount the customer is willing to pay
◦ This represents the merger of two concepts: excellence and
worth.
◦ Quality is a measure of excellence, and value is a measure of
worth.
◦ Central idea
How much a customer is willing to pay for a certain level of
quality.
Quality is meaningless if a product does not make economic sense.
The value-based view makes a trade-off between cost and quality.
12/30/2020 18
Different Views of Quality
The product view –
◦ related to product characteristics (maintainability, reliability..)
◦ Hypothesis: If a product is manufactured with good internal
properties, then it will have good external properties.
◦ One can explore the causal relationship between internal
properties and external qualities.
◦ Example: Modularity enables testability.
12/30/2020 19
Different Views of Quality
The transcendental(inspirational) view –
◦ you recognize quality, but cannot define it
◦ Quality is something that can be recognized through
experience, but not defined in some tractable form.
◦ A good quality object stands out, and it is easily recognized
12/30/2020 20
So What is Software Quality?
A quality software should deliver the required functionality
and performance to the user and should be
◦ Acceptable
Software must accepted by the users for which it was designed; it
must be understandable, usable etc.
◦ Efficient and
Software should not make wasteful use of system resources;
◦ Dependable
Software must be trustworthy;
◦ Maintainable
Software must be able to evolve to meet changing needs;
12/30/2020 21
Assignment # 3
Install any versioning system, like Subversion (SVN)
etc. and demonstrate its working.
Two version
◦ 2-3 Member
12/30/2020 22