UML: Einführung. Vorlesung Modellierung Wintersemester 2014/15. UML (Folien teilw. von Prof. B. König) UML und Objekt-Orientierung

Größe: px
Ab Seite anzeigen:

Download "UML: Einführung. Vorlesung Modellierung Wintersemester 2014/15. UML (Folien teilw. von Prof. B. König) UML und Objekt-Orientierung"

Transkript

1 UML: Einfürung Vorlesung Modellierung Wintersemester 2014/15 UML (Folien teilw. von Prof. B. König) Prof. Norbert Fur UML = Unified Modeling Language Standard-Modellierungssprace für Software Engineering. Basiert auf objekt-orientierten Konzepten. Ser umfangreic, entält viele versciedene Typen von Modellen. Entwickelt von Grady Booc, James Rumbaug, Ivar Jacobson (1997). 1 / / 196 UML und Objekt-Orientierung UML und Objekt-Orientierung Was bedeutet Objekt-Orientierung? Grundidee Die reale Welt bestet aus Objekten, die untereinander in Bezieungen steen. Diese Sictweise wird auc auf Modellierung und Softwareentwicklung übertragen. Etwas genauer... Daten (= Attribute) werden zusammen mit der Funktionalität (= Metoden) in Objekten organisiert bzw. gekapselt. Jedes Objekt ist in der Lage Nacricten (= Metodenaufrufe) zu empfangen, Daten zu verarbeiten und Nacricten zu senden. Diese Objekte können einmal erstellt in versciedenen Kontexten wiederverwendet werden. Gescicte der Objekt-Orientierung Entwicklung von objekt-orientierten Programmierspracen: 60er Jare: Simula (zur Bescreibung und Simulation von komplexen Mensc-Mascine-Interaktionen) 80er Jare: C++ 90er Jare: Java Verbreitung von objekt-orientierten Entwurfsmetoden: 70er Jare: Entity-Relationsip-Modell 90er Jare: Vorläufer von UML: OOSE (Object-Oriented Software Engineering), OMT (Object Modeling Tecnique) Seit 1997: UML Seit 2005: UML / / 196

2 UML und Objekt-Orientierung UML und Objekt-Orientierung Vorteile der objekt-orientierten Programmierung und Modellierung Leicte Wiederverwendbarkeit dadurc, dass Daten und Funktionalität zusammen verwaltet werden und es Konzepte zur Modifikation von Code (Sticwort: Vererbung) gibt. Näe zur realen Welt: viele Dinge der realen Welt können als Objekte modelliert werden. Verträglickeit mit Nebenläufigkeit und Parallelität: Kontrollfluss kann nebenläufig in den Objekten ablaufen und die Objekte können durc Nacrictenaustausc bzw. Metodenaufrufe untereinander kommunizieren. Ein Beispiel für die Modellierung von Objekten der realen Welt: Farkartenautomat Daten: Fartziele, Zoneneinteilung, Fartkosten Funktionalität: Tasten drücken, Preise anzeigen, Münzen einwerfen, Farkarte auswerfen 5 / / 196 UML und Objekt-Orientierung UML: Einfürung Konzepte Klassen: definiert einen Typ von Objekten mit bestimmten Daten und bestimmter Funktionalität. Beispiel: die Klasse der VRR-Farkartenautomaten Objekte: Instanzen der Klasse. Beispiel: der Farkartenautomat am Duisburger Hauptbanof, Osteingang Einsatzgebiete von UML Visualisierung Spezifikation Konstruktion (z.b. zur Codegenerierung) Dokumentation 7 / / 196

3 UML: Einfürung UML: Einfürung Vokabular der UML (nac Booc/Rumbaug/Jacobson) Dinge (tings) Bezieungen (relationsips) Diagramme (diagrams) Dinge Strukturen (structural tings) Veralten (beavioral tings) Gruppen (grouping tings) Annotationen (annotational tings) Bezieungen Abängigkeiten (dependencies) Assoziationen (associations) Generalisierungen (generalizations) Realisierungen (realizations) 9 / / 196 UML: Einfürung UML: Einfürung UML-Diagramme Strukturdiagramme Klassendiagramm Komponentendiagramm Objektdiagramm Kompositionsstrukturdiagramm Interaktionsdiagramme Diagramme der UML Aktivitätsdiagramm Veraltensdiagramme Kommunikationsdiagramm Interaktionsübersictsdiagramm Diagramme (I) Strukturdiagramme Klassendiagramme (class diagrams) Objektdiagramme (object diagrams) Kompositionsstrukturdiagramme (composite structure diagram) Paketdiagramme (package diagram) Verteilungsdiagramme (deployment diagram) Komponentendiagramme (component diagrams) Sequenzdiagramm Verteilungsdiagramm Paketdiagramm Anwendungsfalldiagramm Zustands- diagramm Zeitverlaufs-/ Timing-Diagramm 11 / / 196

4 UML: Einfürung Diagramme (II) Veraltensdiagramme Aktivitätsdiagramme (activity diagrams) (state diagrams) Anwendungsfalldiagramm (use case diagrams) Interaktionsdiagramme (sequence diagrams) Kommunikationsdiagramm (communication diagram) Zeitverlaufsdiagramm (timing diagram) Interaktionsübersictsdiagramm (interaction overview diagram) Wir beginnen mit n... Beispiel: Klasse der zweidimensionalen Punkte mit x-, y-koordinaten und Operationen zum Auslesen der Koordinaten Grapisce Darstellung einer Klasse Point x: int y: int get x(): int get y(): int Klassenname Attribute (evtl. mit Typ) Operationen/Metoden Wir werden im Folgenden einige dieser Begriffe mit Leben füllen. 13 / / 196 Bemerkungen: Bei den Attributen andelt es sic um sogenannte Instanzattribute, d.., sie geören zu den Instanzen einer Klasse (nict zur Klasse selbst). Man kann die Sictbarkeit eines Attributes bzw. einer Metode spezifieren, indem man + (öffentlic/sictbar) oder (privat/nict sictbar) vor den Attribut-/Metodennamen screibt. Auc die Angabe # (gescützt/protected) ist möglic. In diesem Fall ist das Attribut nur für Klassen sictbar, die von der entsprecenden Klasse erben. Bemerkungen: Attribute aben im allgemeinen Typen, mancmal auc Vorgabewerte (= initiale Werte). Dies wird dann folgendermaßen notiert: x: int = 0 Merstellige Operationen mit Rückgabewert, werden mit iren Typen folgendermaßen notiert: add(m: int, n: int): int 15 / / 196

5 Grapisce Darstellung einer Instanz einer Klasse Point x: int y: int get x(): int get y(): int mypoint :Point instantiate x = 0 y = 0 Grapisce Darstellung von Generalisierung/Spezialisierung Point x: int y: int get x(): int get y(): int Colored Point c: string color(): string setcolor(c: string) Die Klasse Colored Point spezialisiert die Klasse Point. Umgekert generalisiert Point die Klasse Colored Point. 17 / / 196 Bemerkungen: In einer solcen Situation nennt man Point Superklasse und Colored Point Subklasse. Da die Subklasse die Attribute, Metoden und Assoziationen der Superklasse erbt (und diesen noc weitere inzufügen kann), sprict man auc von Vererbung. Außerdem kann man in der Subklasse Metoden der Superklasse überscreiben und durc neue ersetzen. Wie kann man Bezieungen zwiscen Klassen in UML darstellen? Es gibt folgende möglice Bezieungen: Assoziation Aggregation Komposition 19 / / 196

6 Wir beginnen mit der scwäcsten Relation zwiscen zwei Klassen: der Assoziation. Assoziation Es gibt eine Assoziation zwiscen den Klassen A und B, wenn es eine semantisce Bezieung zwiscen den Klassen gibt. Üblicerweise werden Assoziationen durc Referenzen realisiert (d.., eine der Klassen at ein Attribut vom Typ der anderen Klasse). Beispiel für eine Assoziation Eine Person besitzt ein Auto. Person besitzt Auto 21 / / 196 Bemerkungen: Es kann eine Leserictung der Assoziation eingefürt werden: Person besitzt Auto Multiplizitäten: an beide Enden der Assoziationen können Multiplizitäten in Form von Intervallen m..n (oder einfac nur m für m..m) angegeben werden. Hier besitzt eine Person bis zu fünf Autos. Ein Auto ist im Besitz genau einer Person. Die Navigationsrictung (bescrieben durc eine Pfeilspitze) kann von der Leserictung abweicen. Sie bescreibt, welce Klasse iren Assoziationspartner kennt (und daer seine Metoden aufrufen kann). Person besitzt Auto Person besitzt Auto Falls die Multiplizität größer als eins ist, muss dies in der Implementierung durc eine Liste (oder Menge oder Array) von Referenzen realisiert werden. Hier kennen sic beide Klassen gegenseitig. 23 / / 196

7 Multiplizitäten allgemein: in folgendem Diagramm können i Instanzen von A (mit m i n) mit einer Instanz von B assoziert sein. Umgekert können j Instanzen von B (mit k j l) mit einer Instanz von A assoziiert sein. A m..n k..l B Rollen: Klassen können in versciedenen Assoziationen versciedene Rollen spielen. Rollen werden auc an den Assoziationen notiert (und können alle Bestandteile eines Attributs entalten). Falls es keine obere Scranke gibt, wird ein Stern (= unendlic) verwendet. Beispielsweise stet 2.. für mindestens zwei. Grossandel Verkaeufer Kaeufer Haendler Verkaeufer Kaeufer Endkunde Die Multiplizität 0.. wird als Standardwert angenommen, wenn keine Angabe voranden ist. 25 / / 196 Die näcste Relation Aggregation ist etwas stärker. Aggregation Es gibt eine Aggregation zwiscen den Klassen A und B, wenn Instanzen der Klasse A Instanzen der Klasse B als Teile entalten. (Ein Ganzes entält merere Teile.) Beispiel für eine Aggregation Ein Parkplatz entält merere Autos. Parkplatz entaelt Auto 27 / / 196

