Aktivitäts-, Sequenz- und Zustandsdiagramme

Größe: px
Ab Seite anzeigen:

Download "Aktivitäts-, Sequenz- und Zustandsdiagramme"

Transkript

1 Aktivitäts-, Sequenz- und Zustandsdiagramme Tutorium 7 iloveswt.de Fabian I. Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

2 Aufgabe 1 Lastenheft Äußere Form wichtig (kein Link im Glossar!) Produktdaten sollen konkret sein (nicht nur "relevante Daten") Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

3 Aufgabe 2 Klassendiagramm An Text halten Substantive sind oft Klassen (nicht immer!) Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

4 Aufgabe 4 Fehlerbehandlung, mögliche Fehlerursachen so früh wie möglich abfangen und behandeln ( Fail fast! ) Wrapper-Klassen für primitive Datentypen vermeiden wenn möglich (statt Integer lieber int verwenden) Alphakanal hätte auch korrekt behandelt werden sollen // TODO-Kommentare entfernen CheckStyle und Einrückung beachten, sonst Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

5 Lehreiche Fehler new Color(argb).getAlpha() Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

6 Lehreiche Fehler new Color(argb).getAlpha() Gibt immer 255 zurück Lösung: Konstruktor new Color(argb, true) colorx.getred() 2 + colory.getred() 2 Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

7 Lehreiche Fehler new Color(argb).getAlpha() Gibt immer 255 zurück Lösung: Konstruktor new Color(argb, true) colorx.getred() 2 + colory.getred() 2 x y berechnet XOR von x und y Lösung: Math.pow(x, 2) oder x * x für x 2 byte thres = (byte) 200; if (grey < thres) grey = 0 Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

8 Lehreiche Fehler new Color(argb).getAlpha() Gibt immer 255 zurück Lösung: Konstruktor new Color(argb, true) colorx.getred() 2 + colory.getred() 2 x y berechnet XOR von x und y Lösung: Math.pow(x, 2) oder x * x für x 2 byte thres = (byte) 200; if (grey < thres) grey = 0 Wertebereich von byte: -128 bis 127 (byte) 200 = Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

9 Lehreiche Fehler new Color(argb).getAlpha() Gibt immer 255 zurück Lösung: Konstruktor new Color(argb, true) colorx.getred() 2 + colory.getred() 2 x y berechnet XOR von x und y Lösung: Math.pow(x, 2) oder x * x für x 2 byte thres = (byte) 200; if (grey < thres) grey = 0 Wertebereich von byte: -128 bis 127 (byte) 200 = -56 Lösung: Anderen Datentyp verwenden, beispielsweise int Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

10 pom.xml Parent: Jede pom.xml erbt Eigenschaften einer anderen pom.xml Eigenschaften hier: Plugins die auf Projekt arbeiten (z.b. jar packen), Bibliotheken, die bereitgestellt werden sollen (z.b. JUnit) Group- und ArtifactID identifizieren Projekt/POM Packaging: Art dessen, was generiert werden soll, bei uns JAR (im parent POM) Mehr Infos: maven.apache.org Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

11 Parent <parent> <groupid>swt1</groupid> <artifactid>image</artifactid> <version>0.0.1-snapshot</version> </parent> Hier geschieht die Magie: parent pom.xml verweist wiederum auf eine pom.xml usw. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

12 Plugins <build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-jar-plugin</artifactid> <configuration> <archive> <manifest> <addclasspath>true</addclasspath> <mainclass>org.jis.main</mainclass> </manifest> </archive> </configuration> </plugin>... </plugins> </build> Per parent pom.xml: Changelog-Export und zip-generierung Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

13 Abhängigkeiten <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <scope>test</scope> </dependency> <dependency> <groupid>swt1</groupid> <artifactid>image.image-filter-base</artifactid> <version>0.0.1-snapshot</version> </dependency>... </dependencies> Version nicht überschreiben, wenn bereits in einem parent vorgegeben (bei uns immer der Fall) Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

14 Übersicht Zuletzt: Heute: Anwendungsfalldiagramme Klassendiagramme Aktivitätsdiagramme Sequenzdiagramme Zustandsdiagramme Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

15 Pflichtenheft Es gilt Lastenheft Pflichtenheft Pflichtenheft ist Verfeinerung des Lastenhefts Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

