0% found this document useful (0 votes)
13 views

Part 2

management of software systems

Uploaded by

u2203162
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Part 2

management of software systems

Uploaded by

u2203162
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Elements of Software

Quality Assurance, SQA


Tasks , Software
measurement and metrics
[Book 3 - Chapter 21]
Software Quality Assurance
• The process which ensures developed software meets the
quality specifications of standardized software

• This is done by software engineers group and SQA group

• Software quality assurance encompasses a broad range of


concerns and activities that focus on the management of
software quality.
Elements Of Software Quality Assurance
Standards. The IEEE, ISO, and other standards organizations have
produced a broad array of software engineering standards and related
documents. Standards may be adopted voluntarily by a software
engineering organization or imposed by the customer or other
stakeholders. The job of SQA is to ensure that standards that have
been adopted are followed and that all work products conform to
them.

Reviews and audits. Technical reviews are a quality control activity


performed by software engineers for software engineers. Their intent
is to uncover errors. Audits are a type of review performed by SQA
personnel with the intent of ensuring that quality guidelines are
being followed for software engineering work.
Elements of Software Quality Assurance
Testing. Software testing is a quality control function that has one
primary goal to find errors. The job of SQA is to ensure that testing
is properly planned and efficiently conducted so that it has the
highest likelihood of achieving its primary goal.

Error/defect collection and analysis. The only way to improve is to


measure how you’re doing. SQA collects and analyzes error and
defect data to better understand how errors are introduced and what
software engineering activities are best suited to eliminating them.

Change management. Change is one of the most disruptive aspects of


any software project. If it is not properly managed, change can lead
to confusion, and confusion almost always leads to poor quality.
SQA ensures that adequate change management practices have been
instituted.
Elements of Software Quality Assurance
Education. Every software organization wants to improve its software
engineering practices. A key contributor to improvement is
education of software engineers, their managers, and other
stakeholders. The SQA organization takes the lead in software
process improvement and is a key proponent and sponsor of
educational programs.
Vendor management. The job of the SQA organization is to ensure
that high-quality software results by suggesting specific quality
practices that the vendor should follow (when possible), and
incorporating quality mandates as part of any contract with an
external vendor.
Security management. With the increase in cyber crime and new
government regulations regarding privacy, every software
organization should institute policies that protect data at all levels,
establish firewall protection for Web Apps, and ensure that software
has not been tampered with internally. SQA ensures that appropriate
Elements of Software Quality Assurance
Safety. Because software is almost always a pivotal component of
human-rated systems (e.g., automotive or aircraft applications), the
impact of hidden defects can be catastrophic. SQA may be
responsible for assessing the impact of software failure and for
initiating those steps required to reduce risk.

Risk management. Although the analysis and mitigation of risk is the


concern of software engineers, the SQA organization ensures that
risk management activities are properly conducted and that
risk-related contingency plans have been established.
SQA TASKS
The Software Engineering Institute recommends a set of SQA
activities that address quality assurance planning, oversight, record
keeping, analysis, and reporting. These activities are performed (or
facilitated) by an independent SQA group that:

Prepares an SQA plan for a project. The plan is developed as part of


project planning and is reviewed by all stakeholders. Quality
assurance activities performed by the software engineering team and
the SQA group are governed by the plan. The plan identifies
evaluations to be performed, audits and reviews to be conducted,
standards that are applicable to the project, procedures for error
reporting and tracking, work products that are produced by the SQA
group, and feedback that will be provided to the software team.
SQA TASKS

Participates in the development of the project’s software process


description. The software team selects a process for the work to be
performed. The SQA group reviews the process description for
compliance with organizational policy, internal software standards,
externally imposed standards (e.g., ISO-9001), and other parts of the
software project plan.

Reviews software engineering activities to verify compliance with


the defined software process. The SQA group identifies,
documents, and tracks deviations from the process and verifies that
corrections have been made.
SQA TASKS
Audits designated software work products to verify compliance
with those defined as part of the software process. The SQA
group reviews selected work products; identifies, documents, and
tracks deviations; verifies that corrections have been made; and
periodically reports the results of its work to the project manager.

Ensures that deviations in software work and work products are


documented and handled according to a documented procedure.
Deviations may be encountered in the project plan, process
description, applicable standards, or software engineering work
products.

Records any noncompliance and reports to senior management.


Noncompliance items are tracked until they are resolved
SQA GOALS AND METRICS
The SQA activities described in the preceding section are performed to
achieve a set of pragmatic goals:
Requirement’s quality. The correctness, completeness, and
consistency of the requirements model will have a strong influence
on the quality of all work products that follow. SQA must ensure
that the software team has properly reviewed the requirements model
to achieve a high level of quality.

Design quality. Every element of the design model should be assessed


by the software team to ensure that it exhibits high quality and that
the design itself conforms to requirements. SQA looks for attributes
of the design that are indicators of quality.
SQA GOALS AND METRICS
Code quality. Source code and related work products (e.g., other
descriptive information) must conform to local coding standards and
exhibit characteristics that will facilitate maintainability. SQA
should isolate those attributes that allow a reasonable analysis of the
quality of code.

Quality control effectiveness. A software team should apply limited


resources in a way that has the highest likelihood of achieving a
high-quality result. SQA analyzes the allocation of resources for
reviews and testing to assess whether they are being allocated in the
most effective manner.

You might also like