Page 281 -
P. 281
264 Chapter 10 Sociotechnical systems
In a computer system, the software and the hardware are interdependent. Without
hardware, a software system is an abstraction, which is simply a representation of
some human knowledge and ideas. Without software, hardware is a set of inert elec-
tronic devices. However, if you put them together to form a system, you create a
machine that can carry out complex computations and deliver the results of these
computations to its environment.
This illustrates one of the fundamental characteristics of a system—it is more than
the sum of its parts. Systems have properties that only become apparent when their
components are integrated and operate together. Therefore software engineering is
not an isolated activity, but is an intrinsic part of more general systems engineering
processes. Software systems are not isolated systems but rather essential components
of more extensive systems that have some human, social, or organizational purpose.
For example, the wilderness weather system software controls the instruments in a
weather station. It communicates with other software systems and is a part of wider
national and international weather forecasting systems. As well as hardware and soft-
ware, these systems include processes for forecasting the weather, people who operate
the system and analyze its outputs. The system also includes the organizations that
depend on the system to help them provide weather forecasts to individuals, government,
industry, etc. These broader systems are sometimes called sociotechnical systems. They
include nontechnical elements such as people, processes, regulations, etc., as well as
technical components such as computers, software, and other equipment.
Sociotechnical systems are so complex that it is practically impossible to
understand them as a whole. Rather, you have to view them as layers, as shown in
Figure 10.1. These layers make up the sociotechnical systems stack:
1. The equipment layer This layer is composed of hardware devices, some of
which may be computers.
2. The operating system layer This layer interacts with the hardware and provides
a set of common facilities for higher software layers in the system.
3. The communications and data management layer This layer extends the operat-
ing system facilities and provides an interface that allows interaction with more
extensive functionality, such as access to remote systems, access to a system
database, etc. This is sometimes called middleware, as it is in between the appli-
cation and the operating system.
4. The application layer This layer delivers the application-specific functionality
that is required. There may be many different application programs in this layer.
5. The business process layer At this level, the organizational business processes,
which make use of the software system, are defined and enacted.
6. The organizational layer This layer includes higher-level strategic processes as well
as business rules, policies, and norms that should be followed when using the system.
7. The social layer At this layer, the laws and regulations of society that govern the
operation of the system are defined.