Inhalt Softwaretechnik (MN) Kapitel 5

Größe: px
Ab Seite anzeigen:

Download "Inhalt Softwaretechnik (MN) Kapitel 5"

Transkript

1 Inhalt Softwaretechnik (MN) Kapitel 5 1. Einführung 2. Anforderungsanalyse und Use Cases 3. Grundlagen der objektorientierten Analyse (OOA): Das Klassendiagramm 4. Von der objektorientierten Analyse (OOA) zum objektorientierten Design (OOD) und zum Code 5. Dynamische Diagramme der UML 5.1 Aktivitätsdiagramm 5.2 Sequenzdiagramm 5.3 Zustandsdiagramm 6. Entwurfsmuster (Pattern) 7. Testen Schestag Softwaretechnik (MN) Kapitel 5 / 1

2 Ergänzungen zu Kapitel 4 (1) Umsetzung eines UML Klassendiagramms Analysesicht Designsicht C++ Source Analysesicht (UML) Desingsicht (C++) Konto.cpp Schestag Softwaretechnik (MN) Kapitel 5 / 2

3 Ergänzungen zu Kapitel 4 (2) Implementierung der Navigationsrichtungen einer Assoziation durch Referenzattribute: Analysesicht (UML) Desingsicht (C++) Schestag Softwaretechnik (MN) Kapitel 5 / 3

4 Ergänzungen zu Kapitel 4 (3) Folgende strategische Überlegungen sind vor der Implementierung einer Navigationsrichtung durchzuführen bzw. zu bedenken: Dominiert die Zahl der Prozesse, in denen eine Fachbereichsinstanz ihre assoziierten Studenten kennen sollte? Wenn ja, dann implementiere das Referenzattribut students vom Typ set(student*) in der Klasse Fachbereich. Dominiert die Zahl der Prozesse, in denen eine Studenteninstanz ihren assoziierten Fachbereich kennen sollte? Wenn ja, dann implementiere das Referenzattribut *fachbereich vom Typ Fachbereich in der Klasse Student. Die Implementierung beider Referenzattribute erhöht die Geschwindigkeit beim Suchen von Informationen, aber sie fordert auch einen erhöhten Aufwand bei Updates: Bei der Immatrikulation eines Studenten für einen Fachbereich muss nicht nur die Studenteninstanz den entsprechenden Fachbereichspointer erhalten, sondern auch das set Attribut students einen zusätzlichen Eintrag erhalten. Eine Assoziation ist immer dann implementiert, wenn mindestens eine der beiden Navigationsrichtungen implementiert ist! Ist in der Analysesicht ein Rollenname angegeben, so bietet sich dieser an als Bezeichner für das entsprechende Referenzattribut. Schestag Softwaretechnik (MN) Kapitel 5 / 4

5 5 Dynamische UML Diagramme (1) Die Diagramme der UML 2.0 im Überblick: UML 1.4: Kollaborations diagramm Schestag Softwaretechnik (MN) Kapitel 5 / 5

6 5 Dynamische UML Diagramme (2) Die UML eignet sich zur durchgängigen (OO) Modellierung statischer und dynamischer Aspekte bis zur Implementierung und stellt dafür unterschiedliche Diagrammkategorien zur Verfügung: Statische Diagramme (Strukturdiagramme) Klassendiagramm Objektdiagramm Paketdiagramm Dynamische Diagramme (Verhaltensdiagramme) Use Case Diagramm Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm (bis UML 1.4: Kollaborationsdiagramm) Zustands(übergangs)diagramm Aktivitätendiagramm Implementationsdiagramme (behandeln wir nicht im Rahmen dieser Vorlesung) Komponentendiagramm Verteilungsdiagramm Schestag Softwaretechnik (MN) Kapitel 5 / 6

7 5 Dynamische UML Diagramme (3) Szenarien bilden die Grundlage für die Erstellung dynamischer Diagramme Ein Szenario ist eine Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen ist. Diese Schritte sollen das Hauptziel des Akteurs realisieren und ein entsprechendes Ergebnis liefern. Sie beginnen mit dem auslösenden Ereignis und werden fortgesetzt, bis das Ziel erreicht ist oder aufgegeben wird. Ein Anwendungsfall kann durch ein einzelnes Szenario oder durch eine Kollektion von Szenarien dokumentiert werden. Jedes Szenario wird durch eine oder mehrere Bedingungen definiert, die zu einem speziellen Ablauf des jeweiligen Anwendungsfalls führen. Ein Akteur ist eine außerhalb des Systems liegende Rolle, z.b. ein Benutzer oder ein externes System. Der Akteur löst ein Szenario aus. Schestag Softwaretechnik (MN) Kapitel 5 / 7

