Management of complexity
The word complexity refers to the quality of something that is composed of many different parts. It is often confused with complication, which brings the meaning of something hard to understand. Most information systems are complex, and how this complexity is handled can make them complicated.
Different types of complexity
The concept of complexity was introduced previously when talking about how to reduce it by cutting large, difficult-to-operate systems into small ones that are easier to deal with. In this section, we will come back to this concept of complexity and start by stating that there are two kinds of complexity, namely the intrinsic, functional one and the avoidable, accidental one. The first one comes from the function itself, and if a module is to provide this function, it cannot do less than this. The second one is everything that is added when implementing the function to make it operate, and that cannot be considered as purely necessary...