TechAbout - Definitions
5.1 Software
According to the IEEE Standard 729-1983, software is defined as “computer programs, procedures, rules, and possibly associated documentation and data pertaining to the operation of a computer system.”
Software is often divided into three categories:
- System software: Serves as a base for application software.
- Programming software: A set of tools to aid developers in writing programs.
- Application software: Intended to perform specific tasks.
5.2 Software Quality
This definition of quality implies two key areas of action for the SQA function:
- Ensuring that the product correctly meets client needs.
- Verifying that reasonable steps were taken to ensure the quality of the product.
In addition to performing its general processing functions, a system must also meet a number of software quality factors or characteristics.
5.3 Software Quality Assurance
According to the IEEE Standard P730, Software Quality Assurance (SQA) is “a planned and systematic set of actions that provide confidence that the software conforms to established technical requirements.”
This definition encompasses two key points:
- SQA includes all necessary activities that contribute to the quality of software during the entire lifecycle of the project.
- The emphasis must be on developing and systematically executing the plan to achieve software quality objectives.
5.4 Quality Factors
- Quality factors can be grouped according to performance, design, or adaptation concerns.
- Performance quality factors characterize how well the software functions.
- Performance factors include efficiency, integrity, reliability, survivability, and usability.
- Design quality factors characterize software design.
- Design factors include correctness, maintainability, and verifiability.
- Adaptation quality factors characterize the adaptability of the software.
5.5 Life Cycle
Life cycles vary depending on the organization and the nature of the software being developed. The stages are as follows:
- Requirements: Understanding the target environment and gathering and analyzing the requirements.
- Design: Includes both the logical and physical aspects of the system.
- Implementation: Involves defining the details of the design, coding the system, testing it, and installing it.
- Operation: Involves using the system in production and maintaining it, including handling corrections, enhancements, and additions.
5.6 Software Development Project
A Software Development Project is the overall task of producing a software system. A project is initiated and managed to deliver the software system, but it also generates additional deliverables such as specifications, design documents, test plans, and client manuals.
5.7 Audit
An audit is an inspection of the documents and associated development methods to verify that the process and its documentation are in accordance with the SQA Plan and organizational policies and procedures.
5.8 Review
A review is a study of the documentation or code. Its purpose is to evaluate the conceptual and technical approach to the system solution and ensure that the quality factors previously defined for the project are satisfied. A review attempts to identify problems before they appear as errors in the software product.
5.9 Software Verification
According to the IEEE Standard 729-1983, software verification is:
- The process of determining whether the products of a given phase of the software development cycle fulfill the requirements established during the previous phase.
- Formal proof of program correctness.
- The act of reviewing, inspecting, testing, checking, auditing, or otherwise establishing and documenting whether items, processes, services, or documents conform to specified requirements (ANSI/ASQC A3-1978).
In other words, “Are we building the product right?”
5.10 Software Validation
According to the IEEE Standard 729-1983, software validation is “the process of evaluating software at the end of the software development process to ensure compliance with software requirements.”
In other words, “Are we building the right product?”