Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-11846
Autor(en): Beck, Samuel
Titel: Evaluating human-computer interfaces for specification and comprehension of transient behavior in microservice-based software systems
Erscheinungsdatum: 2020
Dokumentart: Abschlussarbeit (Master)
Seiten: xv, 109
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-118639
http://elib.uni-stuttgart.de/handle/11682/11863
http://dx.doi.org/10.18419/opus-11846
Zusammenfassung: Modern software systems are subject to constant change while operating in production. New agile development methods such as continuous deployment and DevOps enable developers to deploy code changes frequently. Also, failures and self-adaptation through mechanisms such as elastic scaling and resilience patterns introduce changes into a system during runtime. For that reason, these systems that become more complex and distributed continuously exhibit transient behavior, the state that occurs while transitioning from one state to another. To make statements about a system’s reliability and performance, it is imperative that this transient behavior is specified in non-functional requirements and that stakeholders can review whether these requirements are met. However, due to the complexity of this behavior and the accompanying specifications, only experts can achieve this. This thesis aims to make the specification of non-functional requirements for, and the comprehension of, transient behavior in microservice systems more accessible, particularly for stakeholders that lack expert knowledge about transient behavior. To achieve this, novel approaches are explored that utilize modern human-computer interaction methods to facilitate this problem. At first, the state of the art in transient behavior in software systems, human-computer interaction, and software visualization is presented. Subsequently, expert interviews are conducted to understand how transient behavior is handled in practice and which requirements experts have to an envisioned solution. Based on this, a concept for a solution is proposed, which integrates different visualizations with a chatbot, and implemented as a prototype. Finally, the prototype is evaluated in an expert study. The evaluation shows that the approach can support software architects and DevOps engineers to create and verify specifications for transient behavior. However, it also reveals that the prototype can still be improved further. Furthermore, it was shown that the integration of a chatbot into the solution was not helpful for the participants. In conclusion, human-computer interaction and visualization methods can be applied to the problems of specifying and analyzing transient behavior to support software architects and engineers. The developed prototype shows potential for the exploration of transient behavior. The evaluation also revealed many opportunities for future improvements.
Moderne Softwaresysteme sind in Produktion ständigen Änderungen unterworfen. Neue agile Methoden, wie Continuous Deployment und DevOps, ermöglichen es Entwicklern häufig Codeänderungen zu deployen. Außerdem führen Ausfälle und Anpassungen durch das System selbst, wie etwa durch Mechanismen wie elastische Skalierung und Resilience Patterns, während der Laufzeit Änderungen am System durch. Aus diesem Grund weisen diese immer komplexer und verteilteren Systeme kontinuierlich transientes Verhalten auf. Der Zustand, der auftritt während von einem Zustand in den nächsten übergegangen wird. Um Aussagen zur Zuverlässigkeit und Performanz eines Systems zu treffen ist es unerlässlich, dieses transiente Verhalten in nicht-funktionalen Anforderungen zu spezifizieren, deren Einhaltung von Stakeholdern überprüft werden kann. Aufgrund der Komplexität dieses Verhaltens und der dazugehörigen Spezifikationen ist dies allerdings nur für Experten machbar. Diese Arbeit zielt darauf ab, die Spezifikation von nicht-funktionalen Anforderungen für und die Analyse von transientem Verhalten zugänglicher zu machen, insbesondere für Stakeholder, denen es an Expertenwissen zu transientem Verhalten mangelt. Um dies zu erreichen werden neuartige Ansätze erkundet, die moderne Methoden aus dem Gebiet der Mensch-Computer Interaktion verwenden, um dieses Problem zu vereinfachen. Zuerst wird der aktuelle Stand der Wissenschaft in den Gebieten transientes Verhalten von Softwaresystemen, Mensch-Computer Interaktion und Softwarevisualisierung vorgestellt. Anschließend werden Experteninterviews durchgeführt, um zu verstehen, wie mit transientem Verhalten in der Praxis umgegangen wird und, welche Anforderungen Experten an eine ausgemalte Lösung stellen. Auf Grundlage davon stellen wir ein Konzept für eine Lösung vor, welche verschiedene Visualisierungen mit einem Chatbot verbindet. Dieses Konzept wird anhand eines Prototyps implementiert, dieser wird anschließend in einer Expertenstudie evaluiert. Die Evaluation zeigt, dass der vorgestellte Ansatz Softwarearchitekten und DevOps Ingenieure beim Erstellen und Verifizieren von Spezifikationen für transientes Verhalten unterstützen kann. Allerdings stellt sich auch heraus, dass es noch Verbesserungspotential für den Prototypen gibt. Des Weiteren ist eine Erkenntnis, dass die Studienteilnehmer die Integration des Chatbots in die Lösung nicht als hilfreich empfanden. Abschließend lässt sich sagen, dass sich Methoden aus der Mensch-Computer Interaktion und Softwarevisualisierung auf die Probleme der Spezifizierung und Analyse von transientem Verhalten anwenden lassen, um Softwarearchitekten und -ingenieure zu unterstützen. Der entwickelte Prototyp zeigt Potential für die Erkundung und Analyse von transientem Verhalten. Die Evaluation deckte darüber hinaus zahlreiche Gelegenheiten für zukünftige Verbesserungen auf.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Master Thesis Samuel Beck 2020.pdf2,91 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.