2. Strukturdiagramme

Größe: px
Ab Seite anzeigen:

Download "2. Strukturdiagramme"

Transkript

1 2. Strukturdiagramme 2.1 Das Klassendiagramm Prof. Mario Jeckle Fachhochschule Furtwangen Fachhochschule Furtwangen, Sommersemester 2004

2 Titel Strukturdiagramme Klassendiagramm Kompositionsstrukturdiagramm Paketdiagramm Komponentendiagramm Aufbaustrukturmodellierung Ausprägungsmodellierung Interaktionsstrukturmodellierung Zusammenhangsstrukturmodellierung Einsatzstrukturmodellierung Objektdiagramm M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 Verteilungsdiagramm 2

3 2.1 Das Klassendiagramm Was ist das? Das Klassendiagramm wurde aus dem Object Model der Object Modeling Technique (OMT) entwickelt und dient: Der Darstellung der Struktur eines Systems Dem Aufzeigen von statischen Eigenschaften und Beziehungen Der Sammlung grundlegender Modellierungskonstrukte Ist Antwort auf die Frage Wie sind Daten und Verhalten meines Systems strukturiert? M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

4 2.1 Das Klassendiagramm Elemente Das Klassendiagramm besteht aus Elementen: Klassen Schnittstellen Attributen Operationen Assoziationen mit Sonderformen Aggregation und Komposition Generalisierungsbeziehungen Abhängigkeitsbeziehungen M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

5 2.1 Das Klassendiagramm abstrakte Klasse Rolle Elemente im Überblick Klasse Aggregation unterhält Feier +termin : Datum Klassenname Komposition Zutat +name : String abbrechen() besucht * Partyteilnehmer /betrunken : Boolean = false ~intus : Cocktail [1..*] #begeistert : Begeisterung #überdenkebegeisterung() ~trinke(in c : Cocktail) Schnittstelle Generalisierung 0..* isst {ordered} «interface» Esser iss(in h : Häppchen; return satt:boolean) Häppchen mixt für 1 Cocktail Zutaten : Zutat [1..*] 1..* mixt Barmixer +mixe(in z : Zutat [1..*], out c:cocktail) feiere() Esser Gast Eigenschaftswert 1..* 1..* verabschiedet {unique} empfängt {unique} gerichtete Assoziation Attribut Gastgeber Esser treibt an hektisch : Boolean = true begrueße(in g : Gast) verabschiede (in g : Gast) treibean(in b : Barmixer) 1..1 Assoziation Multiplizität Operation «enumeration» Begeisterung ekstatisch verzückt neutral gelangweilt überdrüssig Stereotyp M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

6 2.1 Das Klassendiagramm Classifier Der Classifier ist zentraler Bestandteil des Klassendiagramms und anderer UML-Diagrammtypen: Zentraler Bestandteil der UML Abstraktion der Klasse Ist kein durch den Modellierer direkt nutzbares graphisches Konstrukt Kann einem anderen Classifier zugeordnet sein Ist die ordnende Instanz bei einer Reihe konkreter Ausprägungen Es existieren 27 Varianten M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

7 2.1 Das Klassendiagramm Classifier-Hierarchie Classifier DataType Signal Association Actor Class (from Kernel) Interface Information Item Behaviored Classifier Structured Classifier Primitive Type Enumeration Communication Path Association Class Behavior Artifact Class (from Communications) UseCase Collaboration Encapsulated Classifier Activity Interaction StateMachine Class (from StructuredClasses) ProtocolStateMachine Node Device ExecutionEnvironment M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

8 2.1 Das Klassendiagramm Anwendung Klassendiagramm Die Anwendung des Klassendiagramms im Projekt: Ist in allen Projektphasen möglich Das Klassendiagramm ist hier das wichtigste Diagramm Von ersten Analyseschritten bis zur Codierung von Softwaresystemen Das Klassendiagramm ist zwar ein vordefinierter Diagrammtyp, jedoch in seiner Anwendung in zwei Einsatzfälle einteilbar konzeptuell-analytisch logisch M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

9 2.1 Das Klassendiagramm Anwendung Konzeptuell analytische Modellierung: Ziel ist die korrekte Erfassung und Abbildung von vorgefundenen Zusammenhängen WICHTIG: grundlegende Wesenseinheiten und Zusammenhänge eines Systems UNWICHTIG: Technische Realisierungsdetails wie Attributdatentypen, technische Operationen, Schnittstellen M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

10 2.1 Das Klassendiagramm Anwendung Logische Modellierung: Ziel ist den Inhalt so zu erfassen, dass er alle Information für eine direkte Quellcode- Erstellung enthält, da konkrete Implementierungsvorschrift WICHTIG: Detailgenauigkeit (Voraussetzung der Quellcodeerzeugung) M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

11 2.1 Das Klassendiagramm Notation Im Klassendiagramm finden graphische Primitive Anwendung: Klassen Attribute Operationen Schnittstellen Parametrisierte Klassen Generalisierung Assoziationen Assoziationsklassen Kommentar Stereotype Eigenschaftswerte M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

12 Titel Klassendiagramm: Begriffe Klasse: beschreibt eine Menge von Instanzen die dieselben Eigenschaften, Einschränkungen und Semantik haben Objekt: Ausprägung ein oder mehrerer Klassen Attribut: Eigenschaften einer Klasse, die Charakteristika wie Auftretenshäufigkeit, Datentyp etc. beschreiben Wert: UML-Ausprägung als Wert eines Attributs oder Objektes Operation: Verhaltensmerkmal eines Classifiers, das Name, Typ, Parameter und Zusicherung für den Aufruf eines Verhaltens spezifiziert. Ähnlich einer Signatur in einer Programmiersprache M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

13 Titel Klassendiagramm: Begriffe Methode: Implementierung einer Operation Assoziation: beschreibt eine Menge von Tupeln von getypte Instanzen Link: Ausprägung einer Assoziation Sichtbarkeit: definiert, welche anderen Systemkomponenten den Wert eines Attributs lesen und schreiben bzw. eine Methode ausführen dürfen Assoziationsklasse: vereinigt Eigenschaften einer Klasse und einer Assoziation Multiplizität: Definition eines Intervalls der erlaubten Kardinalitäten eines Elements M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

14 2.1 Das Klassendiagramm Klassen Klassenname in Rechteck fett und mittig dargestellt Klassenname Zentrales Element Beschreibt Menge von Objekten mit gemeinsamen Werten Sichtbare Darstellung von Attributen und/oder Operationen Klassenname attribut operation () M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

15 2.1 Das Klassendiagramm Klassen Die Schachtelung von Klassen ist beliebig möglich Eingebettete Klasse: hat keine Außenbeziehung Party Buffet hier: Gabel nur Beziehung zu Buffet Gabel M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

16 2.1 Das Klassendiagramm Klassen Anzahl und Inhalt der Rechteckelemente NICHT beschränkt Operationen und Attribute können gruppiert und in eigenen Darstellungselementen untergebracht werden Partygast Partyteilnehmer trinken() zuprosten() verschütten() aufwischen() essen() insoßedippen() kauen() schlucken() M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester 2004 name : String geburtsdatum : Date «Datenbank» database : String «Name» getname() : String setname(newname : String) «Geburtsdatum» getgeburtsdatum() : Date setgeburtsdatum(newgebdat : Date) «Persistenzoperationen» exporttoxml(filename : String) importfromxml(filename : String) writetodatabase() readfromdatabase() 16

17 2.1 Das Klassendiagramm Attribut Notationsmöglichkeiten: implizit Party Das Attribut linksbündig in Rechteckselement Termin explizit Party Termin Das Attribut als eigenständige assoziierte Klasse M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

