software standard

IEEE Std 1298 - Software Quality Management System. Part 1: Requirements. Adopted From Standards Australia

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1298. This is Australian Standard AS 3563.1-1991. This standard establishes requirements for a software developer’s quality management system. It identifies each of the elements of a quality management system to be designed, developed, and maintained by the developer with the objective of ensuring that the software will meet the requirements of a contract, purchase order, or other agreement.

Defined by

IEEE Std 1209-1992 - IEEE Recommended Practice for the Evaluation and Selection of CASE Tools [Draft]

Body

From IEEE Software Engineering Standards Collection:

This recommended practice provides individuals and organisations a process for the evaluation and selection of computer-aided software engineering (CASE) tools. The recommended practice addresses the evaluation and selection of tools supporting software engineering processes including project management processes, development processes and integral processes.

IEEE Std 1074 - IEEE Standard for Developing a Software Project Life Cycle Process

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1074. This standard defines the set of activities that constitute the processes that are mandatory for the development and maintenance of software. The management and support processes that continue throughout the entire life cycle, as well as all aspects of the software life cycle from concept exploration through retirement, are covered. Associated input and output information is also provided. Utilisation of the processes and their component activities maximises the benefits to the user when the use of this standard is initiated early in the software life cycle. This standard requires definition of a user’s software life cycle and shows its mapping into typical software life cycles. It is not intended to define or imply a software life cycle of its own.

Defined by

IEEE Std 1063 - IEEE Standard for Software User Documentation

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1063. This standard provides minimum requirements on the structure and information content of user documentation, It applies primarily to technical substance rather than to style. Users of this standard may develop their own style manual for use within their organisations to implement the requirements of this standard.

Defined by

IEEE Std 1061 - IEEE Standard for a Software Quality Metrics Methodology

Body

From IEEE Software Engineering Standards Collection:

Draft IEEE Std 1061. This standard provides a methodology for establishing quality requirements and identifying, implementing, analysing, and validating the process and product of software quality metrics. This standard does not prescribe specific metrics. It does include examples of metrics together with a complete example of the standard’s use.

Defined by

IEEE Std 1058 - IEEE Standard for Software Project Management Plans

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1058.1. This standard specifies the format and contents of software project management plans. It does not specify the procedures or techniques to be used in the development of project management plans, or does it provide examples of project management plans, instead the standard sets a foundation for an organisation to build its own set of practices and procedures for developing project management plans.

Defined by

IEEE Std 1045 - IEEE Standard for Software Productivity Metrics

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1045. This standard defines a framework for measuring and reporting productivity of the software process. It focuses on definitions of how to measure software process productivity and what to report when giving productivity results. It is meant for those who want to measure the productivity of the software process for creating code and documentation products.

Defined by

IEEE Std 1042 - IEEE Guide to Software Configuration Management

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1042. The purpose of this guide is to provide guidance in planning Software Configuration Management (SCM) practices that are compatible with IEEE Std 828. The guide focuses on the process of SCM planning and provides a broad perspective for the understanding of software configuration management.

Defined by

IEEE Std 1028 - IEEE Standard for Software Reviews and Audits

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1028. Software reviews and audits are a basic part of the ongoing evaluation of software products as they pass along the software development life cycle. This standard provides direction to the reviewer or auditor on the conduct of evaluations. Included are processes applicable to both critical and non-critical software and the procedures required for the execution of reviews and audits.

Defined by

IEEE Std 1016 - IEEE Standard for Information Technology-Systems Design - Software Design Descriptions

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1016. A software design description is a representation of a software system. It is used as a medium for communicating software design information. This recommended practice describes that documentation of software designs. It specifies the necessary information content and the recommended organisation for a software design description.

Defined by

IEEE Std 1012 - IEEE Standard for Software Verification and Validation

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 1012. This standard has a threefold purpose:

a. to provide, for both critical and non-critical software, uniform and minimum requirements for the format and content of Software Verification and Validation Plans (SVVPs);

b. to define, for critical software, specific minimum Verification and Validation (V&V) tasks and their required inputs and outputs that shall be included in SVVPs; and

c. to suggest optional V&V tasks to be used to tailor SVVPs as appropriate for the particular V&V effort.

Defined by

IEEE Std 1008 - IEEE Standard for Software Unit Testing

Body

From IEEE Software Engineering Standards Collection:

Software unit testing is a process that includes the performance of test planning, the development of a test set, and the measurement of a test unit against its requirement. measuring entails the use of sample data to exercise the unit and the comparison of the unit’s actual behaviour with its required behaviour as specified in the unit’s requirement documentation. This standard defines an integrated approach to systematic and documented unit testing. The approach uses unit design and unit implementation information, in addition to unit requirements, to determine the completeness of the testing. The standard describes a testing process composed of a hierarchy of phases, activities, and tasks. Further, it defines a minium set of tasks for each activity, although additional tasks may be added to any activity.

Defined by

IEEE Std 1002 - IEEE Standard Taxonomy for Software Engineering Standards

Body

