SQT Chapter 1
SQT Chapter 1
Chapter 1
The software quality challenge
1
The need for a comprehensive
software quality requirements
There are some characteristic common :
All the software projects satisfactory fulfilled the basic
requirements for correct calculations
All the software projects suffered from poor performance
in important areas such as maintenance, reliability,
software reuse, or training.
The cause for the poor performance of the developed
software projects in these areas was the lack of predefined
requirements to cover these important aspects of the
software’s functionally.
2
The need for a comprehensive
definition of requirements (2)
There is a need for a comprehensive
definition of requirements that will cover all
attributes of software and aspects of the
usability aspects, reusability aspects,
maintainability aspects, and so forth in
order to assure the full satisfaction of the
users.
3
Classification of software requirements
into software quality factors
The classic model of software quality
factors suggest by :
McCall (consist of 11 factors, 1977)
Deutsch and Willis (consist of 12 to 15 factors,
1988)
Evans and Marciniak (1987)
4
McCall’s Factor Model
5
Product Operation
Factors
6
Product Operation : Correctness
Correctness requirements are defined in a list of the
software system’s required outputs.
Output specifications are usually multidimensional;
some common dimensions include :
o The output mission
o The required accuracy of output
o The completeness of the output information
o The up-to-dateness of the information
o The availability of the information
o The standards for coding and documenting the software
system.
7
Product Operation - Reliability
Reliability requirements deal with failures to provide service.
Determine the maximum allowed software system failures
rate, and can refer to the entire system or to one or more of
its separate functions.
Examples :
1. The failures frequency of a heart-monitoring unit that will operate in a
hospital’s intensive care ward is required to be less than one in 20
years. Its heart attack detection function is required to have a failure
rate of less than one per million cases.
2. One requirement of the new software system to be installed in the
main branch of Independence Bank, which operates 120 branches, is
that it will not fail, on average, more than 10 minutes per month
during the bank’s office hours.
8
Product Operation - Efficiency
9
Product Operation - Integrity
Integrity requirements deal with the software
system security, that is requirements to present
access to an authorize person,
[to distinguish between the majority of personnel allowed to see the
information (“read permit”) and a limited group who will be allowed to
add and change data (“write permit”), and so forth.]
Example :
GIS SW allowed citizens access to its GIS through Internet only for viewing
and copying data but not to insert changes.
10
Product Operation - Usability
Usability requirements deal with the scope of staff resources
needed to train a new employee and to operate the software
system.
Example :
The software usability requirements document for the new
help desk system initiated by a home appliance service
company lists the following specifications :
a. A staff member should be able to handle at least 60 service
calls a day
b. Training a new employee will take no more than two days,
immediately at the end of which the trainee will be able to
handle 45 service calls a day.
11
Product Revision
Factors
12
Product Revision software Quality
Factors
According to the McCall model of software quality
factors, three quality factors comprise the product
revision category. These factors deal with those
requirements that affect the complete range of
software maintenance activities :
o Corrective maintenance
o Adaptive maintenance
o Perfective maintenance
13
Product Revision - Maintability
Maintainability requirements determine the efforts that will
be needed by users and maintenance personnel to identify the
reasons for software failures, to correct the failures, and to
verify the success of the corrections.
This factor’s requirements determine refer to the modular
structure of software, the internal program documentation,
and the programmer’s manual, among other items.
Example typical maintainability requirements :
a. The size of a software module will not exceed 30 statements.
b. The programming will adhere to the company coding standards
and guidelines.
14
Product Revision - Flexibility
16
Product Transition
Factors
17
Product Transition - Portability
Portability requirements tend to the
adaptation of software system to other
environenments consisting of different
hardware, different operating systems, and so
forth.
18
Product Transition - Reusability
Reusability requirements deal with the
use of software modules originally
designed for one project currently being
developed.
19
Product Transition -
Interoperability
Interoperability requirements focus on
creating interfaces with other software systems
or with other equipment firmware.
Interoperability requirements can specify the
name of the software or firmware for which
interface is required.
20
Alternative Models of Software
Quality Factors
Formal comparison of the alternative
models (Evans M 1987, Deutsch & Willis
1988)
Comparison of the factors models-content
analysis (verifiability, expandability, safety,
manageability, survivability)
Structure of the alternative factor models
21
Who is interested in the definition
of quality requirements?
Some quality factors not included in the typical
client’s requirements document may, in many cases,
interest the developer.
The following lists of quality factors usually interest
the developer whereas they may raise very little
interest on the part of the client :
o Portability
o Reusability
o Verifiability
22
Requirements Documents
A project will be carried out to according to
two requirements documents :
¾ The client’s requirements document
¾ The developer’s additional requirements
document
23
Software Compliance with
Quality Factors
The software’s product compliance to the
requirements belonging to the various quality
factors is measured by software quality metrics,
measures that quantify the degree of
compliance.
In order to allow for valid measurements of
compliance, sub-factors have been defined for
those quality factors that represent a wide range
of attributes and aspects of software use.
24
Factors and sub-factors
25
Factors and sub-factors (cont.)
26
Factors and sub-factors (cont.)
27
Software Quality Assurance (SQA) consists of the means to
ensure the quality of the released software by monitoring the
software engineering methods and processes. SQA spans across
the entire software development lifecycle that includes
requirements management, software design, coding, testing, and
release management.
Pre-project Components
The pre-project components ensure that the resources required
for the project, the schedule, and the budget is clearly been
defined. The plan for development and ensuring quality has been
clearly determined. The components are as follows:
• Development plan
• Quality plan
• Schedules
• Required resources (Hardware & Human resources)
• Risk evaluations
• Project methodology
1. Organizational considerations
f. Optimization objectives
a. Professional qualifications