ware system. Successful software architecture decomposes a problem into smaller pieces and provides a component to solve each problem. Software architecture must be designed to provide for the integration and interoperability of the components included in a software system (Dean and Cordy, 1995):
Integration involves to compatibility of components in a software system
Interoperability refers to the effectiveness and efficiency of the unified functioning of the components in a software system
In component-based design, components are accessed only through interfaces. Components typically have multiple interfaces, with each interface representing a collection of related methods. Software architectures define a top-level control mechanism to per
...