18 2.1 Das Klassendiagramm Attribut Das Attribut wird durch einen klassenweit eineindeutigen Namen spezifiziert! Allgemeine Syntax der Attributdeklaration: Klasse Sichtbarkeit / name : Typ [Multiplizität] = Vorgabewert {Eigenschaft=Wert} M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

19 Titel Attribut Jedes Attribut kann vorgabegemäß genau einen Wert aufnehmen Unterstützung fehlender Werte (Verwaltung von NULL-Werten) muss durch Multiplizität [0..] gefordert werden Für jedes Attribut wird Speicherplatz in der Klassenausprägung (d.h. im Objekt) vorgesehen. Ausnahmen hiervon sind statische Attribute, deren Wertbelegung in der Klasse selbst abgelegt wird. M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

20 2.1 Das Klassendiagramm Attribut Bedeutung der Komponenten: / = abgeleitetes Attribut. Muss nicht gespeichert werden, da es zur Laufzeit aus anderen Daten berechnet werden kann Name = Attributname, frei wählbar aus Zeichensatz Typ = Datentyp des Attributs Multiplizität = legt Unter- und Obergrenze der Anzahl der Ausprägungen fest, die unter einem Attributnamen abgelegt werden können M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

21 2.1 Das Klassendiagramm Attribut Zugelassene Attributspezifikationen sind: Attributdeklaration public zähler : int /alter private adressen: String [1 *] protected bruder: Person Umlaut erlaubt Anmerkung Datentyp nicht zwingend Menge von Strings Datentyp kann andere Klasse, Schnittstelle oder selbstdefinierter Typ sein M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

22 2.1 Das Klassendiagramm Attribut Nicht zugelassene Attributspezifikationen sind: Attributdeklaration Fehlerursache String private, public name: String public / int private dateiname: String= temp lock=exclusive Attributname fehlt Mehr als eine Sichtbarkeitsdefinition Attributname fehlt Eigenschaftswert nicht in {} public int zähler M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Name und Typ vertauscht 22

23 2.1 Das Klassendiagramm Attribut Die UML sieht symbolische Schreibweisen für die Sichtbarkeit von Attributen und Operationen vor: public Jede andere Systemkomponente hat uneingeschränkten Zugriff private Nur Ausprägungen der das Attribut oder die Operation beherbergenden Klasse dürfen zugreifen protected Das Attribut, die Operation, ist nur in der definierenden und denjenigen Klassen sicht- und zugreifbar, die als Spezialisierungen von ihr definiert sind package Das Attribut, die Operation, ist für alle Klassen zugreifbar, die sich im selben Paket finden, wie die definierende Klasse M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

24 2.1 Das Klassendiagramm Attribut Die UML sieht symbolische Schreibweisen für die Sichtbarkeit von Attributen und Operationen vor: + public - private # protected ~ package Sichtbarkeitseinschränkungen können auch werkzeugspezifisch (d.h. unabhängig vom Standard) durch Symbole dargestellt werden: M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

25 Titel Attribut Umsetzungsbeispiele AttMix M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 att1 : int att6 : KlasseB [0..1] {composite} att7 : String [0..*] {ordered} / att8 public: att2 : int pi : double = private: att3 : boolean protected: att4 : short package: att5 : String = "Test" {readonly} 25

26 Titel Attribut Umsetzung in C++ AttMix att1 : int att6 : KlasseB [0..1] {composite} att7 : String [0..*] {sequence} / att8 public: att2 : int pi : double = private: att3 : boolean protected: att4 : short package: att5 : String = "Test" {readonly} M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 class class AttMix { int int att1; att1; KlasseB *att6; vector<string> att7; att7; public: int int att2; att2; static double pi; pi; static const const string att5; att5; private: bool bool att3; att3; protected: short short att4; att4; }; }; const const string AttMix::att5( Test ); double AttMix::pi=3.1415; 26