8 5 Dynamische UML Diagramme (4) Ziel der Erstellung unterschiedlicher UML Diagramme ist es, ein Gesamtsystem und dessen zu implementierenden Komponenten also die Klassen auf Vollständigkeit zu überprüfen im Gesamtentwurf. Hierbei ist es notwendig, das Gesamtsystem unter den unterschiedlichsten Aspekten zu betrachten. UseCase3 «extend» Actor 1 Use Case 1 Use Case 4 «include» Actor 2 UseCase2 Use Case Diagramm(e) Subjekt1 1 * 1 * KonkretesSubjekt1 Kennung Use Case: Titel Autor, Datum, Version Zweck (kurze Beschreibung) Kennung Use Case: Titel Kontext: NameSystem NameSubsystem NameProzeß Autor, Datum, Version beteiligte Aktoren Zweck (kurze Beschreibung) auslösende Ereignisse Kennung Use Case: Vorbedingungen, Titel die erfüllt sein müssen Kontext: NameSystem relevante NameSubsystem Eingangs- und Ausgangsdaten NameProzeßund -signale Autor, Datum, Version beteiligte Aktoren (Verweis auf die Schnittstellen-Spezifikation) Zweck (kurze Beschreibung) auslösende Ereignisse kritische Ausnahmesituationen bzw. Fehlerfälle Vorbedingungen, die erfüllt sein müssen Kontext: NameSystem relevante NameSubsystem Eingangs- und Ausgangsdaten NameProzeß und -signale (Verweis auf die wesentliche Schnittstellen-Spezifikation) Ergebnisse beteiligte Aktoren auslösende Ereignisse kritische Ausnahmesituationen Nachbedingungen bzw. Fehlerfälle Vorbedingungen, die erfüllt sein nachgeordnete müssen Nutzungsfälle relevante Eingangs- und Ausgangsdaten Verweis auf und zugehörige -signale Szenarios wesentliche Ergebnisse (Verweis auf die Schnittstellen-Spezifikation) relevante funktionale Anforderungen kritische Ausnahmesituationen Nachbedingungen bzw. Fehlerfälle nachgeordnete Nutzungsfälle Verweis auf zugehörige Szenarios wesentliche Ergebnisse relevante funktionale Anforderungen Nachbedingungen nachgeordnete Nutzungsfälle Verweis auf zugehörige Szenarios relevante funktionale Anforderungen... Szenario / Szenarien pro Use Case Subjekt2 KonkretesSubjekt2 Sind die Attribute vollständig? Sind die Methoden vollständig? Klassendiagramm Schestag Softwaretechnik (MN) Kapitel 5 / 8

9 5.1 Aktivitätsdiagramm die Funktionalität Aktivitätsdiagramme sind eine Variante des Zustandsdiagramms (vgl. 5.3) und eignen sich gut zur Geschäftsprozessmodellierung. Sie sind vergleichbar mit den «alten» Flussdiagrammen bzw. Programmablaufplänen (PAPs) und eignen sich deshalb gut für Kontrollflussdarstellungen Akitivitätsdiagramme dienen der Beschreibung von Abläufen: Was tun die einzelnen Schritte eines Ablaufs? In welcher Reihenfolge werden sie ausgeführt? Wer ist für einen Schritt verantwortlich (optional)? Einsatzfelder: Beschreibung zur Realisierung einer komplexen Operation: Die einzelnen Schritte eines Aktivitätsdiagramms repräsentieren die Folge von Anweisungen der Operation. Beschreibung einer Folge von Schritten eines Anwendungsfalls Beschreibung des Zusammenspiels von Anwendungsfällen Beschreibung von Geschäftsprozessen Schestag Softwaretechnik (MN) Kapitel 5 / 9

10 5.1 Aktivitätsdiagramm die Komponenten (1) Aktivitätsdiagramme benutzen die folgenden Komponenten: Beginn und Ende des Ablaufs werden durch einen eindeutigen Start und möglicherweise mehrere Endezustände markiert. Startzustand: Endezustand: Man unterscheidet zwischen Aktion und Aktivität: Eine Aktion ist atomar, d. h. sie kann nicht weiter zerlegt und darf nicht während ihrer Ausführung unterbrochen werden. Aktion Eine Aktivität besitzt eine komplexe Struktur und kann z. B. selbst wieder durch ein Aktivitätsdiagramm beschrieben werden. Aktivität Im Folgenden benutzen wir den generischen Ausdruck Aktivität(szustand) Schestag Softwaretechnik (MN) Kapitel 5 / 10

11 5.1 Aktivitätsdiagramm die Komponenten (2) Alle Zustände eines Aktivitätsdiagramms sind untereinander durch gerichtete Kontrollflusskanten verbunden, die die Ausführungsreihenfolge der einzelnen Schritte festlegen. Man spricht auch von Transition (Übergang) und von Transitionspfeilen. A B Ist die Ausführung von A abgeschlossen, so wird automatisch der Übergang nach B ausgelöst und mit der Ausführung von B begonnen. Bedingte Transitionen: [Bedingung] B1 A C [ Bedingung] B2 Schestag Softwaretechnik (MN) Kapitel 5 / 11

