Lecture 4
Lecture 4
2
Software Quality Management
• Software Quality Management is a process that ensures the required
level of software quality is achieved when it reaches the users, so that
they are satisfied by its performance.
3
Software Quality Management
• Quality software refers to a software which is reasonably bug or defect
free, is delivered in time and within the specified budget, meets the
requirements and/or expectations, and is maintainable. In the software
engineering context, software quality reflects both functional quality as
well as structural quality.
• Software Functional Quality − It reflects how well it satisfies a given
design, based on the functional requirements or specifications.
• Software Structural Quality − It deals with the handling of non-
functional requirements that support the delivery of the functional
requirements, such as robustness or maintainability, and the degree to
which the software was produced correctly.
4
Software Quality Management
• Software Quality Assurance − Software Quality Assurance (SQA) is a
set of activities to ensure the quality in software engineering
processes that ultimately result in quality software products. The
activities establish and evaluate the processes that produce products.
It involves process-focused action.
• Software Quality Control − Software Quality Control (SQC) is a set of
activities to ensure the quality in software products. These activities
focus on determining the defects in the actual products produced. It
involves product-focused action.
5
Software Quality Factors
6
McCall’s Factor Model
7
McCall’s Factor Model
• Product Operation Software Quality Factors
• According to McCall’s model, product operation category includes five software
quality factors, which deal with the requirements that directly affect the daily
operation of the software. They are as follows −
• Correctness These requirements deal with the correctness of the output of the
software system.
• The required accuracy of output that can be negatively affected by inaccurate
data or inaccurate calculations.
• The completeness of the output information, which can be affected by
incomplete data.
• The up-to-dateness of the information defined as the time between the event
and the response by the software system.
• The availability of the information.
• The standards for coding and documenting the software system. 8
McCall’s Factor Model
• Reliability
• Reliability requirements deal with service failure. They determine the maximum allowed failure rate
of the software system, and can refer to the entire system or to one or more of its separate functions.
• Efficiency
• It deals with the hardware resources needed to perform the different functions of the software
system. It includes processing capabilities (given in MHz), its storage capacity (given in MB or GB) and
the data communication capability (given in MBPS or GBPS).
• It also deals with the time between recharging of the system’s portable units, such as, information
system units located in portable computers, or meteorological units placed outdoors.
• Integrity
• This factor deals with the software system security, that is, to prevent access to unauthorized
persons, also to distinguish between the group of people to be given read as well as write permit.
• Usability
• Usability requirements deal with the staff resources needed to train a new employee and to operate
the software system.
9
McCall’s Factor Model
• Testability
• Testability requirements deal with the testing of the software system
as well as with its operation. It includes predefined intermediate
results, log files, and also the automatic diagnostics performed by the
software system prior to starting the system, to find out whether all
components of the system are in working order and to obtain a report
about the detected faults. Another type of these requirements deals
with automatic diagnostic checks applied by the maintenance
technicians to detect the causes of software failures.
11
McCall’s Factor Model
• Reusability
• This factor deals with the use of software modules originally designed for one
project in a new software project currently being developed. They may also
enable future projects to make use of a given module or a group of modules of
the currently developed software. The reuse of software is expected to save
development resources, shorten the development period, and provide higher
quality modules.
• Interoperability
• Interoperability requirements focus on creating interfaces with other software
systems or with other equipment firmware. For example, the firmware of the
production machinery and testing equipment interfaces with the production
control software.
13
Responsibilities of management in
Software Quality
• Basically, a three-level structure of management exists in software
development organizations −
• Top management
• Department management
• Project management
14
Responsibilities of management in
Software Quality
• Top Management Responsibilities in Software Quality
• Following are the responsibilities of the top management in ensuring Software Quality −
• Assure the quality of the company’s software products and software maintenance
services
• Communicate the importance of the product and service quality in addition to
customer satisfaction to employees at all levels
• Assure satisfactory functioning and full compliance with customer requirements
• Ensure that quality objectives are established for the organization’s SQA system
• Initiate planning and oversee implementation of changes necessary to adapt the SQA
system to major internal as well as external changes related to the organization’s
clientele, competition, and technology
• Intervene directly to support resolution of crisis situations and minimize damages
15
Responsibilities of management in
Software Quality
• Department Management Responsibilities for SQA
• Middle management’s quality assurance responsibilities include −
• Management of the software quality management system (quality
system-related tasks)
• Management of tasks related to the projects and services performed
by units or teams under the specific manager’s authority (project-
related tasks)
16
Responsibilities of management in
Software Quality
• Project management responsibilities on software quality
• Most project management responsibilities are defined in procedures and work
instructions; the project manager is the person in-charge of making sure that
all the team members comply with the said procedures and instructions.
• His tasks include professional hands-on and managerial tasks, particularly the
following −
• Professional hands-on tasks
• Preparation of project and quality plans and their updates
• Participation in joint customer–supplier committee
• Close follow-up of project team staffing, including attending to recruitment, training
and instruction
17
Responsibilities of management in
Software Quality
• Management tasks
• Project managers address the follow-up issues such as −
• Performance of review activities and the consequent corrections
• Software development and maintenance unit’s performance, integration and system
test activities as well as corrections and regression tests
• Performance of acceptance tests
• Software installation in remote customer sites and the execution of the software
system by the customer
• SQA training and instruction of project team members
• Schedules and resources allocated to project activities
• Customer requests and satisfaction
• Evolving project development risks, application of solutions and control of results
18
Department of computer Science
References
• https://www.tutorialspoint.com/software_quality_management/soft
ware_quality_management_role_of_management_in_qa.htm
• https://www.tutorialspoint.com/software_quality_management/soft
ware_quality_management_factors.htm
• https://www.tutorialspoint.com/software_quality_management/soft
ware_quality_management_factors.htm
19
THANK YOU
20