27 Titel Attribut Umsetzung in Java AttMix att1 : int att6 : KlasseB [0..1] {composite} att7 : String [0..*] {sequence} / att8 public: att2 : int pi : double = private: att3 : boolean protected: att4 : short package: att5 : String = "Test" {readonly} class class AttMix { int int att1; att1; public int int att2; att2; public static double pi=3.1415; private boolean att3; att3; protected short short att4; att4; final final String att5 att5 = "Test"; KlasseB att6; att6; java.util.vector<string> att7; att7; M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 Object getatt8() { //Berechne Wert Wert für für att8 att8 return wert; wert; } } 27

28 Titel Attribut Umsetzung in C# AttMix att1 : int att6 : KlasseB [0..1] {composite} att7 : String [0..*] {sequence} / att8 public: att2 : int pi : double = private: att3 : boolean protected: att4 : short package: att5 : String = "Test" {readonly} using using System; System; using using System.Collections.Specialized; System.Collections.Specialized; class class AttMix AttMix { { int int att1; att1; public public int int att2; att2; public public static static double double pi=3.1415; pi=3.1415; private private bool bool att3; att3; protected protected short short att4; att4; internal internal const const string string att5 att5 = = "Test"; "Test"; KlasseB KlasseB att6; att6; System.Collections.Specialized.StringCollection System.Collections.Specialized.StringCollection att7; att7; Object Object att8 att8 { { //Berechne //Berechne Wert Wert für für att8 att8 get{return get{return wert;} wert;} } } } } M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

29 2.1 Das Klassendiagramm Operation Operationen einer Klasse werden mindestens durch Namen und wahlfreie weitere Angaben dargestellt: Klasse Abstrakte Attributspezifikation Abstrakte Attributspezifikation: [Sichtbarkeit] Name (Parameterliste) : Rückgabetyp [{Eigenschaftswert}] Parameterliste: [Übergaberichtung] Name : Typ [ [ Multiplizität ] ] [= Vorgabewert] [ { Eigenschaftswert } ] M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

30 2.1 Das Klassendiagramm Operation Bedeutung der Komponenten: Sichtbarkeit = Regelt Sicht- und Zugreifbarkeit auf Methoden Name = Klassenweit eindeutige Benennung der Operation Parameter = Aufzählung verarbeiteter Parameter (Hierunter fallen: Übergabe und Rückgabeparameter) M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

31 2.1 Das Klassendiagramm Operation Übergaberichtung Name Typ Multiplizität Rückgabetyp Eigenschaftswert M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Parameter wird ausgelesen, schreibend verwendet oder gelesen, verarbeitet und neu geschrieben Operationsweit eindeutig Datentyp des Parameters Wie viele Inhalte umfasst der Parameter Datentyp oder Klasse, der nach Operationsausführung zurück geliefert wird Besondere Charakteristika des Attributs 31

32 Titel Operation Umsetzungsbeispiele M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

33 Titel Operation Umsetzung in C++ M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 class class OpMix OpMix { KlasseB KlasseB op4(vector<string> param3) param3) { //Implementierung return return wert; wert; } public: public: static static void void op1() op1() { //Implementierung } private: private: int int op2(const op2(const int int param1=5) param1=5) const const { //Implementierung return return wert; wert; } protected: protected: void void op3(klassec* op3(klassec* param2) param2) { //Implementierung } }; }; 33

34 Titel Operation Umsetzung in Java M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 public public class class OpMix OpMix { public public static static void void op1() op1() { //Implementierung } private private int int op2(final op2(final int int param1) param1) { //Implementierung return return wert; wert; } protected protected void void op3(klassec op3(klassec param3) param3) { //Implementierung } KlasseB KlasseB op4(string op4(string param3[]) param3[]) { //Implementierung return return wert; wert; } } 34

35 Titel Operation Umsetzung in C# class class OpMix OpMix { public public static static void void op1() op1() { //Implementierung } private private int int op21(int op21(int param1) param1) { //Implementierung return return wert; wert; } private private int int op22(params op22(params object[] object[] list) list) { //Implementierung return return wert; wert; } protected protected void void op3(ref op3(ref ClassC ClassC param3) param3) { //Implementierung } internal internal int int op4(out op4(out StringCollection param3) param3) { //Implementierung return return wert; wert; } } M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

36 2.1 Das Klassendiagramm Stereotypen Kennzeichnung von benutzerspezifischer Terminologie oder Notation Klasse innerhalb des Metamodells, die andere Klassen durch Erweiterung näher spezifizieren kann Beispiele für UML-Standard-Stereotypen: auxiliary Klasse implementiert sekundäre Logik oder sekundären Kontrollfluss call besitzt Operationen oder Klassen mit Operationen auf die sich Assoziation bezieht derive Modellelemente werden voneinander abgeleitet und sind vom selben Typ M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

37 2.1 Das Klassendiagramm Schnittstelle Darstellung durch das Klassensymbol mit Zusatz «interface» Schnittstelle kann weitere Schnittstellen beinhalten spezialisieren generalisieren NICHT möglich: Implementationsbeziehung zwischen zwei Schnittstellen M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

38 2.1 Das Klassendiagramm Schnittstelle «interface» Schnittstellenname attribut operation() Klasse1 Klasse1 «interface» Schnittstellenname Schnittstellenname Klasse2 Klasse2 «use» «interface» Schnittstellenname Schnittstellenname Klasse1 Klasse2 Schnittstellenname M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

39 2.1 Das Klassendiagramm Schnittstelle Die Schnittstelle wird nicht instanziiert, sondern durch Classifier realisiert: Zeichnet Classifier mit Operationen öffentlichen Merkmalen Verpflichtungen aus Hierbei ist der Classifier konform zur Schnittstelle Classifier setzt Operationen in Methoden um Eine Schnittstelle kann von mehreren Classifiern umgesetzt werden Ein Classifier kann mehrere Schnittstellen umsetzen M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

40 Titel Schnittstelle Umsetzungsbeispiel «interface» Sortierbar Menge Liste Sortierbar M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

41 Titel Schnittstelle Umsetzung in C++ «interface» Sortierbar Menge Sortierbar class Liste class SortierteListe { int int sortierreihenfolge; public: virtual void void einfuegen(eintrag e)=0; e)=0; virtual void void loeschen(eintrag e)=0; e)=0; }; }; class class Datenbank : public SortierteListe { public: virtual void void einfuegen(eintrag e) e) { //... //... } virtual void void loeschen(eintrag e) e) { //... //... } }; }; M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

42 Titel Schnittstelle Umsetzung in Java «interface» Sortierbar Menge Sortierbar Liste interface SortierteListe { int int sortierreihenfolge=0; public void void einfügen(eintrag e); e); public void void löschen(eintrag e); e); } class class Datenbank implements SortierteListe { public void void einfügen(eintrag e) e) { //... //... } public void void löschen(eintrag e) e) { //... //... } } M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

43 Titel Schnittstelle Umsetzung in C# «interface» Sortierbar Menge Liste Sortierbar M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 interface SortierteListe { void void einfuegen(eintrag e); e); void void loeschen(eintrag e); e); } class class Datenbank : SortierteListe { public void void einfuegen(eintrag e) e) {} {} public void void loeschen(eintrag e) e) {} {} } 43

44 2.1 Das Klassendiagramm Parametrisierte Klasse Darstellung durch übliches Klassensymbol mit zusätzlicher Rechtecksbox mit Schablonenparameter der Klasse: Parametrisierte Klasse Parameterverwendung Liste eintrag : T [0..k] T, k : int Parameter Parameterbindung Klasse mit gebundenem Parameter «bind» <T->Gast, k->20> Gästebuch «bind» <T->Adresse, k->100> Telefonbuch M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

45 2.1 Das Klassendiagramm Parametrisierte Klasse Verwendung: Belegung der Schablonen-Parameter mit konkreten Werten (Schablone (ein Muster, engl. Template) der Funktion, aus der beliebig viele strukturell identische Implementierungen erzeugen werden können.) Vorsehen von Spezifikationslücken zur Auffüllung durch Bindungsprozess Wenn Attribut- oder Operationstyp bis zur Laufzeit offen gehalten werden sollen Allgemeine Fassung parametrisierter Strukturen, um Verwendung für viele verschiedene Inhaltstypen zu gewährleisten M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

46 Titel Parametrisierte Klasse Umsetzung in C++ Liste T, k : int eintrag : T [0..k] «bind» <T->Gast, k->20> Gästebuch «bind» <T->Adresse, k->100> Telefonbuch template <class T, T, int int k> k> class class Liste Liste { T elements[k]; }; }; Liste<Gast,20> Gaestebuch; Liste<Adresse,100> Telefonbuch; M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

47 Titel Parametrisierte Klasse Umsetzung in Java Liste T, k : int eintrag : T [0..k] «bind» <T->Gast, k->20> Gästebuch «bind» <T->Adresse, k->100> Telefonbuch class class Liste<T> { Vector<T> elements; public Liste(int k) k) { elements = new new Vector<T>(k); } } Liste<Gast> Gästebuch=new Liste<Gast>(20); Liste<Adresse> Telefonbuch Liste<Adresse>(100); M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

48 Titel Parametrisierte Klasse Umsetzung in C# Liste T, k : int eintrag : T [0..k] «bind» <T->Gast, k->20> Gästebuch «bind» <T->Adresse, k->100> Telefonbuch class class Liste<T> { T[] T[] eintrag; public Liste(int k) k) { eintrag = new new T[k]; T[k]; } } Liste<Gast> Gästebuch=new Liste<Gast>(20); Liste<Adresse> Telefonbuch=new Liste<Adresse>(100); M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

49 2.1 Das Klassendiagramm Generalisierung Darstellung durch gerichtete Kante mit leerer Spitze am Pfeilende Semantik ist unabhängig von konkreter Implementierungssprache definiert, berücksichtigt jedoch zentrale Gesichtspunkte Vererbung Substitution T S M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

50 2.1 Das Klassendiagramm Generalisierung Diamantförmige Generalisierung Syntaktisch möglich In verschiedenen Programmersprachen problematisch In einigen Programmiersprachen nicht umsetzbar Person Partyteilnehmer Partyveranstalter Gastgeber M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

51 2.1 Das Klassendiagramm Generalisierung Kovariante Vererbung Kontravariante Substitution Generalisierung Gast -promillespiegel: double {<2.3} Autofahrer +promillespiegel: float {<0.3} M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

52 Titel Generalisierung 1988: Liskovsches Substitutionsprinzip (Liskov Substitution Principle, LSP) [ ] substitution property: If for each object o 1 of type S there is an object of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o 1 is substituted for o 2 then S is a subtype of T. T M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester 2004 S 52

53 Titel Generalisierung LSP bedeutet verdeutlicht des Zusammenhang zwischen Vererbung und Substitution: Forderung an alle Unterklassen (S) einer Klasse(T) dieselbe Semantik für eine Schnittstelle anzubieten Sicherstellung, dass sich Programm bei Verwendung einer Schnittstelle gleich verhält, egal ob Instanz einer Klasse oder der Unterklasse verwendet wird Besonders wichtig bei Redefinition von Methoden M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

54 2.1 Das Klassendiagramm Generalisierung Generalisierungsbeziehung zwischen Classifiern: ist möglich an allen Classifiern nicht auf Klassen beschränkt auch Partition genannt M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

