Software engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on software, system engineering focuses on a variety of elements, analyzing, designing, and organizing those elements into a system that can be a product, a service, or a technology for the transformation of information or control.
The system engineering process is called business process engineering when the context of the engineering work focuses on a business enterprise. When a product (in this context, a product includes everything from a wireless telephone to an air traffic control system) is to be built, the process is called product engineering.
Both business process engineering and product engineering attempt to bring order to the development of computer-based systems. Although each is applied in a different application domain, both strive to put software into context. That is, both business process engineering and product engineering work to allocate a role for computer software and, at the same time, to establish the links that tie software to other elements of a computer-based system.
1. a set or arrangement of things so related as to form a unity or organic whole; 2. a set off acts, principles, rules, etc., classiﬁed and arranged in an orderly form so as to show a logical plan linking the various parts; 3. a method or plan of classiﬁcation or arrangement;
4.an established way of doing something; method; procedure.
A set or arrangement of elements that are organized to accomplish some predeﬁned goal by processing information. The goal may be to support some business function or to develop a product that can be sold to generate business revenue. To accomplish the goal, a computer-based system makes use of a variety of system elements: Software. Computer programs, data structures, and related documentation that serve to effect the logical method, procedure, or control that is required. Hardware. Electronic devices that provide computing capability, the interconnectivity devices (e.g., network switches, telecommunications devices) that enable the ﬂow of data, and electromechanical devices (e.g., sensors, motors, pumps) that provide external world function. People. Users and operators of hardware and software.
Database. A large, organized collection of information that is accessed via software. Documentation. Descriptive information (e.g., hardcopy manuals, on-line help ﬁles, Web sites) that portrays the use and/or operation of the system. Procedures. The steps that deﬁne the speciﬁc use of each system element or the procedural context in which the system resides. The elements combine in a variety of ways to transform information. For example, a marketing department transforms raw sales data into a proﬁle of the typical purchaser of a product; a robot transforms a command ﬁle containing speciﬁc instructions into a set of control signals that cause some speciﬁc physical action. Creating an information system to assist the marketing department and control software to support the robot both require system engineering. THE SYSTEM ENGINEERING HIERARCHY
System engineering is a modeling process. Whether the focus is on the world view or the detailed view, the engineer creates models that [MOT92] * Deﬁne the processes that serve the needs of the view under consideration. * Represent the behavior of the processes and the assumptions on which the behavior is based. * Explicitly deﬁne both exogenous and endogenous input3 to the model. * Represent all linkages (including output) that will enable the engineer to better understand the view. SYSTEM SIMULATION
In the late 1960s, R. M. Graham [GRA69] made a distressing comment about the way we build computer-based systems: "We build systems like the Wright brothers built Airplanes—build the whole thing, push it off a...