12 5.1 Aktivitätsdiagramm die Komponenten (3) Beschreibung von Nebenläufigkeiten: Die Gabelung (Splitting) kennzeichnet den Beginn einer Nebenläufigkeit: Von einem Synchronisationsbalken aus führen mehrere Transitionen weg. Die Synchronisation (Vereinigung, Join) zeigt das Ende der Nebenläufigkeit an: Gabelung Vereinigung (Join) Zusammenführung UND Entscheidungsknoten: Einem Entscheidungsknoten sind eine oder mehrere eingehende Transitionen und zwei oder mehrere ausgehende Transitionen zugeordnet. Komplexe Entscheidungen können so in Form von Entscheidungsbäumen dargestellt werden. Alle ausgehenden Transitionen müssen paarweise disjunkte Bedingungen tragen. Entscheidung Zusammenführung ODER Schestag Softwaretechnik (MN) Kapitel 5 / 12

13 5.1 Aktivitätsdiagramm Aktivitäten und Übergänge (Zusammenfassung) Eine Aktivität ist ein Zustand mit interner Aktion, sie entspricht einem Zustand bei Zustandsautomaten (vgl. 5.3). Übergänge (Transitionen) modellieren den Kontrollfluss und den Objektfluss, z.b. bei Anwendungsfällen, beim Zusammenspiel verschiedener Operationen, zur Beschreibung des Ablaufs in einer Operation. Übergänge (Transitionen) sind i. d. R. nicht abhängig von Ereignissen, können unter einer bestimmten Bedingungen ausgeführt werden, Können aufgeteilt und wieder synchronisiert werden durch einen Synchronisationsbalken, zusätzliche Synchronisationsbedingungen sind möglich. Schestag Softwaretechnik (MN) Kapitel 5 / 13

14 5.1 Aktivitätsdiagramm ein erstes einfaches Beispiel Schaden feststellen selbst bezahlen Schaden melden Schaden vermerken mit anderen Versicherungen verhandeln [Eigenverschulden] Prämie erhöhen [Fremdverschulden] [AND] Quelle: Dr. Michael Hahsler, Abteilung für Informationswirtschaft, WU Wien Schestag Softwaretechnik (MN) Kapitel 5 / 14

15 5.1 Aktivitätsdiagramm ein zweites Beispiel Das folgende Aktivitätsdiagramm zum Szenario Teepause enthält Aktivitäten und Übergänge mit Bedingungen zur Steuerung der Verzweigungen: Wasser kochen Tee auswählen [Wasser siedet] Tee in Filter tun [Tee grün] 10 Min. warten [Tee schwarz] Tee aufgießen 3 Min. warten Tasse holen Filter entfernen Tasse füllen Tasse nehmen Tee trinken Tasse abstellen [nicht leer] [leer] PIWIN lesen Schestag Softwaretechnik (MN) Kapitel 5 / 15

16 5.1 Aktivitätsdiagramm eine weitere Komponente: Swimlanes Swimlanes (Verantwortlichkeitsbereiche) erlauben die Definition von Rollen und Verantwortlichkeiten in Aktivitätsdiagrammen. Die Verantwortlichkeitsbereiche entsprechen den handelnden Instanzen: Gast Bedienung Theke Platz nehmen Zeitung nehmen Kaffee bestellen Bestellung aufnehmen Kaffee bereiten servieren Zeitung lesen Kaffee trinken Rechnung schreiben bezahlen Schestag Softwaretechnik (MN) Kapitel 5 / 16

17 5.2 Sequenzdiagramm und Kollaborationsdiagramm (1) Die UML 1.4 bietet zur Darstellung von Szenarien zwei Arten von Interaktionsdiagrammen an: Sequenzdiagramm und Kollaborationsdiagramm Beispiel: Gegeben sei folgendes Szenario als textuelle Beschreibung: Eine Touristin A übermittelt erst das Reiseziel und dann den Reisetermin an das Informationssystem Travel. Das System nennt ihr darauf den Preis der Reise. Sie ist einverstanden und gibt den Buchungsauftrag. Nach dessen Eingang erhält sie eine Bestätigung. Die Interaktionen dieses Szenarios können mit Interaktionsdiagrammen graphisch dargestellt werden: Sequenzdiagramm zeitliche Abfolge ist wichtig Kommunikationsdiagramm logische Abfolge ist wichtig Schestag Softwaretechnik (MN) Kapitel 5 / 17

18 5.2 Sequenzdiagramm und Kollaborationsdiagramm (2) Sequenzdiagramm (zeitliche Abfolge): A: Tourist Travel: System Reiseziel Reisetermin Reisepreis Buchungsauftrag Bestätigung Zeit Schestag Softwaretechnik (MN) Kapitel 5 / 18

