0% found this document useful (0 votes)
79 views39 pages

Software Quality Assurance (SQA) SWE 333

Uploaded by

Urvashi Singh
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)
79 views39 pages

Software Quality Assurance (SQA) SWE 333

Uploaded by

Urvashi Singh
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/ 39

OHT 4.

Software Quality assurance (SQA)


SWE 333

SQA Components

Dr Khalid Alnafjan
[email protected]
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.2

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.3
Components of software quality
assurance system overview

• Software quality assurance consists of


different components
• Each component is related to a certain part
of the software development process
• If care is taken to perform every component
to the required quality level then a complete
system with high quality is achieved

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.4

1. Pre-project components
2. Software project life cycle components
3. Infrastructure components for error prevention and improvements
4. Management SQA components
5. SQA standards, system certification and assessment components
6. Organizing for SQA – the human components

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.5

The SQA components belonging


here are meant to improve the
preparatory steps taken prior to
initiating work on the project
itself
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.6

There are two components in pre-


project stage:
• Contract reviews: Reviewing the
contract prior to final agreement
• Development and quality plans:
Preparation of plans before the
actual work is performed

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.7
Pre project component: Contract
Review
• Software may be developed within the framework of a
contract negotiated with a customer.
• Contract review activities must include a detailed
examination of the project proposal draft and the
contract drafts.
• Contract review is an important software quality
component because it ensures that we understand
and agree on all project details. It eliminates any
disagreement that might happen between the project
parties
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.8

Contract review activities include:


■ Clarification of the customer’s requirements
■ Review of the project’s schedule and
resource requirement estimates
■ Evaluation of the professional staff’s
capacity to carry out the proposed project
■ Evaluation of the customer’s capacity to
fulfill his obligations
■ Evaluation of development risks.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.9
Pre project component:
Development and quality plans
• Once a software development contract has
been signed or a commitment made to
undertake an internal project for the benefit
of another department of the organization, a
plan is prepared of the project
(“development plan”) and its integrated
quality assurance activities (“quality plan”)

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.10

The main issues treated in the project


development plan are:
■ Schedules (What are tasks and how much
time is required)
■ Required manpower and hardware resources
■ Risk evaluations
■ Organizational issues: team members,
subcontractors and partnerships
■ Project methodology, development tools, etc.
■ Software reuse plans.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.11

Software quality plan


• Software quality plan is a document that
describes the quality activities of a software
project that should be implemented to
ensure that the results of the work
performed will satisfy the users and achieve
the required quality.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.12

Software quality plan


Usually a software quality plan includes:

■ Quality goals, expressed in the appropriate


measurable terms
■ Criteria for starting and ending each project
stage
■ Lists of reviews, tests, and other scheduled
verification and validation activities.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.13

• Several SQA components enter the


software development project life
cycle at different points. Their use
should be planned prior to the
project’s initiation. The main
components are:

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.14

• Reviews
• Expert opinions
• Software testing
• Assurance of the quality of external
participants’ work

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.15

Software Project life cycle components:


Reviews
• Several phases of the development process
produce a variety of documents.
• For example: design reports, software test
documents, software installation plans
and software manuals.
• These have to be reviewed to ensure that
specified qualities have been met.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.16

Software Project life cycle components:


Expert opinions
• Expert opinions support quality assessment
efforts by introducing additional external
capabilities into the organization’s in-house
development process. Turning to outside
experts may be particularly useful in the
following situations:

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.17

Software Project life cycle components:


Expert opinions
• Insufficient in-house professional
capabilities in a given area.
• In small organizations in many cases it is
difficult to find enough suitable candidates
to participate in the design review teams.
• In cases of major disagreement among the
organization’s senior professionals, an
outside expert may support a decision.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.18

Software Project life cycle components:


Software testing
• Software tests are formal SQA components
that are targeted toward review of the actual
running of the software.
• The tests are based on a prepared list of test
cases that represent a variety of expected
scenarios. Software tests examine software
modules, software integration, or entire
software packages
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.19
Software Project life cycle components:
Assurance of the quality of the external
participant’s work
• Subcontractors and customers frequently join
the directly contracted developers in carrying
out software development projects.
• The larger and more complex the project, the
greater the likelihood that external participants
will be required, and the larger the proportion
of work transmitted to them (subcontractors,
suppliers of COTS software and the customer).
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.20
Software Project life cycle components:
Assurance of the quality of the external
participant’s work
• Most of the SQA controls applied to external
participants are defined in the contracts signed
between the relevant parties.
• Hence, special software assurance efforts are
required to establish effective controls over the
external participant’s work.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.21
Infrastructure components for
error prevention and
improvement
• The goals of SQA infrastructure are the
prevention of software faults or, at least, the
lowering of software fault rates, together
with the improvement of productivity.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.22

