Modular design Principles and Systems Thinking.
Modularity is a general set of principles for managing complexity. By breaking up a complex system into discrete pieces, which can then communicate with one another through standard interface within a standardized architecture. According to Irvine, these helps us to manage a larger and more complex whole structure by dividing up its functions into separate, interconnected, component, layers and sub processes.
Due to this organization of software is complex because many arbitrary details must be precisely right for the software to be correct. If people are aware of the complexity involve in the design and thinking process, it takes away the simplicity of the user interface.
I believe that systems that are likely to change independently should be the secret of separate modules the only assumptions that should appear in the interfaces between modules are those that are considered unlikely to change. For instance, people are wired in such a way that they care about the final output of a product, especially when it’s an upgrade from the previous one in a good way. This is evident in the continuous evolving of the iPhone, where slight improvements are made in the modulation of the previous one without a total change in the device usage or visible interface such as use of senses, a central control button and it being handheld.
Fig 1.1 User Interface Design.
The design rules make it difficult for changes to be made to interface and when that occurs it will be for modules that are not widely used. Very unlikely changes would require changes in the interface widely used. An example will be the gradual progression from a keypad mobile or PC device to touch screen.
Fig 1.2 the evolution of the mobile phone.
The interface exposed to us as users is part of a software decision module which can be divided into:
The application data type module; which hides the implementation of certain variables and the physical model module that hide algorithms that stimulate physical phenomena.
The primary goal of the decomposition into modules is reduction of overall software cost by allowing modules be designed and revised independently. Thereby allowing for implementation of other modules without affecting the behavior of other modules. According to Baldwin and Clark (pp, 181), modularization generally has three purposes
- To make complexity manageable
- To enable parallel work and
- To accommodate future uncertainty
Modularity accommodates uncertainty because the particular elements of a modular design may be changed in unforeseen ways as long as the design rules are obeyed. The design of complex computer systems is what allowed the creation of value. Modularity allows tasks both design tasks and production tasks to be divided among groups, which can work independently and do not have to be part of the same firm, which allows for experimentation as seen in figure 1.3
Fig. 1.3 An iPhone 7 teardown
An attempt to use fewer modules will bring about more complications and will be difficult to identify which module was affected by change.
Modularity in Design, Production & Use.
Humans interact with artefacts in three basic ways; they design them, produce them and use them. There are as a result, three basic types of modularity in design, production and in-use. The reasons for the incremental value of products be it an iPhone or HP detachable PC can be associated with the modularity in design. This is because new designs are fundamentally options with associated economic option value. It multiplies the options inherent in a complex system, in turn increases the economic value of the system and changes the ways in which the systems can evolve. The final outcome of a new design like iPhone X or the HP pavilion X2 10.1 Atom convertible laptop is uncertain until full design has been specified. The new designs provide options for things to be done differently and will only be adopted when it is better, another example as seen with the intelligence assistance of software like Siri, making new models valuable.
Fig 1.4 The new models of acceptable technology.
“Langlois-Modularity-in-Tech-and-Organization-JEBO-2002.Pdf.” Accessed September 19, 2017. https://drive.google.com/a/georgetown.edu/file/d/0Bxfe3nz80i2GOHliSHgwTW9BWXc/edit?usp=sharing&usp=embed_facebook.