19 5.2 Sequenzdiagramm und Kollaborationsdiagramm (3) Kollaborationsdiagramm (logischer Ablauf Informationsaustausch) : 1. Reiseziel 2. Reisetermin 4. Buchungsauftrag A: Tourist Travel: System 3. Reisepreis 5. Bestätigung zeitlicher Ablauf: Kollaborationsdiagramme werden im Rahmen dieser Vorlesung nicht weiter vertieft! Schestag Softwaretechnik (MN) Kapitel 5 / 19

20 5.2 Sequenzdiagramm die Komponenten (1) Das Sequenzdiagramm ist ein 2 dimensionales Diagramm, dessen vertikale Achse der Zeit und dessen horizontale Achse den beteiligten Objekten entspricht. myx : X Objektsymbol Objektsymbol Lebenslinie Lebenslinie Aktivitätsbalken Aktivitätsbalken Zeit Destruktorsymbol Destruktorsymbol Schestag Softwaretechnik (MN) Kapitel 5 / 20

21 5.2 Sequenzdiagramm die Komponenten (2) Der Nachrichtenaustausch zwischen Objekten (Kontrollfluss) wird durch gerichtete, horizontale Pfeile dargestellt, deren Bezeichner einem vorhandenen oder noch zu ergänzenden (!) Methodennamen entsprechen sollte. Wir unterscheiden die folgenden Kontrollflussvarianten: Synchroner Kontrollfluss: Der Sender der Nachricht wartet, bis die durch die Nachricht ausgelöste Teilinteraktion beendet ist. Im Allgemeinen entspricht dieser Nachrichtenaustausch in seiner Semantik einem Prozeduraufruf. Asynchroner Kontrollfluss: Die Nachricht wird als Signal betrachtet, und der Sender der Nachricht wartet nicht auf die Antwort des Empfängers. Rücksprunganweisungen werden durch gestrichtelte Pfeillinien dargestellt. Eine Objekterzeugung wird wie folgt dargestellt: myx : X Zeit new( ) Schestag Softwaretechnik (MN) Kapitel 5 / 21

22 5.2 Sequenzdiagramm die Komponenten (3) Nachrichten können durch Überwachungsbedingungen (guard condition) beschriftet sein. Hierdurch können Fallunterscheidungen zum Ausdruck gebracht werden. [Bedingung], [ Bedingung] oder auch [else] Bei Verzweigungen ist die Nennung der guard condition obligatorisch. Das gleichzeitige Versenden von Nachrichten wird genau so dargestellt werden, allerdings wird dann auf eine Nennung von guard conditions verzichtet: [B] m1() [ B] m2() m1() m2() Alternative Lebenslinien können dann verwendet werden, wenn ein und dem selben Objekt in Folge einer Verzweigung unterschiedliche Nachrichten übermittelt werden. Zeit [B] m1() [ B] m2() Schestag Softwaretechnik (MN) Kapitel 5 / 22

23 5.2 Sequenzdiagramm die Komponenten (4) Ein rekursiver Methodenaufruf wird wie folgt dargestellt: Käufer:Person [Geld > 0] einkaufen( ) x : X Eine Nachrichtensequenz, die wiederholt werden soll (Schleife) wird durch ein umschreibendes Rechteck zu einem Block zusammengefasst, der im unteren Bereich Angaben zur Schleifensteuerung enthält: Zeit für alle X-Objekte x Schestag Softwaretechnik (MN) Kapitel 5 / 23

24 5.2 Sequenzdiagramm Regeln zur Anwendung Sequenzdiagramme sollten primär für die Abbildung einzelner Szenarien verwendet werden. Ablaufvarianten sind häufig übersichtlicher durch mehrere einander ergänzende Sequenzdiagramme zu modellieren. Verzweigungen und Schleifen sollten sparsam eingesetzt werden man benötigt sie nur dann, wenn das Diagramm andernfalls nicht mehr eindeutig interpretierbar ist. Die Nachrichten, die zwischen den beteiligten Objekten eines Sequenzdiagramms ausgetauscht werden, sollten durch Methoden der entsprechenden Klassen abbildbar sein. Ist dies nicht der Fall, so ist dies ein Indikator dafür, dass in der zugehörigen Klasse eine geeignete Methode noch hinzugefügt werden muss. CASE Tools unterstützen die Überprüfung der Vollständigkeit von Methoden dadurch, dass sie für die Bezeichner der Nachrichten die vorhandenen Methoden des Ziel- Objektes(!) zur Verfügung stellen bzw. diese automatisch durch noch fehlende Methoden mit dem entsprechenden Nachrichtenbezeichner auf Wunsch ergänzt. Schestag Softwaretechnik (MN) Kapitel 5 / 24

