@lex w1jaya

Software Quality Assurance Concept

What is Software Quality Assurance?
According to D. Galin
Software quality assurance is:
A systematic, planned set of actions necessary to provide sufficient assurance that the software development process or the maintenance process of a software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within the budgetary confines
According to the IEEE
Software quality assurance is:
1. A planned and systematic pattern of all actions
necessary to provide sufficient confidence that an item
or product conforms to established technical
requirements.
2. A set of activities designed to evaluate the process by
which the products are developed or manufactured.
Contrast with: quality control.

Objectives of SQA in development
(1) Assuring an acceptable level of confidence that the software will conform to functional technical requirements.
A function is described as a set of inputs, the behavior (use case) and outputs . Functional requirements may be calculations, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish
Functional requirements are supported by non-functional requirements, which enforce constraints on the design or implementation (such as performance requirements, security, or reliability).
Functional requirements are expressed in the form “system must do “, while non-functional requirements are “system shall be “.
The plan for implementing functional requirements is detailed in the system design. The plan for implementing non-functional requirements is detailed in the system architecture.
(2) Assuring an acceptable level of confidence that the software will conform to managerial scheduling and budgetary requirements.

Objectives of SQA in maintenance
(1) Assuring an acceptable level of confidence that the software
maintenance activities will conform to the functional
technical requirements.
(2) Assuring an acceptable level of confidence that the software
maintenance activities will conform to managerial
scheduling and budgetary requirements.

The importance of software maintenance
A study by Lientz and Swanson, categorized maintenance activities into four classes:
1.Adaptive – modifying the system to cope with changes in the software environment (Ex. DBMS, OS)
2.Perfective – implementing new or changed user requirements which concern functional enhancements to the software
3.Corrective – diagnosing and fixing errors, possibly ones found by users
4.Preventive – increasing software maintainability or reliability to prevent problems in the future

General Principles of SQA

1.Know what you are doing
– understand what is being built, how it is being built and
what it currently does suppose a software development
process with management structure (milestones, scheduling)
reporting policies, tracking
2. Know what you should be doing
– having explicit requirements and specifications
– presume a software development process with requirements
analysis, acceptance tests, frequent user feed
3. Know how to measure the difference
– having explicit measures comparing what is being done from
what should be done
Complementary methods:
● formal methods – verify mathematically specified properties
● testing – explicit input to exercise software and check for
expected output
● inspections – human examination of requirements, design, code,
based on checklists

Another important thing of SQA
1.Verification
– are we building the product right ?
– performed at the end of a phase to ensure that requirements
established during previous phase have been met
2.Validation
– are we building the right product ?
– performed at the end of the development process to ensure
compliance with product requirements


Leave a Reply


nine − = 5

© 2009 @lex w1jaya
"Night City" theme from Atillus design studio