TY - THES A1 - Dietze, Stefan T1 - Modell und Optimierungsansatz für Open Source Softwareentwicklungsprozesse N2 - Gerade in den letzten Jahren erfuhr Open Source Software (OSS) eine zunehmende Verbreitung und Popularität und hat sich in verschiedenen Anwendungsdomänen etabliert. Die Prozesse, welche sich im Kontext der OSS-Entwicklung (auch: OSSD – Open Source Software-Development) evolutionär herausgebildet haben, weisen in den verschiedenen OSS-Entwicklungsprojekten z.T. ähnliche Eigenschaften und Strukturen auf und auch die involvierten Entitä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 ü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ären) Modellen des SE unterscheidet und daher diese Methoden einer eigenen wissenschaftlichen Betrachtung bedürfen. In verschiedenen Publikationen wurden zwar bereits einzelne Aspekte der OSS-Entwicklung analysiert und Theorien ü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ü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äten und Software-Infrastrukturen der untersuchten OSSD-Projekte. Es basiert auf einem eigens entwickelten Metamodell, welches die zu analysierenden Entitäten identifiziert und die Modellierungssichten und -elemente beschreibt, die zur UML-basierten Beschreibung der Entwicklungsprozesse verwendet werden. In einem weiteren Arbeitsschritt wird eine weiterführende Analyse des identifizierten Modells durchgeführt, um Implikationen, und Optimierungspotentiale aufzuzeigen. Diese umfassen beispielsweise die ungenügende Plan- und Terminierbarkeit von Prozessen oder die beobachtete Tendenz von OSSD-Akteuren, verschiedene Aktivitäten mit unterschiedlicher Intensität entsprechend der subjektiv wahrgenommenen Anreize auszuüben, was zur Vernachlässigung einiger Prozesse führt. Anschließend werden Optimierungszielstellungen dargestellt, die diese Unzulänglichkeiten adressieren, und ein Optimierungsansatz zur Verbesserung des OSSD-Modells wird beschrieben. Dieser Ansatz umfasst die Erweiterung der identifizierten Rollen, die Einfü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ätssicherung und der Kompensation von vernachlässigten Prozessen, um sowohl die entwickelte Software- als auch die Prozessqualität im OSSD-Kontext zu verbessern. Desweiteren werden Softwarefunktionalitäten beschrieben, welche die identifizierte bestehende Software-Infrastruktur erweitern und eine gesamtheitlichere, softwaretechnische Unterstützung der OSSD-Prozesse ermö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ützung des OSSD-Modells verwendet werden kann. N2 - In recent years Open Source Software (OSS) has become more widespread and its popularity has grown so that it is now established in various application domains. The processes which have emerged evolutionarily within the context of OSS development (OSSD – Open Source Software Development) display, to some extent, similar properties and structures in the various OSSD projects. The involved entities, e.g., artifacts, roles or software tools, are also widely comparable. This leads to the idea of developing a generalizable model which abstracts the generalizable development processes within the context of OSS to a transferable model. Even the scientific discipline of Software Engineering (SE) has recognized that the OSSD approach is, in various aspects, considerably different from traditional (proprietary) models of SE, and that these methods therefore require their own scientific consideration. Numerous publications have already analyzed individual aspects of OSSD and formulated theories about the fundamental development methods, but to date there is still no comprehensive description of the typical processes of OSSD methodology based on an empirical study of existing OSSD projects. Since this is a precondition for the further scientific examination of OSSD processes, a descriptive model of OSSD processes is obtained on the basis of comparative case studies and described in a formalized manner with UML modeling elements within the context of this dissertation. The model generalizes the identified processes, process entities and software infrastructures of the analyzed OSSD projects. It is based on a specially developed meta model which identifies the entities to be analyzed and describes the modeling viewpoints and elements which are used for the UML-based description of the development processes. Another procedure step includes the further analysis of the identified model in order to display the implications, and the potential for optimization. For example, these encompass the insufficient planning and scheduling capability of processes or the observed tendency of OSSD actors to carry out various activities at different intensities depending on the subjectively perceived incentives which leads to some processes being neglected. Subsequently, the optimization targets which address these inadequacies are displayed, and an optimization approach for the improvement of the OSSD model is described. The approach incorporates the expansion of the identified roles, the introduction of new or the expansion of already identified processes and the modification or expansion of artifacts of the generalized OSSD model. The presented model enhancements serve, above all, to increase quality assurance and to compensate neglected processes in order to improve developed software quality as well as process quality in the context of OSSD. Furthermore, software functionalities are described which expand the existing identified software infrastructure and should enable an overall, software-technical support of OSSD processes. Finally, the various application scenarios of OSSD model methods - also in commercial SE - are identified and an implementation approach based on the OSS GENESIS is presented which can be used to implement and support the OSSD model. T2 - Modell und Optimierungsansatz für Open Source Softwareentwicklungsprozesse KW - Prozessmodell KW - Software Engineering KW - Open Source KW - Prozessmodellierung KW - Metamodell KW - Softwareentwicklung KW - Prozess Verbesserung KW - process model KW - software engineering KW - open source KW - process modelling KW - meta model KW - software development KW - process improvement Y1 - 2004 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-0001594 ER - TY - THES A1 - Schröter, Alexander T1 - Erstellung und Evaluation eines Fragebogens zur Erfassung von komplexen Interaktionssituationen in Software-Entwicklungsprojekten T1 - Creation and evaluation of a questionnaire for recording complex interaction situations in software development projects N2 - Die fortschreitende Digitalisierung durchzieht immer mehr Lebensbereiche und führt zu immer komplexeren sozio-technischen Systemen. Obwohl diese Systeme zur Lebenserleichterung entwickelt werden, können auch unerwünschte Nebeneffekte entstehen. Ein solcher Nebeneffekt könnte z.B. die Datennutzung aus Fitness-Apps für nachteilige Versicherungsentscheidungen sein. Diese Nebeneffekte manifestieren sich auf allen Ebenen zwischen Individuum und Gesellschaft. Systeme mit zuvor unerwarteten Nebeneffekten können zu sinkender Akzeptanz oder einem Verlust von Vertrauen fü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änzen. In vorliegender Arbeit wurde ein Analysetool zur Identifikation und Analyse komplexer Interaktionssituationen in Software-Entwicklungsprojekten entwickelt. Komplexe Interaktionssituationen sind von hoher Dynamik geprägt, aus der eine Unvorhersehbarkeit der Ursache-Wirkungs-Beziehungen folgt. Hierdurch können die Akteur*innen die Auswirkungen der eigenen Handlungen nicht mehr überblicken, sondern lediglich im Nachhinein rekonstruieren. Hieraus können sich fehlerhafte Interaktionsverläufe auf vielfältigen Ebenen ergeben und oben genannte Nebeneffekte entstehen. Das Analysetool unterstü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öglichen Ursachen der Komplexitätswahrnehmung zu begegnen. Ausgehend von der Definition für Interaktionskomplexität wurden Item-Indikatoren zur Erfassung komplexer Interaktionssituationen entwickelt, die dann anhand von geeigneten Kriterien für Komplexität analysiert werden. Das Analysetool ist als „Do-It-Yourself“ Fragebogen mit eigenständiger Auswertung aufgebaut. Die Genese des Fragebogens und die Ergebnisse der durchgeführten Evaluation an fü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ützt die gute Einbindung des Analysetools in den Software-Entwicklungsprozess. N2 - Advancing digitalization is permeating more and more areas of life and leading to increasingly complex socio-technical systems. Although these systems are being developed to make life easier, undesirable side effects can also arise. One such side effect could be, for example, the use of data from fitness apps for adverse insurance decisions. These side effects manifest themselves at all levels between the individual and society. Systems with previously unexpected side effects can lead to a decline in acceptance or a loss of trust. Since such side effects often only become apparent during use, special consideration is required during the design process. This work is intended to make a contribution to supplementing the design process with a suitable tool for systematic reflection. In this thesis, an analysis tool was developed to identify and analyze complex interaction situations in software development projects. Complex interaction situations are characterized by high dynamics, resulting in unpredictability of cause-effect relationships. As a result, the actors are no longer able to oversee the effects of their own actions, but can only reconstruct them in retrospect. This can result in incorrect interaction processes on many levels and the side effects mentioned above. The analysis tool supports the designers in each phase of development through guided reflection in order to anticipate potentially complex interaction situations and to counter them by analyzing the possible causes of the perception of complexity. Based on the definition of interaction complexity, item indicators were developed to capture complex interaction situations, which are then analyzed using suitable criteria for complexity. The analysis tool is structured as a "do-it-yourself" questionnaire with independent evaluation. The genesis of the questionnaire and the results of the evaluation carried out on five software developers are presented. It was found that the analysis tool was perceived by the respondents as applicable, effective and helpful and thus enjoys a high level of acceptance among the target group. This finding supports the good integration of the analysis tool into the software development process. KW - Komplexität KW - sozio-technisches System KW - Softwareentwicklung KW - Mensch-Technik-Interaktion KW - Methodik KW - complexity KW - socio-technical system KW - software development KW - human-technology interaction KW - methodology Y1 - 2024 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-631873 ER -