Abstract

Abstract In complex enterprise systems that undergo continual evolutions, the change impact tends to get cumulative and adverse and have high probability of degradation of software quality. Functional evolutions are the most frequent and the most impacting evolutions. The functional components in a software architecture that are aligned with them are the activities. Activity is a business process that fulfils an operation contract of an application. An application is a set of activities that get invoked by different users. In the software evolution process, the change impact analysis techniques generate the model(s) of the data-flows and/or control-flows within the source code for the activity to be evolved. They capture the propagation of changes and derive the change impact sets which are then used for the planning, estimation, development and verification phases of the evolution process. The taxonomical surveys of evolutions indicate that the control structures embedded within the source code undergo changes much more rapidly than the other elements and are the major culprits in the evolvability degradation. We define an architectural approach of modeling the control structures within the activities of an application as precepts, the control-flow rule-sets, that mitigates the adverse impact of evolution. Precepts also facilitate the definition of Evolvability Metrics that measure the evolvability index of an application. The existing metrics that indicate evolvability, measure the complexity as well as modularity at a low level and cannot be aggregated trivially. To validate these metrics, we define Efforts Deviation Index that captures the difficulty level of the change implementation process.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call