12 research outputs found

    Entwicklung eines rationalen Entscheidungsprozesses für Architekturentscheidungen

    Get PDF
    AbstractIt is one of the critical tasks to make the right design- and architectural-decisions in huge and complex developing or reengineering projects. Such decisions have different types. On the one hand there are decisions with minimal effects on the architecture and the software system. On the other hand there are more strategic decisions which effect the architecture widely and change the central characteristics of the software system. Particularly the strategic decisions are very complex, risky and include many uncertain facts about hidden dependencies. The complexity and risks rise if such decisions have to be made in huge projects with 50 or more developers. The decisionmaker, mostly the project manager or the client, is confronted with various factors, assumptions and constraints. Typical examples are competing objectives, alternative solutions and incomplete information about external third-party systems. If such complex decisions have to be made in an unsystematic way, they will lead to uncalculatable risks with enormous bad consequences for the software system and the development project. Examples are changed or missed deadlines, risen development costs or monetary losses due to an outage of a business critical system.However, the specific characteristics of architectural decisions are not considered by existing methods and concepts to support decision making. They are too detailed, focussed on source code and require information in a formal quality and completeness. These information can not be gathered within such huge projects because of the high effort, time pressure and lacking resources. Therefore an architectural decision process is missing to structure the various information, assumptions and subjective estimations and so you can make such complex and risky decisions in a systematic and focussed way.The main objective of the following dissertation is to reduce the complexity, uncertainty and risks of architectural decisions in order to avoid additional changes and adjustments as well as to achieve the desired objectives. An architectural decision process with four phases is developed on the basis of the generic proceeding of the decision theory. This process includes methods and concepts in order to establish alternative solutions on the basis of the objectives, conditions and the model of the existing architecture. The various alternative solutions are evaluated through a systematic proceeding in order to identify and select the best solution. The developed process includes the specific characteristics of software architectures:Besides incomplete information and uncertainties, it is possible to observe hidden dependencies through scenario-based analysis methods, establishted by the concepts of the Architecture-Level-Modifiability-Analysis (ALMA).Due to the complexity and risks, huge architectural changes have to be separated into smaller tasks. This is supported by a stepped planning, from abtract analysis to more detailed planning.To achieve a reasonable relation between the analysis effort and the benefis from the analysis in terms of reduced risks, complexity and uncertainty, the depths of the analysis can be adjusted flexibly by clear objectives. Two practical applications show, how to make architectural decisions in a systematic way by using the decision process. Afterwards, the assumptions and expectations, which have been used for the decision making, are evaluated by comparing with the consequences of the real implementation. Due to the results of the comparison it can be described clearly, which advantages and disadvantages the application of the decision process has.In Softwareentwicklungsprozessen müssen permanent die richtigen Design- und Architekturentscheidungen getroffen werden, damit die mit dem Entwicklungs- oder Reengineeringprojekt verbundenen Ziele in vollem Umfang erfüllt werden können. Diese Entscheidungen können dabei von unterschiedlicher Natur sein. So werden einerseits Entscheidungen getroffen, die nur geringe Auswirkungen auf das Softwaresystem haben. Auf der anderen Seite existieren Entscheidungen mit strategischem Charakter, die sich auf große Teile der Architektur und auf zentrale Systemeigenschaften auswirken. Gerade die strategischen Architekturentscheidungen sind in Großprojekten mit 50 oder mehr Entwicklern von hoher kombinatorischer Komplexität und beinhalten große Unsicherheiten über versteckte Abhängigkeiten. Der Entscheidungsträger, meist der Architekt oder der Projektleiter, ist mit einer Vielzahl unterschiedlicher Faktoren und Bedingungen konfrontiert. Hierzu zählen konkurrierende Ziele oder alternative Lösungsansätze, für die meist nur unvollständige Informationen vorliegen. Unter diesen Voraussetzungen führen unsystematische Entscheidungen zu unkalkulierbaren Risiken mit gravierenden Folgen für das Softwaresystem und das Entwicklungsprojekt, wie z. B. eine deutliche Erhöhung der Entwicklungskosten oder zeitliche Verzögerungen. Die bereits existierenden Methoden zur Entscheidungsunterstützung berücksichtigen die spezifischen Eigenschaften von Softwarearchitekturen zu wenig. Sie sind zu feingranular, codeorientiert und benötigen Informationen in einer formalen Genauigkeit und Vollständigkeit, die bei Architekturentscheidungen in Großprojekten aus Aufwandsgründen nicht erhoben werden können. Somit fehlt eine Unterstützung des Entscheidungsträgers, um die Vielzahl an Einzelinformationen und subjektiven Einschätzungen zu strukturieren sowie die Entscheidungsfindung systematisch und fokussiert durchzuführen. Mit der vorliegenden Dissertation wird das Ziel verfolgt, die Komplexität, Unsicherheiten und Risiken bei Architekturentscheidungen zu reduzieren, um aufwandsintensive Korrekturen zu vermeiden und die Architekturziele in vollem Umfang zu erfüllen. Auf der Grundlage des in der Entscheidungstheorie beschriebenen generischen Vorgehens zur Entscheidungsfindung wird ein Vier-Phasen-Entscheidungsprozess entwickelt. Dieser Prozess beinhaltet Methoden und Konzepte, um ausgehend von den Zielen, Rahmenbedingungen und der existierenden Architektur systematisch alternative Lösungsansätze zu entwickeln. Im Anschluss werden die Lösungsansätze nach rationalen Gesichtspunkten im Hinblick auf die Zielerreichung bewertet, um eine ausgewogene Entscheidung zu treffen. Der entwickelte Entscheidungsprozess berücksichtigt dabei die speziellen Eigenschaften von Softwarearchitekturen: Trotz unvollständiger Informationen und Unsicherheiten können versteckte Abhängigkeiten mit einem szenariobasierten Analyse- und Bewertungsansatz, auf der Grundlage der Architecture-Level-Modifiability-Analysis (ALMA), sichtbar gemacht werden. Die systematische Aufteilung komplexer Entscheidungen in handhabbare Einzelentscheidungen wird durch die Anwendung eines gestuften Verfahrens mit Grob- und Feinplanung erreicht.Um ein ökonomisch sinnvolles Verhältnis zwischen dem Aufwand zur Entscheidungsfindung und dem Nutzen in Form von reduzierten Risiken, Unsicherheiten und einer geringeren Komplexität zu ermöglichen, kann die Detailtiefe der Analysen anhand eindeutiger Kriterien flexibel angepasst werden.Zwei praktische prototypische Anwendungen des Entscheidungsprozesses zeigen auf, wie eine Architekturentscheidung systematisch und nach rationalen Gesichtspunkten durchgeführt werden kann. Die während der Entscheidungsfindung getroffenen Annahmen und Erwartungen werden im Anschluss mit den Ergebnissen der realen Implementierung verglichen. Anhand des Vergleichs wird klar erkennbar, welche versteckten Abhängigkeiten durch den Einsatz des Entscheidungsprozesses bereits frühzeitig erkannt wurden sowie welche Vorteile die richtige Entscheidungsfindung für das Softwaresystem und das Entwicklungsprojekt hat

    Synchronisation eingebetteter Architekturentscheidungen mit Architekturentscheidungsprogrammen

    Get PDF
    Diese Arbeit behandelt das Thema der Synchronisation von quellcode-intern und quellcodeextern dokumentierten Softwarearchitekturentscheidungen. Einerseits gibt eine Java-Annotation, welche es erlaubt Architekturentscheidungen im Java-Quellcode zu hinterlegen, andererseits können Architekturentscheidungen auch mit dem Modellierungswerkzeug AD-Mentor modelliert und in einem Versionierungsrepository hinterlegt werden. Da Architekturentscheidungen somit an verschiedenen Stellen dokumentiert werden können, ist es sinnvoll diese zu synchronisieren. In dieser Arbeit wird ein Konzept zur Synchronisation von eingebettete Architekturentscheidungen mit modellierten Architekturentscheidungen anhand eines Versionierungsrepository vorgestellt und implementiert. Zur Verifikation des erstellten Konzepts wurde eine Fallstudie anhand des implementierten Synchronisationsprogramms durchgeführt und ausgewertet

    Nachvollziehbare Entscheidungsprozesse in der industriellen Softwareentwicklung durch Rationale Management - Ansätze zur Umsetzung bei der SAP AG

    Get PDF
    Das Software Engineering ist heute geprägt von schnelllebigen Technologien und Trends, verteilten, arbeitsteiligen Projekten mit vielen Interessenvertretern (Stakeholdern) und einem umkämpften globalen Markt. In diesem Umfeld wird es zur Herausforderung, gewonnene Erkenntnisse festzuhalten und daraus als gesamte Organisation zu lernen, um Fehler nicht zu wiederholen oder gar ganz zu vermeiden. Information und Wissen sowie Kommunikation und Wissenstransfer zusammen mit wohl reflektierten Entscheidungen werden daher immer mehr zum kritischen Erfolgsfaktor einer Organisation. Rationale Management (RM) (engl. Begründungsmanagement) ist ein Ansatz, um diese Erfolgsfaktoren auf allen Ebenen einer Organisation einzubeziehen. Durch das Aufzeigen der Gestaltungsalternativen (design space analysis) sollen die Entscheidungsträger (gegebenenfalls in einem kollaborativen Prozess) anhand von adäquaten Kriterien zu konsistenten und argumentativ begründeten Entscheidungen gelangen. Über eine geeignete Erfassung, Aufbereitung und Nutzung des Rationale soll eine Verbesserung der Entscheidungskommunikation, des Wissenstransfers und der Informationsgewinnung über individuelle, organisatorische und funktionale Grenzen der Organisation hinweg erreicht werden. In der vorliegenden Arbeit werden die im Kontext des Software Engineering diskutierten Ansätze für Rationale Management zusammengetragen. Sie werden strukturiert nach verschiedenen Wissensbereichen des Software Engineering aufbereitet und gegenübergestellt. Basierend darauf und am Beispiel der SAP AG wird untersucht wie Rationale Management in unterschiedlichen Bereichen eines Vorgehensmodells gewinnbringend integriert werden könnte. Hierzu werden konkrete Vorschläge im Umfeld der Kommunikation von Projektlenkungsentscheidungen oder der Erfassung von Rationale im Kontext von Anforderungspriorisierungen erarbeitet. Die dabei gewonnenen Erkenntnisse bei der Integration von Rationale Management in die Prozesse – auch in Bezug auf die Projektpolitik – werden abschließend festgehalten

    Formelle Designentscheidungen

    Get PDF
    Das klassische Arbeiten in Unternehmen unterliegt einer Transformation – dies ist seit der im Frühjahr 2020 in Deutschland angekommenen Corona-Pandemie für die breite Bevölkerung spürbar. Aus einer oftmals vorhandenen Möglichkeit des Arbeitens von Zuhause wird plötzlich eine verbindliche Phase des Rückzugs ins Homeoffice. Aus dieser Situation heraus stellt sich vermehrt die Frage, wie sich diese Lage während und nach der Pandemie weiter entwickeln wird. Um die Innovationskraft in Unternehmen zu erhalten und zu steigern, ist eine effiziente Zusammenarbeit unterschiedlicher Disziplinen essentiell. Das im folgenden Artikel vorgestellte Forschungsvorhaben entsteht im Rahmen des globalen Innovationsmanagements der Robert Bosch GmbH am Campus für Forschung und Vorausentwicklung in Renningen. Ziel ist die Übersetzung eines regulären Coworking Space in einen sogenannten Corporate Coworking Space innerhalb eines Unternehmens. Durch eine ganzheitliche Gestaltung und Bewertung soll aufgezeigt werden, ob ein solches Vorhaben die disziplinübergreifende Zusammenarbeit unterstützen kann

    Parametrisierung der Spezifikation von Qualitätsannotationen in Software-Architekturmodellen

    Get PDF
    Um qualitativ hochwertige Softwaresysteme zu entwickeln, muss in einem Softwareentwicklungsprozess eine Vielzahl von Qualitätsattributen berücksichtigt werden. Je höher die Komplexität von Softwaresystemen wird, desto wichtiger wird es, die zu erwartende Qualität im Vorfeld zu beurteilen. Jedoch existiert eine Reihe von Qualitätsattributen für Softwaresysteme, welche erst aus den strukturellen Eigenschaften der Softwarekomponenten in diesem Softwaresystem bestimmt werden können. Diese Qualitätsattribute werden in strukturierten und formalisierten Entscheidungsunterstützungsprozessen zur Optimierung der Softwarearchitektur oft nicht genutzt. Einer der Gründe dafür ist, dass dieses Wissen um die Qualitätsattribute einer Softwarekomponente in der Regel nur mit diesen Softwarekomponenten verknüpft ist und nicht mit den strukturellen Eigenschaften eines komponentenbasierten Softwaresystems. So bleibt ein Großteil dieses Wissens unberücksichtigt und kann daher nicht für Kompromissentscheidungen in automatisierten Softwarearchitektur-Optimierungsansätzen genutzt werden. In dieser Masterarbeit wird ein Rahmenwerk definiert, um Regeln zu spezifizieren zum Transformieren der Qualitätsattribute einer Softwarekomponente in Relation zu ihren strukturellen Eigenschaften in ihrem komponentenbasierten Softwaresystem. Mit diesem Ansatz kann architekturdefiniertes Wissen in Abhängigkeit der Systemarchitektur parametrisiert werden. Hierdurch können die Qualitätsattribute einer Softwarekomponente, welche erst aus den spezifischen Eigenschaften einer konkreten Softwarearchitektur abgeleitet werden können, spezifiziert und so auch ausgewertet werden. Durch diese verbesserten Auswertungen von strukturellen Eigenschaften sollen die Werkzeuge für Softwarearchitekten verbessert werden, sodass diese bessere Entscheidungen in einem Softwareentwicklungsprozess treffen können. Für die Validierung des Ansatzes werden zwei voneinander unabhängige Fallstudien durchgeführt, um dessen Anwendbarkeit und Nutzen zu zeigen. Zu diesem Zweck wird der Ansatz dieser Masterarbeit sowohl auf eine wissenschaftliche Fallstudie angewandt wie auch auf ein Beispiel, welches sich auf ein reales Industriesystem bezieht. Hiermit wird gezeigt, wie der Ansatz helfen kann, Kompromissentscheidungen über die Softwarearchitektur zwischen mehreren Qualitätsmerkmalen unter der Berücksichtigung der strukturellen Eigenschaften des Softwaresystems zu treffen

    Optimierung von Verfahren zur Lösung rechtsrelevanter Wissensprobleme in kritischen Infrastrukturen : Befunde im Smart Grid und technikrechtliche Empfehlungen

    Get PDF
    Die Arbeit befasst sich mit dem vielschichtigen Interessenausgleich sowie der technikrechtlichen Regulierung an der Schnittstelle von Energiewirtschaftsrecht und Datenschutzrecht. Im Smart Grid wird für die Optimierung von Regulierungswissen ein Verfahren der Bundesnetzagentur vorgeschlagen. Durch dessen Anreicherung um Aspekte der datenschutzkonformen Technikgestaltung kann eine Komplexitätsreduzierung auch durch Visualisierung - angelehnt an das Bau- und Planungsrecht - erreicht werden

    Design Research 2020: Kolloquium Technisches Design: Technische Universität Dresden

    Get PDF
    Der vorliegend Band 14 der Reihe Technisches Design schlägt nach Tagungsbänden und Dissertationsschriften – dem Charakter nach eher abgeschlossene Werke – eine Brücke in die Zukunft der Forschung im Technischen Design, indem es die Textfassungen von acht Beiträgen des ersten öffentlichen Kolloquiums Technisches Design vom September 2020 beinhaltet, die allesamt aus dem Prozess laufender Promotionsvorhaben verfasst wurden. Diese acht Arbeiten stehen damit auch stellvertretend für ganz individuelle Forschungsperspektiven und Schwerpunktsetzungen innerhalb des weiten Möglichkeitsraums aktueller Designforschung. Die Design-Promovierenden stellen ihre jeweiligen aktuellen Stände und besonderen Aspekte ihrer Forschungsarbeiten zur Diskussion und erlauben damit einen Einblick in verschiedenste Phasen ebenso wie sichere und noch offene Passagen ihrer Auseinandersetzung. Die Bandbreite reicht von ausgearbeiteten Exposees der Promotionsvorhaben über die Ergebnisse systematischer Literaturanalysen bis hin zur Darstellung konkreter Untersuchungsplanungen. Alle Beiträge eint die Auseinandersetzung mit dem menschlichen Erleben und Interagieren mit gestalteten Artefakten. Innerhalb dieses Felds decken die Artefakte ein sehr breites Spektrum von nachhaltigen Materialien oder Fertigungsverfahren über vorwettbewerbliche Technologiedemonstratoren bis hin zu kollaborativen Arbeitsplätzen ab. Innerhalb der Arbeiten werden Bezüge und Fragestellungen zu Menschen und Umgebungen in interdisziplinären Entwicklungsprozessen sowie zur Beurteilung und Kommunikation von Neuem durch Expert:innen und Laien entwickelt. Mit der Bandbreite dieser acht Beiträge wird das thematische Spektrum von Promotionsvorhaben an der Professur für Technisches Design gut ausgeleuchtet und entsprechend stolz sind wir auf diesen ersten Band, der ausschließlich Arbeiten unserer Promovend:innen zeigt. Band 14 der Reihe Technisches Design gibt einen aktuellen Einblick in die Forschung an einer der größeren Designforschungseinrichtungen im deutschsprachigen Raum und lässt Sie teilhaben an empirischer Forschung zur erlebenszentrierten Entwicklung vielfältiger Mensch-Technik-Interaktion

    Architekturbasierte Bewertung und Planung von Änderungsanfragen

    Get PDF
    Die Software-Architektur umfasst die technische Organisation eines Software-Systems und die Prinzipien, die den Entwurf und die Evolution des Systems bestimmen. Die Problemstellung ergibt sich aus der Software-Evolution, wenn das System angepasst werden muss. Der Beitrag dieser Arbeit ist ein Verfahren zur Änderungsanfragenanalyse im Architekturmodell, welches die Ableitung von Tätigkeiten in nachgelagerten Tätigkeitsfeldern und Lebenszyklusphasen ermöglicht

    Tool-Supported Analysis of Requirements Workshop Videos

    Get PDF
    Die Requirements Analysis bildet die Ausgangsbasis der Entwicklung eines Systems, bestehend aus Software und Hardware. Diese Analyse ist Teil des Requirements Engineerings, dessen konsequenter Einsatz, ausgehend von der Projektidee und den Zielen der Stakeholder, zu einer Spezifikation qualitativ hochwertiger Anforderungen führt. Die Güte der erhobenen Anforderungen stellt einen entscheidenden Faktor für den Erfolg eines Projekts dar. Das klassische Requirements Engineering ist oft sehr dokumentenzentriert, wodurch beispielsweise eine schriftliche Spezifikation als wesentliches Mittel zur Kommunikation von Anforderungen unter den Beteiligten verwendet wird. Dieser Ansatz birgt jedoch gewisse Risiken bezüglich des Transports von Informationen über das gesamte Projekt hinweg. Obwohl es sich bei einem Dokument um ein effektives Medium für die langfristige Speicherung von Informationen handelt, ist dieses jedoch sehr ineffektiv bezüglich der Informationsweitergabe im Sinne der direkten Kommunikation zwischen Personen. Das Medium des Videos hingegen stellt die effektivste Option zur Kommunikation von Informationen dar, weil es jegliche verbale und nonverbale Kommunikation erfassen kann. Jedoch erweist es sich wiederum in Bezug auf die langfristige Speicherung, Verwaltung und Pflege als sehr ineffektiv. Diese Diskrepanz zwischen den beiden Medien mit ihren jeweiligen Vorzügen für die Dokumentation beziehungsweise Kommunikation stellt eine aktuelle Problematik im Requirements Engineering dar. Durch die jeweils spezifischen Vor- und Nachteile der beiden Medien besteht die Frage in wie weit sie sich optimal kombinieren lassen, um eine ideale Balance zwischen mündlicher Kommunikation und schriftlicher Dokumentation zu erreichen. Die vorliegende Masterarbeit fokussiert die zuvor beschriebene Problematik in Hinblick auf die Integration von Videos in das Requirements Engineering. Konkreter wird diesbezüglich die Aufzeichnung und Analyse von Requirements-Workshops-Videos in der Phase der Anforderungsermittlung, der sogenannte Elicitation, betrachtet. Dabei wird die langfristige Speicherung von Anforderungen in Form von Dokumenten unter der Verwendung von Videos als eigentliches Kommunikationsmittel angestrebt. In diesem Zusammenhang ist der aktuelle Stand der Forschung in den Bereichen des Requirements Engineerings und der Videoaufzeichnung und Videoanalyse betrachtet worden. Auf Basis dessen ist zum einen eine Menge von Anforderungen für Videos ermittelt worden, die der Sicherstellung einer entsprechenden Güte der Videos bei der Aufzeichnung und Analyse dienen. Zum anderen sind Anforderungen für ein Werkzeug zur Unterstützung der Aufzeichnung und Analyse von Requirements-Workshop-Videos erhoben worden. Dieses Werkzeug soll den Requirements Engineer in der Rolle des Protokollanten während und nach der Durchführung eines Requirements Workshops unterstützen, um qualitativ hochwertige Anforderungen für ein WorkshopProtokoll zu erheben und zu dokumentieren. Das dafür vorgesehene Kernelement ist ein Annotationssystem für Videos, um diesen mehr Struktur zu verleihen und eine bessere Navigation unter den relevanten Inhalten zu ermöglichen. Mit diesem Vorgehen wird eine Integration von Videos als Nebenprodukt zu dem Protokoll eines Workshops angestrebt. Durch diesen Ansatz soll die Diskrepanz zwischen den Medienarten Dokument und Video in Hinblick auf den Einsatz als Dokumentations- und Kommunikationsmittel verbessert werden, wobei die Vorteile des jeweiligen Mediums effizient eingesetzt werden. Eine Evaluation des prototypisch entwickelten Werkzeugs hat statistisch signifikant gezeigt, dass durch die werkzeugunterstütze Aufzeichnung und Analyse eines Requirements-Workshop-Videos qualitativ hochwertigere Anforderungen für ein Protokoll erhoben werden. Diese Anforderungen weisen über ihre jeweilig zugehörigen Annotationen einen engen Bezug zum Video auf, welches die erhobenen Anforderungen untermauert und damit die Verständlichkeit und Kommunikation der im Protokoll enthaltenen Informationen verbessert.The basis of the system development consisting of software and hardware is the so-called Requirements Analysis. This analysis is part of Requirements Engineering. Implementing Requirements Analysis consistently starting from the project idea and the objectives of the stakeholders leads to a high-quality requirements specification. The quality of the elicited requirements represents a decisive factor for the project success. Classical Requirements Engineering is often very document-centric. A written specification, for instance, is used as an essential means for communication of requirements among participants. However, this approach involves certain risks regarding the transport of information through the entire project. Although a document is an effective medium for long-term storage of information, it is very ineffective in relation to the dissemination of information within the meaning of the direct communication between persons. The medium video, in contrast, is the most effective option to communicate information, because it can record all verbal and non-verbal communication. But the medium video proves to be ineffective with respect to long-term storage, management and maintenance. This discrepancy between the two media in terms of their benefits for the documentation and communication represents a current problem in the Requirements Engineering. Since both media have their specific advantages and disadvantages, the question arises how they can be optimally combined in order to achieve an ideal balance between oral communication and written documentation. This master thesis focuses on the difficulty described above with respect to the integration of video into the Requirements Engineering. More specifically, the recording and analysis of requirements workshop videos in the Requirements Analysis, the so-called Elicitation, is considered. The long-term storage of requirements in the form of documents is intended by using videos as an actual means of communication. In this context, set of requirements for videos and for a tool to support recording and analysis of requirements workshop videos has been determined based on the current state of research in the fields of Requirements Engineering and video recording and analysis. The requirements for videos serve to ensure the quality of the videos in the recording and analysis. The developed prototype is intended to support a requirements engineer to record a requirements workshop in order to collect and document high-quality requirements for a workshop protocol. The designated core element is an annotation system for videos to create more structure and to enable better navigation among the relevant content. With this approach, the video integration is designed as a by-product to the workshop protocol. Integrating videos into written documentation diminishes the discrepancies between these different communication types and combines the advantages of both media. Finally, this thesis presents an evaluation of the prototype. It showed a statistically significant requirement quality improvement with the tool support. These requirements with associated annotations have a close link to the videos, which underpins the elicited requirements in the protocol and improves their understandability
    corecore