Software Engineering Standards
Here some important IEEE standards are collected only for ECE students. please visit MyConcordia and go to IEEE Xplore for more standards. No one is allowed to distribute these standards for any commercial purposes. If you need the authorized version, please go to IEEE Software Engineering Standards directly.
Note: The following links may only be able to open on ENCS computers with a valid login.
Customer and Terminology
- IEEE STD 610.12, Standard Glossary of Software Engineering Terminology. This standard will soon be superseded by another ISO/IEC IEEE joint standard IEEE Std 24765. It is much more comprehensive than 610.19. You can get the final draft now.
- ISO/IEC/IEEE 24765:2010(E), Systems and software engineering -- Vocabulary
- IEEE Std 1220-2005, Standard for Application and Management of the Systems Engineering Process. This standard describes the systems engineering activities and process required throughout a system's life cycle to develop systems meeting customer needs, requirements and constraints.
- IEEE Std 1228, Standard for Software Safety Plans. This standard describes the minimum content of a plan for the software aspects of development, procurement, maintenance and retirement of a safety-critical system.
- IEEE Std 1233, Guide for Developing System Requirements Specifications. Guidance for the development of the set of requirements, System Requirements Specification (SyRS), that will satisfy an expressed need is provided. Developing an SyRS includes the identification, organization, presentation, and modification of the requirements. Also addressed are the conditions for incorporating operational concepts, design constraints, and design configuration requirements into the specification. This guide also covers the necessary characteristics and qualities of individual requirements and the set of all requirements.
- IEEE Std 1362, Guide for Concept of Operations Document. The format and contents of a concept of operations (ConOps) document are described. A ConOps is a user-oriented document that describes system characteristics for a proposed system from the users' viewpoint. The ConOps document is used to communicate the overall quantitative and qualitative system characteristics to the user, buyer, developer and other organizational elements (e.g. training, facilities, staffing and maintenance). It is used to describe the user organization(s), mission(s) and organizational objectives from an integrated systems point of view.
- IEEE STD 12207-2008 , Software Life Cycle Processes. This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It applies to the acquisition of systems and software products and services, to the supply, development, operation, maintenance, and disposal of software products and the software portion of a system, whether performed internally or externally to an organization. Those aspects of system definition needed to provide the context for software products and services are included. Software includes the software portion of firmware.
- 12207.1, Guide to Software Life Cycle Processes—Life Cycle Data. IEEE/EIA 12207.1 provides guidance for recording life cycle data resulting from the life cycle processes of IEEE/EIA 12207.0.
- 12207.2, Guide to Software Life Cycle Processes—Implementation Considerations. IEEE/EIA 12207.2 provides implementation consideration guidance for the normative clauses of IEEE/EIA 12207.0. The guidance is based on software industry experience with the life cycle processes presented in IEEE/EIA 12207.0.
Process
- IEEE Std 730, Standard for Software Quality Assurance Plans. The standard specifies the format and content of software quality assurance plans. It meets the IEEE/EIA 12207.1 requirements for such plans.
- 828, Standard for Software Configuration Management Plans. This standard establishes the minimum requirements for processes for Configuration Management (CM) in systems and software engineering. The application of this standard applies to any form, class, or type of software or system. This standard addresses what CM activities are to be done, when they are to happen in the life cycle, and what planning and resources are required. It also describes the content areas for a CM Plan. The standard supports ISO/IEC/IEEE 12207:2008 and ISO/IEC/IEEE 15288:2008 and adheres to the terminology in ISO/IEC/IEEE Std 24765 and the information item requirements of IEEE Std 15939™.
- IEEE Std 1008, Standard for Software Unit Testing. The primary objective is to specify a standard approach to software unit testing that can be used as a basis for sound software engineering practice. A second objective is to describe the software engineering concepts and testing assumptions on which the standard approach is based. A third objective is to provide guidance and resource information to assist with the implementation and usage of the standard unit testing approach.
- IEEE Std 1012, Standard for Software Verification and Validation. Software verification and validation (V&V) processes determine whether the development products of a given activity conform to the requirements of that activity and whether the software satisfies its intended use and user needs. Software V&V life cycle process requirements are specified for different software integrity levels. The scope of V&V processes encompasses software -based systems, computer software , hardware, and interfaces. This standard applies to software being developed, maintained, or reused [legacy, commercial off-the-shelf (COTS), non-developmental items]. The term software also includes firmware, microcode, and documentation. Software V&V processes include analysis, evaluation, review, inspection, assessment, and testing of software products.
- IEEE Std 1028, Standard for Software Reviews. Five types of software reviews and audits, together with procedures required for the execution of each type, are defined in this standard. This standard is concerned only with the reviews and audits; procedures for determining the necessity of a review or audit are not defined, and the disposition of the results of the review or audit is not specified. Types included are management reviews, technical reviews, inspections, walk-through and audits.
- IEEE Std 1042, Guide to Software Configuration Management. The guide provides guidance in planning software configuration management (SCM) practices. Three groups are served by this guide: developers of software, software management community, and those responsible for preparation of SCM plans. The developers of software will be interested in the different ways SCM can be used to support the software engineering process. The management community will be interested in how the SCM plan can be tailored to the needs and resources of a project. Those preparing plans for SCM will be interested in the suggestions and examples for preparation of a plan.
- IEEE Std 1045, Standard for Software Productivity Metrics. A consistent way to measure the elements that go into computing software productivity is defined. Software productivity metrics terminology are given to ensure an understanding of measurement data for both source code and document production.
- IEEE Std 1058, Standard for Software Project Management Plans. The format and contents of software project management plans, applicable to any type or size of software project, are described. The elements that should appear in all software project management plans are identified.
- IEEE Std 1059, Guide for Software Verification and Validation Plans. Guidance in preparing Software Verification and Validation Plans (SVVPs) that comply with IEEE Std 1012-1986 are provided. IEEE Std 1012-1986 specifies the required content for an SVVP. This guide recommends approaches to Verification and Validation (V&V) planning.
- IEEE Std 1074, Standard for Developing Software Life Cycle Processes. This standard provides a process for creating a software project life cycle process (SPLCP). It is primarily directed at the process architect for a given software project.
- IEEE Std 1219, Standard for Software Maintenance. The process for managing and executing software maintenance activities is described.
- IEEE Std 1490 - 2004, A Guide to the Program Management Body of Knowledge. The PMI standard - A Guide to the Project Management Body of Knowledge (PMBOK® Guide)-Fourth Edition, is adopted in this standard.
- IEEE Std 1517-2010, Standard for Information Technology - Software Life Cycle Processes - Reuse Processes. A common framework for extending the system and software life cycle processes of IEEE Std 12207™-2008 to include the systematic practice of reuse is provided. The processes, activities, and tasks to be applied during each life cycle process to enable a system and/or product to be constructed from reusable assets are specified. The processes, activities, and tasks to enable the identification, construction, maintenance, and management of assets supplied are also specified.
Product
- IEEE Std 982.1, Standard Dictionary of Measures to Produce Reliable Software. The standard provides a set of measures indicative of software reliability that can be applied to the software product as well as to the development and support processes. There is a need for measures than can be applied early in the development process that may be indicators of the reliability of the delivered product. The standard provides a common, consistent definition of a set of measures that may meet those needs. The document contains four sections. Section 1: Scope, establishes the goals and boundaries of the standard. Section 2: Definitions, serves as a central location for key terms used throughout the body of the document. Section 3: Functional Classification of Measures, provides a taxonomy with respect to measure objectives. Section 4: Measures for Reliable Software, presents the measures ordered in general by complexity.
- IEEE Std 982.2, Guide for the Use of Standard Dictionary of Measures to Produce Reliable Software. The guide provides the conceptual insights, implementation considerations, and assessment suggestions for the application of IEEE Std 982.1-1988, IEEE Standard Dictionary of Measures to Produce Reliable Software. The Dictionary, by its very nature, is limited in what it may contain. While this is necessary for standardization, abbreviation of detail might be detrimental to the most effective use of the Dictionary. The guide is written to provide a bridge between IEEE Std 982.1-1988 and the user, so that full benefit may be derived from the application of the standard to a software project.
- IEEE Std 1061, Standard for a Software Quality Metrics Methodology. A methodology for establishing quality requirements and identifying, implementing, analyzing and validating the process and product software quality metrics is defined. The methodology spans the entire software life-cycle.
- IEEE Std 1063, Standard for Software User Documentation. Minimum requirements for the structure, information content, and format of user documentation, including both printed and electronic documents used in the work environment by users of systems containing software, are provided in this standard.
Resource and Technique
- IEEE Std 829 -2008, Standard for Software Test Documentation. Test processes determine whether the development products of a given activity conform to the requirements of that activity and whether the system and/or software satisfies its intended use and user needs. Testing process tasks are specified for different integrity levels. These process tasks determine the appropriate breadth and depth of test documentation. The documentation elements for each type of test documentation can then be selected. The scope of testing encompasses software-based systems, computer software, hardware, and their interfaces. This standard applies to software-based systems being developed, maintained, or reused (legacy, commercial off-the-shelf, Non-Developmental Items). The term "software" also includes firmware, microcode, and documentation. Test processes can include inspection, analysis, demonstration, verification, and validation of software and software-based system products.
- IEEE Std 830-1998, Recommended Practice for Software Requirements Specifications. The content and qualities of a good software requirements specification (SRS) are described, and several sample SRS outlines are presented. This recommended practice is aimed at specifying the requirements of software to be developed, but can also be applied to assist in the selection of in-house and commercial software products. Guidelines for compliance with IEEE/EIA Std 12207.1-1997 are also provided.
- IEEE Std 1016, Recommended Practice for Software Design Descriptions. The necessary information content and recommendations for an organization for Software Design Descriptions (SDDs) are described. An SDD is a representation of a software system that is used as a medium for communicating software design information. This recommended practice is applicable to paper documents, automated databases, design description languages, or other means of description.
- IEEE Std 1044, Standard Classification for Software Anomalies. This standard provides a uniform approach to the classification of software anomalies , regardless of when they originate or when they are encountered within the project, product, or system life cycle. Classification data can be used for a variety of purposes, including defect causal analysis, project management, and software process improvement (e.g., to reduce the likelihood of defect insertion and/or to increase the likelihood of early defect detection).
- IEEE Std 1348, Recommended Practice for the Adoption of CASE Tool. Difficulties that may be encountered, and how they can be avoided, by organizations intending to adopt CASE tools are addressed. An overview of the adoption process, including analysis of the organization's needs and readiness for automation, use of a pilot project, and definition of activities necessary to integrate the new technology into the organization's standard software engineering practice is provided.
- IEEE Std 1430, Guide for Software Reuse - Concept of Operations for Interoperating Reuse Libraries. This document describes the concepts necessary and appropriate for networks of interoperating reuse libraries (NIRLs). The purpose is to provide a context for standardization efforts toward the goal of supporting and enhancing interoperability.
- IEEE Std 1462, Guide for the Evaluation and Selection of CASE Tools. The international standard deals with the evaluation and selection of computer-aided software engineering (CASE) tools, covering a partial or full portion of the software engineering life cycle. The adoption of the international standard by IEEE includes an implementation note, which explains terminology differences, identifies related IEEE standards, and provides interpretation of the international standard.