0% found this document useful (0 votes)
0 views31 pages

Module 51

The document discusses the importance of software quality, emphasizing the need for clear definitions and objective assessments of quality requirements in software systems. It outlines various models for evaluating software quality, including McCall's, Dromey's, Boehm's, and ISO 9126, each highlighting different attributes such as correctness, reliability, and maintainability. The document also details the steps for integrating quality considerations into project planning and the significance of measuring both external and internal quality characteristics.

Uploaded by

ranik1828
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)
0 views31 pages

Module 51

The document discusses the importance of software quality, emphasizing the need for clear definitions and objective assessments of quality requirements in software systems. It outlines various models for evaluating software quality, including McCall's, Dromey's, Boehm's, and ISO 9126, each highlighting different attributes such as correctness, reliability, and maintainability. The document also details the steps for integrating quality considerations into project planning and the significance of measuring both external and internal quality characteristics.

Uploaded by

ranik1828
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/ 31

MODULE-5

Software Quality
QUALITY

• 1.Quality is generally agreed to be ‘ a good thing’ .

2.In a practice what people really mean by the ‘quality’ of a system can be vague,
undefined attribute.

3.We need to define precisely what qualities we require of a system.


OBJECTIVE ASSESSMENT

• We need to judge objectively whether a system meets our quality


requirements and this need measurement.
• Critical for package selection
• e.g., Brigette at Brightmouth College.
• A product is of good quality if it performs according to the user’s
requirements.
• Good quality software should meet all objectives defined in the SRS
document.
• It is the responsibility of the quality managers to ensure that the software
During development, it's important to:
• Assess the likely quality of the final system.
• Ensure development methods will produce the desired
quality.

Potential customers, like Amanda at IOE, might focus on:


• Checking if suppliers use the best development methods.
• Ensuring these methods will lead to the required quality in
the final system.
The Place of
Software Quality
in Project
Planning .
Step 1: Identify Project Scope and Objectives
o Objectives may include qualities of the application to be delivered.
Step 2: Identify Project Infrastructure
o Activity 2.2 involves identifying installation standards and procedures, often
related to quality.
Step 3: Analyze Project Characteristics
o Activity 3.2 involves analyzing other project characteristics, including quality-
based ones.
o Example: Safety-critical applications might require additional activities such as
n-version development, where multiple teams develop versions of the same
software to cross-check outputs.
Step 4: Identify the Products and Activities of the Project
o Identify entry, exit, and process requirements for each activity.

Step 5: Review and Publicize Plan


o Review the overall quality aspects of the project plan at this stage
• Importance of software quality
• Special Characteristics of Software Affecting Quality Management
General Expectation:
 Quality is a concern for all producers of goods and services.
Special Demands in Software:
1. Increasing Criticality of Software
o Final customers and users are increasingly concerned about software quality,
particularly reliability.
o Greater reliance on computer systems and use in safety-critical applications
(e.g., aircraft control).
2. Intangibility of Software
o Difficulty in verifying the satisfactory completion of project tasks.
o Tangibility is achieved by requiring developers to produce "deliverables" that
can be examined for quality.
3. Accumulating Errors During Software Development
o Errors in earlier steps can propagate and accumulate in later steps.
o Errors found later in the project are more expensive to fix.
o The unknown number of errors makes the debugging phase difficult to
control.
1.McCall’s Quality Model:-
McCall defined the quality of a software in terms of
three broad parameters:
• its operational characteristics
• how easy it is to fix defects and
• how easy it is to part it to different platforms.
• These three high-level quality attributes are defined based
1 .Correctness – product satisfies its specifications

2.Reliability-software product working satisfactorily over a given duration.


