Software Quality Attributes ->Modularity



Modularity is the measure of the extent to which software is composed of separate, interchangeable components, each of which accomplishes one function and contains everything necessary to accomplish this. Modularity increases cohesion and reduces coupling and makes it easier to extend the functionality and maintain the code.



a- Functional Modularity

Functional Modularity means how different functions are kept separate from each other in different pieces of code. AMPS goes a long way in keeping functional modularity in AdvOSS Products as it requires all code to be broken into independent non-blocking modules. Each module has absolutely no coupling with any other module.This allows all the AMPS code to be maintained without much concern about couping with other modules.

Other AdvOSS products and their APIs are also designed to keep them fully cohesive and modular with the API doing everything they need to do within themselves. Wherever possible AdvOSS products use a Message Passing Asynchronous mechanism to communicate between modules in order not to create any coupling between them.



b- Architectural Modularity

Architectural Modularity is about diving the product into separate layers each of them with a separate concern. AdvOSS offers multiple layers completely embracing one concern with them and delegating other concerns to layer above or below them. The layer starting from the bottom most are:

1. Data Layer

2. Data Modification Language Layer

3. Transactional API layer for Applications

4. Work Flow Layers

5. Provisioning Layer

6. Presentation Layer


Contact Now!

Tel: +1 (416) 900 5593

Suite 401, 50 Burnhamthorpe Road W.
Mississauga, ON L5B 3C2, Canada