The Dictionary of the Object Technology defines modularity as: "The logical and physical decomposition of things (e.g., responsibilities and software) into small, simple groupings (e.g., requirements and classes, respectively), which increase the achievements of software-engineering goals."

Modularity is another way of managing complexity by dividing large and complex systems into smaller and manageable pieces. A software designing method is modular if it allows designers produce software systems by using independent elements connected by a coherent, simple structure. [Mey88] defines a software construction method to be modular if it satisfies the five criteria:

Modular Decomposability; a software construction method satisfies Modular Decomposability if it helps in the task of decomposing a software problem into a small number of less complex sub-problems, connected by a simple structure, and independent enough to allow further work to proceed separately on each of them.

Modular Composability; a software construction method satisfies Modular Composability if it favors the production of software elements which may then be freely combined with each other to produce new systems, possible in an environment quite different from the one in which they were initially developed.

Modular Understandability; a software construction method satisfies Modular Understandability if it helps produce software in which each module can be understood without having to examine other interrelated modules.

Modular Continuity; a software construction method satisfies Modular Continuity if a small change in the requirements of will impact just one or a small number of modules.

Modular Protection; a software construction method satisfies Modular Protection if the effect of an exception occurring at runtime will impact only the corresponding module or a few neighboring modules.

The concept of Modularity and the principles for developing modular software in the object-oriented approach are encapsulated in the concept of class. Classes are the building blocks in the object-oriented paradigm.

Chapter 3

0 0

Post a comment