16
Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Embed Size (px)

Citation preview

Page 1: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Objektorientierte Konzepte und Notation in UML

Statische Konzepte:

Assoziation

Vererbung

Paket

Page 2: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket
Page 3: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Assoziation

• Verbindungen zwischen Objekten einer Klasse

• Darstellung als Linie zwischen Klassen bzw. Objekten, die am Anfang und Ende Angaben zur Wertigkeit (Kardinalität) aufweist

Page 4: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Assoziation• Kardinalitäten (multiplicity) geben an, wie viele

Objekte ein bestimmtes Objekt kennen kann

Page 5: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Assoziation

• Kann- (*) und Muss- (1) Assoziationen• Assoziationsnamen : Leserichtung • Rollen (Bedeutung der Klasse in der

Assoziation)

Page 6: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Assoziation• Restriktionen (constraints): • frei formulierbar• or, subset, ordered, frozen, ....

Page 7: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Assoziation

• Assoziative Klassen (association class)

• Qualifikations-angabe (qualifier)

Page 8: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Assoziation

• Abgeleitete Assoziation (derived association)

Page 9: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Assoziation• Aggregation und Komposition• Spezialfälle der allgem. Assoziation• Beschreiben eine Teile-Ganzes-Beziehung (whole-part,

part-of-relationship) • Komposition: Kardinalität max. 1, wird das Ganze gelöscht,

werden alle Teile gelöscht

Page 10: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Vererbung (Generalisierung)• Beziehung zwischen einer allgemeinen Basisklasse und

einer spezialisierteren Klasse• Fasst gemeinsame Eigenschaften und Verhalten

zusammen• Klassenhierarchiebildung: Oberklasse (superclass) -

Unterklasse(subclass)

Page 11: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Vererbung

Page 12: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Vererbung• Überschreiben,

Redefinition, override --> überschreiben des Verhaltens der Oberklasse

• Einfachvererbung / Mehrfachvererbung

• Diskriminator --> Kriterium der Vererbungsstruktur

Page 13: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Paket• Zusammenfassung von Modellelementen (meist

Klassen)• Gruppierung und Strukturierung des

Gesamtsystems / Systemteilen• Abhängigkeiten darstellbar

Page 14: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Übung Ziel: Klassen- und Objektdiagramm erstellen können

Identifizieren Sie anhand der folgenden Beschreibung Klassen, Attribute, Operationen und Assoziationen und zeichnen Sie sie in ein Klassendiagramm ein. Erstellen Sie zusätzlich für selbstgewählte Beispieldaten ein Objektdiagramm.Eine Softwaretechnik-Tagung in Hamburg ist zu organisieren. Für jeden Teilnehmer der Tagung werden Name, Adresse und der Status (Student. Mitglied, Nichtmitglied) gespeichert. Jeder Teilnehmer kann sich für ein oder mehrere halbtagige Tutorien. die zusätzlich zum normalen Tagungsprogramm angeboten werden. Anmelden. Für jedes Tutorium werden dessen Nummer, die Bezeichnung sowie das Datum gespeichert. Alle Tutorien kosten gleich viel. Damit ein Tutorium stattfindet, müssen mindestens 10 Anmeldungen vorliegen. Jedes Tutorium wird von genau einem Referenten angeboten. Für jeden Referenten werden dessen Name und Firma gespeichert. Ein Referent kann sich auch für ein oder mehrere Tutorien - anderer Referenten - anmelden und kann bei diesen kostenlos zuhören. Diese Anmeldungen zählen bei der Ermittlung der Mindestanmeldungen nicht mit. Ein Teilnehmer kann nicht gleichzeitig Referent sein. Ein Referent kann mehrere Tutorien anbieten. An einem Tutorium können mehrere Referenten kostenlos teilnehmen. Ein Teilnehmer kann sich in der Tagungsanmeldung auch für einige Rahmenprogramme (z.B. Besuch eines Musicals) eintragen lassen. Für jedes Rahmenprogramm werden dessen Bezeichnung, das Datum, die Zeit, der Ort und die Kosten gespeichert.

Page 15: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Übung Ziel: Konzepte identifizieren, Klassendiagramm erstellen

Identifizieren Sie anhand der folgenden Beschreibung Klassen, Attribute, Operationen, Assoziationen und Vererbungsstrukturen und zeichnen Sie sie in ein Klassendiagramm ein. Prüfen Sie, welche Art der Assoziation vorliegt. Erstellen Sie zusätzlich für selbstgewählte Beispieldaten ein Objektdiagramm.

Wir betrachten eine Bank und ihre Kunden. Eine Person wird Kunde, wenn sie ein Konto eröffnet. Ein Kunde kann beliebig viele weitere Konten eröffnen. Für jeden neuen Kunden werden dessen (nicht notwendigerweise eindeutiger) Name, Adresse und das Datum der ersten Kontoeroffnung erfasst. Bei der Kontoeröffnung muss der Kunde gleich eine erste Einzahlung vornehmen. Wir unterscheiden Girokonten und Sparkonten- Girokonten dürfen bis zu einem bestimmten Betrag überzogen werden. Für jedes Konto wird ein individueller Habenzins, für Girokonten auch ein individueller Sollzins festgelegt; außerdem besitzt jedes Konto eine eindeutige Kontonummer. Für jedes Sparkonto wird die Art des Sparens - z.B. Festgeld - gespeichert. Ein Kunde kann Beträge einzahlen und abheben. Desweiteren werden Zinsen gutgeschrieben und bei Girokonten Überziehungszinsen abgebucht. Um die Zinsen zu berechnen, muß für jede Kontobewegung das Datum und der Betrag notiert werden. Die Gutschrift/Abbuchung der Zinsen erfolgt bei den Sparkonten jährlich und bei den Girokonten quartalsweise. Ein Kunde kann jedes seiner Konten wieder auflösen. Bei der Auflösung des letzten Kontos hört er auf, Kunde zu sein.

Page 16: Objektorientierte Konzepte und Notation in UML Statische Konzepte: Assoziation Vererbung Paket

Übung

Ziel: Pakete bilden können

Von den folgenden Klassen gehört jede zu einem Paket. Gruppieren Sie die aufgeführten Klassen in Pakete. Wählen Sie für jedes Paket einen aussagefähigen Namen.

ArtikelAuftragspostenBestellartikelBestellpostenBestellung an LieferantenKundeKundenauftragLagerLagerartikelLagerplatzLagerverwalterLieferantLieferkondition