International Proceedings of Computer Science and Information Technology
Architecture plays an essential role to achieve software quality attributes. A wide variety of architectural patterns and tactics are introduced in the literature to design software architecture. Modularity relates to quality attributes such as maintainability, portability, reusability, interoperability and flexibility. Modularity also depends on complexity aspects such as coupling and cohesion. There are several kinds of architectural patterns and tactics for increasing cohesion and decreasing coupling to control complexity that software architects can utilize them.