4 Einführung in UML 4.1 Abriss der Geschichte von UML

Ähnliche Dokumente
Überblick über UML Abriss der Geschichte von UML

Ein Überblick über UML

UML (Unified Modeling Language) im Überblick

Requirements Engineering I

Requirements Engineering I

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Die Unified Modeling Language UML

Von UML 1.x nach UML 2.0

Requirements Engineering I

UML (Unified Modelling Language) von Christian Bartl

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

NACHRICHTENTECHNISCHER SYSTEME

Requirements Engineering I

Vorlesung Programmieren

Objektorientierte Spezifikation mit UML

Unified Modeling Language 2

Unified Modeling Language (UML )

INSPIRE - Modellierung

Analyse und Design mituml2

Oracle JDeveloper 10 g

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Das UML Benutzerhandbuch

Unified Modeling Language

Software- und Systementwicklung

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Analyse und Design mit U ML 2.3

Analyse und Design mituml2.1

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Exkurs 1: Hintergrund zu Java und UML

Analyse und Modellierung von Informationssystemen

Tamagotchi-Spezifikation in UML

Die Unified Modeling Language (UML)

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Einführung in die objektorientierte Programmierung

Übungen Softwaretechnik I

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Unified Modelling Language

Das umfassende Handbuch

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

Techniken der Projektentwicklungen

Rückblick: Entity-Relationship-Modell

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

Das UML Benutzerhandbuch

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Harald Störrle UML 2 für Studenten

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung

Modellierung von Arbeitsprozessen

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Vgl. Oestereich Kap 2.4 Seiten

Objektorientierte Systementwicklung

3. Objektorientierte Analyse

Objektorientierte Analyse (OOA) Inhaltsübersicht

4. Mentorium. UML-Modellierung (Lösungshinweise)

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Vorlesung Informationssysteme

Comelio GmbH - Goethestr Berlin. Course Catalog

Modellierung von Web Anwendungen mit UML

Requirements Engineering I. Objektorientierte Spezifikation

Einführung in die Programmierung

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

UML 2.0 Das umfassende Handbuch

Objektorientierte Analyse (OOA) Übersicht

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Gliederung des Vortrages

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme

Kapitel 2 - Die Definitionsphase

Informatik II: Modellierung Prof. Dr. Martin Glinz. Kapitel 2. Datenmodellierung. Universität Zürich Institut für Informatik

Einführung in die Informationsverarbeitung Teil Eide (auf Basis von Thaller ) Stunde VI: Suche Planen und Realisieren

Notationen zur Prozessmodellierung

Einführung. Einführung

Übung Einführung in die Softwaretechnik

Formale Modellierung Vorlesung vom : Beyond JML

Objektorientierter Entwurf. Grundlagen des Software Engineerings

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

Universität Karlsruhe (TH)

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Objektorientiertes Design

Softwaretechnik Unified Modeling Language (UML)

Modellierung Zusammenfassung WS2000

2. Objektorientierter Entwurf

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

19 Objektorientierter Entwurf Grundlagen der Objektorientierung. Ein Vorgehen heißt objektorientiert, wenn es

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

Systemmodellierung mit SysML - Stereotypen und Profile

Modellierungstipps für die Anwendungsfallmodellierung

Klausur. Softwareentwurf. 22. März 2011 Bearbeitungszeit: 120 Minuten

Java Einführung Objektorientierte Grundkonzepte

Transkript:

4 Einführung in UML 4.1 Abriss der Geschichte von UML 1994 Booch und Rumbaugh beschließen, ihre Ansätze (OOAD und OMT) zu vereinigen mit dem Ziel, einen Industriestandard zu schaffen. 1995 Unified Method, Version 0.8. Im wesentlichen Vereinigungsmenge von OMT und OOAD. Grundnotation von OMT, mit Details und Methodenelementen von OOAD. Jacobson stößt dazu und bringt OOSE ein. Das Prinzip des Vereinigens stößt an seine Grenzen. Radikale Vereinfachung (aber auch semantische Verarmung); alle Spezialkonstrukte werden mit Hilfe der neu eingeführten Stereotypen modelliert. Vorläufiger Verzicht auf Einheitsmethode, nur noch Einheitssprache. 1996 Unified Modeling Language (UML), Version 0.9. Einbezug namhafter Informatikunternehmen (Digital, Microsoft, Oracle, Hewlett-Packard, ); Verfeinerung von Notation, Konzepten und Sprachdefinition. Gleichzeitig wächst der Sprachumfang. Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-1 2001, 2003 by Martin Glinz. Alle Rechte vorbehalten. Reproduktion zum nicht kommerziellen Gebrauch mit Quellenangabe gestattet. Reproduktion - auch auszugsweise - zum kommerziellen Gebrauch nur mit schriftlicher Bewilligung des Verfassers gestattet.

