To develop any complex type of application it is very important to follow a clear conceptual standard for organizing the development.
To reduce the application’s functionality into some number of “building blocks” or “modules”we can use the Modular approach. Then some specific rules are followed to combine these modules to form an entire application. This approach is very easy and is more advantageous than any other approaches
Why Modularization is required?
Conceptual clarity Ideas and code can be shared between developers due to the Conceptual clarity
Reduces complexity Since the application functionality is divided into modules it reduces the complexity
Supports object-oriented design principles Since it follows concept of Encapsulation and data hiding it supports object oriented design principles
Encourages reuse If the modules are well defined they can be reused in future applications.
Decreases debugging time By design changes we can localize errors and thus the debugging time can be reduced
Increases flexibility and maintainability Since each modules can be upgraded or replaced independently of others we can increase flexibility and maintainability
Eases development, testing, and maintenance As it provides logical,easy to understand, and consistent organization it eases development,testing and maintenance.
Allows the creation of generic rules, methods, and procedures To help in consistent development practices it allows creation of generic rules, methods, and procedures
Creates configurable objects As the objects are cofigurablethat it helps the end user to tailor them for different purposes
Supports a variety of end user interface and deployment environments It supports all sorts of interfaces of the end users and deployment environments as it follows standardized subsets and supersets.
Here are the design goals for modularization framework for XHTML:
To create coherent sets of semantically related modules within the XHTML namespace using XML Schema
To support the creation of subsets and supersets of XHTML for specific purposes such as handheld devices and special-purpose appliances
To facilitate future development by allowing modules to be upgraded or replaced independently of other modules
To encourage and facilitate the reuse of common modules by developers.