Architecture-Level Modifiability Analysis

Abstract: Cost, quality and lead-time are three main concerns in software engineering projects. The quality of developed software has traditionally been evaluated on completed systems. Evaluating the product quality at completion introduces a great risk of wasting effort on software products with inadequate system qualities. It is the objective of this thesis to define and study methods for assessment, evaluation and prediction of software systems’ modifiability characteristics based on their architecture designs. Since software architecture design is made early in the development, architecture evaluation helps detect inadequate designs and thus reduces the risk of implementing systems of insufficient quality. We present a method for architecture-level analysis of modifiability (ALMA) that analyses the modifiability potential of a software system based on its software architecture design. The method is scenario-based and either compares architecture candidates, assesses the risk associated with modifications of the architecture, or predicts the effort needed to implement anticipated modifications. The modification prediction results in three values; a prediction of the modification effort and the predicted best- and worst-case effort for the same system and change scenario profile. In this way the prediction method provides a frame-of-reference that supports the architect in the decision whether the modifiability is acceptable or not. The method is based on the experiences and results from one controlled experiment and seven case-studies, where five case studies are part of this thesis. The experiment investigates different ways to organize the scenario elicitation and finds that a group of individually prepared persons produce better profiles than individuals or unprepared groups.

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