Systems Engineering

Systems Engineering involves the study of processes, equipment and/or facilities with the intent of breaking them down into small enough functional components and interfaces to allow effective functional specification, and configuration management. This discipline has been formalized in the IT world, where graphical programming languages have been developed to specify data flows, structures and interfaces. In engineering, this field was originally associated with "Project Management" where project managers worked across disciplines to coordinate large construction projects.

Interfaces

In the IT world, these would be technical specifications of data communications between subsystems, or between a system and users. In a more general sense interfaces can be contractual, functional or even institutional. The important point is that the interface specifications be detailed enough to allow interaction across the interface. For large systems, a critical piece of documentation is the Interface Control Document (ICD).

Project Life Cycle

A project will generally have the following life cycle:

Specifications

Specifications are a set of documents that are generated prior to the development of a large system. They generally start as documentation that when combined with a set of commercial terms and conditions becomes a Request for Proposal (RFP). There are three components of a set of specifications that are typically used to develop a system. These are as follows:

The specifications are a living document, and include all changes made over the life cycle of the system.

System Design Document

The set of documentation on what is to be developed, and includes data flow diagrams, system configuration document and the ICD. On some projects this is intentionally left broad, and is filled in as the system is developed.

Testing and Deployment

The process involves combining the specifications and system design to come up with a set of procedures and methods to test the system with the goal of eliminating as many errors, omissions and unanticipated problems as practicable.

Configuration Management (CM)

CM is a set of procedures and rules to insure that a system is properly documented and that the documentation is modified as changes occur. (This used to be known as change management.)