1997 UML Versionen 1.0 und 1.1 erscheinen. Sept. 1997 Einreichung von UML bei der OMG (Object Management Group) als Kandidat für einen geplanten Standard für objektorientierte Modellierungssprachen. Die OMG erklärt UML Version 1.1 zum Standard. 1998 UML Version 1.2 erscheint. Enthält Detailänderungen und Fehlerkorrekturen. Eine Flut von UML-Büchern bricht über die Informatikwelt herein. 1999 UML Version 1.3. Konsolidierung; einige essenzielle Änderungen im Metamodell 2001 UML Version 1.4. Detailänderungen und Fehlerkorrekturen 2003 UML Version 1.5. Aktionen und Aktionssemantik: Vorgriff auf UML 2.0 2003/04 UML 2.0. Erhebliche Änderungen und Erweiterungen der Sprache Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-2

UML in dieser Vorlesung Die Darstellung in diesem Kapitel basiert noch auf UML 1.4 Literatur zu UML 1.x Referenzhandbuch: Rumbaugh, Jacobson, Booch (1999) Derzeit bestes deutschsprachiges Buch: Oestereich (1998) Literatur zu UML 2.0 Derzeit noch nichts Brauchbares verfügbar Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-3

4.2 Grundkonzepte und Elemente der UML UML besteht aus einer Sammlung vorwiegend grafischer Sprachen zur Erstellung von Anforderungs- und Entwurfsmodellen aus verschiedenen Perspektiven Eine UML-Spezifikation besteht aus einer Sammlung sich ergänzender und teilweise überlappender Modelle Im Zentrum steht ein Klassenmodell, das den strukturellen Aufbau eines Systems spezifiziert Das Klassenmodell beschreibt _ bei Anforderungsmodellen die Gegenstände der Realität, mit denen das System umgehen muss bei Entwurfs- und Implementierungsmodellen die Klassen der Lösung Bei der Modellierung von Anforderungen kommt als zentrales Element das Anwendungsfallmodell hinzu, das die Benutzer-System-Interaktion aus Benutzersicht modelliert Nach Bedarf beschreiben weitere Modelle zusätzliche Systemsichten, insbesondere dynamisches Verhalten, Funktionalität und Zusammenarbeit Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-4

UML unterstützt insgesamt sieben verschiedene Sichten Die statische Sicht: Klassen und Objekte, strukturelle Beziehungen Die Benutzersicht: Anwendungsfälle Die Verhaltenssicht: Zustandsautomaten Die Aktivitätssicht: Ablauf von Aktivitäten Die Interaktionssicht: Interaktion ausgewählter Objekte Die Gliederungssicht: Portionierung der Modelle in Pakete und Subsysteme Die Physische Sicht: Physische Systemstruktur Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-5

4.3 Die statische Sicht Klassen und Objekte Objekt (object) Ein individuell erkennbares, von anderen Objekten eindeutig unterscheidbares Element der Realität. Beispiel: Die konkrete Person Eva Müller, 36 Jahre alt, Dr. oec. publ., Leiterin Fertigung in der Firma AGP, verheiratet, ein Kind,... wird als Objekt modelliert Gleichartige Objekte werden durch Klassen modelliert. Klasse (class) eine eindeutig benannte Einheit, welche eine Menge gleichartiger Objekte beschreibt. Beispiel: Mitarbeiter, Abteilung evamüller Mitarbeiter In UML werden in der Regel Klassen modelliert Objekte dienen zur Modellierung besonderer Aspekte, z.b. des Ablaufs einer Operation Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-6