25 5.2 Sequenzdiagramm Vollständigkeit der Methoden UseCase3 «extend» Actor 1 Use Case 1 Use Case 4 «include» Actor 2 Use Case 2 Use Case- Diagramm Subjekt1 1 * Kennung Use Case: Titel Autor, Datum, Version Zweck (kurze Beschreibung) Kennung Use Case: Titel Kontext: NameSystem NameSubsystem NameProzeß Autor, Datum, Version beteiligte Aktoren Zweck (kurze Beschreibung) auslösende Ereignisse Kennung Use Case: Vorbedingungen, Titel die erfüllt sein müssen Kontext: NameSystem relevante NameSubsystem Eingangs- und Ausgangsdaten NameProzeßund -signale Autor, Datum, Version beteiligte Aktoren (Verweis auf die Schnittstellen-Spezifikation) Zweck (kurze Beschreibung) auslösende Ereignisse kritische Ausnahmesituationen bzw. Fehlerfälle Vorbedingungen, die erfüllt sein müssen Kontext: NameSystem relevante NameSubsystem Eingangs- und Ausgangsdaten NameProzeß und -signale wesentliche Ergebnisse beteiligte Aktoren (Verweis auf die Schnittstellen-Spezifikation) auslösende Ereignisse kritische Ausnahmesituationen Nachbedingungen bzw. Fehlerfälle Vorbedingungen, die erfüllt sein nachgeordnete müssen Nutzungsfälle relevante Eingangs- und Ausgangsdaten Verweis auf und zugehörige -signale Szenarios wesentliche Ergebnisse (Verweis auf die Schnittstellen-Spezifikation) relevante funktionale Anforderungen kritische Ausnahmesituationen Nachbedingungen bzw. Fehlerfälle nachgeordnete Nutzungsfälle Verweis auf zugehörige Szenarios wesentliche Ergebnisse relevante funktionale Anforderungen Nachbedingungen nachgeordnete Nutzungsfälle Verweis auf zugehörige Szenarios... relevante funktionale Anforderungen Szenario / Szenarien pro Use Case Subjekt2 MyJdbc MyJdbc getconnection() DriverManager getconnection() MyJdbc DriverManager createstatement() getconnection() next() executequery() / executeupdate() getxxx() DriverManager createstatement() executequery() / executeupdate() con :Connection con createstatement() :Connection executequery() / executeupdate() next() close() getxxx() close() next() close() getxxx() close() con :Connection stmt :Statement X X stmt :Statement stmt :Statement [falls executequery()] [falls executequery()] [falls executequery()] rset :ResultSet X rset :ResultSet X close() close()... X rset :ResultSet X Sequenzdiagramm pro Szenario Vollständigkeit der Methoden? KonkretesSubjekt1 1 * KonkretesSubjekt2 Schestag Softwaretechnik (MN) Kapitel 5 / 25

26 5.3 Zustandsdiagramm (1) Die Aufgabe von Zustandsdiagrammen (State charts): Bei technischen Systemen ist es oft nützlich, wenn man die verschiedenen Zustände und die zulässigen Zustandsübergänge geeignet modellieren könnte. Erweiterung des Konzeptes der endlichen Automaten führt zum Zustandsautomat: Zustände und Zustandsübergänge Schachtelung in Super- und Subzustände Parallele Komposition von Zuständen Variablen, Kommunikation per Broadcast beispielsweise für technische Systeme viel verwendet Beispiele für Tools: StateMate, Rhapsody Schestag Softwaretechnik (MN) Kapitel 5 / 26

27 5.3 Zustandsdiagramm (2) Mit Hilfe von Zustandsdiagrammen werden von Objektzuständen Modellierung über den gesamten Lifecycle eines Objektes modelliert: Der jeweilige Zustand beschreibt die Eigenschaften des Objekts zu einem bestimmten Zeitpunkt. Attributwerte Beziehungen zu anderen Objekten Der Zustandsname soll daher kein Verb sein, sondern ein Adjektiv / Partizip. Ein Ereignis tritt zu einem bestimmten Zeitpunkt auf, es hat keine Dauer. neuer Attributwert Signal (z.b. Abschluss einer Operation) Ein Ereignis kann häufig als Nachricht angesehen werden Name kann entfallen, da Aktion (=Operation) gleichnamig Schestag Softwaretechnik (MN) Kapitel 5 / 27

28 5.3 Zustandsdiagramm die Komponenten Zustands (übergangs) diagramme in der UML: Quelle: Rational Corp. Schestag Softwaretechnik (MN) Kapitel 5 / 28

29 5.3 Zustandsdiagramm Beispiel 1 Die Zustände im Lebenszyklus eines Buch Objektes in einem Bibliothekssystem: Buch defekt / entfer nen() präsent neues Buch liegt vor / er fassen() after (Abholfrist vorbei) Ausleihwunsch / ausleihen() Leser gibt Buch z urück / zurückgeben() Bu ch erfassen() auslei hen() zurückgeben() vorbestellen() ent fer nen() Buch v erloren / entfer nen() Ausleihwunsch / vorbestellen() ausgeliehen Leser holt Buch ab / ausleihen() zur Abholung bereit vorbestellt Leser gibt Buch z ur ück / zurückgeben() Schestag Softwaretechnik (MN) Kapitel 5 / 29

