Objektorientierte Konzepte und Notation in UML

Slides:



Advertisements
Ähnliche Präsentationen
Übung: Online-Belegung einer Lehrveranstaltung
Advertisements

Use Cases mit selbstständigen Extend-Use-Case
Übung: Online-Belegung einer Lehrveranstaltung
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Frank Simon, BTU Cottbus: Einführung in UML
Frame-Logik Eine Einführung Andreas Glausch.
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
Projektplanung für Softwareprojekte
Methodik: Objektorientierte Analyse
Objektorientierter Entwurf
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Manfred Thaller, Universität zu Köln Köln 7. Januar 2010
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Ziel: externe Systemverhalten aus Anwendersicht
Anwendungsfalldiagramm
Objektorientierte Analyse (OOA) Inhaltsübersicht
DHBW Stuttgart, Informationstechnik, SW-Engineering, Bedienung des Innovators Sep 2012 / rie Seite 1 Innovator 11 (lokales Repository auf H:\..) INNOVATOR.
Anwendungsfall-Diagramm (Use Case Diagram)
Hörsaalübung 3: Anwendungsfall-Diagramm (Use Case Diagram)
Prof. Dr. Holger Schlingloff
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Lösungen
Objektorientierte Konzepte
Modellierung komplexer Realität mit Objekten
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
OO Analyse und Entwurf für Anwender
UML Begleitdokumentation des Projekts
Vorlesung Gestaltung von soziotechnischen Informationssystemen - Use Cases - Thomas Herrmann, Lehrstuhl Informations- und Technikmanagement (IMTM)
Visualisierung objektrelationaler Datenbanken
3. Vorlesung: UML Use Case Diagramme
12. Vorlesung: Aktivitätsdiagramme
Unified Modeling Language Repetition / Einführung zu UML
Gruppe: 1 Daniel Mossiossian Tobias Lux Benjamin Lederer René van Straaten Felix Drixler Software Engineering Projekt (IT3) Digitaler Restaurantassistent.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
LVA , SS021 Im Mittelpunkt aller Bemühungen steht der Kunde und die Steigerung des Kundennutzens. Deswegen: Wer alles reinlässt kann nicht.
Objektorientierte Analyse
Verteidigung der Bachelor-Thesis Objektorientierte Geschäftsprozessmodellierung mit BPMN und UML Patrick Heydorn.
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
UML UML mit SiSy® Vorgehensmodell Dokumentation HTML-Export
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Fachkonzepte in der UML
Informatik und Programmieren 3
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
SWT-Übung WS 10/ Zusammenfassung.
Die Unified Modeling Language UML
Unified Modeling Language UML
Use Case basierte Dokumentation von Web Applikationen am Beispiel von
Anwendungsfalldiagramm
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
; HG13 Herzgen, Jung, Lorkowski1 Anwendungsfalldiagramm.
Zitat-management-System Meilenstein 1
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
A nwendungsfalldiagramm. Ü berblick  Allgemein  Anwendungsfalldiagramm in Stichpunkten  Zusammenhang  Anwendungsbereich  Diagramm.
II. Die Junge Akademie | Mainz
UML-Zustandsdiagramme für Web-Anwendungen Statecharts und UML-based Web-Engineering (UWE) Jana Schäfer.
Use Cases Anwendungsfälle
Use Cases Nico Wacker.
 Präsentation transkript:

Objektorientierte Konzepte und Notation in UML Dynamische Konzepte: Anwendungsfall (use case) Botschaft Szenario

Anwendungsfall (use case) Anwendungsfallmodell: gesamte Systemfunktionalität Prozess innerhalb eines Systems Systemverhalten aus Sicht der Benutzer Benutzer= alles was außerhalb des zu entwickelnden Systems ist UML: Akteur (actor)= Rolle, die ein Benutzer spielt

Wer ist Akteur?

UML: Anwendungsfalldiagramm

Beziehungen zwischen Anwendungsfällen Include – Beziehung (<<include>>): Fall A hat immer Fall B zur Folge (A-->B) Extend – Beziehung (<<extend>>): Fall B erweitert Fall A, wenn zusätzliches spezialisiertes Verhalten in A eingefügt wird (A<--B) Erweiterungspunkte (extension points): Geben an, wo der Erweiterungsfall eingefügt wird Generalisierungsbeziehung (Vererbungspfeil): Erbender Fall erbt das gesamte Verhalten des vererbenden Falls und kann dieses modifizieren

Beziehungen zwischen Anwendungsfällen

Regeln für die Anwendung der Beziehungsarten: Include: Der benutzte Use Case ist unbedingt notwendig, um die Funktionalität des benutzenden Falls sicherzustellen. Extend: Der zu erweiternde Fall kann, muß aber nicht unbedingt vom erweiterten Use Case übernommen werden. Generalisierung: Der spezialisierte Use Case soll das komplette Verhalten des generalisierten Falles übernehmen.

Weitere Notationsmöglichkeiten/ Ergänzungen/ Einsatz Anwendungsfälle können (sollten möglichst) beschrieben werden (z.B. Schablonen); Art der Beschreibung ist frei wählbar Multiplizitäten ,Einschränkungen, Notizen können an eine Beziehung angetragen werden (nicht zu empfehlen/ sparsam verwenden) Erste Anforderungen an ein System ermitteln; Einstiegsdiagramm; (SW:Use-Case-driven Design)