8 Die stärkste Relation ist die sogenannte Komposition. Komposition Es gibt eine Komposition zwiscen den Klassen A und B, wenn Instanzen der Klasse A Instanzen der Klasse B als Teile entalten und die Lebenszeit der Teile wird vom Ganzen kontrolliert. Das eißt, die Teile können (müssen) gelösct werden, sobald die Instanz der Klasse A gelösct wird. Beispiel für eine Komposition Ein Auto bestet aus vier Rädern. Auto 1 4 bestet aus Rad Die Räder werden zerstört, sobald das Auto zerstört wird. Bemerkung: In diesem Fall muss die Multiplizität, die an der scwarzen Raute stet, immer 0 oder 1 sein. Jedes Teil kann öcstens zu einem Ganzen geören. 29 / / 196 In Klassendiagrammen befinden sic normalerweise nict nur zwei Klassen mit einer Assoziationen, sondern versciedene Klassen eines Programms oder Moduls, mit iren Bezieungen untereinander. Beispiel: n-äre Assoziation Neben binären (zweistelligen) Assoziationen gibt es auc n-äre Assoziationen, die eine Bezieung zwiscen n Klassen bescreiben. Vorspeise Parkplatz entaelt Auto bestet aus Rad 0.. besitzt 1 Person Hauptgerict Dessert Menue 31 / / 196

9 Generalisierungsgruppen Klassen können in untersciedlicer Weise spezialisiert bzw. unterteilt werden. Daer können Generalisierungen zu Gruppen zusammengefasst werden. Frau Mann Gesclect Person Alter Kind Erwacsener Dabei wird die jeweilige Generalisierungsgruppe (ier: Alter bzw. Gesclect) im Diagramm angegeben. Den Generalisierungsgruppen können Eigenscaften (in gescweiften Klammern) zugeordnet werden. complete/incomplete: complete: die Generalisierungsgruppe ist vollständig, d.., sie überdeckt alle Instanzen der Klasse. incomplete: die Generalisierungsgruppe ist unvollständig. disjoint/overlapping: disjoint: die spezialisierenden Klassen besitzen keine gemeinsamen Instanzen (keine Überlappung). overlapping: die spezialisierenden Klassen können gemeinsame Instanzen besitzen. 33 / / 196 Beispiele für die Eigenscaften complete/incomplete und disjoint/overlapping: {complete,disjoint} Frau Mann Gesclect {complete,disjoint} Person Hier andelt es sic um eine Partitionierung der Instanzen der Klasse. {incomplete,disjoint} Person Kind Alter Erwacsener {incomplete,disjoint} Warum unvollständig? es felt eine Klasse Jugendlicer. 35 / / 196

10 {complete,overlapping} Landtier Lebensraum {incomplete,overlapping} Landtier Lebensraum Meerestier Tier Tier Meerestier Fliegendes Tier {incomplete,overlapping} {complete,overlapping} Fliegende Tiere felen. Scildkröten sind sowol Land- als auc Meerestiere. 37 / / 196 Merfacvererbung Es ist auc möglic, dass eine Klasse von mereren Klassen erbt, d.., eine Spezialisierung versciedener Klassen ist. Dies bezeicnet man als Merfacvererbung. Frau Mann Gesclect Maedcen Person Alter Kind Erwacsener Ein Mädcen ist sowol ein Kind als auc ein weiblicer Mensc (= Frau). Basierend auf diesen grapiscen Notation sollte man ein objekt-orientiertes System modellieren, bevor es implementiert wird. Dabei stellen sic insbesondere folgende Fragen: Welce Objekte und Klassen werden benötigt? Welce Merkmale aben diese Klassen und welce Bezieungen besteen zwiscen Inen? Wie sollen die Klassen eingesetzt werden? Welce Metoden stellen diese Klassen zur Verfügung? Wie wirken diese Metoden zusammen? In welcen Zuständen können sic Objekte befinden und welce Nacricten werden wann an andere Objekte gescickt? 39 / / 196

11 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Ein größeres Beispiel für objekt-orientierte Modellierung und Programmierung: Wir modellieren eine Bank. Folgende Anforderungen werden gestellt: Eine Bank at merere Kunden und merere Angestellte und fürt eine Menge von Konten. Konten können Giro- oder Sparkonten sein. (Ein Sparkonto wirft öere Zinsen ab, darf aber nict ins Minus absinken.) in Euro oder in Dollar gefürt werden. Auf den Konten sollen folgende Operationen ausgefürt werden können: Einzalen Abeben Verzinsen Umbucen Außerdem sollen alle Objekte (inklusive der Bank) ire Darstellung ausdrucken können. Dazu at jedes Objekt eine eigene print-metode. Das bezeicnet man auc als Overloading: eine Metode gleicen Namens kann bei Objekten versciedener Klassen aufgerufen werden und erzielt dort untersciedlice Effekte. 41 / / 196 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Klasse Bank: Bank name: string neuen kunden anlegen() angestellten einstellen() konten verzinsen() print() Metoden: neuen Kunden anlegen; neuen Angestellten einstellen; alle Konten verzinsen Außerdem: Eine Bank bestet (in Kompositionsrelation) aus einer Menge von Konten, die verscwinden, wenn die Bank verscwindet. Außerdem gibt es Aggregationen mit einer Liste von Kunden und von Angestellten. Klasse Konto: Konto nummer: string zins: float kontostand: Betrag einzalen(wert: Betrag) abeben(wert: Betrag) umbucen auf(kto: konto, wert: Betrag) print() verzinsen() Attribute: Kontonummer, Zins Metoden: Kontostand abfragen, einzalen, abeben, umbucen eines Betrags auf ein anderes Konto, Konto verzinsen Außerdem: Konto stet in einer Kompositionsrelation mit Betrag, d.., jedes Konto entält einen Betrag (siee Klassendiagramm). 43 / / 196

12 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Klasse Sparkonto: Klasse Girokonto: Konto Girokonto zins: float = Die Klasse Girokonto wird von Konto abgeleitet. Typiscerweise ist der Zins bei Girokonten niedriger als bei Sparkonten. Von daer wird dieser auf einen niedrigeren Anfangswert gesetzt. Konto Sparkonto zins: float = 0.02 abeben(wert: Betrag) umbucen auf(kto: Konto, wert: Betrag) Bei der Klasse Sparkonto muss wie beim Girokonto ein neuer Anfangswert für den Zins gesetzt werden. Außerdem: es muss darauf geactet werden, dass das Konto nict ins Minus abgleitet. Dazu werden die entsprecenden Metoden überscrieben (in der Implementierung muss die Bedingung entsprecend getestet werden). 45 / / 196 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Klasse Betrag: Betrag wert: float negativ(): bool plus(wert: Betrag) minus(wert: Betrag) print() mult(faktor: float) Metoden: Test, ob Konto im Minus; Betrag addieren, subtraieren; Multiplikation mit einer Gleitpunktzal (zum Verzinsen!) Klasse Euro: Betrag Euro Von Betrag wird zunäcst die Klasse Euro abgeleitet. Metoden: Betrag in Euro ausgeben Beträge müssen im allgemeinen in einer Wärung angegeben werden. Daer werden von der Klasse Betrag die Unterklassen Euro und Dollar abgeleitet. betrag in euro():float 47 / / 196

13 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Klasse Dollar: Betrag Dollar betrag in dollar():float Von Betrag wird außerdem die Klasse Dollar abgeleitet. Metoden: Betrag in Dollar ausgeben Klasse Person: Person name: string print() Metoden: nur die print-metode, weitere Metoden werden in den Unterklassen definiert Außerdem: Person stet in einer Assoziationsrelation mit einer Liste von Konten, die entweder dieser Person geören (Kunde) oder auf die diese Person Zugriff at (Angestellte/r). 49 / / 196 Beispiel: Modellierung einer Bank Beispiel: Modellierung einer Bank Klasse Angestellter (erbt von Person): Angestellter zugriff auf konto(kto: Konto) Metoden: Zugriff auf ein Konto erlangen Klasse Kunde (erbt von Person): Kunde konto eroeffnen() Metoden: Konto eröffnen (ier könnte noc ein Parameter übergeben werden, der bescreibt, ob das Konto ein Giro- oder Sparkonto sein soll und ob es in Euro oder Dollar gefürt werden soll) Außerdem: Ein Kunde stet in einer Assoziationsrelation mit seinem Betreuer. 51 / / 196

14 Beispiel: Modellierung einer Bank Euro Bank 1 bestet aus Betrag 1 wert: float Waerung Dollar Konto Girokonto Person name: string besitzt 1 Kontotyp Sparkonto Kunde Status Angestellter 1 betreut at_zugriff_auf Abstrakte Klasse Eine Klasse eißt abstrakt, wenn sie selbst keine Instanzen aben kann. Dazu wird die Eigenscaft {abstract} unter dem Klassennamen angegeben. Mancmal wird stattdessen auc der Klassenname kursiv gescrieben. Beispiel: in dem Bank-Beispiel möcte man beispielsweise nie eine Instanz der Klasse Person bilden, sondern nur von Kunde oder Angestellter. Person {abstract} 53 / / 196 Wir betracten nun Objektdiagramme. Ein Objekt ist eine Instanz oder Ausprägung einer Klasse. Objekte und Klassen Point x: int y: int get x(): int get y(): int mypoint :Point instantiate x = 0 y = 0 Ein Objektdiagramm bescreibt eine Art Momentaufname des Systems: eine Menge von Objekten, wie sie zu einem bestimmten Zeitpunkt voranden sind. Bemerkungen: Ein Objekt kann, muss aber keinen Namen aben. Es muss aber die Klasse angegeben werden, von der dieses Objekt eine Instanz ist. (In der Form: :Point.) Die Klassen müssen in dem Diagramm nict grapisc dargestellt werden. Es kann aber mancmal angemessen sein, Bauplan und Produkt gemeinsam darzustellen. Nict alle Attributbelegungen des Objekts müssen angegeben werden. 55 / / 196