55 2.1 Das Klassendiagramm Separat genutzte Generalisierung Generalisierung Partyteilnehmer /betrunken : Boolean = false ~intus : Cocktail [1..*] #begeistert : Begeisterung #überdenkebegeisterung() ~trinke(in c : Cocktail) Superklasse +budget : Euro Partyveranstalter +begleicherechnung(betrag : Euro) Generalisierung Sub- und Superklasse Generalisierungsmenge Generalisierungseigenschaften feiere() Gast Teilnehmerstatus {complete, disjoint} begrüßt Gemeinsam genutzte Generalisierung Gastgeber hektisch : Boolean = true begrüße(in g : Gast) verabschiede (in g : Gast) treibean(in b : Barmixer) Partition Partyneuling Stammgast +vorstellen(g : Gast) +selbstbedienungamkühlschrank(c : Cocktail) M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

56 2.1 Das Klassendiagramm Generalisierung Generalisierungseigenschaften: in UML durch vier Schlüsselworte dargestellt complete Vereinigung aller Partitionen enthält alle sinnvollen Spezialisierungen eines Typs incomplete notierte Subtypen beinhalten nicht alle sinnvollen Spezialisierungen eines Supertypen disjoint Subtypen können nicht die selbe Instanz enthalten overlapping Subtypen können selbe Instanz enthalten M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

57 2.1 Das Klassendiagramm Generalisierung Nutzen der Generalisierung: Codeabstraktion Wiederverwendung Hierarchische Strukturierung des Entwurfs Einsatz bei Implementierungsvererbung und Substituierbarkeit Vermeidung von Coderedundanz M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

58 2.1 Das Klassendiagramm Assoziation Assoziation = Menge semantisch gleichartiger Beziehungen zwischen Classifiern Assoziationsname Assoziation 1 Einschränkung binäre Assoziation Assoziation 1 {...} Klasse 1 nicht navigierbares Assoziationsende Navigationsrichtung Klasse 2 Komposition unspezifizierte Navigationsrichtung Rolle 1..* Aggregation Rolle {Eigenschaft} 1..* Klasse 3 Rolle 1..* Assoziation 2 M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Eigenschaft n-äre Assoziation (ternäre Assoziation) Multiplizität 58

59 2.1 Das Klassendiagramm Assoziation Ausprägung einer Assoziation ist eine Beziehungsinstanz (Link) Verschiedene Ausprägungen: Binäre / zweiwertige Assoziation: hat zwei Enden n-äre / höherwertige Assoziation: mehr als zwei Enden Zirkulär-reflexive Assoziation: kehrt Ausgangsclassifier zurück Abgeleitete Assoziation: gekennzeichnet durch / und kann aus anderen Zusammenhängen abgeleitet werden M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

60 2.1 Das Klassendiagramm Assoziation Qualifizierte Assoziation: Herabsetzen der Multiplizität Aufteilung der Assoziationsmenge Vollständig Überlappungsfrei Jedes referenzierte Objekt ist nur genau einer Partition zugeordnet Kein Objekt wird bei Zuordnung übergangen ABER: Kann nur für binäre Assoziationen verwendet werden Sollte als navigierbar spezifiziert sein M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

61 Titel Assoziation Person Name Lieblingscocktail 1 Gast Getränkekonsum 1..* Cocktail Alkoholgehalt Diätgeeignet modifiziert Person Name Lieblingscocktail 1 Gast Getränkekonsum übernommen 1 Name Cocktail Alkoholgehalt Diätgeeignet Die beiden Diagramme sind nicht äquivalent M. Jeckle: Titel. Fachhochschule Furtwangen, Sommersemester

62 2.1 Das Klassendiagramm Assoziationsklasse Stellt Abhängigkeitsbeziehung dar Klasse1 1..* Assoziationsname 1..* Klasse2 Assoziationsname attribut: Typ operation() M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

63 2.1 Das Klassendiagramm Kommentar Kommentar annotiert eine Klasse und wird mit Eselsohr gekennzeichnet: Klasse1 «Abhängigkeitsname» Klasse2 Klasse3 Klasse5 Klasse4 Klasse6 Kommentar zur Abhängigkeitsbeziehung M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

64 2.1 Das Klassendiagramm Eigenschaftswerte Spezifizieren Charakteristika der Elemente Werden durch {} gekennzeichnet und durch Kommata getrennt abstract Classifier ist nicht instanziierbar derived Ein Element ist von einem anderen abgeleitet ordered Eine Menge von Elementen ist geordnet M. Jeckle: 2.1 Das Klassendiagramm. Fachhochschule Furtwangen, Sommersemester

65 2. Strukturdiagramme 2.2 Das Paketdiagramm 2.3 Das Objektdiagramm 2.4 Das Kompositionsstrukturdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen Fachhochschule Furtwangen, Sommersemester 2004

66 2.2 Das Paketdiagramm 2.2 Das Paketdiagramm M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

67 2.2 Das Paketdiagramm Das Paketdiagramm Dient Strukturierung des Systems Beschreibung von Abstraktionen Gliederung von Klassendiagrammen Antwort auf Frage: Wie kann ich Modell so darstellen, dass ich den Überblick bewahre? M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

68 2.2 Das Paketdiagramm Das Paketdiagramm Bietet Lösungen für die Probleme: Dass große Systeme mit n Klassen zu unübersichtlich sind Durch Abstraktionen ist Gesamtsicht auf System möglich Sicht auf einzelne detaillierte Teile auch möglich M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

69 2.2 Das Paketdiagramm Funktion Das Paketdiagramm Bündelt zusammenhängende Classifier in ein Paket vereinfachte, abstrakte Sicht auf System Mehrere Abstraktionsebenen sind möglich hierarchische Paketschachtelung 1 Paket kann aus anderen, detaillierteren Paketen bestehen Vorteil: Wiederverwendbarkeit von Paketen M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

70 2.2 Das Paketdiagramm Metamodell Use-Cases «merge» «merge» Allgemeines Verhalten «merge» Klassen «merge» «merge» Aktivitäten «merge» Interaktionen «merge» «merge» Kompositionsstrukturen Zustandsautomat «merge» Komponenten «merge» Verteilung M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

71 2.2 Das Paketdiagramm Notationselemente Das Paketdiagramm hat folgende Notationselemente: Paket Paket-Import Paket-Merge M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

72 2.2 Das Paketdiagramm Paket Darstellung durch Rechteck mit Bezeichner in Rechteck links oben In Rechteck Eintragung der Elemente mit Sichtbarkeit Paketname P1 +Classifier1 -Classifier2 + M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester A -B 8

73 2.2 Das Paketdiagramm Paket Funktion: Paket vereinigt mehrere Classifier Jeder Classifier kann nur in einem oder keinem Paket enthalten sein Innerhalb des Pakets stehen sich die Classifier gegenseitig zur Verfügung Zwischen Paketen kann über Sichtbarkeit die Verfügung geregelt werden M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

74 2.2 Das Paketdiagramm Namensraum des Pakets Das Paket definiert einen Namensraum dem alle enthaltenen Elemente angehören: a: qualifizierter Namensraum Elementname mit Paketname b: unqualifizierter Namensraum Nur Elementname M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

75 2.2 Das Paketdiagramm Paket-Import Darstellung durch gestrichelten Pfeil Stereotyp über Pfeil macht diesen als Import-Pfeil kenntlich: import= public Paket-Import access= private Paket-Import «import» «access» M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

76 2.2 Das Paketdiagramm Paket-Import Funktion: Zeigt den Zugriff eines Quellpakets (=importierter Namensraum) auf ein Zielpaket Vorteil: Beim Löschen des Pakets werden zwar die Paketelemente mitgelöscht, die referenzierten Mitglieder bleiben jedoch erhalten M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

77 2.2 Das Paketdiagramm Paket-Import P1 P2 A B P3 «access» «import» P4 «import» M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

78 2.2 Das Paketdiagramm Paket-Merge Darstellung durch gestrichelten Pfeil mit Stereotyp merge Erweiterung des Paket-Import, da nicht vorhandene Classifier genutzt, sondern neue spezialisierte Classifier gebildet werden «merge» M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