16 Aktivitätsdiagramm Beschreibt mögliche Abläufe Kann beispielsweise beschreiben: Geschäftliche Prozesse Anwendungsfälle Algorithmen Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

17 Aktivitätsdiagramm Beschreibt mögliche Abläufe Kann beispielsweise beschreiben: Geschäftliche Prozesse Anwendungsfälle Algorithmen Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

18 Aktivitätsdiagramm Beschreibt mögliche Abläufe Kann beispielsweise beschreiben: Geschäftliche Prozesse Anwendungsfälle Algorithmen Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

19 Aktivitätsdiagramm Beschreibt mögliche Abläufe Kann beispielsweise beschreiben: Geschäftliche Prozesse Anwendungsfälle Algorithmen Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

20 Aktivitätsdiagramm Beschreibt mögliche Abläufe Kann beispielsweise beschreiben: Geschäftliche Prozesse Anwendungsfälle Algorithmen Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

21 Beispiel Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

22 Komponenten, Teil 1 Aktionen elementar verschachtelt Knoten Startknoten Endknoten Ablaufende Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

23 Komponenten, Teil 2 Entscheidung (Bedingte Verzweigung) Zusammenführung (Oder-Verknüpfung) Teilung (Aufteilung eines Kontrollflusses) Synchronisation (Und-Verknüpfung) Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

24 Aufgabe 1 Zunächst lesen die Studenten H. und M. jeder für sich gleichzeitig die Aufgabenstellung der aktuellen Programmieraufgabe durch. Nachdem beide Studenten den Aufgabentext gelesen haben, besprechen sie gemeinsam die Strategie für das weitere Vorgehen. Sind die beiden Studenten nicht motiviert, die Aufgabe zu lösen, hören sie sofort auf. Haben sie Motivation, dann öffnet H. Eclipse und beginnt danach unmittelbar zu programmieren. Während H. Eclipse startet, öffnet M. Firefox und beginnt, den aktuellen Star-Trek-Film herunter zu laden und unterdessen den Failblog zu lesen. Sobald H. die Lösung fertig programmiert hat und M. den Film fertig heruntergeladen oder genug im Failblog gelesen hat, besprechen beide Studenten gemeinsam die Lösung. Danach geben H. und M. die Lösung getrennt voneinander ab, worauf die Programmieraufgabe für sie beendet ist. Modellieren Sie das gegebene Szenario als UML-Aktivitätsdiagramm. Kennzeichnen Sie, welche Aktivitäten von H., welche von M. und welche von beiden ausgeführt werden. Objektflüsse müssen Sie nicht modellieren. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

25 Musterlösung Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

26 Aufgabe 2 Modellieren Sie das nachfolgende Szenario, das ein Rennen der Formel-SWT beschreibt, unter Berücksichtigung der abgebildeten Rennstrecke als UML-Aktivitätsdiagramm. Nach dem Start beginnt die erste Runde. In dieser und in jeder folgenden Runde kann sich der Fahrer entscheiden, ob er an die Box kommen oder die Runde fahren möchte. Nach der letzten Runde ist das Rennen unmittelbar beendet. Der Boxenstopp beginnt damit, dass der Fahrer den Rennwagen auf die in der Boxengasse erlaubte Höchstgeschwindigkeit abbremst. Anschließend parkt er seinen Rennwagen in der Box. Sobald der Rennwagen steht, wird er von einem Mitarbeiter der Boxencrew angehoben. Danach werden von vier weiteren Mitarbeitern der Boxencrew gleichzeitig die Räder gewechselt, wobei sich jeder Mitarbeiter um jeweils ein Rad kümmert. Neben dem Radwechsel wird der Rennwagen frisch betankt, was ebenfalls ein dedizierter Mitarbeiter erledigt. Sobald alle vier Räder gewechselt sind, kann der Rennwagen abgelassen werden. Der Fahrer fährt los, sobald der Rennwagen abgelassen und der Tankvorgang beendet wurde. Sobald der Fahrer das Ende der Boxengasse erreicht hat, beschleunigt er den Rennwagen auf Renntempo und fährt die Runde zu Ende. Wenn beim Überqueren der Start-/Ziellinie das Rennen nicht abgewunken wurde, geht der Fahrer auf die nächste Runde, ansonsten ist das Rennen beendet. Verwenden Sie bei Ihrer Modellierung korrekte UML-Notation und geben Sie zusätzlich an, welche Aktivitäten in den Verantwortungsbereich des Fahrers fallen und welche in den der Boxencrew. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

