NM # 4
NM # 6
NM # 8
Figure 14.3 Supported terminals
The tests of the system should address the typical usage scenario of the
system, i.e. the employee connecting to the system, execution of a sequence
of acquisition and, finally, disconnecting. The results of these operations
could be observed from three perspectives:
the effects of the single operations on the user interface;
the effects of the operations on the database, and
the information exchanged through the communication protocol between
the terminals and the server.
Architecture and planning
The application falls into the large category of client
server systems operating
over a network. Typically the functionalities of this kind of system are orga-
nized into three layers or tiers; they are dubbed as three-tier architectures.
The first tier has the purpose of interacting with the users (the employees in
this case); the middle tier focuses on the computationally intensive tasks; and
the third layer carries out the interaction with persistent storage.
Modularity can improve system scalability as well as system maintenance:
with a modular approach it is possible to upgrade the UI or the database
easily. Since the system is intrinsically distributed, it is important to identify
a “cut” within the architecture where the communication takes place. The
communication must be as simple as possible, and separated from the other
features of the system.
The main components of the architecture are shown in Figure 14.4. The
Counter UI and Counter components address the first feature and form the