finished by Christian Hanimann.
More information can be found in the project plan.
The ArchView approach aims in performing measurements of source code metrics in several source code releases and visualizing results using an extended polymetric view technique. Created views allow the user to follow metric trends and identify shortcomings in the design and architecture of software systems. Following this approach we have implemented a number of prototype tools including parsing tools, data exporters and integrators, and visualization tools. Most of our tools are standalone tools and miss a common tool platform in which to use them. To overcome this problem we recently started with developing the Evolizer Base that provides an initial set of meta models and corresponding data model extractor tools. It is build on top of the Eclipse IDE. The focus of this thesis is on consolidating and enhancing our existing prototype tools and integrating them into the Evolizer Base framework.
The goals of this Diploma Thesis
The goals of this Diploma Thesis are:
- To apply the ArchView approach in a case study with the open source software project ArgoUML answering a set of research questions concerning its design, architecture, and evolution.
- Based on gained experiences improve the existing extraction and analysis tools and integrate them into the Evolizer Base.
The Diploma Thesis consists of two parts: a scientific part and a practical part. In the scientific part the student will get familiar with the area of architecture and software evolution analysis and learn to use our existing techniques and tools. A catalogue of research questions concerning the quality of a software system’s design and architecture will be specified. These research questions will be addressed in the second phase of the thesis.
In the practical part of the thesis the ArchView techniques and tools will be applied to the open source software project ArgoUML to answer the research questions stated in the catalogue. In this case study the following tasks will be carried out:
- Extraction of the source code models of various source code releases adapting and using our Java FAMIX exporter tool (mapping and storage of extracted facts to SQL database with Hibernate needed);
- Computation of the source code metrics for each source code release using the Java metrics tool (mapping and storage of measured values to SQL database with Hibernate needed);
- Integration of the extracted data models using and extending our existing Java application;
- Composition of various higher-level views on the source code model data using our multiple evolution metrics visualization approach (adaptation of visualization technique needed);
- Analysis and interpretation of the higher-level views as well as an evaluation of the views with respect to their expressiveness and usefulness for analyzing software architecture and design and evolutionary aspects (e.g., design shortcomings, metric trends).
A number of adaptations and extensions (see case study task descriptions) will be needed and implemented during the case study. In addition, experiences gained during the case study will lead to further enhancements that will be incorporated into the Evolizer Base tool framework. The focus of all adaptations and extensions is on building a more integrated software architecture and evolution analysis tool set.
The envisioned outcom
- A catalogue of research questions that address software architecture and design and evolutionary aspects of software systems.
- A report on experiences gained from applying the ArchView approach to the case study with the Java OSS project ArgoUML.
- An improved and extended tool set integrated into Evolizer Base tool platform.
In this Diploma Thesis you will learn
- Insights into our architecture and software evolution analysis approach ArchView.
- Software architecture and design quality aspects.
- Eclipse IDE and how to contribute to the Eclipse project.
- Hibernate object relational mapping tool.
General Thesis Guidelines
The typical rules of academic work must be followed. This document describes guidelines which must be followed. The thesis starts with preparing a project plan that gives a brief description of each planned activity and describes the project milestones. At the end of the thesis, a final report has to be written. The report should be clearly organized and follow the usual academic report structure.
Since implementing software is also part of this thesis, state-of-the art design, coding and documentation standards for the software have to be obeyed.
The diploma thesis has to be concluded with a final presentation for the members of the Software Evolution and Architecture Lab (s.e.a.l.).