27 Musterlösung Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

28 Fragerunde 1 Beim Aktivitätsdiagramm werden Pfeile verwendet. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

29 Fragerunde 1 Beim Aktivitätsdiagramm werden Pfeile verwendet. Wahr 2 Aktivitätsdiagramme unterstützen keine Nebenläufigkeit. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

30 Fragerunde 1 Beim Aktivitätsdiagramm werden Pfeile verwendet. Wahr 2 Aktivitätsdiagramme unterstützen keine Nebenläufigkeit. Falsch 3 In UML-Aktivitätsdiagrammen unterscheidet man zwischen Objektund Kontrollflüssen. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

31 Fragerunde 1 Beim Aktivitätsdiagramm werden Pfeile verwendet. Wahr 2 Aktivitätsdiagramme unterstützen keine Nebenläufigkeit. Falsch 3 In UML-Aktivitätsdiagrammen unterscheidet man zwischen Objektund Kontrollflüssen. Wahr Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

32 Sequenzdiagramm Modelliert möglichen Ablauf eines Anwendungsfalls Fokus auf zeitlichem Verlauf der Nachrichten Zeit verläuft von oben nach unten Nachrichten werden durch Pfeile dargestellt Nachrichten sind äquivalent mit Methodenaufrufen in Java Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

33 Sequenzdiagramm Modelliert möglichen Ablauf eines Anwendungsfalls Fokus auf zeitlichem Verlauf der Nachrichten Zeit verläuft von oben nach unten Nachrichten werden durch Pfeile dargestellt Nachrichten sind äquivalent mit Methodenaufrufen in Java Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

34 Sequenzdiagramm Modelliert möglichen Ablauf eines Anwendungsfalls Fokus auf zeitlichem Verlauf der Nachrichten Zeit verläuft von oben nach unten Nachrichten werden durch Pfeile dargestellt Nachrichten sind äquivalent mit Methodenaufrufen in Java Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

35 Sequenzdiagramm Modelliert möglichen Ablauf eines Anwendungsfalls Fokus auf zeitlichem Verlauf der Nachrichten Zeit verläuft von oben nach unten Nachrichten werden durch Pfeile dargestellt Nachrichten sind äquivalent mit Methodenaufrufen in Java Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

36 Sequenzdiagramm Modelliert möglichen Ablauf eines Anwendungsfalls Fokus auf zeitlichem Verlauf der Nachrichten Zeit verläuft von oben nach unten Nachrichten werden durch Pfeile dargestellt Nachrichten sind äquivalent mit Methodenaufrufen in Java Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

37 Beispiel Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

38 Komponenten Lebenslinie senkrecht eine pro Objekt Nachrichtentypen Synchrone Nachrichten Antworten (optional) Asynchrone Nachrichten Steuerungsfokus dicker Balken über Lebenslinie zeigt Aktivität von Objekten an Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

39 Beispiel Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

40 Beispiel Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

41 Aufgabe Bernd Bruegge fühlt sich nicht wohl und möchte sich untersuchen lassen, um eine Diagnose zu erhalten. Er geht dazu ins Krankenhaus und meldet sich an der Patientenaufnahme an. Während der Sachbearbeiter an der Patientenaufnahme die Krankenakte anlegt, füllt Bernd B. den Anamnesebogen aus, den ihm der Sachbearbeiter gegeben hat. Nachdem Bernd B. den ausgefüllten Bogen dem Sachbearbeiter zurückgegeben hat, wird Bernd B. vom Arzt untersucht. Dazu nimmt er Bernd B. zunächst Blut ab. Während das Labor das Blut analysiert, führt der Arzt bei Bernd B. eine Auskultation durch. Schließlich bekommt Bernd B. vom Arzt seine Diagnose. Modellieren Sie das gegebene Szenario als UML-Sequenzdiagramm im Kasten auf der nächsten Seite (Querformat!). Verwenden Sie bei Ihrer Modellierung korrekte UML-Notation. Achten Sie bei Ihrer Modellierung darauf, auf welchen Objekten die Methoden sinnvollerweise aufgerufen werden müssen. Geben Sie ggf. Argumente der Methoden an. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