79 2.2 Das Paketdiagramm Paket-Merge Funktion: a: wird ein Classifier eines Pakets 2 von einem Paket 1 referenziert, wobei der Classifier in B noch nicht existiert, wird dieser in B implizit definiert P2 P1 P1 «merge» A P2::A A M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

80 2.2 Das Paketdiagramm Paket-Import Funktion: b: enthalten zwei Pakete die gleichen Classifier, wird durch merge nur die Generalisierungsbeziehung zwischen den Classifiern eingefügt P2 P1 P1 «merge» A P2::A A A M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

81 2.2 Das Paketdiagramm Paket-Import Funktion: c: Referenzieren der beiden Pakete mit dem Inhalt der gleichen Classifier P2 P3 A A P1 P2::A P3::A «merge» «merge» P1 M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 A 17

82 2.2 Das Paketdiagramm Paket-Import Funktion: d: Spezialisierung einer Generalisierungshierarchie P2 P3 P1 A A P2::A P3::A B A P2::B «merge» «merge» P1 B M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

83 2.2 Das Paketdiagramm Funktion: Paket-Import e: Hierarchische Darstellung der merge- Vorgänge geschieht bottom- up P2 P3 A A P5 B P2::A P3::A «merge» «merge» A P2::B P4::B P4::C P1 P4 B C B C «merge» P5 «merge» M. Jeckle: 2.2 Das Paketdiagramm. Fachhochschule Furtwangen, Sommersemester

84 2.3 Das Objektdiagramm 2.3 Das Objektdiagramm M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

85 2.3 Das Objektdiagramm Das Objektdiagramm Dient Modellierung von Ausprägungen von Klassen, Assoziationen und Attributen Darstellung einer konkreten Systemkonfiguration anhand tatsächlich existierender Elementausprägungen des Klassendiagramms Antwort auf Frage: Wie sieht eine Momentaufnahme des Systems zur Laufzeit aus? M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

86 2.3 Das Objektdiagramm Das Objektdiagramm Ausprägungen der UML Objekt als Ausprägung einer Klasse Link als Ausprägung einer Assoziation Wert eines Attributs oder Objekts M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

87 2.3 Das Objektdiagramm Das Objektdiagramm Somit sind die Elemente der Objektdiagramms Objekt Link Wert Objektname Datentyp Link Classifiername isst käsebrot : Häppchen : Gastgeber name : String = Michaela Objekt Attributname Wert M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

88 2.3 Das Objektdiagramm Notationselemente Notationselemente des Objektdiagramms sind Objekt Link Wert Abhängigkeiten M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

89 2.3 Das Objektdiagramm Objekt Darstellung durch Classifiersymbol mit Bezeichnung des optionalen Objektnamens mit : und Classifiernamen Objekt ist Ausprägung ein oder mehrerer Classifier Falls Ausprägung mehrerer Klassen werdne diese hintereinander durch Kommata abgetrennt aufgeführt zitrone : Zutat : Zutat M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

90 2.3 Das Objektdiagramm Link Darstellung durch einen Verbindungsstrich zwischen Objekten Link kann Rolle oder Namen haben- Beispiel hier enthält Rolle Verfeinern zitrone : Zutat verfeinert tequilasunrise : Cocktail M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

91 2.3 Das Objektdiagramm Link Eine Assoziation kann n Links enthalten» Link muss Assoziation strukturell entsprechen» n-äre Assoziation bedeutet auch n-ären Link Multiplizität eines Links ist immer eins Ein Objekt kann so viele Links haben, wie die Multiplizität der Assoziation des Links zulässt M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

92 2.3 Das Objektdiagramm Wert Darstellung a:durch Gleichheitszeichen nach dem Namen oder b:ohne Gleichheitszeichen unter dem Namen Wert muss konform zu Typ und Multiplizität sein a: cocktailzutat : Zutat name : String = Zitrone b: Zutatenname : String Zitrone M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

93 2.3 Das Objektdiagramm Abhängigkeiten Darstellung des Zusammenspiels von Klassenschittstellen Kennzeichnung durch Stereotype instanceof: Objekt mit Typ(en) Instantiate: Typverbindung mit instanziiertem Objekt M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

94 2.3 Das Objektdiagramm Abhängigkeiten «metaclass» Class «interface» Trinkbar trinken() «instanceof» «instanceof» Zutat name : String «instantiate» cocktailzutat : Zutat name : String = Zitrone M. Jeckle: 2.3 Das Objektdiagramm. Fachhochschule Furtwangen, Sommersemester

95 2.4 Das Kompositionsstrukturdiagramm 2.4 Das Kompositionsstrukturdiagramm M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

96 2.4 Das Kompositionsstrukturdiagramm 2.4 Das Kompositionsstrukturdiagramm Dient Beschreibung interne Struktur des Classifiers Beschreibung der Interaktionsbeziehungen zu anderen Systembestandteilen Antwort auf Frage: Wie sind einzelne Architekturkomponenten strukturiert und wie interagieren sie? M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

97 2.4 Das Kompositionsstrukturdiagramm Rolle Überblick und Elemente Kollaborationstyp Kollaborationstyp1 Rolle Rolle1 : Typ1 Rolle2 Schnittstelle Part Typ 1 Port Part bereitgestellteschnittstelle : Part1 : Part2 benötigteschnittstelle Konnektor M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Schnittstelle 33

98 2.4 Das Kompositionsstrukturdiagramm Notationselemente Das Kompositionsstrukturdiagramm hat folgende Notationselemente Part Port Kollaborationstyp Kollaboration M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

99 2.4 Das Kompositionsstrukturdiagramm Part Darstellung durch Classifiersymbol im entsprechenden Classsifier Reine Namensdarstellung Um Typinformation erweiterbar Klasse Klasse partname : PartTyp [3] partname : PartTyp 3 M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

100 2.4 Das Kompositionsstrukturdiagramm Part Ist Modellelement zur Darstellung von Ausprägungen einer Classifierausprägung Ausprägungen können nur mit Classifierausprägung erzeugt werden Verwendbar in Klassendiagramm Objektdiagramm Komponentendiagramm Verteilungsdiagramm Paketdiagramm M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

101 2.4 Das Kompositionsstrukturdiagramm Port Darstellung durch Quadrat auf Umrandung des Classifiers Wenn Quadrat in Classifier ist der Port nicht öffentlich zugänglich bereitgestellteschnittstelle partybeschallung Klasse Stereoanlage benötigteschnittstelle strom, medium M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

102 2.4 Das Kompositionsstrukturdiagramm Funktion: Port Spezifiziert Kommunikationsschnittstellen des Classifiers mit Umgebung oder Parts Leitet Anfragen von Parts an Dienste des Classifiers Kann nur mit Classifier erzeugt und zerstört werden Wird Ausprägung von Classifier erzeugt werden auch Ausprägungen des Ports erzeugt: Interaktionspunkte Interaktionspunkte durch Kommunikationskanäle mit Classifierausprägung verbunden M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

103 2.4 Das Kompositionsstrukturdiagramm Port Darstellung: Signale an Port werden von Classifier und nicht von Parts verarbeitet: Portsymbol mit Zustandssymbol innerhalb des Classifiers Stereoanlage partybeschallung strom, medium M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

104 2.4 Das Kompositionsstrukturdiagramm Darstellung: Port Port wird über Konnektor mit einem Port oder direkt mit Classifier verbunden Musikerzeugung Musikerzeugung : Stereoanlage kabel : Steckdose : Steckdose transformator : Hamsterrad M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

105 2.4 Das Kompositionsstrukturdiagramm Kollaborationstyp Darstellung durch Ellipse mit gestrichelter Linie, die durch weitere gestrichelte Linie in zwei Teile getrennt wird: Oberer Abschnitt: Name des Kollaborationstyps mittig und fett Unterer Abschnitt: Modellelemente, darstellbar mit Rollen und Konnektoren Abstammung vorfahr nachkomme M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