Objekte haben Eigenschaften Attribute (attributes) modellieren Merkmale, Eva Müller ist Jahrgang 1962 die für jedes Objekt einen Wert haben deren Werte keine eigene Identität besitzen Operationen (operations, services) Hier können Parameter angegeben werden modellieren die Möglichkeiten zur Bearbeitung von Objekten werden in Anlehnung an Smalltalk und Java auch Methoden (methods) genannt evamüller.befördern(...) Objekt Operation Wertebereiche (domains) beschreiben die Menge aller möglichen Werte für ein Attribut Geschlecht: {männlich, weiblich} Attribut Wertebereich Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-7

Weitere Eigenschaften In UML können zu allen Attributen und Operationen Kardinalitäten vornamen [1..5]: String Eigenschaftswerte stammnr: Integer {readonly} Zusicherungen salaer: CHF {salaer > 0} und diverses weiteres siehe einschlägige Literatur angegeben werden Jede Klasse kann ferner informal mit Notizen kommentiert werden Mitarbeiter aktive und pensionierte Mitarbeiter der Firma Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-8

Notation von Klassen Als Text mit allen Details: Mitarbeiter stammnr: Integer {readonly} name: String vornamen [1..5]: String Geburtsdatum: Date Graphisch mit den wichtigsten Attributen und Operationen: Mitarbeiter stammnr: Integer name: String vornamen: String befoerdern (...) eingetretenam: Date... befoerdern (nach: Stufe, ab: Date)... Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-9

Klassendiagramme Klassendiagramme beschreiben statische Zusammenhänge zwischen Klassen Generalisierung/Spezialisierung (generalization/specialization) über Vererbung Assoziation (association) Aggregation (aggregation) Abhängigkeit (dependency) Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-10

Beispiel eines Klassendiagramms Postadresse Telekommunikation Bankverbindung 1..2 0..* 1 Mitarbeiter 1 1 chef 0..* 1..* führt berichtet arbeitet in beschäftigt untergebener 1 Abteilung sitzt in 1 Mitarbeiter im Stundenlohn Mitarbeiter im Monatslohn Ort Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-11

4.4 Die Benutzersicht: Anwendungsfälle Anwendungsfall (use case) Eine durch genau einen Akteur angestoßene Folge von Systemereignissen, welche für den Akteur ein Ergebnis produziert und an welchem weitere Akteure teilnehmen können Modelliert Interaktionen typisch zwischen Anwendern und System oder zwischen Komponenten in Geschäftsvorfällen / Prozessen selten auch zwischen systeminternen Komponenten Jeder Anwendungsfall beschreibt eine Klasse möglicher Interaktionen Konkrete Interaktionsabläufe werden auch Szenarien genannt UML definiert keine Sprache zur Spezifikation von Anwendungsfällen. Meistens wird strukturierter Text verwendet Die Menge aller Anwendungsfälle wird in einem Anwendungsfalldiagramm dargestellt Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-12

Beispiel eines Anwendungsfalldiagramms Postbearbeitung registrieren Anwendungsfall Akteur vorsortieren Chef sichten «include» «include» weiterleiten Sekretariat Mit «include» werden gemeinsam genutzte Sub-Anwendungsfälle eingebunden archivieren wegwerfen «extend» ablegen «extend» «extend» dient zur Modellierung von Varianten, die einen Anwendungsfall an definierten Stellen mit unterschiedlicher Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-13

Detailspezifikation eines Anwendungsfalls UML lässt beliebige Beschreibungsformen zu Gebräuchlich sind Beschreibungen mit Fließtext einer Folge von Schritten in natürlicher Sprache (die heute gebräuchlichste Beschreibungsart) einem Aktiviätsdiagramm (siehe 4.6) einem Zustandsdiagramm (siehe 4.5) Anwendungsfall: Buch ausleihen... Normalablauf: 1 BenutzerIn liest ihre Karte ein System prüft und validiert die Karte 2 BenutzerIn wählt Ausleihen System aktiviert die Ausleihfunktion 3 Benutzerin liest Buchcode ein System identifiziert das Buch, registriert die Ausleihe, deaktiviert das Diebstahletikett... Sonderfälle: Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-14

4.5 Die Verhaltenssicht: Zustandsautomaten UML modelliert das dynamische zeitliche Verhalten eines Systems mit Zustandsdiagrammen (state machine, state diagram) Ein Zustandsdiagramm modelliert mögliche Zustände der Objekte einer Klasse oder eines Teilsystems Dynamik des Systemverhaltens: Reaktionen auf Folgen äußerer Ereignisse Notation und Bedeutungen sind sehr ähnlich wie bei Statecharts (Harel 1988) Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-15

