For documentation beyond the source-code level, valuable sources of information are the IEEE (Institute for Electric and Electrical Engineers) Software Engineering Standards. IEEE standards are developed by groups composed of practitioners and academicians who are expert in a particular area. Each standard contains a summary of the area covered by the standard and typically contains the outline for the appropriate documentation for work in that area.
Several national and international organizations participate in standards work. The IEEE is a group that has taken the lead in defining software engineering standards. Some standards are jointly adopted by ISO (International Standards Organization), EIA (Electronic Industries Alliance), or IEC (International Engineering Consortium).
Standards names are composed of the standards number, the year the standard was adopted, and the name of the standard. So, IEEE/EIA Std 12207-1997, Information Technology—Software Life Cycle Processes, refers to standard number 12207.2, which was adopted in 1997 by the IEEE and EIA.
Here are some of the national and international standards most applicable to software projects:
The top-level standard is ISO/IEC Std 12207, Information Technology—Software Life Cycle Processes, which is the international standard that defines a life-cycle framework for developing and managing software projects. This standard was adopted in the United States as IEEE/EIA Std 12207, Information Technology—Software Life Cycle Processes.
Here are software-development standards to consider:
IEEE Std 830-1998, Recommended Practice for Software Requirements Specifications
IEEE Std 1233-1998, Guide for Developing System Requirements Specifications
IEEE Std 1016-1998, Recommended Practice for Software Design Descriptions
IEEE Std 828-1998, Standard for Software Configuration Management Plans
IEEE Std 1063-2001, Standard for Software User Documentation
IEEE Std 1219-1998, Standard for Software Maintenance
And here are software quality-assurance standards:
IEEE Std 730-2002, Standard for Software Quality Assurance Plans
IEEE Std 1028-1997, Standard for Software Reviews
IEEE Std 1008-1987 (R1993), Standard for Software Unit Testing
IEEE Std 829-1998, Standard for Software Test Documentation
IEEE Std 1061-1998, Standard for a Software Quality Metrics Methodology
Here are some software-management standards:
IEEE Std 1058-1998, Standard for Software Project Management Plans
IEEE Std 1074-1997, Standard for Developing Software Life Cycle Processes
IEEE Std 1045-1992, Standard for Software Productivity Metrics
IEEE Std 1062-1998, Recommended Practice for Software Acquisition
IEEE Std 1540-2001, Standard for Software Life Cycle Processes - Risk Management
IEEE Std 1490-1998, Guide - Adoption of PMI Standard - A Guide to the Project Management Body of Knowledge
Here are sources that provide overviews of standards:
IEEE Software Engineering Standards Collection, 2003 Edition. New York, NY: Institute of Electrical and Electronics Engineers (IEEE). This comprehensive volume contains 40 of the most recent ANSI/IEEE standards for software development as of 2003. Each standard includes a document outline, a description of each component of the outline, and a rationale for that component. The document includes standards for qualityassurance plans, configuration-management plans, test documents, requirements specifications, verification and validation plans, design descriptions, project-management plans, and user documentation. The book is a distillation of the expertise of hundreds of people at the top of their fields and would be a bargain at virtually any price. Some of the standards are also available individually. All are available from the IEEE Computer Society in Los Alamitos, California and from http://www.computer.org/cspress.
Moore, James W. Software Engineering Standards: A User's Road Map. Los Alamitos, CA: IEEE Computer Society Press, 1997. Moore provides an overview of IEEE software engineering standards.
18.216.77.153