Page 298 -
P. 298
10.5 System operation 281
these subsystems. When a single subsystem is integrated with an already work-
ing system, errors that occur are probably in the newly integrated subsystem or in
the interactions between the existing subsystems and the new subsystem.
As more and more systems are built by integrating COTS hardware and software
components, the distinction between implementation and integration is increasingly
blurred. In some cases, there is no need to develop new hardware or software and the
integration is, essentially, the implementation phase of the system.
During and after the integration process, the system is tested. This testing should
focus on testing the interfaces between components and the behavior of the system
as a whole. Inevitably, this will also reveal problems with individual subsystems that
have to be repaired.
Subsystem faults that are a consequence of invalid assumptions about other subsys-
tems are often revealed during system integration. This may lead to disputes between
the contractors responsible for implementing different subsystems. When problems are
discovered in subsystem interaction, the contractors may argue about which subsystem
is faulty. Negotiations on how to solve the problems can take weeks or months.
The final stage of the system development process is system delivery and deploy-
ment. The software is installed on the hardware and is readied for operation. This
may involve more system configuration to reflect the local environment where it is
used, the transfer of data from existing systems, and the preparation of user docu-
mentation and training. At this stage, you may also have to reconfigure other systems
in the environment to ensure that the new system interoperates with them.
Although straightforward in principle, many difficulties can arise during deploy-
ment. The user environment may be different from that anticipated by the system
developers and adapting the system to cope with diverse user environments can be
difficult. The existing data may require extensive cleanup and parts of it may be
missing. The interfaces to other systems may not be properly documented.
The influence of system development processes on dependability and security
is obvious. It is during these processes that decisions are made on dependability and
security requirements and on trade-offs between costs, schedule, performance,
and dependability. Human errors at all stages of the development process may lead
to the introduction of faults into the system which, in operation, can lead to system
failure. Testing and validation processes are inevitably constrained by the costs and
time available. As a result, the system may not be properly tested. Users are left to
test the system as it is being used. Finally, problems in system deployment may
mean that there is a mismatch between the system and its operational environment.
These can lead to human errors when using the system.
10.5 System operation
Operational processes are the processes that are involved in using the system for its
defined purpose. For example, operators of an air traffic control system follow spe-
cific processes when aircraft enter and leave airspace, when they have to change