42 Musterlösung (Alternative im Diagramm: Patientenaufnahme ruft Arzt.untersuchen() auf. Insbesondere aber ist die Methode untersuchen() keine Methode auf Patient.) Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

43 Fragerunde 1 Im Sequenzdiagramm zeigen Pfeile von dem Objekt weg, auf dem die angegebene Methode aufgerufen wird. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

44 Fragerunde 1 Im Sequenzdiagramm zeigen Pfeile von dem Objekt weg, auf dem die angegebene Methode aufgerufen wird. Falsch 2 Sequenzdiagramme skizzieren einen ganz konkreten Ablauf eines Anwendungsfalls. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

45 Fragerunde 1 Im Sequenzdiagramm zeigen Pfeile von dem Objekt weg, auf dem die angegebene Methode aufgerufen wird. Falsch 2 Sequenzdiagramme skizzieren einen ganz konkreten Ablauf eines Anwendungsfalls. Wahr 3 In Sequnzdiagammen: Rückgabewerte können an den Rückführungspfeilen angegeben werden. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

46 Fragerunde 1 Im Sequenzdiagramm zeigen Pfeile von dem Objekt weg, auf dem die angegebene Methode aufgerufen wird. Falsch 2 Sequenzdiagramme skizzieren einen ganz konkreten Ablauf eines Anwendungsfalls. Wahr 3 In Sequnzdiagammen: Rückgabewerte können an den Rückführungspfeilen angegeben werden. Wahr 4 UML-Sequenzdiagramme unterstützen Nebenläufigkeit. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

47 Fragerunde 1 Im Sequenzdiagramm zeigen Pfeile von dem Objekt weg, auf dem die angegebene Methode aufgerufen wird. Falsch 2 Sequenzdiagramme skizzieren einen ganz konkreten Ablauf eines Anwendungsfalls. Wahr 3 In Sequnzdiagammen: Rückgabewerte können an den Rückführungspfeilen angegeben werden. Wahr 4 UML-Sequenzdiagramme unterstützen Nebenläufigkeit. Wahr Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

48 Zustandsdiagramm Endlicher Zustandsautomat Besteht aus Zuständen und Zustandsübergängen Methoden können Übergang verursachen Bei Betreten/Verlassen eines Zustands aufgerufen werden Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

49 Zustandsdiagramm Endlicher Zustandsautomat Besteht aus Zuständen und Zustandsübergängen Methoden können Übergang verursachen Bei Betreten/Verlassen eines Zustands aufgerufen werden Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

50 Zustandsdiagramm Endlicher Zustandsautomat Besteht aus Zuständen und Zustandsübergängen Methoden können Übergang verursachen Bei Betreten/Verlassen eines Zustands aufgerufen werden Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

51 Zustandsdiagramm Endlicher Zustandsautomat Besteht aus Zuständen und Zustandsübergängen Methoden können Übergang verursachen Bei Betreten/Verlassen eines Zustands aufgerufen werden Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

52 Zustandsdiagramm Endlicher Zustandsautomat Besteht aus Zuständen und Zustandsübergängen Methoden können Übergang verursachen Bei Betreten/Verlassen eines Zustands aufgerufen werden Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

53 Beispiel/Komponenten Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

54 Hierarchie Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

55 Gedächtnis ( Hirn ) Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

56 Nebenläufigkeit Während System im Zustand G verweilt, kann es alle Zustandskombinationen aus E F annehmen Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

57 Aufgabe 1 Gegeben ist der folgende UML-Zustandsautomat. Geben Sie an, in welcher Zustandskombination sich der Zustandsautomat, jeweils ausgehend vom Startzustand, nach den beiden Eingabefolgen befindet. a, b, c, c c, c, a, b, b, a, c, c, a Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

58 Musterlösung a, b, c, c A D c, c, a, b, b, a, c, c, a B C Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

59 Aufgabe 2 Wandeln Sie den unten abgebildeten UML-Zustandsautomaten durch Zusammenlegen der Zustände A B und A C zu einem neuen Zustand A in einen äquivalenten hierarchischen Zustandsautomaten um. Hinweis: Beachten Sie, dass die gleiche Eingabefolge in Ihrem transformierten Automaten zu einem äquivalenten Zustand führt, wie im Originalautomaten (z.b.: Start 1, 2, 3, 1 C). Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