From IEEE Software Engineering Standards Collection:

This standard describes the form and content of a software engineering standards taxonomy. It explains the various types of software engineering standards, their functional and external relationships, and the role of various functions participating in the software life cycle. The taxonomy may be used as a method for planning the development or evaluation of standards for an organisation. It could also serve as a basis for classifying a set of standards or for organising a standards manual.

Defined by

IEEE Std 990 - IEEE Recommended Practice for Ada as a Program Design Language

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 990. This recommended practice provides recommendations reflecting state-of-the-art and alternate approaches to good practice for characteristics of Program Design Languages (PDLs) based on the syntax and semantics of the Ada Programming Language. In this document, these are referred to as Ada PDLs.

Defined by

IEEE Std 982.1 - IEEE Standard Dictionary of Measures to Produce Reliable Software

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 982.1. This standard provides definitions of selected measures. The measures are intended for use throughout the software development life cycle in order to produce reliable software. The standard does not specify or require the use of any of the measures. Its intent is to describe the individual measures and their use.

Defined by

IEEE Std 830 - IEEE Recommended Practice for Software Requirements Specifications

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 830. This guide describes alternate approaches to good practice in the specification of software requirements. To enable the reader to make knowledgeable choices, extensive tutorial material is provided. This guide covers the attributes of a good software requirements specification, as well as specification methodologies and associated formats.

Defined by

IEEE Std 829 - IEEE Standard for Software and System Test Documentation

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 829. This standard defines the content and format of eight documents that cover the entire testing process. The test plan prescribes the scope, approach, resources, and schedule of the testing activities. It identifies the items to be tested, the testing tasks to be performed, the personnel responsible for each task, and the risks associated with the plan. Test specification is covered by three document types, while test reporting is covered by four document types. The standard shows the relationships of these documents to one another as they are developed, and to the test process they document.

Defined by

IEEE Std 828 - IEEE Standard for Software Configuration Management Plans

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 828. This standard is similar in format to IEEE Std 730, but deals with the more limited subject of software configuration management. The standard identifies requirements for configuration identification, configuration control, configuration status accounting and reporting, and configuration audits and reviews. The implementation of those requirements provides a means by which the evolution of the software product items are recorded, communicated and controlled. This provides assurance of the integrity and continuity of the software product items as they evolve through the software development and maintenance life cycle.

Defined by

IEEE Std 730 - IEEE Standard for Software Quality Assurance Plans

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 730. This standard has legal liability as its basic rationale. It is directed toward the development and maintenance of critical software, that is, where failure could impact safety or cause large financial or social losses. The orientation is toward delineating all of the planned and systematic actions on a particular project that would provide adequate confidence that the software product conforms to established technical requirement. The standard establishes a required format and a set of minimum contents for software quality assurance plans.

Defined by

IEEE Std 610 - IEEE Standard Glossary of Software Engineering Terminology

Body

From IEEE Software Engineering Standards Collection:

IEEE Std 610.12 is a revision and redesignation of IEEE Std 729. This standard contains definitions for more than 1000 terms, establishing the basic vocabulary of software engineering. Building on a foundation of American National Standards Institute (ANSI) and International Organization for Standardization (ISO) terms, it promotes clarity and consistency in the vocabulary of software engineering and associated fields.

Defined by

[DUPLICATE] Standard: MIL-STD-2168 - Defense System Software Quality Program

The terms "DOD-STD-2167" and "DOD-STD-2168" (often mistakenly referred to as "MIL-STD-2167" and "MIL-STD-2168" respectively) are the official specification numbers for superseded U.S. DoD military standards describing documents and procedures required for developing military computer systems. (These specifications were superseded by MIL-STD-498 in 1994). Specifically:

* DOD-STD-2167 described the necessary project documentation to be delivered when developing a computer software system using the waterfall model

* DOD-STD-2168 was the DoD's software quality assurance standard, titled "Defense System Software Quality Program".

On December 5th, 1994, the standards DOD-STD-2167A and DOD-STD-2168 were superseded by MIL-STD-498, and that document merged DOD-STD-2167A, DOD-STD-7935A, and DOD-STD-2168 into a single document, and incorporated changes to address vendor criticisms.

DoD-STD-2167A - Defense Systems Software Development

Defined by
Defining documents
Document title Document identifier Document date File size File
DoD-STD-2167A - Defense Systems Software Development DOD-STD-2167A 131 KB   DOWNLOAD!
Document title Sort descending Document identifier Document date File size File
DoD-STD-2167A - Defense Systems Software Development DOD-STD-2167A 1988-02-29 131 KB   DOWNLOAD!
DoD-STD-2167A - Defense Systems Software Development [as PDF scan] DOD-STD-2167A 1988-02-29 1.88 MB   DOWNLOAD!

DOD-STD-2167A (Department of Defense Standard 2167A), titled "Defense Systems Software Development", was a United States defense standard, published on February 29, 1988, which updated the less well known DOD-STD-2167 published 4 June 1985. This document established "uniform requirements for the software development that are applicable throughout the system life cycle." It was designed to be used with MIL-STD-2168, "Defense System Software Quality Program".