15 Links Ein Link bescreibt eine Bezieung zwiscen zwei Objekten. Er ist eine Instanz einer Assoziation auf Klassenebene. Zurück zum Beispiel: Autos, Parkplatz, Räder Wir betracten zunäcst noc einmal das Klassendiagramm: Bemerkungen: Links sind nict mit Multiplizitäten bescriftet, ein Link repräsentiert genau eine Bezieung. Es ist jedoc darauf zu acten, dass die Multiplizitätsbedingungen des Klassendiagramms eingealten werden. D.., die Anzal der Objekte, die miteinander in Bezieung steen, müssen inneralb der jeweiligen Scranken sein. Parkplatz entaelt Auto 0..5 besitzt 1 Person 1 4 bestet aus Rad 57 / / 196 Dieses Objektdiagramm passt zum vorerigen Klassendiagramm: parkplatzlbereic :Parkplatz entaelt entaelt peter :Person besitzt grueneraudi :Auto scwarzervw :Auto besitzt gabi :Person bestet aus bestet aus :Rad :Rad :Rad :Rad :Rad :Rad :Rad :Rad Bemerkungen: Auc Aggregations- und Kompositionssymbole dürfen in Objektdiagrammen auftaucen. Actung: Bezieungen (Assoziationen, Aggregationen, Kompositionen) zwiscen Klassen werden vererbt und müssen dann auc entsprecend im Objektdiagramm bei den Instanzen der Unterklassen auftaucen. Beispiel: klaus :Kunde besitzt besitzt :Sparkonto :Girokonto 59 / / 196

16 Aktivitätsdiagramme Aktivitätsdiagramme Wir betracten nun sogenannte Aktivitätsdiagramme (activity diagrams), das sind UML-Diagramme mit denen man Ablaufpläne, Reienfolgen von Aktivitäten, parallele Aktivitäten, etc. modellieren kann. Sie werden beispielsweise verwendet, um Gescäftsprozesse (auc Workflow-Prozesse) des Auftraggebers zu modellieren. Sie können ebenso eingesetzt werden, um interne Systemprozesse zu bescreiben. Aktivitätsdiagramme sind in vielen Aspekten änlic zu Petri-Netzen. Im Unterscied zu Petri-Netzen bieten sie zusätzlice Modellierungsmöglickeiten, aben jedoc keine formale Semantik. Bauplatz wälen Startknoten Arcitekt sucen Beispiel: Hausbau Plan erstellen Plan Plan einreicen [nict angenommen] [angenommen] Arbeit auf Baustelle Arbeit im Büro Haus fertigstellen Pase paralleler Aktivitäten Aktivitätsende 61 / / 196 Aktivitätsdiagramme Aktivitätsdiagramme Wir vergleicen nun die Bestandteile von Aktivitätsdiagrammen mit Petrinetzen (angelent an die Semantik von Störrle): Aktion Eine Aktion wird durc ein Recteck mit abgerundeten Ecken dargestellt. Es entsprict einer Transition eines Petrinetzes. Kontrollfluss Der Kontrollfluss, d.. die Kanten, zwiscen den Aktionen wird in dem entsprecenden Petrinetz durc Hilfsstellen dargestellt. Bauplatz wälen Bauplatz wälen Plan erstellen Plan erstellen Arcitekt sucen Plan erstellen Plan erstellen Arcitekt sucen 63 / / 196

17 Aktivitätsdiagramme Aktivitätsdiagramme Objektknoten Objektknoten bescreiben Speicer für die Übergabe von Objekten bzw. Ressourcen. Sie entsprecen den Stellen des Petrinetzes. Plan erstellen Plan Plan erstellen Plan Entsceidungsknoten (auc: Verzweigungsknoten) Entsceidungsknoten (decision nodes) bescreiben eine Verzweigung des Kontrollflusses, wobei aus den möglicen Kontrollflüssen genau einer ausgewält wird. Sie werden durc Hilfsstellen repräsentiert, die sic in der Vorbedingung mererer Transitionen befinden. Plan einreicen Plan einreicen Plan einreicen Plan einreicen Bemerkung: Objektknoten sind mit Klassennamen bescriftet. Sie können merere Instanzen dieser Klasse entalten. [nict angenommen] [angenommen] Hilfstransition Bei Bedarf (v.a. bei nacfolgenden Entsceidungs- oder Objektknoten) muss noc eine Hilfstransition eingefürt werden. 65 / / 196 Aktivitätsdiagramme Aktivitätsdiagramme Bemerkung zu Entsceidungsknoten: Überwacungsbedingungen (Guards), die den Kontrollfluss steuern, werden in eckigen Klammern an den ausgeenden Kontrollflüssen notiert. Änlice Guards existieren auc in attributierten Netzen. Verbindungsknoten Es gibt auc sogenannte Verbindungsknoten (merge nodes), die merere alternative Kontrollflüsse zusammenfassen. Sie können durc Hilfsstellen dargestellt werden, die sic in der Nacbedingung mererer Transitionen befinden. Es gibt auc Knoten, die sowol Entsceidungs- als auc Verbindungsknoten sind, d.., merere eingeende und merere ausgeende Kontrollflüsse aben. 67 / / 196

18 Aktivitätsdiagramme Gabelung (auc: Parallelisierungsknoten) Eine Gabelung (fork node) teilt einen Kontrollfluss in merere parallele Kontrollflüsse auf. Sie entsprict einer Transition mit mereren Stellen in der Nacbedingung. Aktivitätsdiagramme Vereinigung (auc: Syncronisationsknoten) Analog dazu gibt es die Vereinigung (join node), die merere parallele Kontrollflüsse zusammenfasst. Sie wird durc eine Transition dargestellt, die merere Stellen in der Vorbedingung at. Wie Entsceidungs- und Verbindungsknoten kann man Gabelungen und Vereinigungen zu einem Element zusammenfassen. 69 / / 196 Aktivitätsdiagramme Aktivitätsdiagramme Bitte beacten: Kontrollflüsse dürfen nur an Objektknoten, Entsceidungsknoten und Gabelungen aufgespalten und an Objektknoten, Verbindungsknoten und Vereinigungen wieder zusammengefürt werden. Folgendes ist nict erlaubt: Startknoten Ein Startknoten entsprict einer initial markierten Stelle. Ein Aktivitätsdiagramm darf nur einen Startknoten aben, in den kein Kontrollfluss ineinfürt Aktion Aktion 71 / / 196

19 Aktivitätsdiagramme Aktivitätsdiagramme Aktivitätsende Das Aktivitätsende signalisiert, dass alle Kontrollflüsse beendet werden. Es gibt keine Entsprecung in Petrinetzen. Bauplatz wälen Arcitekt sucen Plan erstellen Plan Plan einreicen Hilfstransition fork Es gibt auc ein Symbol für das Flussende, das nur den in es ineinlaufenden Kontrollfluss beendet. Arbeit auf Baustelle Arbeit im Büro Übersetztes Petrinetz join Haus fertigstellen 73 / / 196 Aktivitätsdiagramme Aktivitätsdiagramme Aktivitätsdiagramme entalten noc mer Anleien aus Petrinetzen. Beispielsweise können auc die Kapazität eines Objektknotens und das Gewict eines Kontrollflusses spezifiziert werden. Gerict zubereiten Gerict {upperbound=6} {weigt=2} Gerict servieren Gerict zubereiten Gerict servieren 2 6 Gerict Dabei bescreibt upperbound die Kapazität einer Stelle (maximal 6 Gericte dürfen gleiczeitig fertig sein) und weigt das Gewict (immer 2 Gericte werden gleiczeitig serviert). In Aktivitätsdiagrammen darf noc zusätzlic spezifiziert werden, in welcer Reienfolge die Objekte aus dem Objektknoten genommen werden (unordered, ordered, LIFO, FIFO). Vorsict: Die Entsprecung zwiscen Aktivitätsdiagrammen und Petrinetzen ist nict immer ganz exakt. Nict alle Konzepte entsprecen einander. Das liegt teilweise auc daran, dass Aktivitätsdiagramme nur ein semi-formales Modell sind und nict alle Aspekte vollständig spezifiziert sind. 75 / / 196

20 Aktivitätsdiagramme Aktivitätsdiagramm mit Aktivitätsbereicen Es gibt auc die Möglickeit zur weiteren Strukturierung von Aktivitätsdiagrammen: Aktivitätsbereice (activity partitions/swimlanes) Zusammenfassung mererer Knoten (Aktionen, Objektknoten, etc.) zu einer Eineit. Dies dient im allgemeinen dazu, um die Verantwortung für bestimmte Aktionen festzulegen. Gast Kellner Gerict bestellen Bestellung aufnemen Gerict verspeisen Gerict servieren 77 / / 196 Aktivitätsdiagramme Weitere Elemente von Aktivitätsdiagrammen: Pins: Parameter und Parametersätze für Aktionen Senden und Empfang von Signalen Kontrollstrukturen: Scleifenknoten, Bedingungsknoten Unterbrecungsbereice (interruptible activity region) zur Beandlung von Ausnamen (Exceptions) Expansionsbereice (expansion region) zur wiederolten Ausfürung von Aktivitäten für merere übergebene Objekte (state diagrams, auc state macine diagrams oder statecarts) genannt, sind eng verwandt mit den bereits eingefürten Zustandsübergangsdiagrammen. Sie werden eingesetzt, wenn bei der Modellierung der Fokus auf die Zustände und Zustandsübergänge des Systems gelegt werden soll. Im Gegensatz zu Aktivitätsdiagrammen werden auc weniger die Aktionen des Systems, sondern eer die Reaktionen des Systems auf die Umgebung bescrieben. 79 / / 196

