Objektorientierte Modellierung mit UML
|
|
|
- Gerrit Hertz
- vor 9 Jahren
- Abrufe
Transkript
1 Objektorientierte Modellierung mit UML Interaktionsdiagramm Der vorliegende Foliensatz basiert auf: M. Seidl, M. Brandsteidl, C. Huemer, G. Kappel: dpunkt.verlag, C. Larman: UML 2 und Patterns angewendet, mitp-verlag,
2 Was passierte bisher? Domänenmodell in Form eines Klassendiagramms wurde erstellt. Sample UP Artifact Relationships Requirements Domänenmodellierung Business Modeling Anforderungen Cashier date... Process Sale Operation: enteritem( ) Post-conditions: -... Sale Use Case Diagram Operation Contracts Domain Model 1 1..* Sales... LineItem Use-Case Model use case names system operations : Cashier quantity objects, attributes, associations Process Sale 1. Customer arrives Cashier makes new sale Use Case Text system events make NewSale() enteritem (id, quantity) : System System Sequence Diagrams... scope, goals, actors, features terms, attributes, validation non-functional reqs, quality attributes Vision Glossary Supplementary Specification Sequenzdiagramm Sequenzdiagramme für Standardablauf ausgewählter Anwendungsfälle sowie für komplexe alternative Szenarien erstellen requirements : Register Design Model : ProductCatalog : Sale Entwurf Design enteritem (itemid, quantity) spec = getproductspec( itemid ) addlineitem( spec, quantity ) Interaktionsdiagramme (dynamische Sicht)... Register makenewsale() enteritem(...)... * 1... ProductCatalog getproductdescription(...)... Klassendiagramme (statische Sicht) 2
3 Inhalt Objektentwurf CRC-Karten Objektdiagramm Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Von den Anforderungen zum Entwurf Dynamischer OO-Entwurf Interaktionsdiagramm 3
4 Objektentwurf Welche Fragen sind zu beantworten? Welche Verantwortlichkeiten hat das Objekt? Mit welchen anderen Objekten kollaboriert/kommuniziert es? Welche Nachrichten und Daten werden ausgetauscht? CRC-Karten helfen, diese Fragen zu beantworten! 4
5 CRC-Karten Class-Responsibility-Collaboration-Karten Karteikarten Vorderseite Klassenname (Class) Oberklasse Rückseite Beschreibung Verantwortlichkeiten und Aufgaben der Klasse Was muss die Klasse tun? (kurz, Zeitwort) (Responsibilities) Klassen, die benötigt werden, um Aufgaben zu erfüllen. (Collaborators) Attribute Nicht nur Inhalt, sondern auch Anordnung der Karten spielt eine Rolle CRC-Karten sind nur Diskussionsgrundlage Vorteil: kein zwingender Formalismus, keine Einschränkung des Designers 5
6 CRC-Karten Anordnung Während Diskussionen: Verschieben und Umlegen von Karten, Zeigen auf Karten Rollenspiele ("Was-wäre-wenn-Szenarios" mit Objekten durchspielen; Szenarien durchspielen) Lockere Konventionen: nahe beieinander: Verwandtschaft, Kooperation, wechselseitige Abhängigkeit untereinander: Steuerung, Benutzung, Abhängigkeit der unteren Klasse von der oberen, Subklassenrelation zeitlicher Ablauf überlappend: Referenz, Besitz, logische oder physische Umschließung 6
7 CRC-Karten Beispiel Zusammenspiel der Klassen einer Bibliothek für graphische Benutzerschnittstellen Application Initialisierung Öffnen des Hauptfensters Verarbeitung von Ereignissen Aufräumen MenuBar Window Event Steuerung, Benutzung View Darstellung der Daten (Model) Bearbeiten von Befehlen Anpassung der Fensterdimension Window Öffnen, Bewegen, Schließen Verwalten der Menüs Delegieren d. Befehle an die enthaltende View Application Window Application Menü View Referenz, Besitz 7
8 CRC-Karten Lasst uns weiter machen... 8
9 Objektentwurf CRC-Karten Interaktionsdiagramm 9
10 Objektentwurf CRC-Karten 10
11 Objektdiagramm Beschreibt den strukturellen Aspekt eines Systems auf Instanzebene in Form von Objekten und Links Momentaufnahme (snapshot) des Systems konkretes Szenario Ausprägung zu einem Klassendiagramm Beispiel: Klasse Benutzer - name: String - berechtigung: Recht - pwd: String - anzahl: Integer + pruefepw(string): Boolean + ermittleanzahl(): Integer Objekt josef:benutzer - name: Josef - berechtigung: E/L - pwd: anzahl: 4 Objektname:Klassenname 11
12 Objektdiagramm Basiskonzepte Basiskonzepte des Objektdiagramms Instanz einer Klasse: Objekt Instanz einer Assoziation: Link Instanz eines Datentyps: Wert Einheitliche Notationskonventionen Gleiches Notationselement wie auf Typebene benutzen Unterstreichen (bei Links optional) Objektdiagramm muss nicht vollständig sein Z.B. können Werte benötigter Attribute fehlen, aber auch Instanzspezifikation abstrakter Klassen modelliert werden 12
13 Diagrammart Objektdiagramm Basiskonzepte - Beispiel Strukturdiagramm Interaktionsübersichtsdiagramm Sequenzdiagramm Verhaltensdiagramm Klassendiagramm Paketdiagramm Komponentendiagramm Verteilungsdiagramm Objektdiagramm Kompositionsstrukturdiagramm Zustandsdiagramm Aktivitätsdiagramm Anwendungsfalldiagramm Interaktionsdiagramm Kommunikationsdiagramm Zeitdiagramm Klassendiagramm 1..* gehört zu Kalender - benutzer: String - istoffen: boolean - + setzebenutzer(string) + istoffen(): Booelan + ermittleansicht(): Ansicht + ermittletermine(): Termine[] * Termin - beginn: DatumZeit - dauer: Zeit - + setzebeginn(datumzeit) + ermittledauer(): Zeit + gehört zu k1kalender : Kalender - benutzer = Josef t1 : Termin - - dauer = 2 Objektdiagramm gehört zu t2 : Termin - - dauer = 4 k2kalender : Kalender - benutzer = Max gehört zu 13
14 Diagrammart Strukturdiagramm Verhaltensdiagramm Interaktionsdiagramme Zeigen wie Nachrichten zwischen verschiedenen Interaktionspartnern in einem bestimmten Kontext ausgetauscht werden (Modellierung der Operationen einer Klasse). 4 Arten von Interaktionsdiagrammen: Interaktionsübersichtsdiagramm Sequenzdiagramm Klassendiagramm Paketdiagramm Komponentendiagramm Verteilungsdiagramm Objektdiagramm Kompositionsstrukturdiagramm Zustandsdiagramm Aktivitätsdiagramm Anwendungsfalldiagramm Interaktionsdiagramm Kommunikationsdiagramm Zeitdiagramm Sequenzdiagramm zeigt den zeitlichen und logischen Nachrichtenfluss sd P rolle1:typ rolle2:typ rolle3:typ rolle4:typ m1 m2 m3 Kommunikationsdiagramm ist "strukturell" orientiert comm P rolle1:typ 1:m1 rolle2:typ 1.1:m2 1.2:m3 c rolle3:typ rolle4:typ Interaktionsdiagramm 14
15 Diagrammart Sequenzdiagramm Einführung Zeigen Nachrichten- und Datenaustausch Zeitliche und logische Abfolge steht im Vordergrund Gut geeignet für exemplarische Darstellung von Abläufen (bspw. von konkreten Anwendungsfällen) Zwei Achsen Zeitachse vertikal Objekte horizontal Strukturdiagramm Interaktionsübersichtsdiagramm Sequenzdiagramm Verhaltensdiagramm Klassendiagramm Paketdiagramm Komponentendiagramm Verteilungsdiagramm Objektdiagramm Kompositionsstrukturdiagramm Zustandsdiagramm Aktivitätsdiagramm Anwendungsfalldiagramm Interaktionsdiagramm Kommunikationsdiagramm Zeitdiagramm Wie läuft die Kommunikation in meinem System ab? Wie soll das System mit seiner Umwelt interagieren? Interaktionsdiagramm 15
16 Basiskonzepte Diagrammrahmen Zeitachse Interaktionspartner sd Interaktionsname (p:typ): Typ loop (1,*) [a<1] Lebenslinie Nachricht Zustandsinvariante {p=15} p=15 p=15 {locked} locked locked Kombiniertes Fragment loop (1,*) [a<1] Interaktionsdiagramm 16
17 Basiskonzepte Parameter, lokale Attribute Darstellung von Parametern und lokalen Attributen Interaktion sdiagram m Lokale Attribute void func (int par1, int par2) { int x = 0; String y = " Test "; } Parameter sd func (int par1, int par2) x:int = 0 y:string = "Test" Variante 2: sd func (int par1, int par2) x:int = 0 y:string = "Test" 17
18 Basiskonzepte - Lebenslinie Eine Lebenslinie beschreibt genau einen Interaktionspartner (z.b. Klassen) Notation Name der Instanz Typname des Interaktionspartners pers1:person Lebenslinie, die eine benannte Instanz repräsentiert. Kopf der Lebenslinie rolle:typ Lebenslinie «destroy» Lebenszeit persons: ArrayList<Person> Lebenslinie, die eine Instanz einer ArrayList-Template-Klasse repräsentiert, die Person-Objekte speichern soll. Löschsymbol Interaktionsdiagramm 18
19 Basiskonzepte - Lebenslinie: Ereignisspezifikation Interaktionen werden als Folge von Ereignisspezifikationen auf Lebenslinien betrachtet Beispiel für Ereignisspezifikationen Senden und Empfangen von Nachrichten auf verschiedenen Lebenslinien oder der gleichen Lebenslinie s:sender e:empfänger Sendeereignis Nachricht() Empfangsereignis Interaktionsdiagramm 19
20 Basiskonzepte - Lebenslinie: Reihenfolge von Ereigniseintritten auf einer Lebenslinie auf verschiedenen Lebenslinien m3 m1 m3 m1 Trace1: m1 m3»zeitlich vor«trace1: m1 m3 Trace2: m3 m1 auf verschiedenen Lebenslinien, verbunden durch Nachrichtenaustausch m3 m2 m1 Trace1: m1 m2 m3 Trace = Folge von konkreten Ereigniseintritten - bestimmt den Ablauf einer Interaktion zur Laufzeit Interaktionsdiagramm 20
21 Basiskonzepte - Lebenslinie: Ausführungsspezifikation (-fokus) Die Ausführung einer Operation wird durch zwei Ereignisspezifikationen (Start und Ende) auf der gleichen Lebenslinie definiert Diese so genannte Ausführungsspezifikation (oft als Kontrollfokus bezeichnet) kann durch einen Balken dargestellt werden Ausführungsarten Direkt Interaktionspartner führt Verhalten selbst aus Nachrichtenaufruf Rücksprung Ablauf der Aktion (i. d. Regel ein Methodenaufruf) Startereignisspezifikation Ausführungsspezifikation Endeereignisspezifikation Indirekt Ausführung wird an andere Interaktionspartner delegiert Interaktionsdiagramm 21
22 Basiskonzepte - Nachricht Arten der Nachrichtenübermittlung Synchroner Kontrollfluss Der Sender wartet bis zur Beendigung der Interaktion, die durch die Nachricht ausgelöst wurde m1(p1,p2) Asynchroner Kontrollfluss Die Nachricht wird als Signal betrachtet Der Sender wartet nicht auf das Ende der Interaktion m2 Antwortnachricht (optional) att: Name eines Attributs dem der Rückgabewert zugewiesen werden soll m1: Name der Nachricht, auf die geantwortet wird wert: Rückgabewert att=m1:wert Antwortnachrichten sollten dort eingezeichnet werden, wo sie zusätzliche Informationen für den Leser bereitstellen sonst nicht, da Diagramme unübersichtlich wird. Interaktionsdiagramm 22
23 Basiskonzepte - Nachricht: Spezielle Nachrichtenarten Objekterzeugung Ermöglicht, einen Interaktionspartner erst im Laufe der Interaktion zu erzeugen Verlorene Nachricht Senden einer Nachricht an unbekannten oder nicht relevanten Interaktionspartner Gefundene Nachricht Empfang einer Nachricht von einem unbekannten oder nicht relevanten Interaktionspartner Zeitkonsumierende Übertragung new ( ) lost found Nachrichten an»self«oder»this«interaktionsdiagramm 23
24 Basiskonzepte - Lebenslinie: Aktives Objekt Aktive Objekte verfügen über eigenen Kontrollfluss (Prozess oder Thread) Können unabhängig von anderen Objekten operieren Notation Kopf der Lebenslinie wird links und rechts mit doppeltem Rand versehen durchgehender Balken über gesamte Lebenslinie Interaktionsdiagramm 24
25 Basiskonzepte - Aktives Objekt: Beispiel :ClockStarter "Rufe mit dem new-operator den Konstruktor auf." aktives Objekt startclock create :Clock run public class ClockStarter { public void startclock() { Thread t = new Thread(new Clock()); t.start(); //asynchronous call to the //run-method on the Clock... } } //... public class Clock implements Runnable { public void run() { while (true) //loop forever on own thread { //... } } //... } Interaktionsdiagramm 25
26 Basiskonzepte - Beispiel Beispiel: Berechnung der Dauer eines Termins sd Dauer berechnen b1 :Benutzer gesdauer :Kalender besprechung [1]:Termin besprechung [2]:Termin dauer dauer: sitzungszeit gesdauer: gesamt dauer dauer: sitzungszeit Interaktionsdiagramm 26
27 Basiskonzepte - Zustandsinvariante Zusicherung, dass eine bestimmte Bedingung zu einem bestimmten Zeitpunkt erfüllt ist Bezieht sich immer auf eine bestimmte Lebenslinie Wird vor Eintritt des darauf folgenden Ereignisses ausgewertet Falls Zustandsinvariante nicht erfüllt ist - Fehler Notationsvarianten: {p=15} {locked} p=15 locked p=15 locked Interaktionsdiagramm 27
28 Basiskonzepte - Aufruf von Klassenmethoden Nachricht an Klasse oder ein Aufruf einer statischen Methode Klassenobjekt wird als eine Instanz einer Metaklasse dargestellt. dox :Foo getavailablelocales() «metaclass» Calendar locales=getavailablelocales() public class Foo { public void dox() { // Aufruf einer statischen Methode der Klasse Calendar Locale[] locales = Calendar.getAvailableLocales(); //... } //... } Interaktionsdiagramm 28
29 Basiskonzepte - Polymorphe Nachrichten {abstract} Payment authorize() {abstract}... Payment ist eine abstrakte Oberklasse mit konkreten Unterklassen, die die polymorphe authorize-operation implementieren. CreditPayment authorize()... DebitPayment authorize()... :Register polymorphe Nachricht {abstract} :Payment Objekt in der Rolle einer abstrakten Klasse dox authorize Weitere Details über diese Nachricht sollten nicht mehr modelliert/gezeigt werden :DebitPayment :Foo :CreditPayment :Bar authorize doa authorize dox dob Interaktionsdiagramm 29 Separate Diagramme für jeden polymorphen konkreten Fall
30 Kombinierte Fragmente Modellierung von Kontrollstrukturen Bestandteile: Operator und Operanden Operator Definiert Art des kombinierten Fragments 12 vordefinierte Operatoren Operand Ein Operator enthält ein oder mehrere Operanden, je nach Operatorart Kann Interaktionen, kombinierte Fragmente (Schachtelung!) und Referenzen auf Sequenzdiagramme umfassen Interaktionsdiagramm 30
31 Kombinierte Fragmente - Notation Kombiniertes Fragment wird wie Sequenzdiagramm mit Rahmen dargestellt Art des Fragments wird durch Operator im Pentagon festgelegt (default: seq) Operatoren sd Beispiel alt Kombinierte Fragmente Operand 1 Operanden werden durch gestrichelte Linien voneinander getrennt loop Operand1 Operand 2 Interaktionsdiagramm 31
32 Filterungen und Zusicherungen Parallelität und Ordnung Verzweigungen und Schleifen Sequenzdiagramm Kombinierte Fragmente - Operatorarten Operator alt opt break loop seq strict par critical ignore consider assert neg Zweck Alternative Interaktionen Optionale Interaktionen Ausnahme Interaktionen Iterative Interaktionen Sequentielle Interaktionen mit schwacher Ordnung (Default-Operator) Sequentielle Interaktionen mit strenger Ordnung Parallele Interaktionen Atomare Interaktionen Irrelevante Interaktionen Relevante Interaktionen Zugesicherte Interaktionen Ungültige Interaktionen 32
33 Kombinierte Fragmente Verzweigungen: alt-operator Darstellung von zwei oder mehreren alternativen Interaktionsabläufen Zur Laufzeit wird maximal ein Operand ausgeführt Auswahl eines Operanden anhand von Überwachungsbedingungen Boolscher Ausdruck in eckigen Klammern Vordefinierte else-bedingung: Operand wird ausgeführt, falls die Bedingungen aller anderen Operanden nicht erfüllt sind Überwachungsbedingung alt [a<1] [else] Interaktionsdiagramm 33
34 Kombinierte Fragmente Verzweigungen: opt- und break-operator Überwachungsbedingung steuert Durchlauf der Interaktionen Optionale Interaktionen Ausnahme-Interaktionen opt [a<1] break [a<1] } Interaktionen die unabhängig vom opt-fragment ausgeführt werden } Interaktionen die im Falle des break ([a<1]) nicht ausgeführt werden Interaktionsdiagramm 34
35 Kombinierte Fragmente Schleifen: loop-operator Darstellung einer Schleife über einen bestimmten Interaktionsablauf Fragment enthält nur einen Operanden Ausführungshäufigkeit wird durch Zähler mit Unter- und Obergrenze dargestellt Optional: Überwachungsbedingung, wird bei jedem Durchlauf überprüft Zählergrenzen Überwachungsbedingung Schleife wird solange durchlaufen, bis a >= 1 loop (1,*) [a<1] Interaktionsdiagramm 35
36 Kombinierte Fragmente loop-operator: Beispiel Iteration über eine Collection Repräsentiert eine Instanz aus einer Collection von SalesLineItem-Objekte. Der Wert i bezieht sich auf dasselbe i in der Schleifenbedingung. :Sale lineitems[i]:saleslineitem t=gettotal loop [i < lineitems.size] st = getsubtotal i++ Aktionselement kann beliebige Sprachbefehle enthalten (Inkrement auch als Notiz darstellbar) :Sale lineitems[i]:saleslineitem t=gettotal loop st = getsubtotal Interaktionsdiagramm 36
37 Kombinierte Fragmente Verzweigungen und Schleifen: Beispiel 1/6 Aufgabe: Der Anwendungsfall "Termin löschen" des Onlinekalenders soll mittels Sequenzdiagramm modelliert werden. Zunächst muss sich der Benutzer in der Terminmaske mittels Passwort einloggen. Der Onlinekalender prüft das Passwort. Der Benutzer wird nach jeder Eingabe des PW informiert, ob es korrekt war. Der Benutzer hat 3 Versuche für die PW-Eingabe. Nach dem 3. Versuch wird er informiert, dass der Vorgang abgebrochen wird, und die gesamte Interaktion "Termin löschen" wird abgebrochen. Konnte sich der Benutzer einloggen, so wird ihm der aktuelle Kalender mit den gesamten Terminen gezeigt. Der Benutzer kann nun einen Termin wählen und versuchen diesen zu löschen. Interaktionsdiagramm 37
38 Kombinierte Fragmente Verzweigungen und Schleifen: Beispiel 2/6 Der Termin überprüft durch eine Anfrage beim Onlinekalender, ob der Benutzer berechtigt ist, diesen Termin zu löschen, indem der Termin die Benutzerkennung b anfordert. Ist der Benutzer nicht berechtigt, wird er darüber informiert. Ansonsten werden alle Notifikationen aus der Queue der noch zu versendenden Notifikationen gelöscht. die Einträge dieses Termins aus den Terminlisten aller Teilnehmer gelöscht. die Teilnehmer, die online sind, durch einen Hinweis informiert. Schließlich wird die Terminmaske beendet. Interaktionsdiagramm 38
39 Kombinierte Fragmente Verzweigungen und Schleifen: Beispiel 3/6 sd Termin löschen b1 :Benutzer :Termin- Maske te[i] :Termin :Kalender n[j] :Notifikation :Queue tn[k] :Teilnehmer loop (1,3) prüfe Passwort (pwd) anzeige (ergebnis) [richtiges Passwort] prüfe Passwort (pwd) ergebnis= prüfepasswort(pwd) Interaktionsdiagramm 39
40 Kombinierte Fragmente Verzweigungen und Schleifen: Beispiel 4/6 sd Termin löschen b1 :Benutzer :Termin- Maske te[i] :Termin :Kalender n[j] :Notifikation :Queue tn[k] :Teilnehmer break [falsches Passwort] melde Abbrechen Abbrechen anzeige Kalender anzeige Kalender lösche(te[i]) lösche(te[i]) benutzer benutzer:b b: Benutzeridentifikation Interaktionsdiagramm 40
41 Kombinierte Fragmente Verzweigungen und Schleifen: Beispiel 5/6 sd Termin löschen b1 :Benutzer :Termin- Maske alt melde kein Löschrecht te[i] :Termin kein Löschrecht [b ist nicht berechtigt] :Kalender n[j] :Notifikation :Queue tn[k] :Teilnehmer [b ist berechtigt] loop (0,anzahlNotifikationen) lösche loop... siehe nächste Folie x deq(n[j]) j:=nrakt- Durchlauf Interaktionsdiagramm 41
42 Kombinierte Fragmente Verzweigungen und Schleifen: Beispiel 6/6 sd Termin löschen b1 :Benutzer :Termin- Maske te[i] :Termin :Kalender n[j] :Notifikation :Queue tn[k] :Teilnehmer alt Operand 1... siehe vorige Folie x Operand 2... siehe teilweise vorige Folie loop (1,anzahlTeilnehmer) löschetermin(self) info(self,te[i]) x k:=nrakt- Durchlauf opt [tn[k] ist online] f :Infonew(hinweis) Fenster Interaktionsdiagramm 42
43 Modularisierung Zweck: Wiederverwendung und Reduktion der Komplexität Interaktionsreferenz Zur Referenzierung anderer Sequenzdiagramme Dadurch können Interaktionsabläufe und Lebenslinien zerlegt werden Verknüpfungspunkt Zur Verbindung von Nachrichten zwischen Sequenzdiagrammen, Interaktionsreferenzen oder kombinierten Fragmenten Interaktionsdiagramm 43
44 Modularisierung - Interaktionsreferenz 1/3 Interaktionen des referenzierten Sequenzdiagramms werden ausgeführt, so als wären sie direkt in das referenzierende Diagramm eingebettet Eventuell vorhandene Parameter werden gebunden Nach Ausführung der referenzierten Interaktionen wird unterhalb der Interaktionsreferenz fortgesetzt Interaktionsdiagramm 44
45 Modularisierung - Interaktionsreferenz 2/3 Zerlegung von Interaktionsabläufen Rahmen mit Pentagon in der linken oberen Ecke Pentagon enthält Schlüsselwort ref Rahmen enthält Namen der referenzierten Interaktion, optional Parameter und Rückgabewerte sd Beispiel X Y Z Bezieht sich auf das benannte Sequenzdiagramm sdname ref sdname(par1, par2): rückgabewert sd sdname(par1, par2):rückgabewert X Y Z Interaktionsdiagramm 45
46 Modularisierung - Interaktionsreferenz 3/3 Zerlegung von Lebenslinien Lebenslinien können interne Strukturen aufweisen, für die eigene Sequenzdiagramme spezifiziert werden können Schlüsselwort ref im Kopf der Lebenslinie sd b1 sd b2 t z:u ref b2 :teil1 :teil2 v1 v1 v2 v2 Interaktionsdiagramm 46
47 Modularisierung - Verknüpfungspunkt 1/2 Zweck: ermöglicht den Nachrichtenfluss zwischen Sequenzdiagrammen und/oder kombinierten Fragmenten und/oder Interaktionsreferenzen Dadurch können hereinkommende oder hinausgehende Nachrichten modelliert werden Verknüpfungspunkte zwischen Sequenzdiagrammen können entweder implizit über Namensgleichheit oder explizit über eine Interaktionsreferenz modelliert werden Interaktionsdiagramm 47
48 Modularisierung - Verknüpfungspunkt 2/2 Spitze oder Ende eines Nachrichtenpfeils berührt Rand des Rahmes Optional: Name für Verknüpfungspunkt wird neben Schnittpunkt von Nachrichtenpfeil und Rahmen angegeben sd b1 Verknüpfungspunkte- Sequenzdiagramm Verknüpfungspunkte- Interaktionsreferenz Verknüpfungspunktekombiniertes Fragment t v1 v2 m1 ref opt u b2 v1 v2 sd b2 X v1 v2 Y Interaktionsdiagramm 48
49 Modularisierung - Beispiel: Interaktionsreferenz sd Termin löschen b1 :Benutzer ref break melde Löschen Abbrechen :Termin- Maske te[i] :Termin PrüfePasswort löschen Abbrechen :Kalender [falsches Passwort] sd PrüfePasswort b1 :Benutzer :Termin- Maske loop (1,3) [richtiges n[j] Passwort] tn[k] :Notifikation Passwort(pwd) nehmer prüfe prüfe :Queue :Teil- Passwort(pwd) anzeige (ergebnis) ergebnis= prüfepasswort(pwd) :Kalender anzeige Kalender anzeige Kalender lösche(te[i]) lösche(te[i]) benutzer b 49
50 Lasst uns weiter machen... 50
51 Zusammenfassung "If you want to explore multiple alternative interactions quickly, you may be better off with CRC cards, as that avoids a lot of drawing and erasing. It's often handy to have a CRC card session to explore design alternatives and then use sequence diagrams to capture any interactions that you want to refer to later." [Fowler] Zeigt klar die Abfolge oder die zeitliche Reihenfolge von Nachrichten (~ Message Passing) Beispielhaft wichtige (kritische) Interaktionssequenzen modellieren Auf Nebensächlichkeiten verzichten, Sequenzdiagramme sind schnell überladen Kontrollstrukturen lassen sich mit Sequenzdiagrammen nur umständlich darstellen (Aktivitätsdiagramm bzw. Code ist dafür besser geeignet) Zwang, Diagramme nach rechts zu erweitern, wenn neue Objekte hinzugefügt werden; braucht den horizontalen Raum schnell auf Interaktionsdiagramm 51
52 Zusammenfassung Sie haben die Modellierung mit Interaktionsdiagrammen verstanden, wenn Sie wissen wofür Interaktionsdiagramme verwendet werden. aus welchen Komponenten ein Sequenzdiagramm besteht. was mit einer Lebenslinie gemeint ist. wie die Reihenfolge von Ereigniseintritten im Sequenzdiagramm definiert ist. was der Unterschied zwischen direkter und indirekter Ausführung, sowie aktiven und passiven Objekten ist. welche Operatoren im Sequenzdiagramm zur Verfügung stehen. wie Nebenläufigkeit ausgedrückt werden kann. Interaktionsdiagramm 52
53 Exkurs: Design Pattern: Singleton Interaktionsdiagramm 53
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
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
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)
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)
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)
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
Klassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
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
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
9. Operationenmodellierung mit Interaktionsdiagrammen
Inhalt 1. Modellierung funktionaler Aspekte im objektorientierten Design 2. Sequenz- und Kollaborationsdiagramme: Notation und Vergleich 3. Beispiele aus dem POS Terminal Beispiel Lernziele: die UML-Notation
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick [email protected] www.is.informatik.uni-kiel.
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick [email protected] www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG
Herzlich willkommen zur heutigen Vorlesungseinheit OOM. Heute schauen wir uns das Sequenzdiagramm, eines der vier Interaktionsdiagramme von UML an.
Herzlich willkommen zur heutigen Vorlesungseinheit OOM. Heute schauen wir uns das Sequenzdiagramm, eines der vier Interaktionsdiagramme von UML an. Seite 0 Seite 1 Ich werde zunächst kurz motivieren, warum
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
Übungsaufgaben UML Zertifizierung Fundamental-Level
Übungsaufgaben UML Zertifizierung Fundamental-Level Kapitel 15: Sequenzdiagramm Die folgenden Aufgaben behandeln die Inhalte aus Kapitel 15 von UML 2 glasklar (4. Auflage), die die OMG für die Zertifizierung
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
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
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
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,
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
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
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
1. Erläutere ausführlich, welche Beziehung zwischen den Klassen bzw. Interfaces
UML Klassen Diagramm Aufgaben UML Klassendiagramm 1. Erläutere ausführlich, welche Beziehung zwischen den Klassen bzw. Interfaces AdressbuchGui und JFrame, AdressbuchGui und AdressbuchGuiListener AdressbuchGuiListener
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
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
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,
Vorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. UML: Sequenzdiagramm 1 Motivation Es
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
UML konzentriert. Eine kompakte Einführung in die Standard-Objektmodellierungssprache. Martin Fowler. ADDISON-WESLEY An imprint of Pearson Education
Martin Fowler UML konzentriert Eine kompakte Einführung in die Standard-Objektmodellierungssprache ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills,
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
Objektorientierte Modellierung (1)
Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist
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
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
Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
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,
Vorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
Modellierung von Verhalten OOPM, Ralf Lämmel
Wer ist das dann wieder? Modellierung von Verhalten OOPM, Ralf Lämmel 878 Strukturelle Modellierung vs. Verhaltensmodellierung Klassendiagramm für die Modellierung einer Universität Aktivitätsdiagramm
Aufgabe 1: Sequenzdiagramm Gegeben ist das in Abbildung 1 dargestellte (vereinfachte) Sequenzdiagramm mit sechs Ereignissen (a-f ).
VU Objektorientierte Modellierung Übung 4 188.391, SS2007 Tutorenstunden: Di. 8.5.2007 bis Fr. 11.5.2007 Übungsgruppen: Mo. 14.5.2007 bis Fr. 18.5.2007 Aufgabe 1: Sequenzdiagramm Gegeben ist das in Abbildung
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
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?
OO Design. welche Methoden in welcher Klasse sind, und. diese Interagieren
Design: GRASP 1 OO Design Definition Objektorientiertes Design: After identifiying your requirements and creating a domain model, then add methods to the software classes, and define the messaging between
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.............................
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
UML mit Enterprise Architect
Matthias Fritz UML mit Enterprise Architect Trainingsunterlage - 6. überarbeitete Auflage XEN Information Systems GmbH, Wien Der Autor Dipl.-Ing. (FH) Matthias FRITZ hat ein Studium der Informationstechnik
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
Von UML 1.x nach UML 2.0
Zürich Soft Summer 2005 Fortgeschrittene Aspekte der Software Technologie Von UML 1.x nach UML 2.0 Prof. Dr. Martin Glinz www.ifi.unizh.ch/req Ergänzendes Material zur Vorlesung Spezifikation und Entwurf
Rückblick: Entity-Relationship-Modell
Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben
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
Theorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
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,
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit
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
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
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:
Modellierung von Web Anwendungen mit UML
Web Engineering-Seminar Modellierung von Web Anwendungen mit UML Yu Gan Yihui He 1 Gliederung 1. UML Grundlagen 1.1 Einführung 1.2 UML-Bausteine 1.3 Darstellung in Diagrammen 2. Modellierung von Web Anwendung
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
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
Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014
Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme 11. November 2014 Überblick Was ist die Unified Modeling Language (UML)? die Standardmodellierungssprache für Softwaresysteme
ARTiSAN Software Tools
ARTiSAN Software Tools Der neue Modellierungsstandard UML 2: Besser geeignet für Eingebettete Systeme? Andreas Korff, Principal Consultant Workshop Eingebettete Systeme der GI-Fachgruppe Echtzeitsysteme
RUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
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:
Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
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?
Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
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
J.2 Objektorientiertes Modellieren mit UML
Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden
Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11
UML 2 für Studenten Inhaltsverzeichnis Vorwort 11 Teil I Einführung 13 Kapitel 1 UML (nicht nur) für Studenten 15 1.1 Zielgruppen 16 1.2 Konventionen 17 1.3 Abgrenzung 18 1.4 Aufbau dieses Buches 18 Kapitel
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
Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn
Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams Lothar Wendehals 6. Workshop Software-Reengineering Bad Honnef, 3. - 5. Mai 2004 Motivation Unterstützung des
Software- und Systementwicklung
Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm
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.
Javakurs für Anfänger
Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm
Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1
Modellierung mit UML Thomas Kistel 24. November 2006 Thema - Untertitel Datum/Semester Ihr Name Seite 1 Inhalt 1. Einführung zu UML 2. Zielsetzung von UML 3. Sichten und Diagramme von UML 4. Model Driven
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
Behavioral Patterns. Seminar Software-Entwurf WS 04/05. Przemyslaw Dul
Behavioral Patterns Seminar Software-Entwurf WS 04/05 Przemyslaw Dul Gliederung Design Pattern (Wiederholung) Einordnung Übersicht über die Kategorien: Creational,Structural,Behavioral Übersicht über die
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
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
Oracle JDeveloper 10 g
Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung
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
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
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
Kapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
Einstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
Analyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:
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
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Testfallgenerierung aus Statecharts und Interaktionsdiagrammen
Testfallgenerierung aus Statecharts und Interaktionsdiagrammen Dehla Sokenou TU Berlin Softwaretechnik Motivation Warum Testen mit Hilfe von UML? UML verbreitete Spezifikationssprache in der Objektorientierung
BPMN. Suzana Milovanovic
BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business
Der Design-Workflow im Software-Entwicklungs-Prozess
Der -Workflow im Software-Entwicklungs-Prozess Universität Bonn, Vorlesung Softwaretechnologie SS 2000 1 Der -Workflow stellt zum Ende der Elaborations- und Anfang der Konstruktionsphase den Schwerpunkt
Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting
Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,
Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1
Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungsblatt 10 - Lösungshilfe Aufgabe 1. CRC-Karten (7 Punkte) Es geht um die Modellierung der folgenden Bibliotheks-Anwendung:
Prinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
