Software Architecture Evolution and Software Evolvability

Abstract: Software is characterized by inevitable changes and increasing complexity, which in turn may lead to huge costs unless rigorously taking into account change accommodations. This is in particular true for long-lived systems. For such systems, there is a need to address evolvability explicitly during the entire lifecycle, carry out software evolution efficiently and reliably, and prolong the productive lifetime of the software systems. In this thesis, we study evolution of software architecture and investigate ways to support this evolution.           The central theme of the thesis is how to analyze software evolvability, i.e. a system’s ability to easily accommodate changes. We focus on several particular aspects: (i) what software characteristics are necessary to constitute an evolvable software system; (ii) how to assess evolvability in a systematic manner; (iii) what impacts need to be considered given a certain change stimulus that results in potential requirements the software architecture needs to adapt to, e.g. ever-changing business requirements and advances of technology. To improve the capability in being able to on forehand understand and analyze systematically the impact of a change stimulus, we introduce a software evolvability model, in which subcharacteristics of software evolvability and corresponding measuring attributes are identified. In addition, a further study of one particular measuring attribute, i.e. modularity, is performed through a dependency analysis case study. We introduce a method for analyzing software evolvability at the architecture level. This is to ensure that the implications of the potential improvement strategies and evolution path of the software architecture are analyzed with respect to the evolvability subcharacteristics. This method is proposed and piloted in an industrial setting. The fact that change stimuli come from both technical and business perspectives spawns two aspects that we also look into in this research, i.e. to respectively investigate the impacts of technology-type and business-type of change stimuli.

  CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)