21 Anwendungen sind die Modellierung von: Protokolle, Komponenten verteilter Systemen Benutzeroberfläcen Eingebettete Systemen... wurden 1987 von David Harel unter dem Namen Statecarts eingefürt. Harel modellierte damit vollständig seine Armbandur. Eigenscaften von n: Zustände und Zustandsübergänge (Transitionen) Hierarcisc aufgebaute Zustände Parallelscalten von n durc Regionen Historien, um sic früer besucte Zustände zu merken und in diese zurückzukeren Viele dieser Eigenscaften dienen dazu, unübersictlice mit vielen Zuständen und Übergängen übersictlicer und kompakter zu gestalten. 81 / / 196 Wir lernen am Beispiel der Modellierung einer Armbandur kennen (stark vereinfact gegenüber Harels Armbandur). Die Armbandur at zwei Knöpfe (a,b) und zwei Modi (Zeitanzeige, Alarmeinstellung). Zwiscen diesen Modi wecselt man mit Hilfe von Knopf a. Der Alarm kann aus (off) oder an (on) sein. Man kann zwiscen den Alarmzuständen mit Hilfe von Knopf b wecseln. a b Wir beginnen zunäcst mit der Modellierung der Minutenanzeige. 0 after(1 min) 1 after(1 min) 2... after(1 min) 59 after(1 min) 58 after(1 min) a 9:21 b a a Alarm on a b b a Alarm off b 83 / / 196

22 Zustand Ein Zustand eines Zustandsdiagramms wird durc ein Recteck mit abgerundeten Ecken dargestellt. Startzustand Der Startzustand wird durc einen scwarzen ausgefüllten Kreis gekennzeicnet (änlic wie bei Aktivitätsdiagrammen). 0 Endzustand Endzustände werden wie das Aktivitätsende in Aktivitätsdiagrammen gekennzeicnet. A Für den Fall, dass man ein System modelliert, das nict terminieren soll, gibt es keinen Endzustand (wie in unserem Beispiel) / / 196 Transition (= Zustandsübergang) Eine Transition ist ein Pfeil, der mit Ereignis [Bedingung]/Effekt bescriftet ist. (Bedingung und Effekt sind optional.) Ereignis: Signal oder Nacrict, die die entsprecende Transition auslösen. 0 after(1 min) Bedingung: Überwacungsbedingung (auc Guard genannt). Effekt: Effekt, der durc die Transition ausgelöst wird. Im obigen Beispiel (Minutenanzeige) gibt es nur Ereignisse (sogennante time events), die die Zeitspanne spezifizieren, nac der die Transition ausgelöst wird. Es gibt aber auc andere Ereignisse, beispielsweise Metodenaufrufe. 1 Neben den Effekten, die durc Transitionen ausgelöst werden, können in einem Zustand weitere Aktionen bei Eintritt, Verweilen oder Verlassen ausgelöst werden. Sie aben den gleicen Aufbau wie die Bescriftung einer Transition: Ereignis [Bedingung]/Effekt. Dabei kann Ereignis unter anderem folgendes sein: entry: der entsprecende Effekt wird bei Eintritt in den Zustand ausgelöst. do: der Effekt ist eine Aktion, die nac Betreten des Zustands ausgefürt wird und die spätestens dann endet, wenn der Zustand verlassen wird exit: der entsprecende Effekt wird bei Verlassen des Zustands ausgelöst. 87 / / 196

23 Beispiel: die Ur soll zu jeder vollen Stunden ein Signal von sic geben. Daer wird die Aktion beep bei Eintritt in den Zustand 0 ausgelöst. 0 entry/beep Wie siet es mit der Stundenanzeige aus? Diese soll parallel zur Minutenanzeige laufen, d.., die Ur ist in zwei Zuständen gleiczeitig, ein Zustand für die Stunden, der andere für die Minuten. Diese Situation wird durc Regionen modelliert. Region Regionen unterteilen ein Zustandsdiagramm in zwei Bereice, die parallel zueinander ausgefürt werden. Dies erlaubt uns, insgesamt nur = 84 Zustände, anstatt = 1440 Zustände zu zeicnen. 89 / / 196 So siet das modifizierte Zustandsdiagramm für die Ur jetzt aus: entry/beep after(1 min)/ 59 Stunden after(1 min) after(1 min) Minuten after(1 min) after(1 min) Bemerkungen: Es gibt jetzt zwei Startzustände, die beide zu Beginn betreten werden (Urzeit: 0:00). Da Stunden- und Minutenanzeige nict vollkommen unabängig voneinander arbeiten, ist eine Syncronisation eingebaut. Die Transition in den Minutenzustand 0 löst einen Effekt ( für our ) aus. Dieser Effekt ist dann ein Trigger, der das entsprecende Ereignis triggert und den Übergang in den näcsten Stundenzustand verursact. Die beiden Transitionen werden syncronisiert und finden gleiczeitig statt. 91 / / 196

24 Bemerkungen: Transitionen verbraucen im allgemeinen keine Zeit (im Gegensatz zum Aufentalt in Zuständen). Neben Triggern, die direkt ausgefürt werden, gibt es auc Events, die zunäcst in einer Event Queue (= Wartesclange) abgelegt werden. Diese Wartesclange wird scrittweise abgearbeitet, wobei die entsprecenden Ereignisse ausgelöst werden. Damit kann asyncrone Kommunikation bescrieben werden. Effekte können direkte Kommunikation bedeuten (beispielsweise Metodenaufrufe), können aber auc sogenannte Broadcasts (= Rundrufe) sein. Diese sind überall im Zustandsdiagramm sictbar. (Die ursprünglice Statecarts-Semantik von Harel verwendete nur Broadcasts.) Nun soll noc die Möglickeit inzugefügt werden, das Alarmsignal zur vollen Stunden aus- und wieder einzuscalten. Dazu füren wir weitere Zustände (Alarm on, off) ein, in die man durc Drücken von a gelangt. Problem: wir braucen mindestens 84 mit a bescriftete Transitionen, die aus den Stunden-/Minutenzuständen ausgeen! Das sind ziemlic viele... Dafür bieten folgende Lösung: Zusammengesetzte Zustände Zusammengesetzte Zustände dienen dazu, um Hierarcien von Zuständen zu modellieren und damit ein- und ausgeende Transitionen zusammenzufassen. 93 / / 196 Damit ergibt sic folgendes Diagramm: Um eine gewisse Flexibilität bei der Modellierung zu aben, werden versciedene Eintritts- und Austrittsmöglickeiten bereitgestellt. Eintrittsmöglickeiten in einen Zustand (grapisc) Alarm 0 Stunden Eintritt über die flace Historie Eintritt über die tiefe Historie on a Standard- Eintritt A H H B b b a Minuten D E off 0 entry/beep after(1 min)/ 59 after(1 min) after(1 min) after(1 min) after(1 min) Expliziter Eintritt C 95 / / 196

25 Bescreibung der Eintrittsmöglickeiten: Standard-Eintritt: dabei wird der Startzustand des zusammengesetzten Zustands angesprungen. (Fortsetzung bei B, was scließlic zu einer Fortsetzung bei D fürt) Expliziter Eintritt: es wird bei dem explizit angegebenen Folgezustand fortgesetzt. (Fortsetzung bei C.) Bescreibung der Eintrittsmöglickeiten (Fortsetzung): Eintritt über die tiefe Historie: Wurde der zusammengesetzte Zustand bereits früer besuct, so wird der letzte vor dem Verlassen des Zustands aktive Unterzustand der tiefstmöglicen Ebene betreten. (Falls also der zusammengesetzte Zustand das letzte Mal von E aus verlassen wurde, so wird jetzt wieder bei E fortgesetzt.) Falls man noc niemals zuvor diesen zusammengesetzten Zustand betreten at, so wird der Zustand betreten, der mit der Kante gekennzeicnet ist, die aus dem H -Knoten ausget. 97 / / 196 Bescreibung der Eintrittsmöglickeiten (Fortsetzung): Eintritt über die flace Historie: Wurde der zusammengesetzte Zustand bereits früer besuct, so wird der letzte vor dem Verlassen des Zustands aktive Unterzustand der obersten Ebene betreten. (Falls also der zusammengesetzte Zustand das letzte Mal von E aus verlassen wurde, so wird jetzt bei B fortgesetzt, was letztendlic zu einer Fortsetzung bei D fürt.) Außerdem: Eintritt über einen Eintrittspunkt (wird ier nict beandelt). Wenn ein Zustand in merere Regionen unterteilt ist, so ergeben sic bei den Eintrittsmöglickeiten einige Besondereiten. Eintrittsmöglickeiten bei Regionen (grapisc) Standard- Eintritt A C B D Expliziter Eintritt Eintritt über Gabelung 99 / / 196

26 Bescreibung der Eintrittsmöglickeiten bei Regionen: Standard-Eintritt: dabei werden die jeweiligen Startzustände der Regionen angesprungen. (Fortsetzung bei A und C) Expliziter Eintritt: ein Zustand einer Region wird direkt angesprungen. In der anderen Region wird bei dem entsprecenden Startzustand fortgesetzt. (Fortsetzung bei B und C.) Eintritt über Gabelung: änlic wie bei Aktivitätsdiagrammen wird eine Gabelung eingesetzt, um die beiden anzuspringenden Zustände in den Regionen zu kennzeicnen. (Fortsetzung bei B und D.) Austrittsmöglickeiten aus einem Zustand (grapisc) D A B C E Austritt aus einem zusammengesetzten Zustand Austritt aus einem inneren Zustand 101 / / 196 Bescreibung der Austrittsmöglickeiten: Austritt aus einem zusammengesetzten Zustand: sobald das mit der Transition assoziierte Ereignis stattfindet, wird jeder beliebige (Unter-)Zustand von A verlassen. Austritt aus einem inneren Zustand: die Transition wird nur genommen, wenn man sic gerade im entsprecenden Zustand (ier: Zustand E) befindet (und das entsprecende Ereignis stattfindet). Außerdem: Austritt über einen Austrittspunkt, über einen Endzustand oder Terminator (wird ier nict beandelt). Beispiel zu Austrittsmöglickeiten: A B C D a E entsprict B C A a a E a D 103 / / 196

