Die Unified Modeling Language (UML) stellt eine Standardsprache für die Modellierung von Softwareentwürfen dar. Diese Sprache wurde von Jim Rumbaugh, Ivar Jacobsen und Grady Booch im Jahre 1997 in der ersten Version 1.1 veröffentlicht. Mittlerweile existiert die Version 1.4, welche mit Sicherheit nicht die letzte Version sein wird. Die UML kann heute bereits als ein Industriestandard angesehen werden, da heute nahezu alle Entwicklungswerkzeuge und Autoren diese Sprache unterstützen.1 Die zentralen Aufgaben der UML sind die Visualisierung, Spezifizierung, Konstruktion und Dokumentation von Softwaresystemen. In diesem Zusammenhang meint Spezifizierung die unzweideutige und vollständige Erstellung von Modellen und die Konstruktion eine direkte Kopplungsmöglichkeit an Programmiersprachen wie C++ oder Java, das heißt eine direkte Abbildbarkeit der UML Modelle auf die Programmiersprachen wird ermöglicht. Dabei ist die UML allerdings nur als ein Teil einer Methode zur Softwareentwicklung zu verstehen. Die UML stellt eine Sprache dar, die prozessunabhängig ist und dementsprechend in einem Entwicklungsprozess eingebunden sein sollte.
Die UML kann im Rahmen der möglichen Modellierungsarten (Strukturmodellierung, Verhaltenmodellierung und Architekturmodellierung) sowohl die konzeptionellen als auch physischen Aspekte eines Systems abbilden. Die Modellierung von softwareintensiven Systemen fördert dabei das Verständnis des einzelnen Entwicklers, indem er sich vor der Implementierung Gedanken zur Umsetzung des Problems macht. Weiterhin bildet hat UML eine Art kommunikative Brückenfunktion zwischen den unterschiedlichen Anspruchsgruppen in einem Softwareentwicklungsprojekt. Unter anderem nehmen folgende Personengruppen an einem solchen Prozess teil: Anwender, Analytiker, Entwickler, Systemintegratoren, Tester, technische Autoren, Projektmanager etc. Diese Personengruppen sprechen zum Teil „unterschiedliche Fachsprachen“. Die UML bietet die Möglichkeit, durch grafische Visualisierung aus den verschiedensten Sichten eine allgemein verständliche Übersetzung spezifischer Aspekte eines Softwaresystems zu erstellen.
Die vorliegende Arbeit wird sich mit der Übersetzungsfunktion der UML zwischen Softwareentwicklern und Hardware-Ingenieuren befassen, das heißt die Architekturmodellierung wird einer näheren Betrachtung unterzogen.
Inhaltsverzeichnis
- Einführung
- Architekturmodellierung
- Die fünf Sichtweisen
- Modelle und Systeme
- Komponenten
- Aufbau von Komponenten
- Funktion und Arten von Komponenten
- Gebräuchliche Modellierungstechniken von Komponenten
- Komponentendiagramm
- Aufgabe und Aufbau von Komponentendiagrammen
- Arten der Modellierung von Komponentendiagrammen
- Modellieren von Sourcecode
- Modellieren von ausführbaren Versionen
- Modellieren einer physischen Datenbank
- Modellieren adaptiver Systeme
- Hinweise und Tipps für die Modellierung von Komponentendiagrammen
- Knoten
- Aufbau von Knoten
- Gebräuchliche Modellierungstechniken von Knoten
- Das Modellieren von Prozessoren und Geräten
- Das Modellieren der Verteilung von Komponenten
- Einsatzdiagramme
- Aufgabe und Aufbau von Einsatzdiagrammen
- Arten der Modellierung von Einsatzdiagrammen
- Modellierung eines eingebetteten Systems
- Modellierung von Client/Server-Systemen
- Modellieren von vollständig verteilten Systemen
- Hinweise und Tipps für die Erstellung von Einsatzdiagrammen
- Eigenes Diagrammbeispiel
- Beschreibung des Beispielsystems
- Komponentendiagramm
- Einsatzdiagramm
Zielsetzung und Themenschwerpunkte
Diese Arbeit befasst sich mit der Architekturmodellierung innerhalb der Unified Modeling Language (UML) und untersucht deren Anwendung zur Überbrückung zwischen Softwareentwicklern und Hardware-Ingenieuren. Das Ziel ist es, die Möglichkeiten und Techniken der UML für die Architekturmodellierung von Softwaresystemen zu erläutern und zu veranschaulichen.
- Modellierung von Komponenten und deren Interaktionen
- Darstellung von Systemarchitekturen mit Komponentendiagrammen
- Verwendung von Einsatzdiagrammen zur Abbildung von Systemverteilungen
- Modellierung verschiedener Systemtypen (eingebettete Systeme, Client/Server-Systeme, verteilte Systeme)
- Praktische Anwendung der UML-Modellierungstechniken anhand eines Beispiels
Zusammenfassung der Kapitel
Einführung: Die Einführung erläutert die Unified Modeling Language (UML) als Standardsprache für die Modellierung von Softwareentwürfen und betont ihre Bedeutung für die Visualisierung, Spezifizierung, Konstruktion und Dokumentation von Softwaresystemen. Sie hebt die Rolle der UML als Brücke zwischen verschiedenen Stakeholdern in einem Softwareentwicklungsprojekt hervor und kündigt den Fokus der Arbeit auf die Architekturmodellierung an, insbesondere die Übersetzungsfunktion zwischen Softwareentwicklern und Hardware-Ingenieuren.
Architekturmodellierung: Dieses Kapitel legt die Grundlagen für das Verständnis von Architekturmodellierung innerhalb der UML. Es beschreibt die verschiedenen Sichtweisen auf ein System und wie diese mit Hilfe von UML-Modellen dargestellt werden können. Der Schwerpunkt liegt auf der Bedeutung von Modellen für das Verständnis und die Kommunikation im Entwicklungsprozess.
Komponenten: Dieses Kapitel befasst sich detailliert mit dem Konzept von Komponenten in der UML. Es beschreibt den Aufbau, die Funktionen und Arten von Komponenten und erläutert verschiedene Modellierungstechniken. Der Fokus liegt auf der Darstellung von Komponenten und deren Schnittstellen, um ein klares Bild der Systemstruktur zu vermitteln.
Komponentendiagramm: Dieses Kapitel widmet sich der Erstellung und Interpretation von Komponentendiagrammen. Es erklärt die Aufgabe und den Aufbau solcher Diagramme sowie verschiedene Modellierungsarten, beispielsweise für Sourcecode, ausführbare Versionen, Datenbanken und adaptive Systeme. Es werden zudem hilfreiche Tipps zur Modellierung gegeben.
Knoten: Das Kapitel erläutert das Konzept von Knoten in der UML als Repräsentation von physischen Ressourcen im System. Es beschreibt den Aufbau von Knoten und verschiedene Techniken, um Prozessoren, Geräte und die Verteilung von Komponenten darzustellen. Der Schwerpunkt liegt auf der Verknüpfung von Knoten mit Komponenten.
Einsatzdiagramme: Dieses Kapitel behandelt die Erstellung und Interpretation von Einsatzdiagrammen, welche die Verteilung von Komponenten auf Knoten visualisieren. Es beschreibt verschiedene Arten der Modellierung, darunter die Darstellung eingebetteter Systeme, Client/Server-Systeme und vollständig verteilter Systeme. Es werden Tipps für die Erstellung von Einsatzdiagrammen gegeben.
Schlüsselwörter
UML, Architekturmodellierung, Komponentendiagramm, Einsatzdiagramm, Komponenten, Knoten, Softwareentwicklung, Hardware, Modellierungstechniken, Systemarchitektur, verteilte Systeme.
Häufig gestellte Fragen zum Dokument: Architekturmodellierung mit UML
Was ist der Inhalt dieses Dokuments?
Dieses Dokument bietet eine umfassende Übersicht über die Architekturmodellierung mit UML, speziell die Erstellung von Komponentendiagrammen und Einsatzdiagrammen. Es beinhaltet ein Inhaltsverzeichnis, eine Beschreibung der Zielsetzung und der behandelten Themen, Zusammenfassungen der einzelnen Kapitel und eine Liste der Schlüsselwörter. Der Fokus liegt auf der Anwendung von UML zur Verknüpfung von Software- und Hardwareentwicklung.
Welche UML-Diagramme werden behandelt?
Das Dokument konzentriert sich auf zwei wichtige UML-Diagrammtypen: Komponentendiagramme und Einsatzdiagramme. Es erklärt detailliert den Aufbau, die Erstellung und Interpretation beider Diagramme, einschließlich verschiedener Modellierungstechniken für unterschiedliche Systemtypen.
Was sind Komponentendiagramme und wie werden sie erstellt?
Komponentendiagramme zeigen die Komponenten eines Systems, ihre Beziehungen und Schnittstellen. Das Dokument erläutert den Aufbau von Komponenten, verschiedene Arten von Komponenten und Modellierungstechniken für Sourcecode, ausführbare Versionen, Datenbanken und adaptive Systeme. Es werden auch Tipps zur effektiven Erstellung von Komponentendiagrammen gegeben.
Was sind Einsatzdiagramme und wozu dienen sie?
Einsatzdiagramme visualisieren die Verteilung von Komponenten auf Knoten (physische Ressourcen). Das Dokument beschreibt den Aufbau von Einsatzdiagrammen und deren Anwendung zur Modellierung verschiedener Systemtypen, wie eingebettete Systeme, Client/Server-Systeme und vollständig verteilte Systeme. Es beinhaltet ebenfalls Hinweise zur Erstellung aussagekräftiger Einsatzdiagramme.
Welche Arten von Systemen werden modelliert?
Das Dokument behandelt die Modellierung verschiedener Systemtypen, darunter eingebettete Systeme, Client/Server-Systeme und vollständig verteilte Systeme. Die Beispiele zeigen, wie die UML-Modellierungstechniken auf diese unterschiedlichen Architekturen angewendet werden können.
Welche Zielsetzung verfolgt dieses Dokument?
Das Hauptziel ist es, die Anwendung der UML zur Architekturmodellierung von Softwaresystemen zu erläutern und zu veranschaulichen, insbesondere im Kontext der Kommunikation zwischen Softwareentwicklern und Hardware-Ingenieuren. Es soll die Möglichkeiten und Techniken der UML für die Architekturmodellierung verständlich machen.
Welche Schlüsselwörter beschreiben den Inhalt?
Die wichtigsten Schlüsselwörter sind: UML, Architekturmodellierung, Komponentendiagramm, Einsatzdiagramm, Komponenten, Knoten, Softwareentwicklung, Hardware, Modellierungstechniken, Systemarchitektur, verteilte Systeme.
Gibt es ein Beispieldiagramm im Dokument?
Ja, das Dokument enthält ein eigenes Diagrammbeispiel, das ein Beispielsystem beschreibt und sowohl ein Komponentendiagramm als auch ein Einsatzdiagramm für dieses System zeigt.
Für wen ist dieses Dokument gedacht?
Dieses Dokument richtet sich an Softwareentwickler, Hardware-Ingenieure und alle, die sich mit der Architekturmodellierung von Softwaresystemen befassen und die UML als Werkzeug einsetzen möchten. Es ist besonders nützlich für diejenigen, die die Brücke zwischen Software- und Hardwareentwicklung schlagen möchten.
- Quote paper
- Bastian Kuhl (Author), 2002, Architekturmodellierung innerhalb der Unified Modeling Language (UML), Munich, GRIN Verlag, https://www.grin.com/document/5843