106 2.4 Das Kompositionsstrukturdiagramm Kollaborationstyp Alternative Darstellung: Modellelemente werden als einzelne Klassen dargestellt An Konnektoren stehen Namen der Rollen, die die Classifierausprägung übernimmt Fenster FensterImp zeichnetext() zeichnerechteck() Abstraktion Implementierer geraetzeichnetext() geraetzeichnelinie() Brücke M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

107 2.4 Das Kompositionsstrukturdiagramm Kollaborationstyp Funktion: Ist abstraktes Modellelement zur Darstellung der Sicht auf interagierende Elemente Enthält nur Information, die zur Zielerfüllung notwendig Ist Classifier und kann somit generalisiert werden Ist durch Kollaboration mit Classifier oder Operation verbunden und beschreibt deren Realisierung M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

108 2.4 Das Kompositionsstrukturdiagramm Kollaboration Darstellung durch Ellipse mit unterbrochener Linienführung Enthält den fettgedruckten Namen der Kollaboration, zusätzlich Doppelpunkt gefolgt von Kollaborationstyp Wird durch unterbrochene Linie mit Classifier verbunden Kollaborationstyp2 rolle2 kollaboration1 : Kollaborationstyp1 rolle1 x y rolle1 kollaboration2 : Kollaborationstyp1 rolle2 M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 z 44

109 2.4 Das Kompositionsstrukturdiagramm Funktion: Kollaboration Bindeglied zwischen Kollaborationstyp und Classifier oder Objekt Darstellung von Anwendungen eines Kollaborationstyps in spezifischer Situation Zeigt an, wie Rollen und Konnektoren in Classifier nach Regel von Kollaborationstyp interagieren Rolle oder Konnektor darf in mehreren Kollaborationen desselben oder verschiedener Kollaborationstypen vorkommen M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester

110 2.4 Das Kompositionsstrukturdiagramm Dokumentation von Mustern: Kollaboration Abstammung vorfahr nachkomme Dokumentation von Musterverwendungen: Verwandtschaft nachkomme vater vorfahr mutterschaft : Abstammung vaterschaft : Abstammung vorfahr nachkomme großmutter M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 sohn 46

111 2.4 Das Kompositionsstrukturdiagramm Dokumentation von Mustern: Kollaboration Abstammung vorfahr nachkomme Dokumentation von Musterverwendungen: «occurrence» Abstammung vorfahr Verwandtschaft vater sohn M. Jeckle: 2.4 Das Kompositionsstrukturdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 nachkomme 47

112 UML2 Glossar Begriffe Namensraum: Wird von Paket definiert um Zugehörigkeit aller dem Paket angehörenden Elemente darzustellen Rolle: Repräsentiert Klassen oder Objekte in Assoziationen Interaktionspunkt:Ausprägungen eines Ports, die bei Erzeugung von Ausprägungen eines Classifiers entstehen M. Jeckle: UML2 Glossar. Fachhochschule Furtwangen, Sommersemester

113 2.Strukturdiagramme 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen Fachhochschule Furtwangen, Sommersemester 2004

114 2.Strukturdiagramme Das Komponentendiagramm Dient Darstellung der Systemstruktur in Komponenten zur Laufzeit Ausführungsorientierter Sichtweise Antwort auf Frage: Wie ist die Struktur des Systems und wie werden diese Strukturen erzeugt? M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

115 2.Strukturdiagramme Das Komponentendiagramm Verhalten der Komponenten Abgegrenzt Über Schnittstelle zugreifbar Komponenten können -- bei Verwendung der selben Schnittstellen -- ohne Systemänderungen ausgetauscht werden M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

116 2.Strukturdiagramme Komponentendiagramm Komplexer Port Implementierte Schnittstelle «component» Komponente «component» Komponente2 Komponente1 Bestandteil3 1..* Klasse Bestandteile einer Komponente Kompositionskonnektor Bestandteil4 «artifact» Allgemeine Abhängigkeitsbeziehung Realisierungsbeziehung Artefakt1 Bestandteil1 Komponente Bestandteil2 «specification» specdoc Verwendungsbeziehung «use» «subsystem» Komponente3 «component» Komponente4 Konnektor «artifact» «manifest» Komponente6 Implementierungsbeziehung Konnektor Teilsystem Benötigte Schnittstelle Port Delegationskonnektor M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

117 2.Strukturdiagramme Elemente des Komponentendiagramms Das Komponentendiagramm besteht aus folgenden Elementen: Komponente Schnittstelle Realisierungs-, Implementierungs-, Verwendungsbeziehung Klasse Artefakt Port M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

118 2.Strukturdiagramme Notationselemente Die Notationselemente des Komponentendiagramms lauten: Komponente Artefakt Abhängigkeiten M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

119 2.Strukturdiagramme Komponente Darstellung durch Klassensymbol und Stereotyp component Untereinheiten in großen Systemen können auch durch das Stereotyp subsystem gekennzeichnet sein «component» Komponente «component» Komponente «subsystem» Subsystem M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

120 2.Strukturdiagramme Komponente...ist modularer Systemteil mit transparenter Kapselung seines Inhalts...besteht aus Elementen mit klar definierter Funktionalität... kann eine eigenständige Anwendung sein... läßt sich nur über Schnittstellen beschreiben... wird zusammen mit Subsystemen durch mindestens ein Artefakt manifestiert M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

121 2.Strukturdiagramme Komponente Die Darstellung ist des Weiteren möglich als Blackbox Komponenten Whitebox Komponenten «component» Teilnehmerverwaltung Black-box Darstellung «provided interfaces» Sortierter Zugriff Wahlfreier Zugriff «required interfaces» Speichermedium «realization» Teilnehmer Verwaltungsmetadaten «artifacts» teilnehmer.jar White-box Darstellung M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

122 2.Strukturdiagramme Blackbox Komponenten Angabe von Schnittstellen in nur einem weiteren Bereich Keine Darstellung interner Realisierungen Kennzeichnung durch Stereotyp: provided interface: wird durch Komponente angeboten required interface: wird von Komponente benötigt M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

123 2.Strukturdiagramme Whitebox Komponenten Ist gegenüber den Blackbox-Komponenten erweitert um Angaben zu Classifiern und Artefakten Kennzeichnung der Classifier durch Stereotyp realization Kennzeichnung der Artefakte durch Stereotyp artifacts M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

124 2.Strukturdiagramme Artefakt Darstellung durch Classifiersymbol mit Stereotyp artifact und Dokumentensymbol in der rechten oberen Ecke «artifact» Artefakt «artifact» Artefakt M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

125 2.Strukturdiagramme Artefakt Ist physische Informationseinheit Stellt konkrete Ausprägungen in Komponente dar Ist immer eine konkrete Ausprägung Hat keine eigenständige Abstraktion Konkretisierung des Artefakts durch Stereotyp file M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

126 2.Strukturdiagramme Stereotyp file File physische Datei innerhalb des Systems Sonderformen zu file: Document Executable Source Library hat keinen Quell- oder ausführbaren Code enthält Anweisungen für direkte Ausführung enthält übersetz- oder interpretierbaren Code enthält statisch oder dynamisch verwendbare Bibliothek M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

127 2.Strukturdiagramme Abhängigkeiten Darstellung durch Abhängigkeitsbeziehung (siehe Klassendiagramm) Zeilennummer «component» Zeilengenerator «interface» Sortierter Zugriff «interface» Speichermedium «use» «source» «executable» «component» helper.java util.jar «manifest» Listengenerator «tool generated» «source» «artifact» list.java list.class Zahlenfolge «component» Addierer «custom code» «artifact» meinklassendiagramm «document» spec.tex M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

