Link To Intermediate Talk Link To Final Talk Link to Thesis
The architecture of a software application or of a family of software applications has a big impact on various vital aspects of the software, such as modifiability, maintainability, understandability, etc. Creating good architectures usually comes at the price of significant financial investments. This is why ensuring a good quality of the software architecture throughout the entire software project is of utmost importance. Several techniques for evaluating software architectures have been developed and can be classified in two broad categories: scenario-based and metric-based evaluations. While the scenario-based methods are usually applied upfront, before the actual implementation of the project begins, metric-based approaches are usually used in later phases of the project. This is because the latter generally measure modularity-based characteristics that require a code-base on which to perform the measurements. However, both of the aforementioned methods mostly take only the static view of the architecture into account (i.e. the different components of the system, their associations and compositions) and neglect its behavior view (i.e. the run-time interaction of these components). Measuring the quality of the behavior view of the software architecture is important because the behavior is the one actually supporting the execution of the various software use cases.
The purpose of this master thesis is to investigate if metric-support for measuring the behavior view of software architectures is available or if currently existing metrics can be updated to support this aspect. If such metrics are not available, a metric proposal should be made and evaluated. As an initial step, a thorough literature research will be undergone, to document and analyze the existing quality metrics for software architecture. The student will investigate the information need of these metrics as well as their applicability in real-case scenarios, as reported by existing literature. Based on the results obtained in the previous step, a conclusion will be drawn regarding the suitability of existing metrics for measuring the quality of software architecture behavior. As needed, the student will choose, adjust or develop a relevant metric, that best captures this aspect, and then use it to evaluate it on various scenarios and comparing its results with experts? opinions.
Main phases covered in the thesis
- Perform a thorough literature review, to analyze currently developed architecture metrics, their information needs and their applicability
- Identify the metrics that are best suited to be applied, in order to measure the quality of architecture behavior
- If no existing metric can be applied or adjusted, define and implement a new one
- Evaluate the work by applying the identified metric in several scenarios and compare the results with experts? opinions.
- Document results