Software Systems Engineering

The Guide to the Software Engineering Body of Knowledge does not include a knowledge area for software systems engineering. This is because the SWEBOK Guide focuses on knowledge specific to software engineering and leaves related subjects, such as systems engineering, to other efforts. Indeed, the International Council on Systems Engineering (INCOSE) is currently working on their own Body of Knowledge project.

Modern information technology products, even the software-intensive ones, are complex enough to require application of techniques from both disciplines. Andriole and Freeman write that "we have found that the creation of software intensive systems demands more than what is traditionally in either of the fields" (Andriole p. 93). Accordingly, it becomes important to understand the relationships between systems and software engineering.

There are many definitions of systems engineering. The definition from IEEE 100 is "the application of the mathematical and physical sciences to develop systems that utilize economically the materials and forces of nature for the benefit of mankind." A reader of standards, though, is better served by a definition emphasizing the activities rather than the results of systems engineering: "An iterative process of top down synthesis, development, and operation of a real world system that satisfies, in a near optimal manner, the full range of requirements for the system" (Eisner p. 88).

From this viewpoint, many of the disciplines of software engineering have been inherited from systems engineering. Although this collection of standards focuses on software engineering, it must be remembered that systems engineers will apply similar disciplines in a broader sense to the requirements of the overall system.

Standards

Standard:

Title:

Abstract:

IEEE Std 1220™-1998

IEEE Standard for the Application and Management of the Systems Engineering Process

The interdisciplinary tasks, which are required throughout a system's life cycle to transform customer needs, requirements, and constraints into a system solution, are defined. In addition, the requirements for the systems engineering process and its application throughout the product life cycle are specified. The focus of this standard is on engineering activities necessary to guide product development while ensuring that the product is properly designed to make it affordable to produce, own, operate, maintain, and eventually to dispose of, without undue risk to health or the environment.

IEEE Std 1228™-1994

IEEE Standard for Software Safety Plans

The minimum acceptable requirements for the content of a software safety plan are established. This standard applies to the software safety plan used for the development, procurement, maintenance, and retirement of safety-critical software. This standard requires that the plan be prepared within the context of the system safety program. Only the safety aspects of the software are included. This standard does not contain special provisions required for software used in distributed systems or in parallel processors.

IEEE Std 1233™, 1998 Edition

IEEE 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™-1998

IEEE Guide for Information Technology-System Definition-Concept of Operations (ConOps) 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 overall quantitative and qualitative system characteristics to the user, buyer, developer, and other organizational elements (for example, 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 1471™-2000

IEEE Recommended Practice for Architectural Description of Software Intensive Systems

This recommended practice addresses the activities of the creation, analysis, and sustainment of architectural descriptions. A conceptual framework for architectural description is established. The content of an architectural description is defined. Annexes provide the rationale for key concepts and terminology, the relationships to other standards, and examples of usage.

About IEEE standard numbers.


Stephen J. Andriole and Peter A. Freeman, "Software Systems Engineering: The Case for a New Discipline," Software Engineering Journal, Vol. 8, No. 3, May 1993, pp. 165-179.

H. Eisner, Computer-Aided Systems Engineering, Prentice-Hall, Englewood Cliffs, NJ, 1988.