60 Musterlösung Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

61 Fragerunde 1 Zustandsdiagramme halten immer. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

62 Fragerunde 1 Zustandsdiagramme halten immer. Falsch 2 Ein Zustandsdiagramm hat nur endlich viele Zustände. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

63 Fragerunde 1 Zustandsdiagramme halten immer. Falsch 2 Ein Zustandsdiagramm hat nur endlich viele Zustände. Wahr 3 Jeder Zustand kann eine entry/exit-methode angeben. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

64 Fragerunde 1 Zustandsdiagramme halten immer. Falsch 2 Ein Zustandsdiagramm hat nur endlich viele Zustände. Wahr 3 Jeder Zustand kann eine entry/exit-methode angeben. Wahr 4 Nebenläufige Zustandsdiagramme sind echt mächtiger als normale Zustandsdiagramme. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

65 Fragerunde 1 Zustandsdiagramme halten immer. Falsch 2 Ein Zustandsdiagramm hat nur endlich viele Zustände. Wahr 3 Jeder Zustand kann eine entry/exit-methode angeben. Wahr 4 Nebenläufige Zustandsdiagramme sind echt mächtiger als normale Zustandsdiagramme. Falsch 5 Das H in Zustandsdiagrammen mit Gedächtnis steht für Hirn. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

66 Fragerunde 1 Zustandsdiagramme halten immer. Falsch 2 Ein Zustandsdiagramm hat nur endlich viele Zustände. Wahr 3 Jeder Zustand kann eine entry/exit-methode angeben. Wahr 4 Nebenläufige Zustandsdiagramme sind echt mächtiger als normale Zustandsdiagramme. Falsch 5 Das H in Zustandsdiagrammen mit Gedächtnis steht für Hirn. Falsch 6 Das Lastenheft ist eine Verfeinerung des Pflichtenhefts. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

67 Fragerunde 1 Zustandsdiagramme halten immer. Falsch 2 Ein Zustandsdiagramm hat nur endlich viele Zustände. Wahr 3 Jeder Zustand kann eine entry/exit-methode angeben. Wahr 4 Nebenläufige Zustandsdiagramme sind echt mächtiger als normale Zustandsdiagramme. Falsch 5 Das H in Zustandsdiagrammen mit Gedächtnis steht für Hirn. Falsch 6 Das Lastenheft ist eine Verfeinerung des Pflichtenhefts. Falsch Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

68 Linguistische Analyse Beschreibt Verfahren zur Abbildung von Text auf Klassendiagramme Vorgehen mittels Zuordnung von Wörtern auf Rollen Details auf Vorlesungsfolien Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

69 Nächstes Übungsblatt Es geht um Plugins Ein bisschen Sequenzdiagramme Ein bisschen Zustandsdiagramme Linguistische Analyse (Zuordnung von Rollen) Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

70 Fragen? Nächstes Tutorium: Montag, Nächstes Thema: Entwurfsmuster Für Fragen jeglicher Art stehe ich zur Verfügung. Vielen Dank. Fabian I. Miltenberger Aktivitäts-, Sequenz- und Zustandsdiagramme /41

3. Tutorium zu Softwaretechnik I

3. Tutorium zu Softwaretechnik I 3. Tutorium zu Softwaretechnik I Aktivitäts-, Sequenz- & Zustandsdiagramme Michael Hoff 20.05.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

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

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

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

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

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: 21.09.2012 Prüfungsdauer:

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

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 Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen

Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen Universität Karlsruhe (TH) Fakultät für Informatik Lehrveranstaltung Informatik II Sommersemester 2008 Prof. Dr. K. Böhm Dipl.-Wirtsch.-Inf. C. Kühne Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Software Engineering in der Praxis Praktische Übungen

Software Engineering in der Praxis Praktische Übungen Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientierte Analyse 1 / 14 1 Inhalt 2 Überblick 3 Werkzeuge 4 Aufgaben Pinte, Spisländer FAU Erlangen-Nürnberg

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

Orientierte Modellierung mit der Unified Modeling Language

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

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

Software Engineering in der Praxis

Software Engineering in der Praxis Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

Unternehmensmodellierung

Unternehmensmodellierung Josef L. Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis mit UML 2.0 4ü Springer Inhaltsverzeichnis EINLEITUNG 1 1.1 Unternehmensmodellierung 1 1.2 Objektorientierung als solche 6 1.3

