Approaches to software development

# Definition

We define a system as ‘an assembly of components that are connected together in an organised way’. The term ‘organised’ is important here. For example, it tells us that components are affected by being part of a system.

## Example 1

A pile of old telephones, exchange-switching gear and wiring that are awaiting disposal may once have been a system. But heaped together, they are not a system. Both the organisation and the connections have been lost.

A system, therefore, is greater than the sum of its parts, and it has properties that cannot be deduced or predicted by examining any one of its components in isolation (or even all of its components, if they are not organised and connected). From the above example, could you deduce the properties of the telephone system by examining a single, disconnected telephone (or even a big pile of disconnected telephones)? No, because it no longer works as expected, even though it has not changed physically (it is not broken).

The assembly of components that forms a system does something, it carries out some process. This process will work on inputs, carry out transformations and produce outputs in order to achieve a goal. If you view your body as a system, it consists of organs, it takes oxygen and food as inputs, and does transformations that keep you alive. As a system, it has a well-defined boundary and a control mechanism that will keep it adapting to changes in the environment.

OpenLearn - Approaches to software development
Except for third party materials and otherwise, this content is made available under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 Licence, full copyright detail can be found in the acknowledgements section. Please see full copyright statement for details.