Beispiel eines Zustandsdiagramms Tür Normalverhalten TürAuf Tür öffnen Tür ganz geöffnet 4 s IN Tür offen Tür schließen Tür ganz geschlossen Tür geschlossen Tür öffnet Tür offen Tür schließt TürAuf Hindernis in Tür oder TürAuf Tür öffnen Not-Auf-Knopf gedrückt Tür öffnen Notöffnung TürAuf = Karte mit Zutrittsrecht gesteckt oder Annäherungssensor hat angesprochen oder Öffnungsknopf gedrückt Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-16

4.6 Die Aktivitätssicht: Ablauf von Aktivitäten Aktivitätsdiagramme (activity diagrams) beschreiben Abläufe in einem System verwenden Aktivitäten, Steuerfluss und Objektzustände als Hauptelemente können beim Steuerfluss Fallunterscheidungen und Parallelität modellieren können außerdem das Versenden und Empfangen von Signalen modellieren Ferner ist die Zuordnung von Verantwortlichkeiten für die einzelnen Aktivitäten möglich. Aktivitätsdiagramme unterscheiden sich konzeptionell nur unwesentlich von den traditionellen Programmablaufplänen (flowcharts) Vorsicht: beliebige Spaghetti-Strukturen sind modellierbar Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-17

Sachbearbeiter System Kundendaten aufnehmen Kontoart festlegen Kontonummer erzeugen AND AND Vertrag erzeugen [nicht unterschrieben] Vertrag Rücksetzen, Ablegen Beispiel eines Aktivitätsdiagramms [unterschrieben] Konto eröffnen Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-18

4.7 Die Interaktionssicht: Interaktion ausgewählter Objekte In der Interaktionssicht modelliert man ausgewählte Objekte und deren Interaktion in zeitlicher Reihenfolge partielle dynamische Aspekte eines Systems Zwei Arten von Diagrammen stehen zur Verfügung: Sequenzdiagramme (sequence diagrams): Zeitachse ist sichtbar; zeitlicher Ablauf im Vordergrund Zusammenarbeitsdiagramme (collaboration diagrams): Objektstruktur und - Aufrufe im Vordergrund Die beiden Diagrammarten sind logisch äquivalent Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-19

Beispiel eines Sequenzdiagramms AVOR reserviere (n, für) a:artikel :Lager :Disponent gibanzahl(a) m [m>=n] reserviere (n, für) [m<n] reserviere (m, für) erzeuge (a,anz,für) :Reservierung [m<n]bestelle (n-m, für) verfügbarab verfügbarab...und AVOR eines äquivalenten Zusammenarbeitsdiagramms verfügbarab:= reserviere (n, für) a:artikel 1.1:m:=gibAnzahl(a) [m>=n] 1.2:reserviere(n, für) [m<n] 1.2:reserviere(m, für) [m<n] 1.3:verfügbarAb:= bestelle(n-m, für) :Disponent :Lager 1.2.1 erzeuge (a, anz, für) :Reservierung Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-20

4.8 Die Gliederungssicht Große UML-Modelle werden mit Hilfe von Paketen gegliedert Paket (package) Behälter für beliebige Modellelemente Definiert einen Namensraum (innerhalb des Pakets müssen Namen eindeutig sein) Jedes Modellelement gehört in genau ein Paket In jedem Paket sind Modellelemente aus anderen Paketen referenzierbar Wird ein Element aus Paket A in Paket B referenziert, so wird B von A abhängig ( B benutzt ein Element aus A ) Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-21

Beispiel eines Paketdiagramms Bank Produkt Konto Kunde Kredit Leistung Anlageberatung Depot Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-22

4.9 Die physische Sicht Zur Modellierung der physischen Systemstruktur (primär in Entwurfsmodellen) stellt UML Komponentendiagramme und Verteilungsdiagramme zur Verfügung: Komponentendiagramm (component diagram) modelliert Komponenten und deren Abhängigkeiten (welche Komponente benutzt welche andere) Komponente (component) Modul mit eigener Identität und wohldefinierter Schnittstelle zum restlichen System) Beispiel eines Komponentendiagramms Kursadministration enthält: Teilnehmer Buchung Raum Technik Dozentenadministration Kursangebot Buchhaltung Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-23