128 2.Strukturdiagramme Stereotypen Auch hier kommen Stereotypen zum Einsatz: manifest verbindet Artefakt mit Komponente (Spezialfall: custom code: Zusammenhang von 2 Artefakten, wobei eines in das andere überführt wird tool generated: s.o., allerdings wird das eine in das andere automatisiert überführt) use verbindet Komponente mit Schnittstelle M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

129 2.Strukturdiagramme 2.6 Das Verteilungsdiagramm M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

130 2.Strukturdiagramme Das Verteilungsdiagramm Dient Aufzeigen der Zuordnung von Softwarekomponenten auf Hardwareknoten Darstellung von Kommunikation und Abhängigkeit zwischen den Knoten Antwort auf Frage: Wie werden Systemkomponenten zur Laufzeit wohin verteilt? M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

131 2.Strukturdiagramme Verteilungsbeispiel «device» Bildprozessor 1..* 1 <<device>> Zentralprozessor «deploy» «artifact» Datenmanagementprogramm Strahlberechnungsprogramm Bildbearbeitung «deploy» «artifact» Bildverarbeitung.exe «artifact» Taskprogramm «deployment spec» 1 1 Bereitstellung «device» Host Bildaufbaubeschr.xml «artifact» Bildberechnung.file Taskverarbeitung: Art maxdauer: Sek M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

132 2.Strukturdiagramme Anwendung im Projekt Client-Server-Systeme Systeme mit mehr als einer Rechnereinheit Workstations Visualisierung von Systemtopologie M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

133 2.Strukturdiagramme Sonstiger Einsatz Physikalische Kontextabgrenzung des Systems, wenn Nachbarsysteme existent Blackboxmodellierung und Darstellung von System und Nachbarsystem «Tasten» «Display» «Funk» Bewegungssensor : Sensor : Fernbedienung «IR» : Anlagensteuerung «Funk» Rauchsensor : Sensor M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004 «Funk» Außenlampe : Beleuchtung 21

134 2.Strukturdiagramme Sonstiger Einsatz Dokumentation von Hardwarevorgaben in visualisierter Form- besser als rein textuelle Darstellung PC1 «Internet» «deploy» Host : Mehrprozessorsystem «artifact» DBServer «LAN» PC2 «deploy» «artifact» DBClient «WLAN» Laptop «deploy» M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

135 2.Strukturdiagramme Notationselemente Das Verteilungsdiagramm verfügt über folgende Notationselemente: Knoten Kommunikationspfad Verteilungsbeziehung Einsatzspezifikation M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

136 2.Strukturdiagramme Knoten Darstellung durch Quader mit Knotennamen Knotenname M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

137 2.Strukturdiagramme Knoten Repräsentiert Ressource, die genutzt wird für Installation Konfiguration Bereitstellung Ausführung von Artefakten Sind strukturierte Classifier Lassen sich schachteln M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

138 2.Strukturdiagramme Gerätenotation Unter Gerät versteht man einen Knoten mit dem Stereotyp device Gerät repräsentiert die Hardware im Verteilungsdiagramm «device» Name «workstation» M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester 2004 «lautsprecher» 26

139 2.Strukturdiagramme Notation Ausführungsumgebung Unter Ausführungsumgebung versteht man einen Knoten mit Schlüsselwort ExecutionEnvironment Ist die Softwareumgebung, in der die Softwarekomponenten ausgeführt werden «ExecutionEnvironment» Name M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

140 2.Strukturdiagramme Kommunikationspfad Darstellung wie Assoziation, da Kommunikationspfad eine Assoziation ist Wird eingeteilt in Ungerichteter Kommunikationspfad Gerichteter Kommunikationspfad M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

141 2.Strukturdiagramme Kommunikationspfad Verbindet Knoten um Nachrichten auszutauschen Modellierung komplexer Netzwerke möglich PC1 «Internet» Host : Mehrprozessorsystem 1 1 «LAN» PC2 1 «WLAN» Laptop M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

142 2.Strukturdiagramme Verteilungsbeziehung Darstellung durch gestrichelten Pfeil und deploy Beziehung zwischen Artefakt und Knoten, auf dem es verteilt ist «deploy» : Bibliotheksserver «deploy» «artifact» Reservierung.jar «artifact» Ausleihe.jar M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

143 2.Strukturdiagramme Einsatzspezifikation Darstellung durch Classifier-Symbol und deployment spec «deployment spec» Name «deployment spec» Name Attribut: Typ M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

144 2.Strukturdiagramme Einsatzspezifikation Ist durch Abhängigkeitsbeziehung mit Artefakt verbunden Beinhaltet Parameter zur Artefaktverteilung auf Knoten Durch Parameterfestlegung ist Artefaktausführung steuerbar alternative Notation: {Parameter der Einsatzspezifikation} in Artefakt «artifact» «deployment spec» BestellungBeschr.xml Taskverarbeitung : thread maxdauer : 3 Bestellung.jar «artifact» Bestellung.jar {Taskverarbeitung : thread maxdauer : 3} M. Jeckle: 2.Strukturdiagramme. Fachhochschule Furtwangen, Sommersemester

2. Strukturdiagramme

2. Strukturdiagramme 2. Strukturdiagramme 2.2 Das Paketdiagramm 2.3 Das Objektdiagramm 2.4 Das Kompositionsstrukturdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester

Mehr

2. Strukturdiagramme

2. Strukturdiagramme 2. Strukturdiagramme 2.1 Das Klassendiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester 2004 Titel Strukturdiagramme Klassendiagramm Kompositionsstrukturdiagramm

Mehr

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester 2004 Das Komponentendiagramm Dient Darstellung

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme 6. Weitere Strukturdiagramme Objektdiagramm Komponentendiagramm Paketdiagramm 1 6.1 Objekte Ausprägungsspezifikation von Klassen und Assoziationen 2 Definition Das Objektdiagramm zeigt eine bestimmte Sicht

Mehr

Objektorientierte Modellierung

Objektorientierte Modellierung Objektorientierte Modellierung KLASSENDIAGRAMM Klasse = Typebene zum Beschreiben mehrerer Objekte der selben Struktur Objekt = konkrete Ausprägung einer Klasse Instanz = Objekt Klassendiagramm = beschreibt

Mehr

Diagrammtypen der UML 2.0

Diagrammtypen der UML 2.0 Diagrammtypen der UML 2.0 UML-Diagramme Strukturdiagramme Klassendiagramm Komponentendiagramm Kompositionsstrukturdiagramm Objektdiagramm Verteilungsdiagramm Paketdiagramm Verhaltensdiagramme Aktivitätsdiagramm

Mehr

7. Objektorientierung. Informatik II für Verkehrsingenieure

7. Objektorientierung. Informatik II für Verkehrsingenieure 7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete

Mehr

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

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML2 glasklar UNIFIED MODELING LANGUAGE l V HANSER Inhalt Vorwort 1 Einleitung 2 Liebe Leserin, lieber Leser 2 Ihre Meinung ist uns

Mehr

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

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37 Vorwort... 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden?... 17 1.2 Die Phasen bei der Softwareentwicklung... 18 1.2.1 Analyse... 18 1.2.2 Entwurf... 19 1.2.3 Implementierung und Dokumentation...

Mehr

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

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar CARL HANSER VERLAG Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML 2 glasklar 3-446-22575-7 www.hanser.de Einleitung... 1 Liebe Leserin, lieber Leser... 1 Ihre Meinung ist uns

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig. Inhalt Vorwort Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig Danksagungen Die Autoren XIII XV XV XVII XVIII XVIII XIX Teil I:

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

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

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

UML 2 glasklar Praxiswissen für die UML-Modellierung

