Abschlussarbeit

Entwicklung einer Softwaredokumentationsstrategie für TOOL basierend auf dem C4-Modell

Betreuer/in:
Philip Winkler
Status:
Themenangebot
Jahr:
2022

Einführende Erläuterungen und Motivation:

Konzeptuelle Modelle sind von zentraler Bedeutung für die Analyse von Geschäftsprozessen, sowie die Entwicklung von Software und Datenbanken. Der Modellierungsprozess ist eine komplexe kognitive Leistung, die nicht auf eine Folge von einfachen mechanistischen Schritten zurückgeführt werden kann. Vielmehr handelt es sich um eine kreativ-schöpferische Tätigkeit, die Abstraktions- und Konzeptualisierungsvermögen, sowie die Fähigkeit zu Abwägungen, Entscheidungen und Reflexion erfordert.

Um diesen komplexen Modelleriungsprozess zu erforschen, wurde in der EvIS-Gruppe die Webapplikation TOOL entwickelt. Diese dient als Modellierungssoftware zum Erstellen von konzeptuellen Modellen, aber gleichzeitig auch als Forschungsobservatorium zur Erhebung von Daten über den Modellierungsprozess der Benutzer (Rosenthal, Ternes und Strecker 2020; Strecker 2020; Ternes u. a. 2020).

Mit steigender Komplexität eines Softwareprojekts wird eine umfassende Dokumentation der Softwarearchitektur, sowie der eingesetzten Technologien und Entwicklungsprozesse, zunehmend wichtiger. Durch eine sinnvolle Dokumentation wird nicht nur der Einarbeitungsprozess neuer Mitarbeiter beschleunigt, sondern auch bestehenden Entwicklern eine Übersicht gegeben, die unter anderem dazu dient, Probleme zu identifizieren und Optimierungspotenziale zu entdecken. Darüber hinaus dient die Dokumentation als Kommunikationsgrundlage für Teammitglieder und andere Stakeholder.

Der wahrscheinlich wichtigste Bestandteil der Softwaredokumentation betrifft die Softwarearchitektur. Klassische Architektur-Modellierungssprachen wie die UML werden bei großen Softwaresystemen unübersichtlich. Auch die Ausdrucksfähigkeit von UML für moderne Programmierkonzepte ist möglicherweise begrenzt. Um diese Probleme zu addressieren, wurde von Simon Brown das C4-Modell (Brown o. D.) entwickelt. C4 basiert auf der UML (Object Management Group 2006) und dem 4+1 Sichtenmodell (Kruchten 1995).

In dieser Arbeit soll eine Dokumentationsstrategie für das TOOL-Softwaresystem entwickelt und implementiert werden. Ein Schwerpunkt liegt dabei auf der Evaluation des C4-Modells für die Architekturmodellierung von TOOL. Die Dokumentationsstrategie soll sich nicht nur auf die Softwarearchitektur beschränken und auch andere relevante Informationen mit einbeziehen. Anregungen zum Thema Softwaredokumentation aus einer praxisorientierten Perspektive können in (Zörner 2021) gefunden werden.

Aufgabenstellung:

Der/die Studierende wird sich intensiv mit der TOOL-Software auseinandersetzen. Dazu werden Quellcode und bestehende (teilweise unvollständige) Dokumentation zur Verfügung gestellt.

Mit dem C4-Modell soll die Softwarearchitektur von TOOL modelliert werden. Diese Aufgabe dient auch dazu, die Ausdrucksfähigkeit des C4-Modells an einem Beispiel zu evaluieren. Im Rahmen der Arbeit wird erwartet, dass die dem C4-Modell zugrundeliegende Philosophie und Motivation ausführlich dargestellt wird.

Vor- und Nachteile gegenüber der Architekturmodellierung mit UML sollen herausgearbeitet werden. Es sollen Überlegungen angestellt werden, für welche Aufgaben im Rahmen der Dokumentation von TOOL C4 geeignet ist und welche Sachverhalte besser mit anderen Modellierungssprachen ausgedrückt werden. Zu diesem Zweck soll der Student eine geeignete Forschungsmethodik entwickeln und möglichst systematisch vorgehen.

Softwaresysteme enthalten auch relevante Informationen, die über die Softwarearchitektur hinausgehen. Dazu gehören Entwicklungsprozesse und -werkzeuge, Richtlinien (z. B. Coding Stil) und eingesetzte Technologien und Programmbibliotheken. Der/die Studierende soll im Kontext der TOOL-Software eine möglichst vollständige Übersicht der über die Softwarearchitektur hinausgehenden Informationen aufstellen, die zusätzlich dokumentiert werden sollten, und Vorschläge für sinnvolle Dokumentationsformate vorstellen (z. B. freie Dokumentation in einem Wiki? Oder gibt es strukturiertere Ansätze, die hier sinnvoll sind?).

Geeignet für Studienniveau / Studiengang

B. Sc. Wirtschaftsinformatik, M. Sc. Wirtschaftsinformatik, M. Sc. Wirtschaftswissenschaft für Ingenieur/innen und Naturwissenschaftler/innen

Hinweise und Literaturempfehlungen zum Einlesen:

Brown, Simon (o.D.). "The C4 model for visualising software architecture". https://c4model.com/. Accessed: 2020-12-23.

Kruchten, Philippe B (1995). »The 4+ 1 view model of architecture«. In: IEEE software 12.6, S. 42–50. Object Management Group (2006). Meta-Object Facility (MOF) Specification, Version 2.0. OMG Document Number formal/2006-01-01 (http://www.omg.org/spec/MOF/2.0).

Rosenthal, Kristina, Benjamin Ternes und Stefan Strecker (2020). »Understanding individual processes of conceptual modeling: A multi-modal observation and data generation approach«. In: Modellierung 2020. Hrsg. von D. Bork, D. Karagiannis und H. C. Mayr. Bonn: Gesellschaft für Informatik e.V., S. 77–92.

Strecker, Stefan (2020). »Enterprise Modelling Research Group at University of Hagen«. In: 40 Years EMISA 2019. Hrsg. von A Koschmider und M Weidlich. Bonn: Gesellschaft für Informatik e.V., S. 195–199.

Ternes, Benjamin u. a. (2020). »TOOL–Modeling Observatory & Tool: An Update«. In: Joint Proceedings of Modellierung 2020 Short, Workshop and Tools & Demo Papers. Vienna, Austria: CEUR-WS, S. 198–202.

Zörner, Stefan (2021). Software-Architekturen dokumentieren und kommunizieren: Entwürfe, Entscheidungen und Lösungen nachvollziehbar und wirkungsvoll festhalten. Carl Hanser Verlag GmbH Co KG.

Lehrstuhl EvIS | 08.04.2024