• Procedures and work instruction


• Templates and checklists
• Staff training, retraining and
certification
• Preventive and corrective actions
• Configuration management
• Documentation control

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.23

Procedures and work instructions


• Procedures are planned to be generally
applicable and to serve the entire organization.

• Work instructions, in contrast, provide detailed


directions for the use of methods that are
applied in unique instances and employed by
specialized teams.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.24

Templates and checklists


One way to combine higher quality with higher
efficiency is to use Templates and checklists.
■ Saving the time required to define the structure
of the various documents
■ Contributing to the completeness of the
documents and reviews.
■ Improving communication between development
team and review committee members by
standardizing documents and agendas.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.25
Staff training, instruction and certification
keeping an organization’s human resources
knowledgeable and updated at the level
required is achieved mainly by:
■ Training new employees and retraining those
employees who have changed assignments.
■ Continuously updating staff with respect to
professional developments and the in-house,
hands-on experience acquired.
• ■ Certifying employees after their knowledge
and ability have been demonstrated.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.26

Preventive and corrective actions


Systematic study of previous failures and success
stories to implement. Among them we can list:
■ Implementation of changes that prevent similar
failures in the future.
■ Correction of similar faults found in other
projects and among the activities performed by
other teams.
■ Implementing proven successful methodologies
to enhance the probability of repeat successes.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.27

Configuration Management
• Changes may take place at different sites. As a
result, serious dangers arise, whether of
misidentification of the versions ,releases or
documentation loss.
• Configuration management deals with these
hazards by introducing procedures to control the
change process. These procedures relate to the
approval of changes, the recording of those
changes performed,
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.28

Configuration Management
• Also the issuing of new software versions and
releases, the recording of the version and release
specifications of the software installed in each site,
and the prevention of any changes in approved
versions and releases once they are issued.
• Most configuration management systems
implement computerized tools to accomplish their
tasks. These computerized systems provide the
updated and proper versions of the installed
software and their documentation.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.29

• Project progress control


in terms of schedule and
cost
• Software quality metrics
to measure quality
• Software quality costs
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.30 Project progress control in terms of
schedule and cost
• The main objective of project progress control
components is to detect the appearance of any
situation that may lead to deviations from the
project’s plans and maintenance service
performance. Clearly, the effectiveness and
efficiency of the corrective measures implemented
is dependent on the timely discovery of
undesirable situations.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.31 Project progress control in terms of
schedule and cost

• Project control activities focus on:


■ Resource usage
■ Schedules
■ Risk management activities
■ The budget.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.32
Software quality metrics to
measure quality
• Software quality metrics are used to measure the
quality of software
• These are created by project managers
• For example
• How many error did the programmer made in one
hundred line of code
• How many revision has been made to the
requirements document (Software engineers quality
of work)
• Software quality metrics will be discussed in
details later
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.33
Software quality metrics to
measure quality
• Among the software quality metrics available or still in the
process of development, we can list metrics for:
■ Quality of software development and maintenance
activities
■ Development teams’ productivity
■ Help desk and maintenance teams’ productivity
■ Software faults density
■ Schedule deviations.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.34
Software quality costs

• Quality has a cost


• It is the responsibility of the project
manager to control that costs
• The lower the cost of quality, the better
software quality

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.35

• Project process standards


• Quality management standards

Objectives:
 Utilization of international professional knowledge
 Improvement of coordination with other organizations’
quality systems
 Objective professional evaluation and measurement of the
organization’s SQA achievement
Galin, SQA from theory to implementation © Pearson Education Limited 2004
OHT 4.36

Quality Management Standards


• The organization can clearly benefit from quality
standards that guide the management of software
development, maintenance, SQA standards,
system certification, and assessment components
and infrastructure. These standards focus on what
is required and leave the decision about how to
achieve it to the organization.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.37

Quality management standards


• The application of a managerial quality system
provides a fairly objective assessment of the
organization’s achievements. Organizations that
comply with quality achievement requirements
can then seek SQA certification. The most
familiar examples of this type of standard are:
■ SEI CMM assessment standard
■ ISO 9001 and ISO 9000-3 standards.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.38

Project process standard


• Project process standards are professional
standards that provide methodological guidelines
(dealing with the question of “how”) for the
development team. Well-known examples of this
type of standards are:
■ IEEE 1012 standard
■ ISO/IEC 12207 standard.

Galin, SQA from theory to implementation © Pearson Education Limited 2004


OHT 4.39
Organizing for SQA- human
components
To develop and support implementation of SQA
components; To detect deviations from SQA
procedures and methodology; To improve
suggestions to SQA components
• Management
• SQA unit
• Trustees
• Committee members
• Forum
Galin, SQA from theory to implementation © Pearson Education Limited 2004

You might also like