DOD-STD-2167A
Status | Cancelled 1994 / Legacy |
---|---|
Year started | February 29, 1988 |
Organization | United States Department of Defense |
Base standards | Preceded by DOD-STD-2167 |
Related standards | DOD-STD-2168 Succeeded by |
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."[1] This revision was written to allow the contractor more flexibility[2] and was a significant reorganization and reduction of the previous revision; e.g.., where the previous revision prescribed pages of design and coding standards, this revision only gave one page of general requirements for the contractor's coding standards; while DOD-STD-2167 listed 11 quality factors to be addressed for each software component in the SRS, DOD-STD-2167A only tasked the contractor to address relevant quality factors in the SRS.[3] Like DOD-STD-2167, it was designed to be used with DOD-STD-2168, "Defense System Software Quality Program".
On December 5, 1994 it was superseded by MIL-STD-498, which merged DOD-STD-2167A, DOD-STD-7935A, and DOD-STD-2168 into a single document,[4] and addressed some vendor criticisms.
Criticism
[edit]One criticism of the standard was that it was biased toward the Waterfall Model. Although the document states "the contractor is responsible for selecting software development methods (for example, rapid prototyping)", it also required "formal reviews and audits" that seemed to lock the vendor into designing and documenting the system before any implementation began.[citation needed]
Another criticism was the focus on design documents, to the exclusion of Computer-Aided Software Engineering (CASE) tools being used in the industry. Vendors would often use the CASE tools to design the software, then write several standards-required documents to describe the CASE-formatted data. This created problems matching design documents to the actual product.[citation needed]
Predecessors
[edit]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. Specifically: [5]
- DOD-STD-2167 described the necessary project documentation to be delivered when developing a "Mission-Critical" computer software system.
- DOD-STD-2168 was the DoD's software quality assurance standard, titled "Defense System Software Quality Program".
Successors
[edit]One result of these criticisms was to begin designing a successor standard, which became MIL-STD-498.[6] Another result was a preference for formal industry-designed standards (such as IEEE 12207) and informal "best practice" specifications, rather than trying to determine the best processes and making them formal requirements on suppliers.
MIL-STD-2167A with MIL-STD-498 eventually became the basis for DO-178 in the early 1980s,[7] with DO-178 receiving subsequent revisions. MIL-STD-2167 and MIL-STD-498 together define standard software development life cycle processes that are expected to be implemented and followed as well as prescriptively defining standard document format and content. In contrast, the less proscriptive DO-178B/C defines objectives that should be accomplished as acceptable means[8] of demonstrating airworthiness, permitting relative flexibility in the life cycles and processes employed to accomplish those objectives.[9]
References
[edit]- ^ "DOD-STD-2167A, MILITARY STANDARD: DEFENSE SYSTEM SOFTWARE DEVELOPMENT]" (PDF). United States Department of Defense. 29 Feb 1988.
- ^ Paul V. Shebalin (Summer 1994). "Software Development Standards and the DoD Program Manager" (PDF). Acquisition Review Quarterly. Defense Acquisition University.
- ^ D. S. Maibor (1991). Christine Anderson (ed.). Aerospace Software Engineering (The DOD Life Cycle Model). p. 45. ISBN 9781600863905.
- ^ "MIL-STD-498, MILITARY STANDARD: SOFTWARE DEVELOPMENT AND DOCUMENTATION [SUPERSEDED BY IEEE/EIA 12207.0, IEEE/EIA 12207.1 AND IEEE/EIA 12207.2]" (PDF). United States Department of Defense. 5 Dec 1994.
- ^ "Frameworks for quality software process: SEI Capability Maturity...", Springerlink.com, 2007, webpage PDF: SL6-PDF: states, "MIL-STD-2167 is the standard many DoD contractors have had to deliver...whereas MIL-STD-2168 is the DoD's quality assurance standard."
- ^ Defence Aviation Authority, Australia, AAP 7001.054(AM1): Airworthiness Design Requirements Manual, Sect 2 Chap 7 - Aviation Software, p. 10,
However, DOD-STD-2167A contains a number of notable shortfalls that were resolved by MIL-STD-498.
- ^ Martin Beeby (2012). "DO-178C the future of Avionics Certification". atego. p. 3. Retrieved 23 Jan 2016.
- ^ AC 20-115C Archived September 3, 2014, at the Wayback Machine
- ^ William S. Levine, ed. (2011). The Control Handbook, Second Edition: Control System Applications. CRC Press. pp. 6–15, 6–16. ISBN 9781420073614.