Page 317 -
P. 317
288 PART THREE CONVENTIONAL METHODS FOR SOFTWARE ENGINEERING
FIGURE 11.5 SafeHome software
Vertical
partitioning of
SafeHome
function Configure system Monitor sensors Interact with user
Poll for Activate
sensor event alarm functions
Read Identify Activate/ Activate Dial
sensor event deactivate audible phone
status type sensor alarm number
11.3.4 Essential and Implementation Views 7
An essential view of software requirements presents the functions to be accomplished
and information to be processed without regard to implementation details. For exam-
ple, the essential view of the SafeHome function read sensor status does not concern
Avoid the temptation
to move directly to the itself with the physical form of the data or the type of sensor that is used. In fact, it
implementation view, could be argued that read status would be a more appropriate name for this func-
assuming that the tion, since it disregards details about the input mechanism altogether. Similarly, an
essence of the essential data model of the data item phone number (implied by the function dial
problem is obvious.
Specifying phone number) can be represented at this stage without regard to the underlying data
implementation detail structure (if any) used to implement the data item. By focusing attention on the essence
too quickly reduces of the problem at early stages of requirements engineering, we leave our options
your options and open to specify implementation details during later stages of requirements specifi-
increases risk.
cation and software design.
The implementation view of software requirements presents the real world mani-
festation of processing functions and information structures. In some cases, a phys-
ical representation is developed as the first step in software design. However, most
computer-based systems are specified in a manner that dictates accommodation of
certain implementation details. A SafeHome input device is a perimeter sensor (not
a watch dog, a human guard, or a booby trap). The sensor detects illegal entry by
sensing a break in an electronic circuit. The general characteristics of the sensor
should be noted as part of a software requirements specification. The analyst must
recognize the constraints imposed by predefined system elements (the sensor) and
consider the implementation view of function and information when such a view is
appropriate.
7 Many people use the terms logical and physical views to connote the same concept.