Mehr

Programmieren Tutorium

Programmieren Tutorium Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

2. Tutorium zu Softwaretechnik I

2. Tutorium zu Softwaretechnik I 2. Tutorium zu Softwaretechnik I Lastenheft, Durchführbarkeitsuntersuchung und Klassendiagramme Michael Hoff 06.05.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes

Mehr

Workflows: Anforderungserhebung und analyse

Workflows: Anforderungserhebung und analyse Workflows: Anforderungserhebung und analyse Tutorium 4 9. März 2009 Svetlana Matiouk, Uni Bonn Ferientutorien zur Vorlesung Softwaretechnologie WS 2008 4. Treffen, Aktivitäten bei der Softwareentwicklung

Mehr

Grundlagen der Softwaretechnik

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 Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 12: Metawissen Java Bibliotheken, Maven Robert Jakob Albert-Ludwigs-Universität Freiburg, Germany SS 2013 Robert Jakob (Univ. Freiburg) Programmieren in Java JAVA 1 / 33

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 3 Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online

Mehr

JAVA PROJEKT. Schiffe Versenken mit GUI. Projektheft

JAVA PROJEKT. Schiffe Versenken mit GUI. Projektheft Anwendungspraktikum aus JAVA Programmierung SS 2006 Leitung: Dr. Albert Weichselbraun JAVA PROJEKT Schiffe Versenken mit GUI Projektheft Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com

Mehr

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Methoden zur Visualisierung von ereignisdiskreten Analysedaten

Methoden zur Visualisierung von ereignisdiskreten Analysedaten Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme Methoden zur Visualisierung von ereignisdiskreten Analysedaten Referent: Hendrik Freund Betreuer: Vladimir

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

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 This presentation is build upon material of the Business Analysis Body of Knowledge

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering 5. UML. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 5. UML Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 5. UML 2 Unified Modeling Language (UML) Standardisierte grafische Notationen um Strukturen und Abläufe eines

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010

Objektorientierter Softwareentwurf mit UML. Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010. Grundlagen. Neubearbeitung 2010 Ricardo Hernández Garcia, Joachim Palmer 1. Ausgabe, Januar 2010 Objektorientierter Softwareentwurf mit UML Grundlagen Neubearbeitung 2010 PGOS2010 I Objektorientierter Softwareentwurf mit UML - Grundlagen

Mehr

Übersicht der UML Diagramme

Übersicht der UML Diagramme Dieser Fachbeitrag ist ein Service der InfraSoft Profis für Ihre professionelle Softwareentwicklung. Übersicht der UML Diagramme Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von

Mehr

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,... Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Unit Tests mit Junit 4. Dario Borchers

Unit Tests mit Junit 4. Dario Borchers Unit Tests mit Junit 4 Dario Borchers Agenda Warum testgetriebene Entwicklung von Software? - Motivation Was ist testgetriebene Entwicklung? - Prozess der testgetriebenen Entwicklung - Arten von Tests

Mehr

Softwaretechnik Unified Modeling Language (UML)

Softwaretechnik Unified Modeling Language (UML) Softwaretechnik Unified Modeling Language () Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She s so charismatic, and she s brilliant and beautiful. I mean, a real artist, and,

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 Vorname: Name: Matrikelnummer: Prüfungstag: 19.02.2015

Mehr

Automatischer Build mit Maven 2

Automatischer Build mit Maven 2 Automatischer Build mit Maven 2 Stefan Scheidt OPITZ CONSULTING GmbH Ihr Referent Stefan Scheidt Senior Architekt bei der OPITZ CONSULTING GmbH Seit über 10 Jahren im Oracle- und Java-Umfeld tätig Schwerpunkte:

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Software Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 7. Sequenz- und Zustandsdiagramme Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 7. Sequenz- und Zustandsdiagramme 2 Sequenzdiagramme Häufigstes Verhaltensdiagramm

Mehr

Technische Universität München WS 2011/12 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 31.

Technische Universität München WS 2011/12 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 31. 2/ Technische Universität München WS 20/2 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 3. Oktober 20 Übungen zu Grundlagen der Programmierung Aufgabe 4 (Lösungsvorschlag)

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90

Mehr

Software Engineering I