30 5.3 Zustandsdiagramm Beispiel 2 Die Zustände im Lebenszyklus eines Tank Objektes: neues Soll / Soll einstellen leer Tank #maxfuellhoehe -sollfuellhoehe - istfuellhoehe +fuellen() +leeren() #solleinstellen() füllend do: füllen voll leerend do: leeren starte füllen ist voll starte leeren ist leer Schestag Softwaretechnik (MN) Kapitel 5 / 30

31 5.3 Zustandsdiagramm Beispiel 3 Der Zustandsautomat einer Digitaluhr sei durch folgende Daten in Tabellenform beschrieben: Zustandstabelle mit 4 Spalten: Aktueller Zustand Ereignis (Eingabe) Aktion (Ausgabe) Folgezustand Zustand Ereignis Aktion Folgezustand Normalzeit Knopf 1 Stunden blinken Stunden stellen Stunden stellen Knopf 1 Minuten blinken Minuten stellen Stunden stellen Knopf 2 Stunden erhöhen Stunden stellen Minuten stellen Knopf 1 Sekunden blinken Sekunden stellen Minuten stellen Knopf 2 Minuten erhöhen Minuten stellen Sekunden stellen Knopf 1 Normalanzeige Normalzeit Sekunden stellen Knopf 2 Sekunden stellen Sekunden stellen Schestag Softwaretechnik (MN) Kapitel 5 / 31

32 5.3 Zustandsdiagramm Beispiel 3 (Fortsetzung) Das Zustandsdiagramm zur Zustandstabelle einer Digitaluhr : Start Knopf 1 gedrückt / Stunden blinken Normalzeit Knopf 1 gedrückt / Normalanzeige Stunden stellen Sekunden stellen Knopf 2 gedrückt / Stunden erhöhen Knopf 1 gedrückt / Minuten blinken Minuten stellen Knopf 1 gedrückt / Sekunden blinken Knopf 2 gedrückt / Minuten erhöhen Knopf 2 gedrückt / Sekunden stellen Schestag Softwaretechnik (MN) Kapitel 5 / 32

33 5.3 Zustandsdiagramm Anwendung Zustandsautomaten und Zustandsdiagramme......eignen sich gut dazu, das Verhalten von Elementen, z.b. von Objekten oder Interaktionen, zu beschreiben,...werden am häufigsten dazu eingesetzt, den Lebenszyklus eines Objektes zu modellieren. Alle Objekte einer Klasse besitzen denselben Zustandsautomaten. Jedes Objekt kann einen individuellen Zustand einnehmen. Im Allgemeinen ist es nicht notwendig, für jede Klasse ein Zustandsdiagramm zu erstellen. Schestag Softwaretechnik (MN) Kapitel 5 / 33

34 5.3 Dynamische Diagramme der UML Zusammenfassung UseCase3 «extend» Actor 1 Use Case 1 Use Case 4 «include» Actor 2 Use Case 2 Use Case Diagramm Kennung Use Case: Titel Autor, Datum, Version Zweck (kurze Beschreibung) Kennung Use Case: Titel Kontext: NameSystem NameSubsystem NameProzeß Autor, Datum, Version beteiligte Aktoren Zweck (kurze Beschreibung) auslösende Ereignisse Kennung Use Case: Vorbedingungen, Titel die erfüllt sein müssen Kontext: NameSystem relevante NameSubsystem Eingangs- und Ausgangsdaten NameProzeßund -signale Autor, Datum, Version beteiligte Aktoren (Verweis auf die Schnittstellen-Spezifikation) Zweck (kurze Beschreibung) auslösende Ereignisse kritische Ausnahmesituationen bzw. Fehlerfälle Vorbedingungen, die erfüllt sein müssen Kontext: NameSystem relevante NameSubsystem Eingangs- und Ausgangsdaten NameProzeß und -signale wesentliche Ergebnisse beteiligte Aktoren (Verweis auf die Schnittstellen-Spezifikation) auslösende Ereignisse kritische Ausnahmesituationen Nachbedingungen bzw. Fehlerfälle Vorbedingungen, die erfüllt sein nachgeordnete müssen Nutzungsfälle relevante Eingangs- und Ausgangsdaten Verweis auf und zugehörige -signale Szenarios wesentliche Ergebnisse (Verweis auf die Schnittstellen-Spezifikation) relevante funktionale Anforderungen kritische Ausnahmesituationen Nachbedingungen bzw. Fehlerfälle nachgeordnete Nutzungsfälle Verweis auf zugehörige Szenarios wesentliche Ergebnisse relevante funktionale Anforderungen Nachbedingungen nachgeordnete Nutzungsfälle Verweis auf zugehörige Szenarios... relevante funktionale Anforderungen Szenario / Szenarien pro Use Case MyJdbc MyJdbc getconnection() DriverManager getconnection() MyJdbc DriverManager createstatement() getconnection() next() executequery() / executeupdate() getxxx() DriverManager createstatement() executequery() / executeupdate() con :Connection con createstatement() :Connection executequery() / executeupdate() next() close() getxxx() close() next() close() getxxx() close() con :Connection stmt :Statement X X stmt :Statement stmt :Statement [falls executequery()] [falls executequery()] [falls executequery()] rset :ResultSet X rset :ResultSet X close() close()... X rset :ResultSet X Sequenzdiagramm pro Szenario Vollständigkeit der Methoden? Subjekt1 1 * Subjekt2 Normalzeit Drücken Knopf 1 Drücken Knopf 1 Stunden stellen do/ Stunden blinken KonkretesSubjekt1 1 * KonkretesSubjekt2 Drücken Knopf 2 / Stunde erhöhen Zustandsdiagramm für geeignete Businessobjekte Vollständigkeit der Attribute und Methoden? Schestag Softwaretechnik (MN) Kapitel 5 / 34

