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 - Hitz, Michael T1 - Modellierung und Generierung kombinierbarer Benutzungsschnittstellenvarianten und deren gemeinschaftliche Nutzung in Dienst-Ökosystemen T1 - Modeling and generation of composable user interface variants and their shared use in digital service ecosystems N2 - Digitalisierung ermöglicht es uns, mit Partnern (z.B. Unternehmen, Institutionen) in einer IT-unterstützten Umgebung zu interagieren und Tätigkeiten auszuführen, die vormals manuell erledigt wurden. Ein Ziel der Digitalisierung ist dabei, Dienstleistungen unterschiedlicher fachlicher Domänen zu Prozessen zu kombinieren und vielen Nutzergruppen bedarfsgerecht zugänglich zu machen. Hierzu stellen Anbieter technische Dienste bereit, die in unterschiedliche Anwendungen integriert werden kö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ötigt, die auf deren Bedürfnisse zugeschnitten sind. Hierzu werden Varianten für spezifische Nutzergruppen (fachliche Varianten) und variierende Umgebungen (technische Varianten) benötigt. Zunehmend müssen diese mit Diensten anderer Anbieter kombiniert werden können, um domänenübergreifend Prozesse zu Anwendungen mit einem erhöhten Mehrwert für den Endnutzer zu verknüpfen (z.B. eine Flugbuchung mit einer optionalen Reiseversicherung). Die Vielfältigkeit der Varianten lässt die Erstellung von Benutzungsschnittstellen komplex und die Ergebnisse sehr individuell erscheinen. Daher werden die Varianten in der Praxis vorwiegend manuell erstellt. Dies führt zur parallelen Entwicklung einer Vielzahl sehr ähnlicher Anwendungen, die nur geringes Potential zur Wiederverwendung besitzen. Die Folge sind hohe Aufwände bei Erstellung und Wartung. Dadurch wird häufig auf die Unterstützung kleiner Nutzerkreise mit speziellen Anforderungen verzichtet (z.B. Menschen mit physischen Einschränkungen), sodass diese weiterhin von der Digitalisierung ausgeschlossen bleiben. Die Arbeit stellt eine konsistente Lösung fü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ür digitale Dienste in einem verteilten Umfeld. Die Arbeit schafft eine Lösung zur Wiederverwendung und gemeinschaftlichen Nutzung von Benutzungsschnittstellen über Anbietergrenzen hinweg. Sie führt zu einer Infrastruktur, in der eine Vielzahl von Anbietern ihre Expertise in gemeinschaftliche Anwendungen einbringen können. Die Beiträge bestehen im Einzelnen in Konzepten und Metamodellen zur Modellierung von Benutzungsschnittstellen, Varianten und Kompositionen sowie einem Verfahren zu deren vollständig automatisierten Transformation in funktionale Benutzungsschnittstellen. Zur Umsetzung der gemeinschaftlichen Nutzbarkeit werden diese ergänzt um eine universelle Reprä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ür zukünftige Methoden zur Anwendungserstellung in einem zunehmend vielfältigen Umfeld. N2 - Digitalization enables us to interact with partners (e.g., companies, institutions) and perform operations in an IT-supported, digital environment. A major objective of the digitalization efforts is to combine and integrate services of different business domains in order to make them accessible to a wide variety of users. To achieve that objective, service suppliers provide technical services that can be integrated into applications. This brings new challenges for the development of applications. An important aspect is the needs-oriented accessibility of services for users. To interact with technical services, human users need user interfaces (UIs) tailored to suit their needs. This requires a variety of UI variants focusing on the different requirements of special user groups (user specific variants) and tailored for multiple technical environments (technical variants). In addition, user interfaces increasingly need to combine services from different suppliers and business domains to build applications with added value for the customer (e.g., a flight booking in combination with a travel insurance product). The diversity of the variants lets the development of user interfaces seems to be a complex and very individual task. Therefore, in daily practice variants are mostly built manually. This leads to concurrent developments of very similar, yet hardly reusable applications. This results in increasing expenses for application building and maintenance. One consequence is that service providers shy away from the effort to build variants for small user groups with special needs (e.g., visually impaired persons), excluding them from digital offerings and leaving them behind. This thesis offers a consistent solution for these new challenges by applying model driven development techniques to the problem. It presents an approach for modeling dialog-based user interfaces, variants and compositions including their completely automatic generation as UIs for digital services in a distributed environment. The thesis provides a solution for reuse and sharing of user interfaces across different domains and suppliers. It leads to an infrastructure where a variety of suppliers can share their expertise to build applications. The contributions of this work are concepts and metamodels for modeling user interfaces, variants and compositions along with a process for a completely automated transformation into fully functional UIs. To achieve reusability and shareability the solutions are complemented by a universal representation of the models, a method to reuse them with different service suppliers and a distributed architecture for sharing the artifacts and functional components of the approach in a service oriented environment. The approach offers the opportunity to a variety of people to participate in digitalization. It provides impetus for future application development methods within an increasingly diverse environment. KW - Digitalisierung KW - Dienst-Ökosysteme KW - Dialogbasierte Benutzerschnittstellen KW - Multimodale Benutzerschnittstellen KW - Modellgetriebene UI Entwicklung KW - UI-Komponenten KW - Digitalisation KW - Service Ecosystems KW - Tailored UI Variants KW - User Interfaces KW - Dialog-based User Interfaces KW - Multimodal User Interfaces KW - Model Driven UI Development KW - Automatic UI Generation KW - Reuseable UIs KW - UI Components KW - Composed UIs KW - UI Metamodels KW - Softwareentwicklung KW - Domänenspezifische Sprachen KW - Generative Programmierung KW - Modellgetriebene Softwareentwicklung KW - Serviceorientierte Architektur KW - Benutzungsschnittstellen Ontologien KW - Linked Data Anwendungen KW - Applications and Software Development KW - Model-Driven Software Development KW - Service Oriented Architectures KW - Software Engineering KW - User Interface Ontologies KW - Linked Data Application Modelling KW - Application Aggregation KW - Generative Programming KW - Domain-Specific Languages Y1 - 2021 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-500224 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 -