Page 313 -
P. 313
284 PART THREE CONVENTIONAL METHODS FOR SOFTWARE ENGINEERING
to process data, to transform data from one form to another; that is, to accept input,
manipulate it in some way, and produce output. This fundamental statement of objec-
tive is true whether we build batch software for a payroll system or real-time embed-
ded software to control fuel flow to an automobile engine.
It is important to note, however, that software also processes events. An event
represents some aspect of system control and is really nothing more than Boolean
The information data—it is either on or off, true or false, there or not there. For example, a pressure
domain of a problem
encompasses data sensor detects that pressure exceeds a safe value and sends an alarm signal to mon-
items or objects that itoring software. The alarm signal is an event that controls the behavior of the sys-
contain numbers, text, tem. Therefore, data (numbers, text, images, sounds, video, etc.) and control (events)
images, audio, video, both reside within the information domain of a problem.
or any combination of
these. The first operational analysis principle requires an examination of the information
domain and the creation of a data model. The information domain contains three dif-
ferent views of the data and control as each is processed by a computer program: (1)
information content and relationships (the data model), (2) information flow, and (3)
information structure. To fully understand the information domain, each of these
views should be considered.
Information content represents the individual data and control objects that consti-
To begin your tute some larger collection of information transformed by the software. For exam-
understanding of the
information domain, ple, the data object, paycheck, is a composite of a number of important pieces of
the first question to be data: the payee's name, the net amount to be paid, the gross pay, deductions, and so
asked is: “What forth. Therefore, the content of paycheck is defined by the attributes that are needed
information does this to create it. Similarly, the content of a control object called system status might be
system produce as
output?” defined by a string of bits. Each bit represents a separate item of information that
indicates whether or not a particular device is on- or off-line.
Data and control objects can be related to other data and control objects. For exam-
ple, the data object paycheck has one or more relationships with the objects time-
card, employee, bank, and others. During the analysis of the information domain,
these relationships should be defined.
Information flow represents the manner in which data and control change as each
moves through a system. Referring to Figure 11.3, input objects are transformed to
intermediate information (data and/or control), which is further transformed to out-
put. Along this transformation path (or paths), additional information may be intro-
duced from an existing data store (e.g., a disk file or memory buffer). The
transformations applied to the data are functions or subfunctions that a program must
perform. Data and control that move between two transformations (functions) define
the interface for each function.
Information structure represents the internal organization of various data and con-
trol items. Are data or control items to be organized as an n-dimensional table or as
a hierarchical tree structure? Within the context of the structure, what information is
related to other information? Is all information contained within a single structure or