Verteilungsdiagramm (deployment diagram) modelliert die Struktur der Hardware und die Verteilung der Software auf Hardware-Komponenten Beispiel eines Verteilungsdiagramms schulserver: Server Kurssystem- Datenbank client n: PC Dialog client 1: PC Dialog Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-24

4.10 OCL (Object Constraint Language) Eine formale Sprache zur Formulierung zusätzlicher Modelleigenschaften, z.b. Zusicherungen über Zusammenhänge zwischen verschiedenen Modellelementen Invarianten, d.h. Eigenschaften von Objekten einer Klasse, die sich nie ändern dürfen Voraussetzungen für die Ausführung von Operationen Ergebniszusicherungen für das Resultat von Operationen Beispiele: Mitarbeiter self.beruf = Fahrer implies self.alter > = 18 sqrt(argument: Real) {argument >=0} Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-25

4.11 Erweiterungsmechanismen in der UML UML versteht sich als offener Standard Andere Sprachen/Modelle können mit UML kombiniert werden UML selbst kann benutzerdefiniert erweitert oder gar modifiziert werden Zwei Erweiterungsmechanismen Standardisierte Annotationen (tagged values) Stereotypen (stereotypes) Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-26

4.11.1 Standardisierte Annotationen Bestehen aus einem Schlüsselwort (tag)...... und einem Wert dazu (value) Eine Reihe von tags sind vordefiniert Jeder Benutzer kann beliebige eigene tags definieren Beispiele Eine vordefinierte Annotation für Klassen: class ticket_db {location=host persistence=persistent}... Selbstdefinierte Annotationen: Autor=Glinz erstellt=2001-11-21 Termin=2001-11-28 Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-27

4.11.2 Stereotypen Stereotyp (stereotype) Ein Mechanismus für benutzerdefinierte Erweiterung, Präzisierung oder Redefinition von Elementen einer Sprache (ohne Veränderung des Metamodells der Sprache) Dekorative Stereotypen variieren die äußere Darstellung (Notation) einer Sprache Anwendung: Schaffung benutzerdefinierter Symbole Deskriptive Stereotypen erweitern eine Sprache rein syntaktisch Anwendung: Annotationen (analog zu tagged values), Sekundärklassifikation Restriktive Stereotypen präzisieren bestehende Sprachkonstrukte oder schaffen neue Anwendung: Hinzufügen fehlender Sprachkonstrukte, Überlagerung bestehender Konstrukte mit zusätzlichen Bedeutungen Redefinierende Stereotypen verändern die Bedeutung von Sprachkonstrukten Anwendung: Definition einer neuen Sprache auf der Grundlage einer bestehenden Sprache Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-28

Beispiel «freigegeben» stereotype freigegeben { host Class; properties Date datum; String visum restrictions visum in listederfreigabeberechtigten } Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-29

4.12 Bewertung von UML UML... ist eine Sprache, keine Entwicklungsmethode hat die Notation im Bereich objektorientierter Modellierung vereinheitlicht nimmt bewährte Elemente aus verschiedensten Ansätzen auf (vor allem objektorientierte Spezifikation sowie Anwendungsfälle) ist faktisch ein Konglomerat aus einer Vielzahl grafischer Modellierungssprachen ist nach wie vor nicht präzise definiert hat neben ihren Stärken immer noch erhebliche konzeptionelle Schwächen wird in den nächsten Jahren die Landschaft der Modellierungssprachen dominieren ist definitiv nicht die endgültige Modellierungssprache Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-30

Stärken und Schwächen von UML + umfassend + Industriestandard + Großes Angebot an Büchern, Unterlagen und Schulung + (nach und nach) durch alle großen Werkzeuganbieter unterstützt + offener, erweiterbarer Standard erhebliche konzeptionelle Schwächen: fehlende Systemdekomposition, (zu) viele Konstrukte ohne klare Bedeutung, Spezifikation des globalen Verhaltens ungeklärt, Modellierung des Systemkontextes / Einbettung vorhandener Modellteile schwierig Anything goes; öffnet der Beliebigkeit Tür und Tor (Zu) großer Sprachumfang UML-Modelle sind Sammlungen von Einzelmodellen: Konsistenzprobleme, Problem des Zusammensuchens relevanter Information Gefahr der erneuten Sprachverwirrung durch unkontrollierte und undisziplinierte Erweiterungen Spezifikation und Entwurf von Software 4. Einführung in UML Martin Glinz Seite 4-31