Skip to main content

Assessing the Quality Impact of Features in Component-based Software Architectures


In modern software development processes, existing software components are increasingly used to implement functionality instead of developing it from scratch. Reuse of individual components or even more complex subsystems leads to more cost-efficient development and higher quality of software. Subsystems often offer a variety of features whose use is associated with unclear effects on the quality attributes of the software architecture, such as performance. It is unclear, whether the quality requirements for the system can be met by using a certain feature of a particular subsystem. After initial selection, features must be incorporated in the target architecture. Due to a multitude of possibilities of placing the subsystem in the target system to be used, many architectural candidates may result which have to be evaluated in existing decision support solutions. The approach presented here enables software architects to automatically evaluate with the help of software architecture models the effects on quality of using individual features in an existing software architecture. The result helps to automatically evaluate design decisions regarding features and to decide whether their use is compatible with the quality requirements. We show the benefits of our approach using different decision scenarios driven by features and their placement alternatives. All scenarios are automatically evaluated, demonstrating how decisions can be made to best meet the requirements.


author = {Axel Busch and Dominik Fuch{\ss} and Maximilian Eckert and Anne Koziolek},
title = {Assessing the Quality Impact of Features in Component-based Software Architectures},
booktitle = {Proceedings of the 13th European Conference on Software Architecture},
year = {2019},
series = {ECSA'19},
address = {Berlin, DE},
publisher = {Springer International Publishing},
doi = {10.1007/978-3-030-29983-5_14},
keywords = {Software, Architecture, Model, Design Decision, Features},
location = {Paris, France},