1 / 101

Objektorientierte Modellierung mit UML 2

Objektorientierte Modellierung mit UML 2. Nichtrelationale Datenbanken. Was ist UML ?. UML. „ U nified (vereinheitlichte) M odeling L anguage“ auf objektorientierten Konzepten basierende grafische Modellierungssprache

anja
Download Presentation

Objektorientierte Modellierung mit UML 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektorientierte Modellierung mit UML2 Nichtrelationale Datenbanken

  2. Objektorientierte Modellierung mit UML2 Was ist UML ? UML • „Unified (vereinheitlichte) Modeling Language“ • auf objektorientierten Konzepten basierende grafische Modellierungssprache • dient zur Modellierung bestimmter Realitätsausschnitte und ermöglicht das spezifizieren, konstruieren, visualisieren und dokumentieren eines Softwaresystems • grafische Repräsentation der Modelle in Form von Diagrammen

  3. Objektorientierte Modellierung mit UML2 Prinzip cdA cdA cdA Modell rolle1 rolle1 rolle1 rolle2 rolle2 rolle2 rolle2 rolle2 rolle2 Diagramme Sicht Sicht Diagramme als grafische Repräsentation der Modelle als abstrakte Sicht auf die Realität Realitäts- ausschnitt

  4. Objektorientierte Modellierung mit UML2 Diagramme Diagramme

  5. Struktur-modellierung Statische Aspekte

  6. Objektorientierte Modellierung mit UML2 Diagrammarten Diagramme

  7. Klassendiagramm

  8. Objektorientierte Modellierung mit UML2  Namensfeld  Attributliste  Operationsliste Klasse Basisnotation von Klassen Klassendiagramme Attribut … Operation() …

  9. Objektorientierte Modellierung mit UML2 Klassenname Stereotype/ Schlüsselwörter Eigenschafts-angaben {abstract} (=true) «Stammdaten» Mitarbeiter {abstract} Klasse Klassendiagramme

  10. Objektorientierte Modellierung mit UML2 Attribute beschreiben Eigenschaften Instanzattribut (=Instanzvariable) in Standardschrift Klassenattribut (= Klassenvariable) unterstrichen Mitarbeiter Attribut Klassendiagramme -personalnr -name -gehalt -alter -/hyperlink:URL[0..1]

  11. Objektorientierte Modellierung mit UML2 evtl. Abschnittsname (A-Name) bsw. attributes zeilenweise evtl. in Gruppen Sichtbarkeitsangabe abgeleitete Attribute„/“ Attribute nehmen einen Wert an (Daten) Multiplizitätsangabe = Anzahl Werte Attributtyp nicht festgelegt Eigenschaftsliste { } Attribut Klassendiagramme Mitarbeiter -personalnr -name -gehalt -alter -/hyperlink:URL[0..1] Sichtbarkeit: öffentlich (public/+) paket (package/~) geschützt (protcted/#) privat (private/-)

  12. Objektorientierte Modellierung mit UML2 = ausführbare Tätigkeit evtl. Abschnittsname (A-Name)bsw.operations Parameterliste Sichtbarkeit Multiplizität Eigenschaftsliste { } Art eines Parameters (in, out, inout, return) = Datanflussrichtung Notiz Mitarbeiter Operation  Klassendiagramme -personalnr -name -gehalt -/alter -hyperlink: URL[0..1] +einstellen() +erhöheGehalt() +druckeAusweis() +typ()

  13. Objektorientierte Modellierung mit UML2 Aktive Klassen Klassendiagramme • Klassen, für die ein eigenes Verhalten definiert ist, z.B. mit Zustands- oder Aktivitätsdiagramm • Instanzen weisen Kontrollfluss auf • Reaktionen auf Ereignisse (Operationsaufrufe) • Notation: {active}, vertikal doppelter Rahmen Klasse {active} Klasse =

  14. Objektorientierte Modellierung mit UML2 Geschachtelte Klassen Klassendiagramme • Gehören zum Namensraum der Klasse, in der sie deklariert sind Äußere Klasse «nestedClassifier» Geschachtelte Klasse

  15. Objektorientierte Modellierung mit UML2 Objekt Klassendiagramme • Instanzen von Klassen als Objekt bezeichnet • = Ausprägungen der von der Klasse definierten Struktur (Attribute) und weisen definierte Verhalten (Operationen) auf • Notation: dem Klassennamen kann Objektname vorangestellt werden und beides unterstrichen m1:Mitarbeiter

  16. Objektorientierte Modellierung mit UML2 Assoziation * 2 Klassendiagramme • Verbindungen zwischen Objekten einer Klasse • Darstellung als Verbindungslinie (Kanten) zwischen Klassen/Objekten • Assoziationsnamen, Leserichtung • Rolle (Bedeutung der Klasse in der Assoziation) - Rollenname • Sichtbarkeit, Multiplizität, Ordnung Termin Mitarbeiter  /nimmtTeilAn Datum Name + teilnehmer {ordered}

  17. Objektorientierte Modellierung mit UML2 Assoziation Klassendiagramme • Teilmengen von Assoziationen {subsets <role-name>} • Vereinigung {union} Termin Mitarbeiter * *  /nimmtTeilAn Datum Name / teilnehmer {ordered} {union} * * * * geladeneTn {subsets teilnehmer} eingeladeneTn {subsets teilnehmer}

  18. Objektorientierte Modellierung mit UML2 Assoziation Klassendiagramme • Navigierbare Assoziationsenden „“ • Nicht navigierbares A.ende „x“ • Navigierbare Assoziation als Attribut * 0..1 Termin HypertextDokument X zusatzInfo Termin HypertextDokument zusatzInfo: HypertextDokument [0..1]

  19. Objektorientierte Modellierung mit UML2 Qualifizierte Assoziation Klassendiagramme • qualifiziertes Attribut zur Charakterisierung der Assoziation • dienen auch zur Reduzierung der Multiplizität 1..* angestelltBei * Person Unternehmen angestellter abteilung

  20. Objektorientierte Modellierung mit UML2 Assoziationsklasse Teilnahme warnZeit: DatumZeit Klassendiagramme • eigenes Klassensymbol • durch gestrichelte Linie mit Assoziationskante verbunden • Klassenname = Assoziationsname Termin Mitarbeiter * * Datum Name {ordered} teilnehmer

  21. Objektorientierte Modellierung mit UML2 n-äre Assoziation Klassendiagramme • mehrstellige Assoziation • durch Raute dargestellt • mit allen Klassen durch Kante verbunden • evtl. mit zugeordneter Assoziationsklasse Person Kalender Datum Name * Berechtigter Bewilliger * Berechtigung Termintyp * bezeichnung erlaubt: Recht

  22. Objektorientierte Modellierung mit UML2 Aggregation/Komposition Klassendiagramme • Spezialfälle • beschreiben eine „Teile-Ganzes-Beziehung“(part-of-relationship) • asym. Assoziation zw. nicht gleichwertigen Partnern • Komposition = „strengere“ Form der Aggregation • Multiplizität max. 1 • wird das Ganze gelöscht, werden alle Teile gelöscht Buch Verzeichnis Aggregat- klasse   Titel Erscheinungsjahr Name Erstellung * 1 Aggregation Komposition * * Kapitel Datei   Teil- klasse Autor AnzahlSeiten Name Erstellung letzteÄnderung

  23. Objektorientierte Modellierung mit UML2 Generalisierung(Vererbung) Klassendiagramme • Beziehung zwischen einer allgemeinen Basis- oder Superklasse und einer spezialisierteren Unter- oder Subklasse • fasst gemeinsame Eigenschaften und Verhalten zusammen • Klassenhierarchiebildung Vollzeit Angestellter Teilzeit Manager Programmierer Sekretärin

  24. Objektorientierte Modellierung mit UML2 Generalisierung(Vererbung) Klassendiagramme • Diskriminatoren = eine Art „virtuelles“ Attribut - Kriterium der Vererbungsstruktur • Zusammengefasste Generalisierungen = Generalisierungsmenge • Einschränkungen { } Arbeitszeit Vollzeit Angestellter {complete} Teilzeit Tätigkeit Manager Programmierer Sekretärin

  25. Objektorientierte Modellierung mit UML2 Generalisierung – weitere Begriffe Klassendiagramme • Objekt ist „direkte Instanz“ der Klasse • Jede „direkte Instanz“ einer Klasse ist „indirekte Instanz“ jeder Superklasse • Mehrfachvererbung: eine Klasse besitzt mehrere Oberklassen • Mehrfachklassifikation: Objekt kann direkte Instanz mehrer Klassen sein • Klassifikationstyp: Typ eines Diskriminators - wird als Klasse dargestellt, die mit Superklasse in Generalisierungsmenge durch Assoziation verbunden ist pt Klasse 1 a.pt Klasse 2 Klasse 3

  26. Objektorientierte Modellierung mit UML2 Redefinition Klassendiagramme • durch Eigenschaft {redefines <feature>} notiert • Überschreiben des Verhaltens der Oberklasse • muss explizit angegeben werden Eintrag 1 0..1 B_Eintrag typ: Eintragstyp X daten Termin 1 B_Termin typ = termin {redefines typ} X terminDaten {redefines daten}

  27. Objektdiagramm

  28. Objektorientierte Modellierung mit UML2 Objektdiagramme Objektdiagramme • formaler Teil der Klassendiagramme • von Klassen können beliebig viele Objekte als Instanzen gebildet werden • ein Objekt hat einen Zustand, ein Verhalten und eine unveränderliche Identität • können den Attributen Werte zuordnen Objektbezeichner Klasse des Objekts Waisenobjekt m1:Mitarbeiter :Mitarbeiter m1 personalnr = 1234 name = Bernd Meier anonymes Objekt

  29. Objektorientierte Modellierung mit UML2 Links Objektdiagramme • Instanzen einer Assoziation = Links (Kanten) • nicht zu verwechseln mit Objekten der Laufzeitumgebung • modellierte Instanzen = Instanzspezifikationen t1:Termin m1:Mitarbeiter m2:Mitarbeiter

  30. Paketdiagramm

  31. Objektorientierte Modellierung mit UML2 Paketdiagramm Paketname Paketname A B Termin Benutzer Paketdiagramme • Zusammenfassung von UML-Modellelementen (meist Klassen) • Gruppierung und Strukturierung des Gesamtsystems / Systemteilen • 3 Notationsvarianten Paketname

  32. Objektorientierte Modellierung mit UML2 Namensraum Paketdiagramme • 1 Element kann zu max. 1 Paket gehören • Paket definiert Namenraum • Qualifizierter Name eines Elements • Referenzieren eines Elements Benutzerschnittstelle Terminverwaltung B_Termin Terminverwaltung::Termin Termin B_Kalender Kalender termine: B_Termin[*] benutzer: Benutzer Benutzer

  33. Objektorientierte Modellierung mit UML2 Sichtbarkeit Paketdiagramme • Elementen können Sichtbarkeiten zugeordnet werden (nur privat/“-“ oder öffentlich/“+“) • Jedem Element muss eine Sichtbarkeit zugeordnet werden x «import» Y {import Z} «access» +E Z +D -G +C «import» U V +A +B -F

  34. Objektorientierte Modellierung mit UML2 Import Paketdiagramme • Element-Import, Paket-Import, Klassen-Import (z.B. X::Z::D importiert Klasse X::Y::U::A) • Sichtbarkeit muss öffentlich sein - «import» = öffentliche Import-Beziehung • «access» = private Import-Beziehung x «import» Y {import Z} «access» +E Z +D -G +C «import» U V +A +B -F

  35. Objektorientierte Modellierung mit UML2 Paketverschmelzung ^ P R = A B A Q A C Paketdiagramme • wie Paket-Import mit Beziehung --> + Schlüssel-wort «merge» = (Verschmelzungsbeziehung) • verschmilzt Inhalt des Basispakets mit Inhalt des Verschmelzungspakets • gleiche Inhalte = Effektiver Inhalt = Vereinigungsmenge • Vorteil: min. Modellierungsaufwand R «merge» A C Basis- pakete Effektiver Inhalt «merge» B Verschmelzungspaket

  36. Komponentendiagramm

  37. Objektorientierte Modellierung mit UML2 Komponentendiagramm Komponentendiagramm • modellieren die Struktur eines Systems zur Laufzeit und beschreiben, aus welchen Bestandteilen das System aufgebaut ist. • zeigen Definition von Komponenten und Abhängigkeiten zwischen diesen

  38. Objektorientierte Modellierung mit UML2 Komponente «component» Name  Interne Sicht  Externe Sicht  Ports «component» Name «component» Name öffentlicher Port privater Port Komponentendiagramm • Notation: • Externe Sicht • Interne Sicht • Ports: Verteilerzentrum zur Nachrichtenübermittlung (in, out, inout) • Verknüpfung einer Komponente mit anderer Komponente gleicher Ebene  Typkonformität Voraussetzung

  39. Objektorientierte Modellierung mit UML2 Interface A, B X, Y A, B X, Y Komponentendiagramm • Interfaces: („Schnittstelle“) zur Datenübertragung und Abfrage des Verhaltens anderer Komponenten (Verhaltensspezifikation) • Port mit angebotenen Interfaces • Port mit benötigten Interfaces • Kombinierter Port Stecker-/ Buchsen- symbol

  40. Objektorientierte Modellierung mit UML2 Externe Sicht «use» Klient Anbieter Komponentendiagramm • Umfasst Interfaces, Ports, öffentliche Attribute & Operationen der Komponente, Verknüpfung von Komponenten gleicher Ebene Verknüpfung durch (Benutzungs-)Abhängigkeiten = allgemeine Kopplung zweier UML-Modellelemente; Änderungen in einem Element (Anbieter) zieht Änderungen im anderen Element (Klient) mit sich a) Interface-Realisierungs-/Benutzungsabhängigkeit: b) Buchse/Stecker-Notation: c) Separater Abschnitt:

  41. Objektorientierte Modellierung mit UML2 Interne Sicht Komponentendiagramm • Umfasst private Attribute & Operationen, interne Realisierung (welche Elemente für die Realisierung des Verhaltens der Komponente zuständig sind) • direkte Implementierung • indirekte Implementierung a) Komponenten-Realisierungs-/Manifestationsabhängigkeit: b) Schachtelung: c) Separate Abschnitte:

  42. Kompositionsstruktur-diagramm

  43. Objektorientierte Modellierung mit UML2 Kompositionsstrukturdiag. Kompositionsstrukturd. • Kompositionsstrukturdiagramm modelliert innere Struktur einer Komponente oder Klassen • Beziehungen zwischen Rollen der internen Struktur werden durch Konnektoren modelliert, die Kommunikationspfade repräsentieren  die verbundenen Instanzen interagieren zur Laufzeit miteinander • Notation: ungerichtet gerichtet

  44. Objektorientierte Modellierung mit UML2 Kollaboration Kompositionsstrukturd. • Kollaboration beschreibt , wer mit wem kommuniziert, um best. Verhalten auszuführen (nicht wie und wann!) • Notation: a) KalenderAktualisierung auslöser:Kalender 1 1 1..* zuAktualisierende:Kalenderansicht 1..* b) Kalender auslöser zuAktualisierende Kalenderansicht … … Kalender Aktualisierung

  45. Verteilungsdiagramm

  46. Objektorientierte Modellierung mit UML2 Verteilungsdiagramm Verteilungsdiagramm • Modellieren der physischen Struktur eines Systems • zeigt die eingesetzte Hard- und Softwaretopologie und das zugeordnete Laufzeitsystem

  47. Objektorientierte Modellierung mit UML2 Verteilungsdiagramm «device» calClient:PC «device» calServer:Host «artifact» calServerProgram:jar Verteilungsdiagramm • Knoten sind Hard-, Softwareelemente • Kommunikations-beziehungen = Verbindung zw. Knoten • Artefakte = Modellelemente, die für die Ausführung auf die Knoten verteilt werden (physische Manifestation der Software, z.B. exe-files) «internet» «deploy»

  48. Verhaltens-modellierung Dynamische Aspekte

  49. Objektorientierte Modellierung mit UML2 Diagrammarten Diagramme

  50. Anwendungsfall-diagramm

More Related