Softwaretechnik SS 2006

Softwaretechnik SS 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt. Softwaretechnik SS 2006 7. Vorlesungseinheit Vorgehensmodelle (insbes. RUP) Best-Practices

Mehr

Softwaretechnik SS Vorlesungseinheit

Softwaretechnik SS Vorlesungseinheit Softwaretechnik SS 2006 7. Vorlesungseinheit Prof. Dr. Urs Andelfinger Darmstadt, 22. Mai 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt.

Mehr

Softwaretechnik SS 2006

Softwaretechnik SS 2006 Softwaretechnik SS 2006 7. Vorlesungseinheit Prof. Dr. Urs Andelfinger Darmstadt, 22. Mai 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt.

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

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

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

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

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

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-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

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

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

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

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

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

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

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

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

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

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

Objektorientierte Analyse (OOA) Inhaltsübersicht

Objektorientierte Analyse (OOA) Inhaltsübersicht Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der

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

Softwaretechnik 2015/2016

Softwaretechnik 2015/2016 Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon

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

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

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 07. SW-Architektur Abläufe Workflows Szenarien Use Cases User Story s -> Betrachtung deterministischer Abläufe DHBW-Stuttgart/Frank M. Hoyer SWE1-07:

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

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

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

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

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

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

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

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

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

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung) 12. Vorlesung 04.06.2007 Use Case Diagram (Anwendungsfalldiagramm) Use

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

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

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

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

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

UML - Sequenzdiagramm

UML - Sequenzdiagramm Name Klasse Datum 1 Allgemeines Neben Aktivitätsdiagramm, Kollaborationsdiagramm, Zustandsdiagramm und Anwendungsfalldiagramm ist das Sequenzdiagramm eines von fünf Diagrammen in UML, welches dynamische

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

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

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

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 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

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

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

Vgl. Oestereich Kap 2.1 Seiten

Vgl. Oestereich Kap 2.1 Seiten Vgl. Oestereich Kap 2.1 Seiten 21-49. 1 Ein Use Case ist eine zeitlich ununterbrochene Interaktion (ein Arbeitsschritt). Use Case Namen bestehen aus einem Subjekt und einem Verb wie zum Beispiel Daten

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

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

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

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML The role of UML Theoretical model model for comparison calibration verification Empirical model model of deduction induction Generating

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

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

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

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller UML Crashkurs v0.1 UML für Fachinformatiker von Hanjo Müller 3. Mai 2005 Inhaltsverzeichnis Inhaltsverzeichnis 1 UML - Unified Modeling Language 3 2 UML im Software Entwurf 4 2.1 Ablauf der Softwareentwicklung.............................

Mehr

Anwendungsfalldiagramm UseCaseDiagramm

Anwendungsfalldiagramm UseCaseDiagramm Anwendungsfalldiagramm UseCaseDiagramm Notation und Beispiele Prof. DI Dr. Erich Gams htl wels.e.gams@eduhi.at UML Seminar HTL-Wels 2010 Anwendungsfall und SE Prozess Ein Anwendungsfalldiagramm ist ein

Mehr

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

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017 So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017 Model of vs. model for TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++ Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

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

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

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

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

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

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2.2 Weitere UML- Diagrammtypen Walter Tichy Guido Malpohl Tom Gelhausen UML-Diagramme Ablauf Anwendungsfalldiagramm Szenarien Interaktionsdiagramm

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Objektorientierung Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

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

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

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

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

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4 Sub1 Super Sub3 H Sub2 State2 Sub4 Super State2 Sub4 $FWLYLW\'LDJUDPV Aktivitätsdiagramme beschreiben spezielle Zustandsautomaten. Transitionen werden hier grundsätzlich durch die Beendigung von Aktionen

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

