software engineering

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


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 1002 - IEEE Standard Taxonomy for Software Engineering Standards


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 610 - IEEE Standard Glossary of Software Engineering Terminology


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+)


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

SofTech Inc.

(Integration DEFinition) is a family of modeling languages in the field of systems and software engineering. They cover a wide range of uses, from functional modeling to data, simulation, object-oriented analysis/design and knowledge acquisition. These "definition languages" were developed under funding from U.S. Air Force and although still most commonly used by them, as well as other military and Department of Defense (DoD) agencies, are in the public domain.

The most-widely recognized and used of the IDEF family are IDEF0, a functional modeling language building on SADT, and IDEF1X, which addresses information models and database design issues.

The IDEF0 Functional Modeling method is designed to model the decisions, actions, and activities of an organization or system. It was derived from the established graphic modeling language Structured Analysis and Design Technique (SADT) developed by Douglas T. Ross and SofTech, Inc.. In its original form, IDEF0 includes both a definition of a graphical modeling language (syntax and semantics) and a description of a comprehensive methodology for developing models. The US Air Force commissioned the SADT developers to develop a function model method for analyzing and communicating the functional perspective of a system. IDEF0 should assist in organizing system analysis and promote effective communication between the analyst and the customer through simplified graphical devices.

Structured Analysis and Design Technique (SADT)

Structured Analysis and Design Technique (SADT) is a software engineering methodology for describing systems as a hierarchy of functions.


Structured Analysis and Design Technique (SADT) is a diagrammatic notation designed specifically to help people describe and understand systems. It offers building blocks to represent entities and activities, and a variety of arrows to relate boxes. These boxes and arrows have an associated informal semantics. SADT can be used as a functional analysis tool of a given process, using successive levels of details. The SADT method allows to define user needs for IT developments, which is very used in the industrial Information Systems, but also to explain and to present an activity’s manufacturing processes, procedures.

The SADT supplies a specific functional view of any enterprise by describing the functions and their relationships in a company. These functions fulfill the objectives of a company, such as sales, order planning, product design, part manufacturing, and human resource management. The SADT can depict simple functional relationships here and can reflect data and control flow relationships between different functions.


SADT has been developed and field-tested during the period of 1969 to 1973 by Douglas T. Ross and SofTech, Inc.. The methodology was used in the MIT Automatic Programming Tool (APT) project. It received extensive use starting in 1973 by the US Air Force Integrated Computer Aided Manufacturing program.


According to Levitt (2000) "it is part of a series of structured methods, that represent a collection of analysis, design, and programming techniques that were developed in response to the problems facing the software world from the 1960s to the 1980s. In this timeframe most commercial programming was done in Cobol and Fortran, then C and BASIC. There was little guidance on “good” design and programming techniques, and there were no standard techniques for documenting requirements and designs. Systems where getting larger and more complex, and the information system development became harder and harder to do so. As a way to help manage large and complex software. Since the end 1960 multiple Structured Methods emerged".

- Structured programming in circa 1967 with Edsger W. Dijkstra.

- Structured Design around 1975 with Larry Constantine and Ed Yourdon

- Structured Analysis in circa 1978 with Tom DeMarco, Yourdon, Gane & Sarson, McMenamin & Palmer.

- Information Engineering in circa 1990 with James Martin.

In 1981 the IDEF0 formalism was published, based on SADT.

IDEF1X Information Modeling

IDEFIX (Integration Definition for Information Modeling) is a data modeling language for the developing of semantic data models. IDEF1X is used to produce a graphical information model which represents the structure and semantics of information within an environment or system.

Use of the IDEF1X permits the construction of semantic data models which may serve to support the management of data as a resource, the integration of information systems, and the building of computer databases. This standard is part of the IDEF family of modeling languages in the field of software engineering.

In 1983, the U.S. Air Force initiated the Integrated Information Support System (I2S2) project under the ICAM program. The objective of this project was to provide the enabling technology to logically and physically integrate a network of heterogeneous computer hardware and software. As a result of this project, and industry experience, the need for an enhanced technique for information modeling was recognized.

From the point of view of the contract administrators of the Air Force IDEF program, IDEF1X was a result of the ICAM IISS-6201 project and was further extended by the IISS-6202 project. To satisfy the data modeling enhancement requirements that were identified in the IISS-6202 project, a sub-contractor, DACOM, obtained a license to the Logical Database Design Technique (LDDT) and its supporting software (ADAM). From the point of view of the technical content of the modeling technique, IDEF1X is a renaming of LDDT.

LDDT had been developed in 1982 by Robert G. Brown of The Database Design Group entirely outside the IDEF program and with no knowledge of IDEF1. Nevertheless, the central goal of IDEF1 and LDDT was the same: to produce a database neutral model of the persistent information needed by an enterprise by modeling the real-world entities involved. LDDT combined elements of the relational data model, the E-R model, and data generalization in a way specifically intended to support data modeling and the transformation of the data models into database designs

The graphic syntax of LDDT differed from that of IDEF1 and, more importantly, LDDT contained interrelated modeling concepts not present in IDEF1. Therefore, instead of extending IDEF1, Mary E. Loomis of DACOM wrote a concise summary of the syntax and semantics of a substantial subset of LDDT, using terminology compatible with IDEF1 wherever possible. DACOM labeled the result IDEF1X and supplied it to the ICAM program, which published it in 1985.

ISO 9000


From ISO 9000 essentials:

The ISO 9000 family of standards represents an international consensus on good quality management practices. It consists of standards and guidelines relating to quality management systems and related supporting standards.

ISO 9001:2008 is the standard that provides a set of standardized requirements for a quality management system, regardless of what the user organization does, its size, or whether it is in the private, or public sector. It is the only standard in the family against which organizations can be certified – although certification is not a compulsory requirement of the standard.

The other standards in the family cover specific aspects such as fundamentals and vocabulary, performance improvements, documentation, training, and financial and economic aspects.

From Wikipedia: ISO 9000:

ISO 9000 is a family of standards for quality management systems. ISO 9000 is maintained by ISO, the International Organization for Standardization and is administered by accreditation and certification bodies. The rules are updated, as the requirements motivate changes over time.

Some of the requirements in ISO 9001:2008 (which is one of the standards in the ISO 9000 family) include

* a set of procedures that cover all key processes in the business;
* monitoring processes to ensure they are effective;
* keeping adequate records;
* checking output for defects, with appropriate and corrective action where necessary;
* regularly reviewing individual processes and the quality system itself for effectiveness; and
* facilitating continual improvement

A company or organization that has been independently audited and certified to be in conformance with ISO 9001 may publicly state that it is "ISO 9001 certified" or "ISO 9001 registered". Certification to an ISO 9001 standard does not guarantee any quality of end products and services; rather, it certifies that formalized business processes are being applied.

Although the standards originated in manufacturing, they are now employed across several types of organizations. A "product", in ISO vocabulary, can mean a physical object, services, or software.

Code Complete

This is a practical handbook for software construction. McConnell's focus in this book was to advance the common practice of software development to leading edge. He provides research and programming experience to facilitate development of high-quality software. The author provides a chapter on "Where to Go for More Information," with descriptions of some of the industry's best books, articles, and organizations. Recommended reading for any software developer. Although the book pre-dates the web and client-server technology, most developers I know continue to value the practical and useful advice provided here.

Defines standard/methodology
Related standards/methodologies
  There is no link to the external resource yet !