27 Auc für Austrittsmöglickeiten müssen wir untersucen, was sic bei Regionen ändert. Austrittsmöglickeiten bei Regionen (grapisc) Austritt aus einem zusammengesetzten Zustand A C B D Austritt aus einem inneren Zustand Austritt über Vereinigung Bescreibung der Austrittsmöglickeiten bei Regionen: Austritt aus einem zusammengesetzten Zustand: dabei wird der zusammengesetzte Zustand verlassen, egal in welcen Unterzuständen man sic gerade befindet. Austritt aus einem inneren Zustand: der zusammengesetzte Zustand wird nur verlassen, wenn man sic in der jeweiligen Region in dem Zustand befindet, der durc den Pfeil verlassen wird. In den anderen Regionen kann man sic in beliebigen Zuständen befinden. (Austritt nur, wenn man sic in der ersten Region in B befindet.) 105 / / 196 Bescreibung der Austrittsmöglickeiten bei Regionen (Fortsetzung): Austritt über Vereinigung: änlic wie bei Aktivitätsdiagrammen wird eine Vereinigung eingesetzt, um merere Regionen zusammenzufüren. Der zusammengesetzte Zustand kann nur verlassen werden, wenn man sic in den Zuständen befindet, von denen Pfeile in die Vereinigung ineinfüren. (Austritt nur, wenn man sic in B und D befindet.) Wieder zurück zur Arbandur. Es gibt ein weiteres Problem: wenn man aus der Alarmeinstellung zurückkert, ist die Zeit auf 0:00 zurückgesetzt! Lösung: Verwendung des Eintritts über die (flace) Historie. Da man im Fall der Zeitanzeige in zwei Regionen gleiczeitig eintreten muss, verwenden wir eine Gabelung. 107 / / 196

28 b Alarm on b off H a a H H entry/beep Stunden Minuten after(1 min) after(1 min) Weiteres Problem: wenn man längere Zeit im Alarm-Zustand verbringt, so wird in dieser Zeit die Minuten-/Stundenanzeige nict entsprecend aktualisiert. Das Time Event (after(1 min)) beziet sic nur auf die Zeit, die seit dem Eintritt in den entsprecenden Zustand vergangen ist. Die Zeitanzeige müsste desalb entsprecend aktualisiert werden. Dieses Problem wird ier nict gelöst. after(1 min)/ 59 after(1 min) 58 after(1 min) / / 196 Was felt noc? Beim Wecseln zwiscen den Alarm-Zuständen (on,off) muss ein Flag (genannt al) gesetzt werden, um damit den beep-effekt zu kontrollieren. Dieses Flag muss mit Hilfe einer Bedingung im Minutenzustand 0 abgefragt werden. Außerdem betreten wir den Zustand Alarm nun nict mer über die flace Historie, sondern fragen mit Hilfe von Bedingungen ab, wie al belegt ist. (Damit ist die Markierung des Anfangszustands eigentlic überflüssig geworden.) Alarm on b/al=0 b/al=1 off a[al==1] a a[al==0] 0 H 23 H 0 entry[al==1]/beep Stunden Minuten after(1 min) after(1 min) 1 after(1 min)/ after(1 min) after(1 min) / / 196

29 Ur Wir modellieren, dass die Batterie der Ur kaputtgeen kann und gewecselt werden muss. In diesem Fall will man den zusammengesetzten Zustand nict über die flace oder tiefe Historie betreten! Es wird also ier tatsäclic die Zeit auf 0:00 zurückgesetzt. Außerdem setzen wir das Flag al beim Einsetzen der Batterie zurück auf den Anfangswert 1. Alarm on b/al=0 b/al=1 off a[al==1] a a[al==0] 0 H 23 H 0 entry[al==1]/beep Stunden Minuten after(1 min) after(1 min) 1 after(1 min)/ after(1 min) after(1 min) Batterie get kaputt Batterie kaputt Neue Batterie wird eingesetzt/al=1 113 / / 196 Ein großer Teil der Modellierungsmöglickeiten von Zustandsautomaten dient dazu, kompakt und übersictlic zu notieren. Oft kann man flacklopfen und zusammengesetzte Zustände auflösen, wodurc man äquivalente erält, die die gleicen Übergänge erlauben. Dabei erält man jedoc im allgemeinen mer Zustände und/oder Transitionen. Wir seen uns einige Beispiele an... Beispiel 1: Wandeln Sie folgendes Zustandsdiagramm in ein flaces Zustandsdiagramm um: f A B a b e c C D d 115 / / 196

30 Lösung zu Beispiel 1: e Beispiel 2: Wandeln Sie folgendes Zustandsdiagramm in ein flaces Zustandsdiagramm um: A a C G g f B b c D d a b c A B C D e E e F Idee: die Transition, die von dem zusammengesetzten Zustand wegfürt, durc merere Transitionen ersetzen, die von den inneren Zuständen ausgeen. 117 / / 196 Lösung zu Beispiel 2: G g Beispiel 3: Wandeln Sie folgendes Zustandsdiagramm in ein flaces Zustandsdiagramm um: e A a b c (B,E) (C,E) (D,E) e e e b c (B,F) (C,F) (D,F) a A B f b H c C D d x X Idee: Kreuzprodukt der Zustandsmengen der Regionen bilden. 119 / / 196

31 Lösung zu Beispiel 3: A(C) a f a f B(C) b A(D) B(D) e Idee: in den äußeren Zuständen muss man sic merken, aus welcem Zustand man den zusammengesetzten Zustand verlassen at. Dies fürt zu zusätzlicen Zuständen. b e c C D d x X Weitere Elemente von n: Untersceidung zwiscen versciedenen Arten von Ereignissen: call event, signal event, cange event, time event, any receive event Verzögern und Ignorieren von Ereignissen Entsceidungen und Kreuzungen Ramen und Wiederverwendung von n Außerdem: Generalisierung und Spezialisierung von n 121 / / 196 Zusammenfassung: Nac Harel werden bzw. deren Eigenscaften durc folgende Formel bescrieben: UML- = Zustandsübergangsdiagramme + Tiefe + Ortogonalität (+ Broadcast-Kommunikation) Dabei stet Ortogonalität für die Parallelität, die durc Regionen erreict werden kann. (sequence diagrams) sind die bekanntesten Vertreter von Interaktionsdiagrammen in UML. Sie dienen dazu, um Kommunikation und Interaktion zwiscen mereren Kommunikationspartnern zu modellieren und beruen auf dem Basiskonzept der Interaktion: Interaktion Eine Interaktion ist das Zusammenspiel von mereren Kommunikationspartnern. Typisce Beispiele: Versenden von Nacricten, Datenaustausc, Metodenaufruf 123 / / 196

32 waren bereits vor Aufname in die UML unter dem Namen message sequence carts bekannt. Im Gegensatz zu Aktivitätsdiagrammen oder n bescreiben sie im allgemeinen nict alle Abläufe eines Systems, sondern nur einen oder merere möglice Abläufe. bescreiben Interaktionen in zwei Dimensionen: Von links nac rects: Anordnung der Kommunikationspartner als Lebenslinien Oft wird der Partner, der den Ablauf initiiert ganz links angegeben. Von oben nac unten: Zeitacse 125 / / 196 Beispiel Restaurant Petra :Gast Menü bringen bestellen Robert :Kellner bestellen Ina :Köcin Mustafa :Kassierer Kommunikationspartner Die Kommunikationspartner in einem Sequenzdiagramm werden änlic wie in Objektdiagrammen als Rectecke notiert. Mancmal werden die Rectecke auc weggelassen. Mensclice Partner werden auc durc ein Stricmänncen symbolisiert: Getränk servieren Essen servieren Essen abolen bezalen Von jedem Kommunikationspartner fürt eine gestricelte Lebenslinie nac unten. 127 / / 196

33 Ausfürungsbalken Aktivitäten eines Kommunikationspartners werden durc sogenannte Ausfürungsbalken dargestellt. Nacricten Die Nacricten bescreiben die Kommunikationen bzw. Interaktionen der Kommunikationspartner und werden durc Pfeile dargestellt. Eine Nacrict at einen Sender und einen Empfänger. Die Stellen, an denen die Pfeile auf den Lebenslinien auftreffen, nennt man auc Sendeereignis und Empfangsereignis. Sender Empfänger Parallele Tätigkeiten eines Kommunikationspartners werden dabei durc übereinander liegende Ausfürungsbalken bescrieben (siee rects oben). Wärend die Balken aktive Zeit anzeigen, symbolisieren die gestricelten Linien passive Zeit. Empfangsereignis Sendeereignis Name der Nacrict 129 / / 196 Fallstudie: Farkartenautomat - Klassendiagramm Fallstudie: Farkartenautomat - Sequenzdiagramm +F_Stufe: car +F_Preis: float +Einname: float FA-Controller +F_anfordern(Stufe:car) +Preis_ber(Stufe:car): float +bezalt(einname:float) FA-Display +Betrag: float +Text: String +Betrag_anz(Preis:float) +Text_anz(Text:string) Kunde F_anfordern C: FA-Controller A: FA-Display G: FA_Geldanname D: FA-Drucker Preis_ber Betrag_anz Anname_öffnen Einwurf bezalt FA-Geldanname Betrag_anz +Einname: float +Anname_öffnen() +Anname scließen() +Einwurf(Betrag:float) +Restgeld(Betrag:float) FA-Drucker +F-Stufe: car +F-Preis: float +F_drucken(S:car,P:float) Einwurf bezalt Betrag_anz Anname_scließen Restgeld F_drucken Text_anz 131 / / 196

34 Syncrone und asyncrone Nacricten Bei syncroner Kommunikation warten Sender und Empfänger aufeinander. Der Sender mact erst dann weiter, wenn er weiß, dass der Empfänger die Nacrict eralten at. Sie wird durc eine scwarze ausgefüllte Pfeilspitze dargestellt. Syncrone und asyncrone Nacricten (Fortsetzung) Bei asyncroner Kommunikation wartet der Sender nict darauf, dass der Empfänger die Nacrict eralten at. Er arbeitet einfac weiter. Die Nacrict wird durc eine einface Pfeilspitze wird dargestellt. Bei asyncronen Nacricten kann es zu einer Zeitverzögerung zwiscen Sende- und Empfangsereignis kommen, die durc einen geneigten Pfeil bescrieben wird (siee oben rects). 133 / / 196 Bei asyncroner Kommunikation (aber nict bei syncroner Kommunikation) kann auc der Fall eintreten, dass sic Nacricten überolen oder kreuzen. Was jedoc nict möglic ist, ist eine Nacrict, die rückwärts in der Zeit läuft und vor dem Senden ankommt. Das Überolen der Nacricten (oben links) ist nur dann nict möglic, wenn man explizit einen FIFO-Kanal fordert. 135 / / 196