UML. Weiteres Vorgehen im Projekt

UML. Weiteres Vorgehen im Projekt UML Download objectif Personal Edition (kostenlos): http://www.microtool.de/objectif/de/download.asp Weiteres Vorgehen im Projekt Komponenten, Klassen, Objekte Prozesse Nichtfunktionale Anforderungen Skizzen,

Mehr

Kapitel Weitere UML-Diagrammtypen

Kapitel Weitere UML-Diagrammtypen Kapitel 2.2 - Weitere UML-Diagrammtypen SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe

Mehr

Formale Modellierung Vorlesung vom : Beyond JML

Formale Modellierung Vorlesung vom : Beyond JML Rev. 1702 1 [12] Formale Modellierung Vorlesung vom 07.05.12: Beyond JML Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012 2 [12] Heute im Programm Grenzen der JML Nach JML: UML

Mehr

UML fürs Pflichtenheft

UML fürs Pflichtenheft UML fürs Pflichtenheft Sebastian Fischmeister Department of Computer Science University of Salzburg, Austria Sebastian.Fischmeister@cs.uni-salzburg.at Overview Use-Case Diagramm State-Machine Diagramm

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

UML (UNIFIED MODELING LANGUAGE)

UML (UNIFIED MODELING LANGUAGE) NT Druckdatum: 31.03.13 InI I UML (UNIFIED MODELING LNGUGE) Ziel: Einheitliche Darstellung einer Vielzahl von Elementen von Softwaresystemen mittels einer einheitlichen Notation. Übersicht Zusammenhang

Mehr

Aufgabe S1: Einmal quer durch s Skript

Aufgabe S1: Einmal quer durch s Skript Aufgabe S1: Einmal quer durch s Skript / 10 Punkten Entscheiden Sie, ob die folgenden Aussagen zutreffen oder nicht. Machen Sie in der entsprechenden Spalte ein Kreuz. Für jede richtige Antwort erhalten

Mehr

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 08 Ausführungen Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering Themenübersicht 1.

Mehr

Testen mit Use Cases. Chris Rupp Dr. Stefan Queins

Testen mit Use Cases. Chris Rupp Dr. Stefan Queins Testen mit Use Cases Chris Rupp Dr. Stefan Queins Das Problem Requirements- Engineering Was kann passieren? Was ist das gewünschte Verhalten? Was soll ich testen? Welche Eingaben benötigt mein Testpfad?

Mehr

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II) 08 Ausführungen Dr. Sebastian Voss fortiss GmbH Kompetenzfeldleiter Model-based Systeme Engineering Themenübersicht 1.

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

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse Software Engineering in der Praxis David Föhrweiser Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Föhrweiser, Spisländer

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 03.03.2011 Prüfungsdauer:

Mehr

Anwendungsfall. Das Anwendungsfall-Diagramm (Use-Cases/Use-Case Diagramm) Die Anwendungsfall-Beschreibung. Dr. Beatrice Amrhein

Anwendungsfall. Das Anwendungsfall-Diagramm (Use-Cases/Use-Case Diagramm) Die Anwendungsfall-Beschreibung. Dr. Beatrice Amrhein Anwendungsfall Das Anwendungsfall-Diagramm (Use-Cases/Use-Case Diagramm) Die Anwendungsfall-Beschreibung Dr. Beatrice Amrhein Kundenbedürfnisse Fertigungs-System 2 Erste Schritte: Kundenbedürfnisse erfassen

Mehr

2. Übung zu Software Engineering

2. Übung zu Software Engineering 2. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Projektplanung, Netzplantechnik AUFGABE 3 1 Aufgabenstellung Ausgangspunkt ist die Anforderungsermittlung, an die sich eine Durchführbarkeitsstudie

Mehr

Aktivitätsdiagramm (Activity Diagram)

Aktivitätsdiagramm (Activity Diagram) (Activity Diagram) Eine Präsentation von Christoph Süsens und Matthias Holdorf 1 C Diagrammtypen im Überblick 2 Definiton Problem: Es sollen Abläufe, z.b. Geschäftsprozesse, modelliert werden. Im Vordergrund

Mehr

Objektorientierter Entwurf. Grundlagen des Software Engineerings

Objektorientierter Entwurf. Grundlagen des Software Engineerings Objektorientierter Entwurf Grundlagen des Software Engineerings Lernziele } Verstehen, wie der Softwareentwurf als Menge von interagierenden Objekten dargestellt werden kann, die ihren eigenen Zustand

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

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

Softwareanforderungsanalyse

Softwareanforderungsanalyse Softwareanforderungsanalyse Vorgehen, Modellstruktur und Spezifikationsdokument - Ein Fazit Burkhardt Renz THM, Fachbereich MNI Wintersemester 208/9 Übersicht Vorgehen Struktur des Modells Metamodell Generierung

Mehr