In English

Assessment Methods When Choosing a Software Architecture Alternative: Software Maintainability Prediction

Thor Omar Omarsson
Göteborg : Chalmers tekniska högskola, 2017. 70 s.
[Examensarbete på avancerad nivå]

A software architecture is commonly viewed as the blueprint of a software system and consists of a set of structures that are needed to reason about the system at hand. These structures comprise the necessary software elements to implement the system and explains relations among them. Having the right software architecture when developing a software system is very desirable for any kind of a software engineer, especially when systems get large and complex. There does not exist a single software architecture that can be considered efficient for all software development scenarios as the software architecture needs to be chosen based on the given circumstance. This study particularly investigates how to choose between software architectural alternatives solitarily based on their maintainability quality characteristic using both quantitative and qualitative approaches. The goal being to conclude which approach seems more appropriate when predicting the maintainability of a software architecture. The software used for the investigation in the thesis is called KRIA and three software architectural alternatives were proposed for the system, and corresponding software prototypes implemented. The main instruments used to document these architectures are component and deployment diagrams along with some textual explanations. A ground truth measurement method is put forth to determine which of the three software architectural alternatives is truly the most maintainable and both the quantitative measuring and qualitative questioning evaluation method approaches are described thoroughly. The ground truth measurement method was the most extensive method as it required much preparation to ensure fairness and moreover, relies on tangible software prototypes corresponding to the architectures. It also involves quantitative time measurements. Therefore, the quantitative approach used throughout the thesis in facts relates to the ground truth method as it also requires software prototypes but was considered much easier to apply on the case. Finally, the qualitative approach was considerably easier to apply as it did not require development effort to construct software prototypes, i.e. only depended on the software architectures themselves. After obtaining data results from the ground truth measurement method, and both the quantitative and qualitative evaluation methods from the case, it was concluded that the quantitative measuring method gives more reliable results than the qualitative questioning method for the purpose of predicting the maintainability for the case. Both approaches were however found to be useful depending on the circumstance. Therefore, even though the quantitative approach gave more promising results to predict maintainability, the qualitative questioning method proved to be useful to obtain information regarding the stakeholders interest and motivation (business drivers) for the undercoming software architectural change.

Nyckelord: Software architecture, maintainability prediction, software design improvement, eliciting software architectures, quantitative and qualitative evaluation methods

Publikationen registrerades 2017-07-06. Den ändrades senast 2017-07-06

CPL ID: 250548

Detta är en tjänst från Chalmers bibliotek