Software Engineering I Vorlesung Software Engineering I Dynamische Basiskonzepte 2 Kontrollstrukturen Aktivitätsdiagramme Sequenzdiagramme 1 Basiskonzepte Beschreiben die feste Struktur des Systems, die sich während der Laufzeit

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

Mehr

13. Tutorium zu Programmieren

13. Tutorium zu Programmieren 13. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2009 by IPD Snelting

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Einführung in Maven und GWT

Einführung in Maven und GWT Einführung in Maven und GWT Prof. Christoph Knabe Beuth-Hochschule Berlin 08.05.2014 Gliederung Motivation für Build-Werkzeug Maven-Ziele, Begriffe Maven-Benutzung in 5 min Maven-Vorteile GWT-Ziele GWT-Projekt

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

PSE: Analysesoftware für Logistiknetzwerke

PSE: Analysesoftware für Logistiknetzwerke PSE: Analysesoftware für Logistiknetzwerke Phase 2 Der Entwurf,, Lehrstuhl Prof. Böhm KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Prof. Ina Schaefer Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Ausgabe: 12. Januar 2013 Abgabe: 25. Januar

Mehr

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at

UML - Tutorial. Hubert Baumgartner. www.inso.tuwien.ac.at UML Tutorial UML - Tutorial SS 06 Hubert Baumgartner www.inso.tuwien.ac.at INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt

Mehr

Aufgabe 1 (Anwendungsfalldiagramm)

Aufgabe 1 (Anwendungsfalldiagramm) Studientag in Hagen Kurs 1793 08.07.2012 Aufgabe 1 (Anwendungsfalldiagramm) In dieser Aufgabe soll ein Anwendungsfalldiagramm für die im Folgenden beschriebenen Abläufe bei dem Kauf einer Fahrkarte an

Mehr

Dokumentation des Projektes Tic Tac Toe

Dokumentation des Projektes Tic Tac Toe Praktikum aus Programmierung Dr. Michael Hahsler Dokumentation des Projektes Tic Tac Toe 0050230 1 Java Projekt: Tic Tac Toe 1. Inhaltsverzeichnis 1. Inhaltsverzeichnis... 2 2. Problemdefinition... 2 3.

Mehr

Kurs 1793 Software Engineering I - Grundkonzepte der OOSE Klausur am 3.8.2002

Kurs 1793 Software Engineering I - Grundkonzepte der OOSE Klausur am 3.8.2002 Seite: 1 Sommersemester 2002 Hinweise zur Bearbeitung der Klausur zum Kurs 1793 Software Engineering I - Grundkonzepte der OOSE Wir begrüßen Sie zur Klausur "Software Engineering I". Bitte lesen Sie sich

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML FH Wedel Prof. Dr. Sebastian Iwanowski

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

SysML Die Zukunft des Systems Engineering?

SysML Die Zukunft des Systems Engineering? ECC 2012 Winterthur 5. Juni 2012 SysML Die Zukunft des Systems Engineering? Omar Naas, Senior Consultant, EVOCEAN GmbH 1934 Citroën 2CV Citroën Direktor Pierre-Jules Boulanger definierte 7 Anforderungen,

Mehr

objectif / SOA /.NET Inhalt Technologien ObjectiF Beispiel Vergleich: ObjectiF Rational Rose Quellenverzeichnis 20.01.2008 Christian Reichardt 2 Technologien 20.01.2008 Christian Reichardt 3 Methodenaufruf

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik Programmieren I Überblick KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester)

Mehr

Klausur "OOAD" im SS 2009. Name, Vorname: Matrikel-Nr:

Klausur OOAD im SS 2009. Name, Vorname: Matrikel-Nr: Klausur "OOAD" im SS 009 Name, Vorname: Matrikel-Nr:.... Bitte tragen Sie zuerst Ihren Namen und Ihre Matrikelnummer ein. Lesen Sie jeweils vor Erarbeitung der Lösung die ganze Aufgabenstellung durch.

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Vorausgesetzte Kenntnisse Allgemeine Kenntnisse aus dem Bereich der Softwareentwicklung - Programmierkenntnisse (Java, C) - Beherrschung der notwendigen

Mehr

Datenbankmodelle 1. Das Entity-Relationship-Modell

Datenbankmodelle 1. Das Entity-Relationship-Modell Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Aufgabe 1: Beschreibung des Forschungsgebietes der Wirtschaftsinformatik