3.Efficiency-amount of computing resources required to perform the required functions.
4.Integrity – Data validation
5.Usability-effort required to operate the software product.
6.Maintainability-The ease with which its possible to locate & fix the bugs.
7.Flexibility – Product adapting in changing environment
8.Testability – ensuring it performs efficiently and error free
9.Portability – transferring from h/w to other or s/w to other
10.Reusability-Software can be reused in other applications.
11.Interoperability – integration with other software
2.Dromey’s model.
Dromey proposed that software product quality depends on four major
high-level properties of the software:
• Correctness
• internal characteristics
• contextual characteristics and
• certain descriptive properties.
Each of these high-level properties of a software product, in turn
depends on several lower-level quality attributes.
3.Boehm’s Model: Boehm’s suggested that the quality of a software
can be defined based on these three high-level characteristics are the
following which are important for the users.
As-is -utility: How well (easily, reliably and efficiently) can it be used?
Maintainability: How easy is to understand, modify and then retest the
software?
Portability: How difficult would it be to make the software in a
changed environment?
Boehm’s hierarchical quality model is shown in Fig 13.3 .
• 4.ISO 9126 Model:-
• ISO 9126 standards was first introduced in 1991 to tackle the question of the definition
of software quality.
• The original 13-page document was designed as a foundation upon which further more
detailed standard could be built.
• ISO9126 documents are now very lengthy.
• Motivation might be-
1) Acquirers – who are obtaining software from external suppliers

2) Developers – who are building a software product

3) Independent Evaluators – who are assessing the quality of software product


ISO 9126 also introduces another type of elements – quality
in use- for which following element has been identified
Effectiveness : the ability to achieve user goals with accuracy
and completeness;
Productivity : avoiding the excessive use of resources, such
as staff effort, in achieving user goals;
Safety: within reasonable levels of risk of harm to people and
other entities such as business, software, property and the
environment
Satisfaction: smiling users
Here are the key aspects and characteristics defined by ISO 9126:
ISO 9126 identifies six major external software quality characteristics:
1.Functionality:
Definition: The functions that a software product provides to satisfy user needs.
Sub-characteristics: Suitability, accuracy, interoperability, security, compliance.

‘Functionality Compliance’ Typically, these could be auditing requirement.


‘Interoperability’ refers to the ability of software to interact with others.
2.Reliability:
Definition: The capability of the software to maintain its level of performance under stated
conditions.
Sub-characteristics: Maturity, fault tolerance, recoverability.

Maturity refers to frequency of failures due to fault in software more identification of fault
more changes to remove them.
Recoverability describes the control of access to a system.
3.Usability:
Definition: The effort needed to use the software.
Sub-characteristics: Understandability, learnability, operability, attractiveness.
4.Efficiency:
Definition: The ability to use resources in relation to the amount of work done.
Sub-characteristics: Time behavior, resource utilization.
5. Maintainability:
Definition: The effort needed to make changes to the software.
Sub-characteristics: Analyzability, modifiability, testability.
6.Portability:
Definition: The ability of the software to be transferred from one environment to
another. \
Sub-characteristics: Adaptability, install ability, co-existence.
External Software
Quality
Characteristics

Maintainabilit
Functionality Reliability Usability Efficiency Portability
y

Suitability Maturity Understandability Time Behavior Analyzability Adaptability

Resource
Accuracy Fault Tolerance Learnability Changeability Installability
Utilization
Efficiency
Interoperability Recoverability Operability Stability Coexistence
Compliance
Functionality Reliability
Attractiveness Testability Replaceability
Compliance Compliance
Usability Maintainability Portability
Security
Compliance Compliance Compliance
ISO 9126 provides guidelines for the use of the quality
characteristics.
• ISO 9126 provides structured guidelines for assessing and
managing software quality characteristics based on the specific
needs and requirements of the software product. Once the
requirements for the software product have been
established, the following steps are suggested:
1.Judge the importance of each quality characteristic for the application

2. Select the external quality measurements within the ISO 9126 framework

relevant to the qualities prioritized above.

3. Map measurements onto ratings that reflect user

satisfaction.
4. Identify the relevant internal

measurements and the intermediate

products in which they appear.

5. Overall assessment of product quality.


Product and process Metrics
The users assess the quality of a software product based on its external attributes.
Whereas during development, the developers assess the product’s quality based on
various internal attributes.

Let us understand the product and process metrics:

You might also like