35 Es ist jedoc möglic, eine Nacrict an sic selbst zu scicken. Nacricten, die als Antworten auf früere Nacricten gedact sind, werden durc gestricelte Pfeile notiert. Dabei sollte der Name der ursprünglicen Nacrict wiederolt werden. :Gast Gerict aussucen Nacfrage Antwort auf Nacfrage Bei einer syncronen Nacrict sollte man dabei parallele Ausfürungsbalken verwenden, da das Sende- und Empfangsereignis parallel stattfinden müssen. 137 / / 196 Wir macen uns nun Gedanken über die Reienfolge der Ereignisse in einem Sequenzdiagramm. Dazu ist es nützlic sic klarzumacen, was eine (partielle) Ordnung ist. Partielle Ordnung Gegen sei eine Menge X. Eine partielle Ordnung auf X ist eine Relation R X X mit folgenden Eigenscaften: Reflexivität: für jedes x X gilt (x, x) R Transitivität: aus (x 1, x 2 ) R und (x 2, x 3 ) R für x 1, x 2, x 3 X folgt (x 1, x 3 ) R. Antisymmetrie: aus (x 1, x 2 ) R und (x 2, x 1 ) R für x 1, x 2 X folgt x 1 = x 2. Weitere Bezeicnungen: Partielle Ordnung bezeicnet man oft mit dem Zeicen und notiert in Infix-Screibweise (x 1 x 2 statt (x 1, x 2 ) R). Wir screiben x 1 < x 2, falls x 1 x 2 und x 1 x 2. Vorsict: Die Relation < ist selbst keine partielle Ordnung. 139 / / 196

36 Totale Ordnung Eine partielle Ordnung eißt total, wenn für zwei beliebige Elemente x 1, x 2 X immer x 1 x 2 oder x 2 x 1 gilt. Beispiele: Die -Relation auf den ganzen Zalen Z ist eine totale Ordnung. Ein typisces Beispiel für eine partielle Ordnung, die nict total ist, ist die Inklusionsordnung auf Mengen. Reflexiv-transitive Hülle Für eine gegebene Relation R E E bescreiben wir deren reflexiv-transitive Hülle R. Man erält sie aus R, indem man alle Paare (e, e) mit e E zu R inzufügt und bei (e 1, e 2 ), (e 2, e 3 ) R auc (e 1, e 3 ) zu R inzufügt. Dieser Prozess wird so lange wiederolt, bis keine neuen Paare mer inzukommen. Die reflexiv-transitiv Hülle R einer Relation R ist immer reflexiv und transitiv. Sie ist jedoc nict immer antisymmetrisc und daer nict notwendigerweise eine Ordnung. Die Relation R ist die kleinste reflexive und transitive Relation, die R entält. 141 / / 196 Beispiel: Die reflexiv-transitive Hülle von R = {(1, 2), (2, 3), (3, 4), (3, 5)} ist R = {(1, 2), (2, 3), (3, 4), (3, 5), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (1, 3), (1, 4), (1, 5), (2, 4), (2, 5)} Die Elemente von n, die nun geordnet werden, sind die Ereignisse, d.., Sende- und Empfangsereignisse. In den n, wie wir sie biser kennengelernt aben, sind die Ereignisse immer total geordnet, nac folgendem Scema: (Sendeereignis der Nacrict N) < (Empfangsereignis von N) Die restlicen Ereignisse sind entsprecend dem zeitlicen Verlauf geordnet. 143 / / 196

37 Petra :Gast P1 P2 P3 P4 P5 Menü bringen bestellen Getränk servieren R5 Essen servieren Robert :Kellner R3 R1 R2 bestellen R4 Essen abolen R6 bezalen Ina :Köcin I1 I2 Mustafa :Kassierer M1 R1 < P1 < P2 < R2 < R3 < I1 < R4 < P3 < I2 < R5 < R6 < P4 < P5 < M1 In einem einfacen Sequenzdiagramm (Erweiterungen werden noc besprocen) werden daer die Ereignisse immer in eine Reienfolge gebract. Die Ordnung ist daer total. Im folgenden Diagramm gilt beispielsweise: A1 < B1 < C1 < D1 A1 A B C D B1 C1 D1 145 / / 196 Nict so günstig sind Diagramme, aus denen die Reienfolge von Nacricten nict klar ervorget: A B C D A B A1 B1 C1 D1 Äquivalenz von n Zwei sind äquivalent, wenn sie die gleicen Ereignisse entalten und die Reienfolge der Ereignisse identisc ist. Dabei können die Diagramme durcaus verscieden gezeicnet sein (andere Reienfolge der Kommunikationspartner, versciedene Abstände zwiscen den Ereignissen,... ). Insbesondere ist die Darstellung ecter Parallelität in n nict vorgeseen. 147 / / 196

38 Biser aben wir geseen, wie man mit einem Sequenzdiagramm einen möglicen Ablauf bescreiben kann. In mancen Fällen möcte man jedoc merere (vielleict sogar alle) Abläufe bescreiben. Dazu gibt es die Möglickeit, kombinierte Fragmente zu verwenden, bei denen merere (Interaktions-)Operanden (= Teil-) mit Hilfe von Interaktions-Operatoren zusammengesetzt werden. Wir betracten im folgenden einige dieser Interaktions-Operatoren. Interaktionsoperator par (Parallelität) Hier sind die Operanden in beliebiger Reienfolge ausfürbar. Die Reienfolge der Ereignisse in den Operanden muss aber gewart werden, ansonsten gibt es keine Bedingungen. par X1 X2 X3 :X :Y Y1 Y2 Y3 Dabei wird der Operator par links oben in der Ecke angegeben. Eine gestricelte waagrecte Linie trennt die versciedenen Operanden. 149 / / 196 Nacricten, die von einem Operanden in einen anderen laufen, sind nict zugelassen. :X :Y Ordnung auf den Ereignissen: X1 < Y1 < Y2 < X2 (Operand 1) X3 < Y3 (Operand 2) Ansonsten gibt es keine weiteren Einscränkungen par X1 Y1 Dieses Sequenzdiagramm bescreibt insgesamt fünfzen Abläufe, beispielsweise: X1, Y1, X3, Y3, Y2, X2 X3, X1, Y1, Y2, X2, Y / / 196

39 Weitere Bemerkungen: um die Ereignis-Ordnung inneralb eines par-operators zu bestimmen... verwendet man die partiellen Ordnungen der einzelnen Operanden ( 1, 2 ) und vereinigt diese. Die Vereinigung 1 2 ist ebenfalls eine partielle Ordnung und bescreibt alle möglicen Reienfolgen von Ereignissen. Jede Ereignisreienfolge, bei der ein Ereignis X immer vor einem Ereignis Y auftritt, falls X<Y gilt, ist eine möglice Reienfolge. Interaktionsoperator seq (scwace Sequenz) Die Reienfolge der Ereignisse in den Operanden muss wieder gewart werden, außerdem ist die Reienfolge der Ereignisse auf den Lebenslinien (von oben nac unten) festgelegt. seq X1 X2 :X :Y :Z :W Y1 Y2 Z1 Z2 153 / / 196 Ordnung auf den Ereignissen: X1 < Y1 < Z1 < Z2 (Operand 1) X2 < Y2 (Operand 2) X1 < X2 (Lebenslinie von X) Y1 < Y2 (Lebenslinie von Y) Dieses Sequenzdiagramm bescreibt neun versciedene Abläufe, beispielsweise: X1, X2, Y1, Z1, Z2, Y2 X1, Y1, X2, Y2, Z1, Z2... Weitere Bemerkungen: um die Ereignis-Ordnung inneralb eines seq-operators zu bestimmen... verwendet man die partiellen Ordnungen der einzelnen Operanden ( 1, 2 ), außerdem die partiellen Ordnungen der einzelnen Lebenslinien ( X, Y,... ), vereinigt diese und bestimmt die reflexiv-transitive Hülle. Dabei entstet eine partielle Ordnung, die alle möglicen Reienfolgen von Ereignissen bescreibt. 155 / / 196

40 Bei Interaktions-Operanden ist es außerdem möglic, zusätzlice Ordnungsbezieungen einzufüre, die ansonsten nict abgedeckt sind. (Durc gestricelte Linien mit Pfeil in der Mitte.) par X1 X2 :X :Y :Z :W Y1 Y2 Z1 Z2 Weitere Interaktions-Operatoren (Liste ist nict vollständig): strict (Strikte Sequenz): Die Reienfolge der Ereignisse wird von oben nac unten strikt eingealten (wie in einem einzelnen Operanden). alt (Alternative): entsprecend einer If-Ten-Else-Anweisung (mit Bedingungen) neg (Negation): bescreibt eine ungültige Nacrictenreienfolge loop (Scleife): bescreibt die Wiederolung eines Operanden Die neue partielle Ordnung kann man ier dadurc bestimmen, indem man die neuen Paare inzufügt und die reflexiv-transitive Hülle der Gesamtrelation bildet. 157 / / 196 S1 :Client S2 :Server :DNS E2 :Server E1 :Client Beispiel: wir modellieren ein Protokoll, bei dem ein Client-Recner S einen an einen anderen Client R verscickt. Weitere Beteiligte sind der Mail-Server von S, der Mail-Server von R und der DNS-Server, der benötigt wird, um Mail-Adressen in die IP-Adressen des entsprecenden Servers umzuwandeln (DNS = domain name system). Mail einliefern Frage nac IP-Adresse IP-Adresse von E2 Kontaktaufname Verifiziere, ob Name von S2 korrekt Antwort Verifikation Bestätigung der Kontaktaufname Verscicken der Mail Bestätigen der Mail par Mail ausliefern Bestätigung Ausliefern Bestätigung Einliefern 159 / / 196

UML: Einführung. Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. UML und Objekt-Orientierung