Aufgabe 1: Beschreibung des Forschungsgebietes der Wirtschaftsinformatik Übungsblatt 01 / 2011 Datum: 5. Mai 2011 Aufgabe 1: Beschreibung des Forschungsgebietes der Wirtschaftsinformatik Beschreiben Sie das Lehr- und Forschungsgebiet der Wirtschaftsinformatik und zeigen Sie

Mehr

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 Empirische Softwaretechnik Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 IPD Tichy, Fakultät für Informatik Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 5. Dezember 2011 1 Besprechung Blatt 6 Fragen 2 Vererbung Allgemein abstract Interfaces 3 Unified Modeling Language (UML) Ablaufdiagramme Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung Blatt 7

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 4: Modellierung von betrieblichen Informationssystemen Folien zum Textbuch Kapitel 2: Planung, Entwicklung und Betrieb von IS Teil 4: Modellierung von betrieblichen Informationssystemen Textbuch-Seiten 209-245 WI Planung, Entwicklung und Betrieb von IS IS-Modellierung

Mehr

Objekt-orientierte Analyse (2) - Verhaltensbeschreibung -

Objekt-orientierte Analyse (2) - Verhaltensbeschreibung - Objekt-orientierte Analyse (2) - Verhaltensbeschreibung - Software Engineering 1 WS 2011/2012 Dr. Ina Schaefer Software Systems Engineering Technische Universität Braunschweig (mit Folien von Prof. B.

Mehr

6. Zustandsorientierte Modellierung

6. Zustandsorientierte Modellierung bertram.hafner@t-online.de Informatik 11 Seite 25 6. Zustandsorientierte Modellierung Im Alltag benutzen wir vielfältige Automaten: denke an Getränkeautomat, Ampelanlage, Kaffeeautomat, Waschmaschine,

Mehr

Software Engineering und Projektmanagement

Software Engineering und Projektmanagement Software Engineering und Projektmanagement Motivation! Fachliche Sicht trifft auf technische Realisierung Entwurf 2009W - 5. November 2009 Andreas Mauczka Email: andreas.mauczka@inso.tuwien.ac.at Web:

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Sommersemester 2003. Analyse I: Struktur und Verhalten (Szenarien)

Sommersemester 2003. Analyse I: Struktur und Verhalten (Szenarien) Sommersemester 2003 Analyse I: Struktur und Verhalten (Szenarien) 2 Aufgabe 1 Analyse I: Struktur und Szenarien Umfang: 2 Wochen Punkte: 100 P. In diesem ersten Teil der Analyse sollen auf der Basis der

Mehr

Kurzanleitung Bearbeitung einer Preisanfrage der Stadt Gelsenkirchen

Kurzanleitung Bearbeitung einer Preisanfrage der Stadt Gelsenkirchen Kurzanleitung Bearbeitung einer Preisanfrage der Stadt Gelsenkirchen Stand August 2011 Partner von: 1 Inhaltverzeichnis 1. Einleitung 2. Erstnutzung 2.1. Zugangsdaten 2.2. Abruf der Preisanfrage 2.3. Bestellung

Mehr

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:

Mehr

Tutorium 5 - Programmieren

Tutorium 5 - Programmieren Tutorium 5 - Programmieren Grischa Liebel Uni Karlsruhe (TH) Tutorium 11 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008

Mehr

Das Test-Framework JUnit ETIS SS04

Das Test-Framework JUnit ETIS SS04 Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Feinentwurf Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik Programmieren I Überblick KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester)

Mehr

6. Tutorium zu Softwaretechnik I

6. Tutorium zu Softwaretechnik I 6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 05. Basiskonzepte Sichten auf das Produkt PD-TES/Hoyer, Frank-Michael SWE1: 05. Basiskonzepte - Sichten 16. Juli 2010 geändert: 4. Oktober 2013 SW-Architektur

Mehr

2.2 Prozessmodellierung mit Aktivitätsdiagrammen

2.2 Prozessmodellierung mit Aktivitätsdiagrammen Prozessmodellierung Als ein beispielhafter Prozessschritt soll die Durchführung eines Tests von einem Software-Tester betrachtet werden. Dieser Schritt kann wie folgt präzisiert werden. Es soll für eine

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr