A Quantitative Approach to Analyze Modifiability in Software Architectural Design of Agile Application Systems
Keywords:Model View Controller, Modifiability, Pipes and Filters, Quality attributes, Reflection
The present-day software application systems require a high degree of agility during development and operational phases due to the advancements in software technologies and also because of the need to support the variation points in software architecture. A single architectural style will not be adequate for the architectural design of such application systems. This paper proposes a composite architectural style involving three different architectural styles, namely model view controller, pipes and filters and reflection architectural pattern. A metric to evaluate the extent to which the proposed architectural design is modifiable is defined and formulated. The number of direct connections between the components and their modes of operation are the various factors that will determine the extent to which the architectural design is modifiable. The model has been tested successfully for a prototype document processing application system. The composite architectural design is quite generic and it can be used for any real-time application system where the three modes of operation - data stream mode, user interaction and dynamic invocation mode exist together.