Page 316 -
P. 316
CHAPTER 11 ANALYSIS CONCEPTS AND PRINCIPLES 287
FIGURE 11.4 SafeHome software
Horizontal
partitioning of
SafeHome
function Configure system Monitor sensors Interact with user
Horizontal partitioning
During installation, the SafeHome control panel is used to "program" and configure the
system. Each sensor is assigned a number and type, a master password is programmed for
arming and disarming the system, and telephone number(s) are input for dialing when a
sensor event occurs.
When a sensor event is recognized, the software invokes an audible alarm attached to
the system. After a delay time that is specified by the homeowner during system configu-
ration activities, the software dials a telephone number of a monitoring service, provides
information about the location, reporting the nature of the event that has been detected.
The telephone number will be redialed every 20 seconds until telephone connection is
obtained.
All interaction with SafeHome is managed by a user-interaction subsystem that reads
input provided through the keypad and function keys, displays prompting messages on the
LCD display, displays system status information on the LCD display. Keyboard interaction
takes the following form . . .
The requirements for SafeHome software may be analyzed by partitioning the infor-
mation, functional, and behavioral domains of the product. To illustrate, the func-
tional domain of the problem will be partitioned. Figure 11.4 illustrates a horizontal
decomposition of SafeHome software. The problem is partitioned by representing con-
stituent SafeHome software functions, moving horizontally in the functional hierar-
chy. Three major functions are noted on the first level of the hierarchy.
The subfunctions associated with a major SafeHome function may be examined
“Furious activity is no by exposing detail vertically in the hierarchy, as illustrated in Figure 11.5. Moving
substitute for
understanding.” downward along a single path below the function monitor sensors, partitioning occurs
vertically to show increasing levels of functional detail.
H. H. Williams
The partitioning approach that we have applied to SafeHome functions can also
be applied to the information domain and behavioral domain as well. In fact, parti-
tioning of information flow and system behavior (discussed in Chapter 12) will pro-
vide additional insight into software requirements. As the problem is partitioned,
interfaces between functions are derived. Data and control items that move across
an interface should be restricted to inputs required to perform the stated function and
outputs that are required by other functions or system elements.

