@misc{Schroeter2024, type = {Master Thesis}, author = {Schr{\"o}ter, Alexander}, title = {Erstellung und Evaluation eines Fragebogens zur Erfassung von komplexen Interaktionssituationen in Software-Entwicklungsprojekten}, doi = {10.25932/publishup-63187}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:517-opus4-631873}, school = {Universit{\"a}t Potsdam}, pages = {75}, year = {2024}, abstract = {Die fortschreitende Digitalisierung durchzieht immer mehr Lebensbereiche und f{\"u}hrt zu immer komplexeren sozio-technischen Systemen. Obwohl diese Systeme zur Lebenserleichterung entwickelt werden, k{\"o}nnen auch unerw{\"u}nschte Nebeneffekte entstehen. Ein solcher Nebeneffekt k{\"o}nnte z.B. die Datennutzung aus Fitness-Apps f{\"u}r nachteilige Versicherungsentscheidungen sein. Diese Nebeneffekte manifestieren sich auf allen Ebenen zwischen Individuum und Gesellschaft. Systeme mit zuvor unerwarteten Nebeneffekten k{\"o}nnen zu sinkender Akzeptanz oder einem Verlust von Vertrauen f{\"u}hren. Da solche Nebeneffekte oft erst im Gebrauch in Erscheinung treten, bedarf es einer besonderen Betrachtung bereits im Konstruktionsprozess. Mit dieser Arbeit soll ein Beitrag geleistet werden, um den Konstruktionsprozess um ein geeignetes Hilfsmittel zur systematischen Reflexion zu erg{\"a}nzen. In vorliegender Arbeit wurde ein Analysetool zur Identifikation und Analyse komplexer Interaktionssituationen in Software-Entwicklungsprojekten entwickelt. Komplexe Interaktionssituationen sind von hoher Dynamik gepr{\"a}gt, aus der eine Unvorhersehbarkeit der Ursache-Wirkungs-Beziehungen folgt. Hierdurch k{\"o}nnen die Akteur*innen die Auswirkungen der eigenen Handlungen nicht mehr {\"u}berblicken, sondern lediglich im Nachhinein rekonstruieren. Hieraus k{\"o}nnen sich fehlerhafte Interaktionsverl{\"a}ufe auf vielf{\"a}ltigen Ebenen ergeben und oben genannte Nebeneffekte entstehen. Das Analysetool unterst{\"u}tzt die Konstrukteur*innen in jeder Phase der Entwicklung durch eine angeleitete Reflexion, um potenziell komplexe Interaktionssituationen zu antizipieren und ihnen durch Analyse der m{\"o}glichen Ursachen der Komplexit{\"a}tswahrnehmung zu begegnen. Ausgehend von der Definition f{\"u}r Interaktionskomplexit{\"a}t wurden Item-Indikatoren zur Erfassung komplexer Interaktionssituationen entwickelt, die dann anhand von geeigneten Kriterien f{\"u}r Komplexit{\"a}t analysiert werden. Das Analysetool ist als „Do-It-Yourself" Fragebogen mit eigenst{\"a}ndiger Auswertung aufgebaut. Die Genese des Fragebogens und die Ergebnisse der durchgef{\"u}hrten Evaluation an f{\"u}nf Softwarentwickler*innen werden dargestellt. Es konnte festgestellt werden, dass das Analysetool bei den Befragten als anwendbar, effektiv und hilfreich wahrgenommen wurde und damit eine hohe Akzeptanz bei der Zielgruppe genießt. Dieser Befund unterst{\"u}tzt die gute Einbindung des Analysetools in den Software-Entwicklungsprozess.}, language = {de} } @phdthesis{Hitz2021, author = {Hitz, Michael}, title = {Modellierung und Generierung kombinierbarer Benutzungsschnittstellenvarianten und deren gemeinschaftliche Nutzung in Dienst-Ökosystemen}, doi = {10.25932/publishup-50022}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:517-opus4-500224}, school = {Universit{\"a}t Potsdam}, pages = {viii, 313}, year = {2021}, abstract = {Digitalisierung erm{\"o}glicht es uns, mit Partnern (z.B. Unternehmen, Institutionen) in einer IT-unterst{\"u}tzten Umgebung zu interagieren und T{\"a}tigkeiten auszuf{\"u}hren, die vormals manuell erledigt wurden. Ein Ziel der Digitalisierung ist dabei, Dienstleistungen unterschiedlicher fachlicher Dom{\"a}nen zu Prozessen zu kombinieren und vielen Nutzergruppen bedarfsgerecht zug{\"a}nglich zu machen. Hierzu stellen Anbieter technische Dienste bereit, die in unterschiedliche Anwendungen integriert werden k{\"o}nnen. Die Digitalisierung stellt die Anwendungsentwicklung vor neue Herausforderungen. Ein Aspekt ist die bedarfsgerechte Anbindung von Nutzern an Dienste. Zur Interaktion menschlicher Nutzer mit den Diensten werden Benutzungsschnittstellen ben{\"o}tigt, die auf deren Bed{\"u}rfnisse zugeschnitten sind. Hierzu werden Varianten f{\"u}r spezifische Nutzergruppen (fachliche Varianten) und variierende Umgebungen (technische Varianten) ben{\"o}tigt. Zunehmend m{\"u}ssen diese mit Diensten anderer Anbieter kombiniert werden k{\"o}nnen, um dom{\"a}nen{\"u}bergreifend Prozesse zu Anwendungen mit einem erh{\"o}hten Mehrwert f{\"u}r den Endnutzer zu verkn{\"u}pfen (z.B. eine Flugbuchung mit einer optionalen Reiseversicherung). Die Vielf{\"a}ltigkeit der Varianten l{\"a}sst die Erstellung von Benutzungsschnittstellen komplex und die Ergebnisse sehr individuell erscheinen. Daher werden die Varianten in der Praxis vorwiegend manuell erstellt. Dies f{\"u}hrt zur parallelen Entwicklung einer Vielzahl sehr {\"a}hnlicher Anwendungen, die nur geringes Potential zur Wiederverwendung besitzen. Die Folge sind hohe Aufw{\"a}nde bei Erstellung und Wartung. Dadurch wird h{\"a}ufig auf die Unterst{\"u}tzung kleiner Nutzerkreise mit speziellen Anforderungen verzichtet (z.B. Menschen mit physischen Einschr{\"a}nkungen), sodass diese weiterhin von der Digitalisierung ausgeschlossen bleiben. Die Arbeit stellt eine konsistente L{\"o}sung f{\"u}r diese neuen Herausforderungen mit den Mitteln der modellgetriebenen Entwicklung vor. Sie präsentiert einen Ansatz zur Modellierung von Benutzungsschnittstellen, Varianten und Kompositionen und deren automatischer Generierung f{\"u}r digitale Dienste in einem verteilten Umfeld. Die Arbeit schafft eine L{\"o}sung zur Wiederverwendung und gemeinschaftlichen Nutzung von Benutzungsschnittstellen {\"u}ber Anbietergrenzen hinweg. Sie f{\"u}hrt zu einer Infrastruktur, in der eine Vielzahl von Anbietern ihre Expertise in gemeinschaftliche Anwendungen einbringen k{\"o}nnen. Die Beitr{\"a}ge bestehen im Einzelnen in Konzepten und Metamodellen zur Modellierung von Benutzungsschnittstellen, Varianten und Kompositionen sowie einem Verfahren zu deren vollst{\"a}ndig automatisierten Transformation in funktionale Benutzungsschnittstellen. Zur Umsetzung der gemeinschaftlichen Nutzbarkeit werden diese erg{\"a}nzt um eine universelle Repr{\"a}sentation der Modelle, einer Methodik zur Anbindung unterschiedlicher Dienst-Anbieter sowie einer Architektur zur verteilten Nutzung der Artefakte und Verfahren in einer dienstorientierten Umgebung. Der Ansatz bietet die Chance, unterschiedlichste Menschen bedarfsgerecht an der Digitalisierung teilhaben zu lassen. Damit setzt die Arbeit Impulse f{\"u}r zuk{\"u}nftige Methoden zur Anwendungserstellung in einem zunehmend vielf{\"a}ltigen Umfeld.}, language = {de} } @article{SchmitzMoldt2018, author = {Schmitz, Dennis and Moldt, Daniel}, title = {Ein Lehr- und Lernkonzept f{\"u}r die Softwareentwicklung im Team}, series = {Commentarii informaticae didacticae}, journal = {Commentarii informaticae didacticae}, number = {12}, publisher = {Universit{\"a}tsverlag Potsdam}, address = {Potsdam}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:517-opus4-416324}, pages = {63 -- 78}, year = {2018}, abstract = {Um beim Berufseinstieg erfolgreich als Informatiker wirken zu k{\"o}nnen, reicht es oft nicht aus nur separierte Kenntnisse {\"u}ber technische und theoretische Grundlagen, Programmiersprachen, Werkzeuge und Selbst- und Zeitmanagement zu besitzen. Vielmehr sollten Absolventen diese Kenntnisse praktisch miteinander verzahnt einsetzen k{\"o}nnen. An der Universit{\"a}t wird Studierenden leider selten die M{\"o}glichkeit geboten, diese verschiedenen Bereiche der Informatik miteinander integriert auszu{\"u}ben. Daf{\"u}r entwickeln wir seit {\"u}ber zwei Dekaden ein Lehr- und Lernkonzept zur Unterst{\"u}tzung praktischer Softwareentwicklungsveranstaltungen und setzen dieses um. Dadurch bieten wir angehenden SoftwareentwicklerInnen und ProjektmanagerInnen eine Umgebung, in der sie neues, praktisch relevantes Wissen erwerben k{\"o}nnen, sich selbst praktisch erproben und ihr Wissen konkret einsetzen k{\"o}nnen. Hier legen wir einen Schwerpunkt auf das Arbeiten im Team. Das hier vorgestellte Konzept kann auf {\"a}hnliche Lehrveranstaltungen {\"u}bertragen und aufgrund seiner Modularisierung ver{\"a}ndert und erweitert werden.}, language = {de} } @phdthesis{Hebig2014, author = {Hebig, Regina}, title = {Evolution of model-driven engineering settings in practice}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:517-opus-70761}, school = {Universit{\"a}t Potsdam}, year = {2014}, abstract = {Nowadays, software systems are getting more and more complex. To tackle this challenge most diverse techniques, such as design patterns, service oriented architectures (SOA), software development processes, and model-driven engineering (MDE), are used to improve productivity, while time to market and quality of the products stay stable. Multiple of these techniques are used in parallel to profit from their benefits. While the use of sophisticated software development processes is standard, today, MDE is just adopted in practice. However, research has shown that the application of MDE is not always successful. It is not fully understood when advantages of MDE can be used and to what degree MDE can also be disadvantageous for productivity. Further, when combining different techniques that aim to affect the same factor (e.g. productivity) the question arises whether these techniques really complement each other or, in contrast, compensate their effects. Due to that, there is the concrete question how MDE and other techniques, such as software development process, are interrelated. Both aspects (advantages and disadvantages for productivity as well as the interrelation to other techniques) need to be understood to identify risks relating to the productivity impact of MDE. Before studying MDE's impact on productivity, it is necessary to investigate the range of validity that can be reached for the results. This includes two questions. First, there is the question whether MDE's impact on productivity is similar for all approaches of adopting MDE in practice. Second, there is the question whether MDE's impact on productivity for an approach of using MDE in practice remains stable over time. The answers for both questions are crucial for handling risks of MDE, but also for the design of future studies on MDE success. This thesis addresses these questions with the goal to support adoption of MDE in future. To enable a differentiated discussion about MDE, the term MDE setting'' is introduced. MDE setting refers to the applied technical setting, i.e. the employed manual and automated activities, artifacts, languages, and tools. An MDE setting's possible impact on productivity is studied with a focus on changeability and the interrelation to software development processes. This is done by introducing a taxonomy of changeability concerns that might be affected by an MDE setting. Further, three MDE traits are identified and it is studied for which manifestations of these MDE traits software development processes are impacted. To enable the assessment and evaluation of an MDE setting's impacts, the Software Manufacture Model language is introduced. This is a process modeling language that allows to reason about how relations between (modeling) artifacts (e.g. models or code files) change during application of manual or automated development activities. On that basis, risk analysis techniques are provided. These techniques allow identifying changeability risks and assessing the manifestations of the MDE traits (and with it an MDE setting's impact on software development processes). To address the range of validity, MDE settings from practice and their evolution histories were capture in context of this thesis. First, this data is used to show that MDE settings cover the whole spectrum concerning their impact on changeability or interrelation to software development processes. Neither it is seldom that MDE settings are neutral for processes nor is it seldom that MDE settings have impact on processes. Similarly, the impact on changeability differs relevantly. Second, a taxonomy of evolution of MDE settings is introduced. In that context it is discussed to what extent different types of changes on an MDE setting can influence this MDE setting's impact on changeability and the interrelation to processes. The category of structural evolution, which can change these characteristics of an MDE setting, is identified. The captured MDE settings from practice are used to show that structural evolution exists and is common. In addition, some examples of structural evolution steps are collected that actually led to a change in the characteristics of the respective MDE settings. Two implications are: First, the assessed diversity of MDE settings evaluates the need for the analysis techniques that shall be presented in this thesis. Second, evolution is one explanation for the diversity of MDE settings in practice. To summarize, this thesis studies the nature and evolution of MDE settings in practice. As a result support for the adoption of MDE settings is provided in form of techniques for the identification of risks relating to productivity impacts.}, language = {en} } @phdthesis{Dietze2004, author = {Dietze, Stefan}, title = {Modell und Optimierungsansatz f{\"u}r Open Source Softwareentwicklungsprozesse}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:517-0001594}, school = {Universit{\"a}t Potsdam}, year = {2004}, abstract = {Gerade in den letzten Jahren erfuhr Open Source Software (OSS) eine zunehmende Verbreitung und Popularit{\"a}t und hat sich in verschiedenen Anwendungsdom{\"a}nen etabliert. Die Prozesse, welche sich im Kontext der OSS-Entwicklung (auch: OSSD \– Open Source Software-Development) evolution{\"a}r herausgebildet haben, weisen in den verschiedenen OSS-Entwicklungsprojekten z.T. {\"a}hnliche Eigenschaften und Strukturen auf und auch die involvierten Entit{\"a}ten, wie z.B. Artefakte, Rollen oder Software-Werkzeuge sind weitgehend miteinander vergleichbar. Dies motiviert den Gedanken, ein verallgemeinerbares Modell zu entwickeln, welches die generalisierbaren Entwicklungsprozesse im Kontext von OSS zu einem {\"u}bertragbaren Modell abstrahiert. Auch in der Wissenschaftsdisziplin des Software Engineering (SE) wurde bereits erkannt, dass sich der OSSD-Ansatz in verschiedenen Aspekten erheblich von klassischen (propriet{\"a}ren) Modellen des SE unterscheidet und daher diese Methoden einer eigenen wissenschaftlichen Betrachtung bed{\"u}rfen. In verschiedenen Publikationen wurden zwar bereits einzelne Aspekte der OSS-Entwicklung analysiert und Theorien {\"u}ber die zugrundeliegenden Entwicklungsmethoden formuliert, aber es existiert noch keine umfassende Beschreibung der typischen Prozesse der OSSD-Methodik, die auf einer empirischen Untersuchung existierender OSS-Entwicklungsprojekte basiert. Da dies eine Voraussetzung f{\"u}r die weitere wissenschaftliche Auseinandersetzung mit OSSD-Prozessen darstellt, wird im Rahmen dieser Arbeit auf der Basis vergleichender Fallstudien ein deskriptives Modell der OSSD-Prozesse hergeleitet und mit Modellierungselementen der UML formalisiert beschrieben. Das Modell generalisiert die identifizierten Prozesse, Prozessentit{\"a}ten und Software-Infrastrukturen der untersuchten OSSD-Projekte. Es basiert auf einem eigens entwickelten Metamodell, welches die zu analysierenden Entit{\"a}ten identifiziert und die Modellierungssichten und -elemente beschreibt, die zur UML-basierten Beschreibung der Entwicklungsprozesse verwendet werden. In einem weiteren Arbeitsschritt wird eine weiterf{\"u}hrende Analyse des identifizierten Modells durchgef{\"u}hrt, um Implikationen, und Optimierungspotentiale aufzuzeigen. Diese umfassen beispielsweise die ungen{\"u}gende Plan- und Terminierbarkeit von Prozessen oder die beobachtete Tendenz von OSSD-Akteuren, verschiedene Aktivit{\"a}ten mit unterschiedlicher Intensit{\"a}t entsprechend der subjektiv wahrgenommenen Anreize auszu{\"u}ben, was zur Vernachl{\"a}ssigung einiger Prozesse f{\"u}hrt. Anschließend werden Optimierungszielstellungen dargestellt, die diese Unzul{\"a}nglichkeiten adressieren, und ein Optimierungsansatz zur Verbesserung des OSSD-Modells wird beschrieben. Dieser Ansatz umfasst die Erweiterung der identifizierten Rollen, die Einf{\"u}hrung neuer oder die Erweiterung bereits identifizierter Prozesse und die Modifikation oder Erweiterung der Artefakte des generalisierten OSS-Entwicklungsmodells. Die vorgestellten Modellerweiterungen dienen vor allem einer gesteigerten Qualit{\"a}tssicherung und der Kompensation von vernachl{\"a}ssigten Prozessen, um sowohl die entwickelte Software- als auch die Prozessqualit{\"a}t im OSSD-Kontext zu verbessern. Desweiteren werden Softwarefunktionalit{\"a}ten beschrieben, welche die identifizierte bestehende Software-Infrastruktur erweitern und eine gesamtheitlichere, softwaretechnische Unterst{\"u}tzung der OSSD-Prozesse erm{\"o}glichen sollen. Abschließend werden verschiedene Anwendungsszenarien der Methoden des OSS-Entwicklungsmodells, u.a. auch im kommerziellen SE, identifiziert und ein Implementierungsansatz basierend auf der OSS GENESIS vorgestellt, der zur Implementierung und Unterst{\"u}tzung des OSSD-Modells verwendet werden kann.}, language = {de} }