UML: Einführung. Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12. UML und Objekt-Orientierung UML: Einfürung Vorlesung Modellierung Modellierungsmetoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink UML = Unified Modeling Language Standard-Modellierungssprace

Mehr

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12

Vorlesung Modellierung Modellierungsmethoden der Informatik. Wintersemester 2011/12 Vorlesung Modellierung Modellierungsmethoden der Informatik Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Dr. Sander Bruggink Barbara König Modellierung 1 UML: Einführung Einführung in die

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

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

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

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

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

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

Vorlesung Modellierung Wintersemester 2014/15. UML (Folien teilw. von Prof. B. König)

Vorlesung Modellierung Wintersemester 2014/15. UML (Folien teilw. von Prof. B. König) Vorlesung Modellierung Wintersemester 2014/15 (Folien teilw. von Prof. B. König) Prof. Norbert Fuhr 1 / 196 : Einführung = Unified Modeling Language Standard-Modellierungssprache für Software Engineering.

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

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

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 Grundlagen, Zustandsautomat. Zustandsautomaten bilden eine Erweiterung der endlichen Automaten

UML Grundlagen, Zustandsautomat. Zustandsautomaten bilden eine Erweiterung der endlichen Automaten Zustandsautomaten bilden eine Erweiterung der endlichen Automaten angereichert um zusätzliche Elemente Bedingungen Verzweigungen theoretische Wurzeln: David Harel, 1985 DI. Helmut Tockner 1 Zustandsautomaten

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

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

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

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 6a: Modellierung Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Computertechnik Man kann Software auf 2 Arten herstellen: Entweder macht man sie so klar und einfach,

Mehr

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

Software Engineering, SoSe 07, WSI, D. Huson, May 7, Software Engineering, SoSe 07, WSI, D. Huson, May 7, 2007 17 4 Modellierung in UML Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken. 4.1

Mehr

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm

Objektorientierte Analyse (OOA) Dynamisches Modell. Objektorientierte Analyse (OOA) Sequenzdiagramm Inhalte Sequenzdiagramm Kollaborationsdiagramm Dynamisches Modell Seite 1 Sequenzdiagramm Ein Sequenzdiagramm beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb

Mehr

4.3.2 Ableitungsregeln

4.3.2 Ableitungsregeln Vorbereitungskurs auf die Aufnameprüfung der ETH: Matematik 4.3.2 Ableitungsregeln Der Differentialquotient [s. 43] zur Definition der Ableitung beinaltet eine Grenzwertbildung Limes), welce meist dadurc

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

Sequenz- und Kommunikationsdiagrammen. Systemmodellierung mit SysML von Michel Manthey

Sequenz- und Kommunikationsdiagrammen. Systemmodellierung mit SysML von Michel Manthey Sequenz- und Kommunikationsdiagrammen von Michel Manthey 1 Interaktionsdiagramme Sequenzdiagramme (auch in SysML) Kommunikationsdiagramme Zeitdiagramme Interaktionsübersichtsdiagramme von Michel Manthey

Mehr

Linear. Halbkreis. Parabel

Linear. Halbkreis. Parabel Vom Parabolspiegel zur Ableitungsfunktion Im Folgenden get es darum erauszufinden, was ein Parabolspiegel ist und wie er funktioniert. Das fürt uns auf wictige Fragen eines Teilgebietes der Matematik,

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

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

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

Teil II: OOP und JAVA (Vorlesung 9)

Teil II: OOP und JAVA (Vorlesung 9) Teil II: OOP und JAVA (Vorlesung 9) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 14.06.06 1 Teil

Mehr

INSPIRE - Modellierung

INSPIRE - Modellierung INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache

Mehr

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014

Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Vorlesung des Software-Engineering im Sommersemester 214 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lerstul XIV Teil 2.6: Mining: Zusätzlice Perspektiven v. 1.6.214 1 [mit freundlicer Genemigung

Mehr

Aktivitätsdiagramm. 1 b b,c a,d b,d b,d 2 a,b,d a,d a,c a,b,c b,c 3 a c,d a,b a,d a,b 4 c,d c b,c a,d d 5 c,d a,c a,b d c

Aktivitätsdiagramm. 1 b b,c a,d b,d b,d 2 a,b,d a,d a,c a,b,c b,c 3 a c,d a,b a,d a,b 4 c,d c b,c a,d d 5 c,d a,c a,b d c Anhang In diesem Abschnitt sind Lösungen für die Übungsaufgaben zu finden. Zuerst werden die Antworten zu den Multiple-Choice-Fragen gegeben und anschließend beispielhafte grafische Diagramme zu der praktischen

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

OOA-Dynamische Konzepte

OOA-Dynamische Konzepte Proseminar UML im SS 2005 OOA-Dynamische Konzepte Teil 2 von Benjamin Daeumlich 1 Übersicht Szenario Definition Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Sequenz- vs. Kommunikationsdiagramm

Mehr

Objektorientiertes Design

Objektorientiertes Design Objektorientiertes Design Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1

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

Modellierung Bachelor AI, Bachelor Komedia, Bachelor ISE, Master BWL, sonstige Stdg. Wintersemester 2014/2015

Modellierung Bachelor AI, Bachelor Komedia, Bachelor ISE, Master BWL, sonstige Stdg. Wintersemester 2014/2015 Universität Duisburg-Essen Ingenieurwissenschaften / Abteilung Informatik und Angewandte Kognitionswissenschaft Prof. Dr.-Ing. Norbert Fuhr 47048 Duisburg Lotharstraße 65 Modellierung Bachelor AI, Bachelor

Mehr

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 8 -

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 8 - Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 8 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule

Mehr

Klassendiagramm. (class diagram)

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

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Geometrisch ergibt sich deren Graph als Schnitt von G mit der senkrechten Ebene y = b bzw. x = a:

Geometrisch ergibt sich deren Graph als Schnitt von G mit der senkrechten Ebene y = b bzw. x = a: Fläcen im Raum Grap und Scnittkurven Im ganzen Artikel bezeicnet D eine Teilmenge des R 2 und eine skalarwertige Funktion in zwei Veränderlicen. Der Grap f : D R 2 R : (x, y) z = f(x, y) G = { (x, y, z)

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

Anleitung zur Berechnung von Ableitungsfunktionen

Anleitung zur Berechnung von Ableitungsfunktionen Matematik 11d 7..009 Stefan Krissel Anleitung zur Berecnung von Ableitungsfunktionen Prolog Es gibt nict das Verfaren zur Berecnung der Ableitungsfunktion, genausowenig wie es das Verfaren zum Screiben

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

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

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

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

Numerisches Programmieren, Übungen

Numerisches Programmieren, Übungen Tecnisce Universität Müncen SoSe 2013 Institut für Informatik Prof. Dr. Tomas Huckle Dipl.-Inf. Cristop Riesinger Dipl.-Mat. Jürgen Bräckle Numerisces Programmieren, Übungen 2. Übungsblatt: Kondition,

Mehr

VORKURS MATHEMATIK DRAISMA JAN, ÜBERARBEITET VON BÜHLER IRMGARD UND TURI LUCA

VORKURS MATHEMATIK DRAISMA JAN, ÜBERARBEITET VON BÜHLER IRMGARD UND TURI LUCA VORKURS MATHEMATIK DRAISMA JAN, ÜBERARBEITET VON BÜHLER IRMGARD UND TURI LUCA Mittwoc: Ableiten, Kurvendiskussionen, Optimieren, Folgen und Reien Betracte auf einem Hügel einen Weg, dessen Seitenansict

Mehr

Software-Engineering

Software-Engineering SWE43 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML SWE43 Slide 2 UML: Was ist das? UML = Unified Modelling Language ist ein Standard,

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

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Grundkonzepte der UML Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

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 mtr@is.informatik.uni-kiel.de 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.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

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

ANWENDUNGSFALLDIAGRAMM:

ANWENDUNGSFALLDIAGRAMM: EINFÜHRUNG Ein UML Modell kann folgende unterschiedliche Sichtweisen auf den Problemlösungsbereich (Aspekte) enthalten: Dynamische Aspekte Softwareorganisatorische Aspekte Statische Aspekte Welche Aussagen

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 niete@oio.de Dirk M. Sohn sohn@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim 1 Allgemeine Notationselemente Paketnamen {Eigenschaftswerte} Notiz Paketnamen

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

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

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

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

Numerische Simulation von Differential-Gleichungen der Himmelsmechanik

Numerische Simulation von Differential-Gleichungen der Himmelsmechanik Numerisce Simulation von Differential-Gleicungen der Himmelsmecanik Teilnemer: Max Dubiel (Andreas-Oberscule) Frank Essenberger (Herder-Oberscule) Constantin Krüger (Andreas-Oberscule) Gabriel Preuß (Heinric-Hertz-Oberscule)

Mehr

Comelio GmbH - Goethestr Berlin. Course Catalog

Comelio GmbH - Goethestr Berlin. Course Catalog Comelio GmbH - Goethestr. 34-13086 Berlin Course Catalog 2 Table Of Contents a. Locations... 3 1. UML... 4 i. Design und Analyse... 4 ii. Notation und Konzepte...6 iii. OCUP Zertifizierung (Advanced)...8

Mehr

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

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

TU Dresden Fakultät Mathematik Institut für Numerische Mathematik 1

TU Dresden Fakultät Mathematik Institut für Numerische Mathematik 1 TU Dresden Fakultät Matematik Institut für Numerisce Matematik Lösung zur Aufgabe 4 (a) des 9. Übungsblattes größtmöglicer Definitionsbereic: Die Funktion ist überall definiert, außer an der Stelle = 3

Mehr

Tabellarische Kurzreferenz der UML-Elemente

Tabellarische Kurzreferenz der UML-Elemente Tabellarische Kurzreferenz der UML-Elemente Version 2.0 Vanessa Petrausch 1 Klassendiagramm Die folgenden Tabellen fassen die einzelnen Elemente abstrahiert zusammen. In Spalte 1 steht der Name des Elements,

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

Vgl. Oestereich Kap 2.4 Seiten

Vgl. Oestereich Kap 2.4 Seiten Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß

Mehr

3.2 Polarkoordinaten und exponentielle Darstellung

3.2 Polarkoordinaten und exponentielle Darstellung 42 3.2 Polarkoordinaten und exponentielle Darstellung Ein Punkt z = a + bi der Gaußscen Zalenebene ist durc seine kartesiscen Koordinaten a und b eindeutig festgelegt. Man kann jedoc auc zwei andere Grössen

Mehr

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

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte

Mehr

Zustände Zustandsdiagramme

Zustände Zustandsdiagramme Zustände Zustandsdiagramme Ereignisse Zustandsübergänge Dr. Beatrice Amrhein Überblick Definition Anwendungsbereich Zustände/Zustandsübergänge Aktionen Ereignisse 2 Verwendung von Zuständen 3 Verwendung

Mehr

UML - Zustandsdiagramm

UML - Zustandsdiagramm Name Klasse Datum 1 Allgemeines Die Zustandsdiagramme in UML basieren im Wesentlichen auf den Statecharts von David Harel. Der Grundgedanke ist, das Verhalten eines endlichen Zustandsautomaten grafisch

Mehr

PACKAGING DESIGN LIMBIC SCHMIDT SPIELE KNIFFEL MASTER

PACKAGING DESIGN LIMBIC SCHMIDT SPIELE KNIFFEL MASTER PAKAGING DESIGN LIMBI SHMIDT SPIELE KNIFFEL MASTER 16. Präsentation 03. Dezember 2014 Für alle Kniffel-Fans dürfte Einiges bei Kniffel Master scon bekannt sein. Der blaue Text kann daer von allen überspruen

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. UML: Sequenzdiagramm 1 Motivation Es

Mehr

6. Die Exponentialfunktionen (und Logarithmen).

6. Die Exponentialfunktionen (und Logarithmen). 6- Funktionen 6 Die Eponentialfunktionen (und Logaritmen) Eine ganz wictige Klasse von Funktionen f : R R bilden die Eponentialfunktionen f() = c ep( ) = c e, ier sind, c feste reelle Zalen (um Trivialfälle

Mehr

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO

Softwaretechnik. Kapitel 11 : Zustandsdiagramme. Statecharts / State Machines Historisches. State Machines in UML Verwendung in OO Statecharts / Historisches Softwaretechnik Kapitel 11 : Zustandsdiagramme Kurt Stenzel, Hella Seebach Statecharts entstanden als Verallgemeinerung von Automaten Beschreibung von Zustandsübergangsystemen

Mehr

State diagrams (Zustandsautomaten)

State diagrams (Zustandsautomaten) State diagrams (Zustandsautomaten) Allgemeines Zustandsautomaten geben Antworten auf die Frage Wie verhält sich das System in einem bestimmten Zustand bei gewissen Ereignissen?. Sie spezifizieren somit

Mehr

PN1 Einführung in die Physik für Chemiker 1 Prof. J. Lipfert

PN1 Einführung in die Physik für Chemiker 1 Prof. J. Lipfert PN Einfürung in die Pysik für Cemiker Prof. J. Lipfert en zu Übungsblatt 7 WS 203/4 en zu Übungsblatt 7 Aufgabe Ballscleuder. Zwei Bälle werden übereinander und gleiczeitig fallen gelassen. Die Massen

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

1 Analytische Geometrie und Grundlagen

1 Analytische Geometrie und Grundlagen $Id: vektor.tex,v 1.41 2018/05/08 15:50:54 k Exp $ 1 Analytisce Geometrie und Grundlagen 1.5 Abstände und Winkel Am Ende der letzten Sitzung atten wir eine metrisce Form des Stralensatzes ergeleiten, gegeben

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

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 07.05.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung zu Kapitel 3: Von (E)ER nach UML Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch Aus den Videos wissen

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für

Mehr

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen.

Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Besteht aus Aktoren (actors) und use-cases sowie deren Verbindungen. Shop Käufer Einkauf Verkauf Verwaltung Händler Hersteller Actor: Jemand oder etwas, der/das mit dem zu entwickelnden System interagiert

Mehr

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch

Abbildungsverweise PlantUML Code. Version 1.0 Vanessa Petrausch Abbildungsverweise PlantUML Code Version 1.0 Vanessa Petrausch Inhaltsverzeichnis INHALTSVERZEICHNIS 1 AUFBAU DES DOKUMENTS 5 2 KLASSENDIAGRAMM 7 3 ANWENDUNGSFALLDIAGRAMM 9 4 AKTIVITÄTSDIAGRAMM 11 5 ZUSTANDSDIAGRAMM

Mehr

Orientierungsaufgaben für die BESONDERE LEISTUNGSFESTSTELLUNG ab 2015 MATHEMATIK

Orientierungsaufgaben für die BESONDERE LEISTUNGSFESTSTELLUNG ab 2015 MATHEMATIK Orientierungsaufgaben für die BESONDERE LEISTUNGSFESTSTELLUNG ab 2015 MATHEMATIK Im Auftrag des TMBWK erarbeitet von den Facberaterinnen und Facberatern Matematik Gymnasium. Hinweise für Prüfungsteilnemerinnen

Mehr

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

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen. Media Engineering Objektorientierte Modellierung Verhaltensmodellierung R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.de Objektorientierte Analyse und Design im Detail Identifiziere Akteure

Mehr

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

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Modellbasierter Test mit der UML Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Inhalt Einleitung und Motivation UML Testgenerierung Fazit Inhalt Einleitung und Motivation UML

Mehr

9 Anhang. 9.1 Verhältnisgleichungen. 9.2 Strahlensätze. Elemente der Geometrie 22

9 Anhang. 9.1 Verhältnisgleichungen. 9.2 Strahlensätze. Elemente der Geometrie 22 Elemente der Geometrie 9 Anang 9.1 Verältnisgleicungen Verältnisgleicungen sind spezielle Formen von Gleicungen. Es a werden zwei Quotienten gleic gesetzt. Die Gleicung! b = c d kann man auc screiben als!a:b

Mehr

Differentialrechnung. Kapitel 7. Differenzenquotient. Graphische Interpretation des Differentialquotienten. Differentialquotient

Differentialrechnung. Kapitel 7. Differenzenquotient. Graphische Interpretation des Differentialquotienten. Differentialquotient Differenzenquotient Sei f : R R eine Funktion. Der Quotient Kapitel 7 Differentialrecnung f f 0 + f 0 f f 0 0 eißt Differenzenquotient an der Stelle 0. f, f Sekante 0, f 0 f 0 Josef Leydold Matematik für

Mehr

Funktionentheorie A. K. Hulek

Funktionentheorie A. K. Hulek Funktionenteorie A K. Hulek 1 Holomorpe Funktionen Die wictigsten Objekte dieser Vorlesung sind die olomorpen Funktionen. Es sei U C offen, f : U C eine Abbildung und z 0 U ein Punkt. Definition (i Die

Mehr

Informatik II Modellierung Übung 5 Petrinetze/Klassendiagramme

Informatik II Modellierung Übung 5 Petrinetze/Klassendiagramme I Informatik II Modellierung Übung 5 Petrinetze/Klassendiagramme Abgabetermin: 11. Juni 24.00 Uhr Per e-mail an Tutor Seite 1 / 9 Aufgabe 1 (3%) Klassendiagramme von einer abstrakten Klasse können keine

Mehr

Grundlagen der Differentialrechnung

Grundlagen der Differentialrechnung Grundlagen der Differentialrecnung Wolfgang Kippels 26. Oktober 2018 Inaltsverzeicnis 1 Vorwort 2 2 Grundprinzip der Differenzialrecnung 3 3 Ableiten von Funktionen 7 3.1 Ableitungen wictiger Grundfunktionen:..................

Mehr

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets

Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets Statecharts in UML Grundlagen und Übersetzung in Colored Petri Nets von André Kaiser 25.10.2004 André Kaiser - Statecharts in UML 1 Überblick Statecharts Konzepte und Darstellung Übersetzung UML-Statechart-Model

Mehr

Objektorientierte Analyse (OOA) Übersicht

Objektorientierte Analyse (OOA) Übersicht Übersicht UML ist die Notation für ein objektorientiertes Vorgehensmodell, sowohl für die Analyse als auch für das Design. Analyse (WAS?) Use Cases Aktivitätsdiagramme (für die Use Cases) Klassendiagramme

Mehr

Skulptur. 0,25 m. 1,65 m 1,7 m Sockel. 0,6 m 0,6 m 10 m. Aufgabe 1: Die Skulptur

Skulptur. 0,25 m. 1,65 m 1,7 m Sockel. 0,6 m 0,6 m 10 m. Aufgabe 1: Die Skulptur Aufgabe 1: Die Skulptur Um die Höe einer Skulptur zu bestimmen, die auf einem Sockel stet, stellt sic eine Person (Augenöe 1,70 m) in einer Entfernung von 10 m mit dem Rücken zur Skulptur und ält sic einen

Mehr

Übersicht. Einführung Universelles Hashing Perfektes Hashing

Übersicht. Einführung Universelles Hashing Perfektes Hashing Hasing Übersict Einfürung Universelles Hasing Perfektes Hasing 2 Das Wörterbuc-Problem Gegeben: Universum U = [0 N-1], wobei N eine natürlice Zal ist. Ziel: Verwalte Menge S U mit folgenden Operationen.

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

Zentrale schriftliche Abiturprüfungen im Fach Mathematik

Zentrale schriftliche Abiturprüfungen im Fach Mathematik Aufgabe 2 Wetterstation Aufgabe aus der scriftlicen Abiturprüfung Hamburg 05. In einer Wetterstation wird die Aufzeicnung eines Niedersclagmessgeräts vom Vortag (im Zeitraum von 0 Ur bis Ur) ausgewertet.

Mehr

Jgst. 11/I 1.Klausur

Jgst. 11/I 1.Klausur Jgst. /I.Klausur..00 A. Bestimme den Scnittpunkt und den Scnittwinkel der beiden folgenden Geraden: g : x y = 5 : + y = 5x Zunäcst müssen die beiden Geraden auf Normalform gebract werden: x y = 5 y = x

Mehr