UML 2 glasklar Praxiswissen für die UML-Modellierung Chris Rupp, Stefan Queins, Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung ISBN-10: 3-446-41118-6 ISBN-13: 978-3-446-41118-0 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

Objektorientierte Analyse (OOA) Strukturmodellierung

Objektorientierte Analyse (OOA) Strukturmodellierung Strukturmodellierung Seite 1 Strukturmodellierung Seite 2 Anwendung im Projekt Strukturmodellierung Voraussetzung: Use Case Diagramm liefert die funktionelle Gliederung mit Angabe der Ein- und Ausgaben

Mehr

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

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm... Auf einen Blick TEIL I Strukturdiagramme 1 Einführung... 13 2 Klassendiagramm... 29 3 Objektdiagramm... 111 4 Kompositionsstrukturdiagramm... 125 5 Komponentendiagramm... 145 6 Verteilungsdiagramm... 161

Mehr

Algorithmen und Datenstrukturen 06

Algorithmen und Datenstrukturen 06 31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung

Mehr

UML -Klassendiagramme

UML -Klassendiagramme UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm

Mehr

Abschnitt 15: Unified Modeling Language (UML)

Abschnitt 15: Unified Modeling Language (UML) Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML

Mehr

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press Christoph Kecher UML2 Das umfassende Handbuch Galileo Press Vorwort 11 TEIL I Strukturdiagramme i '...,....,...,.;..,,,...,, 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert

IT kompakt. UML 2 kompakt. mit Checklisten. Bearbeitet von Heide Balzert IT kompakt UML 2 kompakt mit Checklisten Bearbeitet von Heide Balzert 1. Auflage 2010. Taschenbuch. viii, 92 S. Paperback ISBN 978 3 8274 2506 5 Format (B x L): 12,7 x 19 cm Gewicht: 113 g Weitere Fachgebiete

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

Modularisierung in Java: Pakete Software Entwicklung 1

Modularisierung in Java: Pakete Software Entwicklung 1 Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Das UML Benutzerhandbuch

Das UML Benutzerhandbuch Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario

Mehr

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1 Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit

Mehr

Das umfassende Handbuch

Das umfassende Handbuch Christoph Kecher UML 2.0 Das umfassende Handbuch. Jfjf- Ali' ' w v^i* >" '-«(."', Galileo Press Inhalt Vorwort 11 1 Einführung 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

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

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim Matthias Niete [email protected] Dirk M. Sohn [email protected] Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim 1 Allgemeine Notationselemente Paketnamen {Eigenschaftswerte} Notiz Paketnamen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

Analyse und Design mituml2

Analyse und Design mituml2 Analyse und Design mituml2 Objektorientierte Softwareentwicklung von Bernd Oestereich 7, aktualisierte Auflage Oldenbourg Verlag München Wien Ш1!Н1Н1КД nhjektorientierte Softwareentwicklung - Analyse und

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Grundzüge der Programmierung. Wiederverwendung VERERBUNG Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

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

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme Datenbanken objektorientierte Sicht Seite 1 von 76 Datenbanken Teil 2: Informationen Kapitel 7: Objektorientierte Sicht UML-Diagramme Vorstellung der unterschiedlichen UML-Diagramme 1. Diagrammtypen 2.

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Vorlesung Software Engineering I

Vorlesung Software Engineering I Vorlesung Software Engineering I 8 Unified Modeling Language: Klassendiagramme Prof. Dr. Dirk Müller Übersicht Einführung Software-Entwicklungsprozesse Anforderungsanalyse Prozessanalyse und -modellierung

Mehr

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

UML 2 glasklar. Mario Jeckle, Jürgen Hahn, Stefan Queins, Barbara Zengler, Chris Rupp. Praxiswissen für die UML-Modellierung und -Zertifizierung

UML 2 glasklar. Mario Jeckle, Jürgen Hahn, Stefan Queins, Barbara Zengler, Chris Rupp. Praxiswissen für die UML-Modellierung und -Zertifizierung UML 2 glasklar Mario Jeckle, Jürgen Hahn, Stefan Queins, Barbara Zengler, Chris Rupp Praxiswissen für die UML-Modellierung und -Zertifizierung ISBN 3-446-22952-3 Inhaltsverzeichnis Weitere Informationen

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Analyse und Design mituml2.1

Analyse und Design mituml2.1 Analyse und Design mituml2.1 Objektorientierte Softwareentwicklung Von Bernd Oestereich 8., aktualisierte Auflage Oldenbourg Verlag München Wien nhaltsverzeichnis Objektorientierte Softwareentwicklung

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 5. Behälter und Iteratoren 6. Templates

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

Mehr

Wiederholung. Klassenhierarchie:

Wiederholung. Klassenhierarchie: Wiederholung Klassenhierarchie: class Unter extends Ober {... Die Unterklasse Unter erweitert die Funktionalität ihrer Oberklasse Ober. Objekte der Klasse Unter können anstelle von Objekten der Klasse

Mehr

Analyse und Design mit U ML 2.3

Analyse und Design mit U ML 2.3 Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis

Mehr

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt.

Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Aufgabe 1: Strukturmodellierung mittels Klassendiagramm Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit dem Klassendiagramm beschäftigt. Was ist eine Klasse? Was ist ein Objekt? Geben Sie ein

Mehr

UML 2 glasklar HANSER. Chris Rupp Stefan Queins Barbara Zengler. Praxiswissen für die UML-Modellierung. 3., aktualisierte Auflage

UML 2 glasklar HANSER. Chris Rupp Stefan Queins Barbara Zengler. Praxiswissen für die UML-Modellierung. 3., aktualisierte Auflage :. ' : : : Chris Rupp Stefan Queins Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung UNIFIED MODELING ^ ;;;; : LANGUAGE i V - - - ; - : 3., aktualisierte Auflage HANSER Inhalt Vorwort

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

UML Eine kurze Einführung

UML Eine kurze Einführung UML Eine kurze Einführung Programmiermethodik Eva Zangerle Universität Innsbruck Modell und Diagramm Ein Modell stellt Abstraktion eines Realitätsausschnitts dar. Um Informationen verständlicher darzustellen

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

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

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Programmiertechnik Objektorientierung

Programmiertechnik Objektorientierung Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche

Mehr

Kapitel 5: Interfaces

Kapitel 5: Interfaces Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,

Mehr

Probeklausur 2. Name: Vorname: Matrikelnr.: Datum:

Probeklausur 2. Name: Vorname: Matrikelnr.: Datum: Probeklausur 2 Dozent: Prof. Dr. Edmund Ihler Leistungsnachweis: Informatik 4 EDV-Nr.: 13037 Prüfungsdauer: 90 Minuten erlaubte Hilfsmittel: keine Beilagen: keine Name: Vorname: Matrikelnr.: Prüfungsraum:

Mehr

C++ - Objektorientierte Programmierung Vererbung

C++ - Objektorientierte Programmierung Vererbung C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Geoinformation I Datenmodellierung

Geoinformation I Datenmodellierung Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung

Mehr

Java, OO und UML Fortsetzung

Java, OO und UML Fortsetzung Java, OO und UML Fortsetzung Das Objektorientierte Paradigma OO bildet keine geschlossene theoretisch abgegrenzte Basis (wie z.b. das Relationsmodell relationaler Datenbanken) OO ist eine Sammlung und

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick [email protected] www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick [email protected] www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

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

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

Mehr

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

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Objektorientierte Programmierung III

Objektorientierte Programmierung III Objektorientierte Programmierung III OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen

Mehr

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt

Mehr

14. Java Objektorientierung. Klassen, Vererbung, Kapselung

14. Java Objektorientierung. Klassen, Vererbung, Kapselung 427 14. Java Objektorientierung Klassen, Vererbung, Kapselung Objektorientierung: Verschiedene Aspekte 428 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen

Mehr