HW19: Chapter 19

19.3. Why is it impossible to infer the emergent properties of a complex system from the properties of the system components.

Emergent properties are properties of the system as a whole. These properties typically only become apparent after the system is integrated and in its operational environment. These properties can be split into functional and non- functional emergent properties.

Functional emergent properties are related to the function of the system. Sommerville uses the example of a bike that is to be used for transportation but this property does not exist until the bike is assembled. In a complex system, where many subsystems are integrated and people are thrown into the mix, some unforeseen functional properties may arise. Predicting what these properties will be is difficult in part because users interacting with complex systems will do so in unpredictable ways. Many users will be intimately familiar with the processes the system is supporting and therefore will have a better understanding of how these processes fit together, essentially, they will know what works and what does not in a way the developers simply cannot. This makes predicting all functional emergent properties impossible in a sufficiently complex system.

Non-functional emergent properties are related to the behavior of the system in its operational environment. Much like functional emergent properties, these properties emerge when the system is actually put into use. This means that users will interact in unforeseen ways, the physical environment the system is used in may be different than expected, and the integration of multiple subsystems may lead to software failures. Since these issues will only arise after the system is put into use and the complexity of these problems is magnified by the introduction of users to the system, predicting non-functional emergent properties is a losing battle.

Individual system component properties may help infer some of the emergent properties of a system but the complexity of large systems makes understanding all of the nuanced interactions within a system impossible, particularly when the human component is factored in.

Comments

Popular posts from this blog

HW10: Chapter 5

HW11: Chapter 6

HW26:Chapter 24