Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von...

19
Ein Use Case- Ein Use Case- Modellierungs- Modellierungs- werkzeug für die werkzeug für die ViPER-Plattform ViPER-Plattform Zwischenvortrag zur Diplomarbeit Zwischenvortrag zur Diplomarbeit von von Andreas Walter Andreas Walter [email protected] [email protected]

Transcript of Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von...

Page 1: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

Ein Use Case-Ein Use Case-Modellierungs-werkzeug Modellierungs-werkzeug für die ViPER-Plattformfür die ViPER-Plattform

Zwischenvortrag zur Diplomarbeit von Zwischenvortrag zur Diplomarbeit von Andreas WalterAndreas Walter

[email protected]@rwth-aachen.de

Page 2: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

ÜberblickÜberblick

Theoretische Grundlagen Begriffe, Anwendungsgebiete, Beschreibung

Existierende Werkzeugunterstützung Anforderungen Umsetzung

Konzeptuell Technisch

Demo Zwischenfazit & Ausblick

Page 3: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Begriffe & EinsatzgebieteBegriffe & Einsatzgebiete

Begriffe System Akteur Use Case

Inklusion Erweiterung Generalisierung

Use Case-Instanz Use Case-Modell

Einsatzgebiet: Modellierung von Systemverhalten aus der Benutzersicht

Deskriptiv Präskriptiv

Ausgangspunkt für Entwurf, Implementierung und Test Beispiel: Objectory-Prozessmodell (Jacobson 87)

Page 4: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Beschreibung von Use Cases: „Lebenszyklus“ „Lebenszyklus“ „Lebenszyklus“ eines Use Case

(Bittner&Spence, 2003)

Discovered Briefly Described Bulleted Outline

Essential OutlineDetailed

DescriptionFully Described

Page 5: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Beschreibung von Use Cases: Graphische ÜbersichtGraphische Übersicht Übersicht durch UML2 Use Case-Diagramme

Page 6: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Beschreibung von Use Cases: Inhalte (Bittner&Spence, 2003)Inhalte (Bittner&Spence, 2003)Bestandteil Erläuterung

Name Name des Use Case. Muss eindeutig sein und sollte das Ziel der Interaktion zwischen System und Akteur beschreiben.

Kurze Beschreibung Stellt knapp den Zweck des Use Case dar.

Vorbedingungen Textuelle Beschreibung des Zustandes, der vor Ausführung des Use Case gegeben sein muss. Optional.

Nachbedingungen Textuelle Beschreibung des Zustandes, der nach Ausführung des Use Case gegeben sein muss. Optional.

Besondere Anforderungen Textuelle Beschreibung von Anforderungen, die nicht in der Beschreibung des Ereignisflusses enthalten sind, bspw. nichtfunktionale. Optional.

Ereignisfluss Textuelle Beschreibung der Ereignisse, die bei der Ausführung des Use Case geschehen (können). Strukturiert in Basisfluss, alternative Flüsse, Teilflüsse.

Erweiterungspunkte Positionen im Ereignisfluss, an denen alternative Abläufe ansetzen können. Optional.

Page 7: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Beschreibung von Use Cases: Der EreignisflussDer Ereignisfluss „Einheit“ der Use Case-Beschreibung: Ereignis Zerlegung des Systemverhaltens in sogenannte Flüsse:

Basisfluss: Weg des geringsten Widerstands von Start zur Zielerreichung

Alternative Flüsse: Optionales oder unter Umständen nötiges (System-)Verhalten, verknüpft mit dem variierten Fluss über Erweiterungspunkte Spezifisch Generell Beschränkt

Page 8: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Beschreibung von Use Cases: Der Ereignisfluss (2)Der Ereignisfluss (2)

Page 9: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Use Case-Beschreibung Use Case-Beschreibung (Bittner&Spence, 2003): (Bittner&Spence, 2003): BeispielBeispielUse Case Description: Authenticate Customer

1. Brief Description: This use case is included by other use cases. It is used to authenticate that the individual using the ATM (the Customer) is authorized to use the inserted bank card and that the account associated with the bank card is active.

2. Use Case Diagram: [...]

3. PreconditionsThe bank card has been inserted into the ATM.The bank card information has been read successfully.A Customer is in dialogue with the including use case. The ATM Session ID has been created.

4. Basic Flow:

{Validate Card Information}1. The system sends the bank card information to the Bank System to confirm that that the bank

card and its associated account are active, that the card has not been reported stolen, and that the bank card information (including the PIN) read from the bank card is valid.

2. The system also sends the ATM ID and the ATM Session ID to the Bank System along with the bank card information.

3. The Bank System acknowledges that the bank card information is valid and that the card can be used.{Validate User Identity}4. The system prompts the Customer for the PIN5. The Customer enters the PIN.6. The system checks that the entered PIN is identical to the PIN read from the bank card.{Use Case Ends}7. Resume the including use case at the next step.

Page 10: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Use Case-Beschreibung: Use Case-Beschreibung: Beispiel (Forts.)Beispiel (Forts.)5. Alternative Flows:

5.1 Handle No Communications With the Bank System

At {Validate Card Information} if the Bank System cannot be contacted or does not reply within the set communication time-out period,

1. If the communications link has failed more times than the communication retry number, then the authentication attempt is abandoned and basic flow is resumed at {Use Case Ends}.

2. The system attempts to contact the Bank System until it has completed the number of retry attempts indicated by the communication retry number.

3. If communications are reestablished, the basic flow is resumed at {Validate Card Information}.4. If there is still no response from the Bank System, the system created an event log entry to record the failure of the communications

link to the Bank System. The event log entry includes the type of failure.5. The system sends the event log to the Service Administrator to inform it that communication with the Bank System has been lost.6. Resume the basic flow at {Use Case Ends}.

[...]

6. PostconditionsThe Customer has been authorized to use the card.The Customer has been barred from using the card, and the card has been confiscated.The Customer has been barred from using the card, and the card has not been confiscated.

7. Public Extension PointsNone.

8. Special RequirementsNone.

Page 11: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Existierende Werkzeugunterstützung Produkt

Aspekt

MS Office

RSA VP EE Gentleware Poseidon

Together 2006

Artisan Studio 6.1

ILogix Rhapsody

Use Case Editor

Jaczone Way Pointer

UML2-MM vollständig nutzbar + + - - - - - - (+)Prüfung UML-Syntax - + + + + + - - (+)Prüfung UML-Constraints - + - - + + - - (+)Prüfung weiterer Konsistenzbed. - + - - + + - - (+)Prinzipiell möglich + + + + + + + + (+)Strukturierte UC-Beschreibung + - + + - - - + (+)Explizite Erfassung von UC-Beziehungen

- - - - - - - + OKonsistenz-sicherung Text - UML

- - - - - - - O

TM

UML

Page 12: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Erkannte Probleme & Erkannte Probleme & AnforderungenAnforderungen Probleme

Oft unvollständige Implementierung und damit Unterstützung des UML2-Metamodells

Oft fehlende Unterstützung für textuelle Use Case-Beschreibung

Konsistenz zwischen UML-Modell und textueller Beschreibung kaum gesichert

Anforderungen Graphischer Editor für UML2 Use Case-Modelle Editor für textuelle Use Case-Beschreibungen Konsistenzsicherung

Innerhalb des UML2 Use Case-Modells (i.W. gem. UML2-Spec.) Zwischen textueller Beschreibung und UML2 Use Case-Modell Innerhalb der textuellen Beschreibungen

Page 13: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Konzeptueller LösungsansatzKonzeptueller Lösungsansatz

Konzeptuelle Modellierung: UML2-Metamodell ist vorhanden

Datenmodell für UML2 Use Case-Modelle UML2 Diagram Interchange

Datenmodell für graphische Darstellung Metamodell für textuelle Use Case-Beschreibungen

Datenmodell für textuelle Use Case-Beschreibungen Explizite Verknüpfung von UML Use Case-Modell und textueller

Beschreibung von Use Cases

Konsistenzsicherung Zwischen UML- und textueller Darstellung durch „Strukturvergleich“ Innerhalb des UML-Modells und innerhalb des „Textmodells“ durch

Fordern bzw. Verbieten bestimmter Verknüpfungen

Page 14: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

UML2 Metamodell: UML2 Metamodell: Language Unit Language Unit Use CasesUse Cases

Page 15: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Metamodell für textuelle Use Metamodell für textuelle Use Case-Beschreibungen: Case-Beschreibungen: ModellebeneModellebene

Page 16: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Metamodell für textuelle Use Metamodell für textuelle Use Case-Beschreibungen: Use Case-Beschreibungen: Use Case-EbeneCase-Ebene

Page 17: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Metamodell für textuelle Use Metamodell für textuelle Use Case-Beschreibungen: Case-Beschreibungen: FlussebeneFlussebene

Page 18: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Technische RealisierungTechnische Realisierung

Verwendete Rahmenwerke: Eclipse SWT/JFace Eclipse Modeling Framework (EMF) Graphical Editor Framework (GEF) ViPER Eclipse Forms

Page 19: Ein Use Case-Modellierungs- werkzeug für die ViPER- Plattform Zwischenvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

21. Dezember 2006 Andreas Walter

Zwischenfazit

Herausforderungen Konzeptuell

Formalisierung textueller Use Case-Beschreibungen, ohne dem Benutzer eine bestimmte „Sprache“ aufzuzwingen

Herstellung der Bezüge zwischen textueller Darstellung und UML-Modell Technisch

Komplexität der Rahmenwerke wird durch ViPER nicht verborgen ViPER reift noch

Bisher „gestemmt“ Realisierung des graphischen Use Case-Editors Konzipierung des textuellen Metamodells und des darauf aufbauenden Editors Struktureller Abgleich auf grobgranularer Ebene zwischen UML-Modell und

textuellem Modell Noch zu realisieren

Bearbeitung textueller Beschreibungen im Detail, d.h. auf der Ebene einzelner Use Cases

Nice to have Use Case-Refactoring