On December 5th, 1994 it was superseded by MIL-STD-498, which merged DOD-STD-2167A, DOD-STD-7935A, and DOD-STD-2168 into a single document, and addressed some vendor criticisms.

US 12207 (1996+)

Body

From MIL-STD-498, J-STD-016, and the U.S. Commercial Standard:

U.S. Commercial Standard (US 12207-1996)

In August 1995, ISO/IEC 12207 was released as an approved international standard. The JISWG is adapting 12207 for United States use to include the technical content found in J-STD-016. The working group consists of representatives from commercial and government organizations.
[...]
US 12207-1996 will consist of ISO/IEC 12207 with additional materials.
[...]
The scope of ISO/IEC 12207 is broader than the scope of J-STD-016. J-STD-016-1995 focuses on the development process while ISO/IEC 12207 includes the acquisition, supply, operation, and maintenance processes. Consequently, the additional materials in US 12207-1996 focus on those areas where the two standards overlap, i.e., development and the supporting processes such as documentation, quality assurance, configuration management, and joint reviews.

From Contracting for Quality EEE493 2001:

IEEE/EIA 12207 (June 1998)

- Also called “US 12207” for historical reasons

- Represents a “tactical” implementation of ISO 12207

- Focus is on the organizational level rather than the project level

MIL-STD-498 - Software development and documentation

Body

List of Data Item Descriptions (DIDs):

Defined by
Defining documents
Document title Document identifier Document date File size File
MIL-STD-498 - Software development and documentation (PDF) MIL-STD-498 667.77 KB   DOWNLOAD!

MIL-STD-498 (Military-Standard-498) was a United States military standard whose purpose was to "establish uniform requirements for software development and documentation." It was released Nov. 8, 1994, and replaced DOD-STD-2167A, DOD-STD-7935A, and DOD-STD-1703. It was meant as an interim standard, to be in effect for about two years until a commercial standard was developed.

,

[...]
it was cancelled on May 27, 1998 and replaced by J-STD-016 and IEEE 12207.
[...]

,

A key component of the standard is 22 Data Item Descriptions (DIDs). Each DID generically describes the required content of a data item, a "document" that describes the software or some aspect of the software life-cycle. These documents could take many forms, from source code, to installation scripts, to various electronic and paper reports, and the contracting party (e.g., the government) is encouraged to specify acceptable formats. The set of data item descriptions, once tailored for a specific contract, then become Contract Data Requirement List items ("CDRLs") that represent the deliverable items of a contract. Depending on the nature of the project, not all data items may be required.

The terms "DOD-STD-2167" and "DOD-STD-2168" (often mistakenly referred to as "MIL-STD-2167" and "MIL-STD-2168" respectively) are the official specification numbers for superseded U.S. DoD military standards describing documents and procedures required for developing military computer systems. (These specifications were superseded by MIL-STD-498 in 1994). Specifically:

* DOD-STD-2167 described the necessary project documentation to be delivered when developing a computer software system using the waterfall model

* DOD-STD-2168 was the DoD's software quality assurance standard, titled "Defense System Software Quality Program".

On December 5th, 1994, the standards DOD-STD-2167A and DOD-STD-2168 were superseded by MIL-STD-498, and that document merged DOD-STD-2167A, DOD-STD-7935A, and DOD-STD-2168 into a single document, and incorporated changes to address vendor criticisms.

ISO/IEC 12207 - Software Lifecycle Processes

Defined by
Document title Sort descending Document identifier Document date File size File
ISO/IEC 12207 SW LC Processes - 12207 Description UNKNOWN 77.63 KB   DOWNLOAD!
ISO/IEC 12207 SW LC Processes - 12207 Tutorial 1999-04-26 793.5 KB   DOWNLOAD!

ISO 12207 is an ISO standard for software lifecycle processes. It aims to be 'the' standard that defines all the tasks required for developing and maintaining software.

The ISO 12207 standard establishes a process of lifecycle for software, including processes and activities applied during the acquisition and configuration of the services of the system. Each Process has a set of outcomes associated with it. There are 23 Processes, 95 Activities, 325 Tasks and 224 Outcomes (the new "ISO/IEC 12207:2008 Systems and software engineering -- Software life cycle processes" defines 43 system and software processes).

The standard has the main objective of supplying a common structure so that the buyers, suppliers, developers, maintainers, operators, managers and technicians involved with the software development use a common language. This common language is established in the form of well defined processes. The structure of the standard was intended to be conceived in a flexible, modular way so as to be adaptable to the necessities of whoever uses it. The standard is based on two basic principles: modularity and responsibility. Modularity means processes with minimum coupling and maximum cohesion. Responsibility means to establish a responsibility for each process, facilitating the application of the standard in projects where many people can be legally involved.

The set of processes, activities and tasks can be adapted according to the software project. These processes are classified in three types: basic, for support and organizational. The support and organizational processes must exist independently of the organization and the project being executed. The basic processes are instantiated according to the situation.