Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen:
http://dx.doi.org/10.18419/opus-10664
Autor(en): | Szidlovszky, Marcel |
Titel: | Evaluating the Effectiveness of Proposed Service-based Maintainability Metrics for Microservices |
Erscheinungsdatum: | 2019 |
Dokumentart: | Abschlussarbeit (Bachelor) |
Seiten: | 64 |
URI: | http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-106817 http://elib.uni-stuttgart.de/handle/11682/10681 http://dx.doi.org/10.18419/opus-10664 |
Zusammenfassung: | Die Wartung von Softwaresystemen ist ein kritischer Prozess in der Entwicklung. Obwohl die Kosten der Wartung auf 60-80% des Softwareentwicklungslebenszyklus geschätzt wird, kommt es trotzdem häufig vor, dass in der Entwicklung die Wartbarkeit an letzter Stelle gesetzt und man den Fokus mehr auf andere Komponenten legt. Dies bekommen, dann die Entwickler, die aus präventiven, korrektiven, adaptiven oder perfektiven Gründen die Software warten müssen, zu spüren.
Um eine aufwändige Wartung richtig planen zu können, das heißt den Kosten- und Zeitaufwand zu schätzen, muss man als erstes bestimmen wie wartbar eine Software ist. Dafür werden vor allem Statische-Code und Runtime-Daten Analysen verwendet, welche sich unter anderem auch auf Software Metriken beziehen. Für die herkömmlichen Monolithische Architekturen gibt es bereits eine Menge Literatur, die die Wirksamkeit von Wartbarkeitsmetriken bewertet und nachweist. Da es aber in den letzten Jahren, vor allem bei großen Enterprise Systemen und Software As A Service (SAAS) einen Wechsel von Monolithischen Architekturen zu Microservice Architekturen gab, müssen wir uns anpassen. Weltbekannte Webservices wie Netflix und Amazon zeigen uns dabei wie erfolgreich dieser relativ neuer Architekturtyp sein kann. Diese Systeme folgen dem SAAS Modell und haben somit einen konstanten Wartungsprozess, wobei eine effektive Wartbarkeitsmessung, sehr von Vorteil wäre.
Mit diesem Paper wollen wir die Lücke in der Literatur füllen und evaluieren ob Service-basierte Wartbarkeitsmetriken effektiv für Microservices benutzt werden können. Spezifisch sollen bisher noch nicht evaluierte Service-basierten Metriken untersucht werden. Um dieses Ziel zu erreichen wurde als erstes eine aktuelle Liste von vorgestellten Service-basierten Wartbarkeitsmetriken erstellt und eine Menge von Beispielsystemen zusammengestellt, anhand deren wir die Messbarkeit
und Effektivität evaluieren können. Die Effektivität wurde dabei über die Messbarkeit und der Aussagekraft der untersuchten Metriken bestimmt. Die Aussagekraft wurde mithilfe folgender Evaluationsmethoden evaluiert:
Zum einen wurde eine Korrelation zwischen Metriken und Expertenbewertungen, basierend auf den Wartbarkeitseigenschaften: Größe, Kopplung und Kohäsion, für Beispielsysteme aufgestellt und nach signifikanten Übereinstimmungen untersucht. Der zweite Teil der Evaluation beinhaltet eine Szenario-basierte Analyse, in der qualitativ Evaluiert wurde, wie Metriken im Verhältnis zu theoretischen
Reaktionen von Architekturen stehen. Dabei wurde analysiert ob sie den geschätzten Aufwand und die Verschiedenheiten, der Reaktionen von den verschiedenen Architekturen, vorhersagen konnten.
Das Ergebnis der Evaluationen zeigt, dass sowohl die untersuchten Kopplungsmetriken, als auch Größenmetriken, sehr effektiv sein können um die Wartbarkeit zu bestimmen. Allerdings konnte keine Aussage über die untersuchte Kohäsionsmetrik getroffen werden, da sich herausgestellt hat, dass die, für die Evaluation benutzten Beispielsysteme, möglicherweise ungeeignet waren. The maintenance of software systems is a critical process in development. Although the cost of maintenance is estimated to be 60-80\% of the software development life cycle, it is still common in development to neglect the maintainability and focus more on other components. This can be felt by the developers, who have to maintain the software for preventive, corrective, adaptive or perfective reasons. In order to be able to correctly plan complex maintenance, i.e. to estimate the cost and time involved, one must first determine how maintainable a software is. For this, static code and runtime data analyses can be used, which refer to software metrics. For conventional monolithic architectures, there is already a lot of literature that evaluates and proves the effectiveness of maintainability metrics. But since there has been a change from monolithic architectures to microservice architectures in recent years, especially for large enterprise systems and Software As A Service (SAAS), we have to adapt. World-renowned web services like Netflix and Amazon show us how successful this relatively new type of architecture can be. These systems follow the SAAS model and therefore have a constant maintenance process, where an effective maintainability measurement would be very advantageous. With this paper we want to fill the gap in literature and evaluate whether proposed service-based maintainability metrics can effectively be used for microservices. We will specifically investigate service-based metrics that have not yet been evaluated. In order to achieve this goal, we first created an up-to-date list of service-based maintainability metrics and compiled a set of example systems to evaluate the measurability and effectiveness of metrics. The effectiveness was determined by the measurability and the significance of the examined metrics. The significance was evaluated using the following evaluation methods: On the one hand, a correlation between metrics and experts was evaluated, based on the characteristics: size, coupling and cohesion. These were based on the example systems and examined for significant agreements. The second part of the evaluation includes a scenario-based analysis in which the relationship between metrics and theoretical reactions of architectures was qualitatively evaluated. It was analyzed whether they could predict the estimated effort and the differences, of the reactions, for the different architectures. The result of the evaluations shows that both the coupling metrics and the size metrics can be very effective in determining maintainability. However, no statement could be made about the cohesion metric examined, as it turned out that the example systems used for the evaluation were possibly unsuitable. |
Enthalten in den Sammlungen: | 05 Fakultät Informatik, Elektrotechnik und Informationstechnik |
Dateien zu dieser Ressource:
Datei | Beschreibung | Größe | Format | |
---|---|---|---|---|
Bachelorarbeit_SzidlovszkyM.pdf | 1,45 MB | Adobe PDF | Öffnen/Anzeigen |
Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.