Developing scalable and adaptable architectures that can accommodate evolving changes is crucial for reducing software development cost. To achieve scalability and adaptability, developers should be able to identify where and how new (current) layers will be added (removed) from the architecture. Failing to do so may lead to software architectures that require a considerable modifications when the system evolves or changes due to new or added requirements. In this paper, we address the problem of developing scalable software architectures that can accommodate new and/or modified requirements without the need for re-developing the architecture from scratch. The approach is demonstrated through a case study.
Mohamed Fayad, Haitham S. Hamza, Huáscar A.