Ziel: Anwendungsfalldiagramm modellieren Übung Ziel: Anwendungsfalldiagramm modellieren Es soll das System „Einweihungsfest“ aus der folgenden Beschreibung als Anwendungsfalldiagramm modelliert werden. Gehen Sie davon aus, dass Personen nicht Teil des Systems sind: Die Gäste der Feier werden vor allem Essen, Trinken und sich unterhalten. Der Gastgeber hat sich vorgenommen, jeden Gast persönlich zu empfangen. Außerdem hat er vor, selbst als DJ zu fungieren oder einen Gast zu bitten, dies zu übernehmen. Es soll also auch Musik abgespielt und dazu getanzt werden. Einige der Gäste werden sich melden, falls die Getränke ausgehen, um Nachschub zu ordern. Der Gastgeber wird dann für Nachschub sorgen. Es besteht die Möglichkeit, dass sich der Nachbar beschwert und direkt die Polizei ruft. Diese könnte dann veranlassen, die Party zu beenden. Der Gastgeber wird das Fest auflösen und die Gäste auf jeden Fall wieder persönlich verabschieden.

Botschaft (Nachricht) - Verständigungsmechanismus zwischen Objekten Aufforderung eines Senders an den Empfänger, etwas zu tun (Operationsaufruf, Operation ausführen) Bezeichnung der Botschaft == zugehörige Operation

Szenario 1 Anwendungsfall= Bündel von Szenarios 1 Szenario= Beschreibung eines Anwendungsfall-Objekts Zeigt eine Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen sind Beschreibt eine Folge von Ereignissen und Systemreaktionen, die bei der Ausführung eines System(-teil)s auftreten

Beispiel: Szenarios eines Anwendungsfalls Anwendungsfall: Medium ausleihen 1. Szenario (normale Ausleihe): Ein Benutzer legt seinen Benutzerausweis und die auszuleihenden Medien dem Bibliotheksmitarbeiter vor. Die Benutzer-ID und die Signaturen werden aufgenommen, das Rückgabedatum errechnet und die Ausleihe verbucht. 2. Szenario (maximale Anzahl der Medien erreicht): Es wird festgestellt, dass der Benutzer bereits eine vorgegebene Maximalanzahl ausleihbarer Medien erreicht hat. Die Ausleihe wird verweigert. 3. Szenario (Ausleihfrist überschritten): Der Benutzer hat für ein Medium, das noch nicht zurückgegeben wurde, die Leihfrist überschritten. Die Ausleihe wird verweigert.

Szenarios und UML Darstellung in UML durch Interaktionsdiagramme: 1. Kollaborationsdiagramm (collaboration diagram) 2. Sequenzdiagramm (sequence diagram) - zeigt Interaktionen zwischen Objekten im Zeitverlauf - eignet sich zur exemplarischen Darstellung genau eines möglichen Ablaufs eines Use Case, es beschreibt also genau ein mögliches Szenario

UML: Sequenzdiagramm 2 Dimensionen: vertikal = Zeit, horizontal = Objekte Objektlinie (lifeline): Existenz zu bestimmter Zeit O-Linienanfang ist Objektsymbol Aktivierungsbalken Löschen = X Botschaften = gefüllter Pfeil Rücksprung=strichlierter Pfeil

Beispiel

Zusätzliche Notationsfeatures Diagramm kann um 90° gedreht dargestellt werden Linker Rand: Darstellung einer Zeitachse ; zusätzliche textuelle Angaben (auch Einschränkungen, Pseudocode), die sich auf die Botschaften (in Ausrichtung) beziehen Nachrichten, bei deren Übermittlung ein Zeitverlust auftritt, können durch einen schräg abwärts gerichtetem Pfeil dargestellt werden Aktive Objekte (=Objekte, die über eigenen Prozess verfügen) werden fett eingerahmt dargestellt Überwachungsbedingung (guard condition) zwecks Sichtbarmachen von Fallunterscheidungen (Notation: [Bedingung] an Botschaft angetragen) Kontrollflussvarianten (synchron, asynchron) Verzweigung, Gleichzeitigkeit, alternative Lifelines

Übung Ziel: Sequenzdiagramm erstellen Beschreiben Sie folgende Problemstellung als Sequenzdiagramm. Legen Sie dabei das folgende Klassendiagramm zu Grunde: Ein neuer Kunde eröffnet bei einer Bank ein Sparkonto. Zuerst werden die Daten dieses Kunden erfasst. Bei der Kontoeröffnung muss der Kunde gleich eine Einzahlung vornehmen, d.h. es findet die erste Kontobewegung für dieses Konto statt. Kunde Sparkonto 1 1 1..* * Kontobewegung eröffnen() einzahlen() erfassen()

Übung Ziel: Szenario als Sequenzdiagramm modellieren Ein mögliches Szenario für den Anwendungsfall „Buch entleihen“ soll modelliert werden. Das Szenario sei wie folgt umschrieben: Der Benutzer legt seinen Benutzerausweis und das auszuleihende Buch dem Bibliotheksmitarbeiter vor. Dieser gibt die Benutzer-ID in eine Maske ein. Das System überprüft die Benutzer-ID. Es sucht dabei in einer Liste, die alle User speichert. Die User-ID wird überprüft. Bei Gültigkeit der ID (davon gehen wir aus) wird die Signatur über das Systeminterface aufgenommen. Das System vermerkt für den entsprechenden Benutzer die Signatur des Buches. Tip: Versuchen Sie wie im vorherigen Beispiel zunächst die Objekte/Klassen zu identifizieren, die in Interaktion stehen.