Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von...

36
Ein Use Case- Ein Use Case- Modellierungswerkzeug für Modellierungswerkzeug für die ViPER-Plattform die ViPER-Plattform Abschlussvortrag zur Diplomarbeit Abschlussvortrag zur Diplomarbeit von von Andreas Walter Andreas Walter [email protected] [email protected]

Transcript of Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von...

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

Ein Use Case-Ein Use Case-Modellierungswerkzeug für die Modellierungswerkzeug für die ViPER-PlattformViPER-Plattform

Abschlussvortrag zur Diplomarbeit von Abschlussvortrag zur Diplomarbeit von Andreas WalterAndreas Walter

[email protected]@rwth-aachen.de

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

17. April 2007 Andreas Walter

ÜberblickÜberblick

Theoretische Grundlagen Begriffe & Einsatzgebiete Use Cases in der UML Textbasierte Beschreibung von Use Cases

Aufgabenstellung Lösung

Konzeptueller Lösungsansatz Technische Realisierung Demo

Zusammenfassung & Ausblick

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

17. April 2007 Andreas Walter

Begriffe & EinsatzgebieteBegriffe & Einsatzgebiete

Begriffe System Akteur Use Case Use Case-Modell

Einsatzgebiete Modellierung von Systemverhalten aus Benutzersicht

Deskriptiv Präskriptiv

Ausgangspunkt für Entwurf, Implementierung und Test Beispiele: Objectory, (R)UP, MeDUSA

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

17. April 2007 Andreas Walter

Use Cases in der UML: Use Case-Use Cases in der UML: Use Case-MetamodellMetamodell

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

17. April 2007 Andreas Walter

Use Cases in der UML: Use Cases in der UML: Use Case-Diagramme und ModelleUse Case-Diagramme und Modelle

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

17. April 2007 Andreas Walter

Textbasierte Beschreibung von Use Textbasierte Beschreibung von Use Cases nach Bittner & Spence(2003): Cases nach Bittner & Spence(2003): InhalteInhalteBestandteil Erläuterung

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

Kurze Beschreibung Stellt knapp das erfasste Interaktionsspektrum dar.

Besondere Anforderungen Beschreibung derjenigen Anforderungen, die nicht in der Beschreibung des Ereignissflusses enthalten sind, beispielsweise nichtfunktionale Anforderungen.

Vorbedingungen Beschreibung des Zustandes, in dem sich das System vor der Ausführung des Use Case befinden muss.

Nachbedingungen Beschreibung des Zustandes, in dem sich das System nach der Ausführung des Use Case befinden muss.

Ereignisfluss Beschreibung der Ereignisse, die bei der Ausführung des Use Case geschehen (können).

Beziehungen Die Beziehungen, an denen der Use Case teilnimmt. Dies sind einerseits Beziehungen zu Akteuren, die an dem Use Case beteiligt sind, andererseits die Beziehungen zu anderen Use Cases.

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

17. April 2007 Andreas Walter

Beschreibung von Use Cases: Der Beschreibung von Use Cases: Der EreignisflussEreignisfluss

„Einheit“ der Use Case-Beschreibung: Ereignis (Event) Zerlegung der Beschreibung des Systemverhaltens in sogenannte

Flüsse (Flow of Events): 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 Beschränkt Generell

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

17. April 2007 Andreas Walter

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

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

17. April 2007 Andreas Walter

Use Case-Beschreibung Use Case-Beschreibung (Bittner&Spence, 2003): Beispiel(Bittner&Spence, 2003): BeispielUse 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-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Use Case-Beschreibung: Beispiel Use Case-Beschreibung: Beispiel (Forts.)(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-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

AufgabenstellungAufgabenstellung

Ziel: Werkzeugunterstützung für die Use Case-Modellierung im Rahmen einer UML-zentrierten Entwicklungsmethode (MeDUSA) Use Case-Modellierung als erste Aktivität

(Requirements Modeling) Identifikation von Use Cases UML-basiert und graphisch

(Use Case Modeling) Detaillierte Beschreibung von Use Cases in textbasierter

Form (Use Case Description Modeling) Konzeptuelle und technische Rahmenbedingung:

UML-Metamodell ist unverändert zu nutzen Use Case-Modell = UML-Modell/-Diagramme +

(Modell) textbasierte(r) Beschreibungen

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

17. April 2007 Andreas Walter

Konzeptueller LösungsansatzKonzeptueller Lösungsansatz Zweiteilung eines Use Case-Modells in UML-basierten und textbasierten

Teil impliziert überlappenden Informationsgehalt beider „Hälften“ Ein insgesamt konsistentes Use Case-Modell muss einen „semantischen

Kern“ besitzen, der eindeutig in beiden Hälften repräsentiert ist!

Problem: Verwendung natürlicher Sprache vs. Formalisierung Lösungsansatz: Stark strukturierte Beschreibung von Use Cases

Ermöglicht algorithmische Konsistenzprüfungen Erlaubt Verwendung natürlicher Sprache

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

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Repräsentation Beschreibungen: Repräsentation textbasierter Beschreibungentextbasierter Beschreibungen

NarrativeDescription als Repräsentation textbasierter Beschreibungen

Annahme: 1:1-Entsprechung

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

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Flüsse und Beschreibungen: Flüsse und FlusskontexteFlusskontexte

Flüsse beschreiben Verhaltensfragmente, die während der Ausführung eines Use Case am Stück auftreten können

Flusskontexte beschreiben in welchem Zusammenhang die Ausführung eines Flusses

beginnt, und was nach dem Erreichen des Endes eines Flusses geschieht

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

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Flüsse und Beschreibungen: Flüsse und Flusskontexte (2)Flusskontexte (2)

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

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Beschreibungen: Struktur eines FlussesFlusses

Ereignisbeschreibung ist elementarer Baustein eines Flusses

Aus Sicht des Metamodells wird diese nicht weiter interpretiert

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

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Beschreibungen: Struktur eines Flusses (2)Flusses (2)

Inklusionsschritte erfassen die Ausführung inkludierter Use Cases

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

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Beschreibungen: Struktur eines Flusses (4)Flusses (4)

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

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Beschreibungen: Struktur eines Flusses (3)Flusses (3)

Page 20: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: ErweiterungenBeschreibungen: Erweiterungen

Erweiterungspunkte beschreiben Zeitpunkte, Erweiterungsregionen beschreiben Zeiträume

während der Ausführung eines Flusses, zu denen Verhaltenserweiterungen eintreten können

Page 21: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Alternative Beschreibungen: Alternative ErweiterungenErweiterungen

Page 22: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Alternative Beschreibungen: Alternative Erweiterungen (2)Erweiterungen (2)

Page 23: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Externe Beschreibungen: Externe ErweiterungenErweiterungen

Page 24: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Externe Beschreibungen: Externe Erweiterungen (2)Erweiterungen (2)

Page 25: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Spezialisierung von Beschreibungen: Spezialisierung von Use CasesUse Cases

Page 26: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Spezialisierungs-Beschreibungen: Spezialisierungs-ErweiterungenErweiterungen

Page 27: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Spezialisierungs-Beschreibungen: Spezialisierungs-Erweiterungen (2)Erweiterungen (2)

Page 28: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Einbettung in ein Beschreibungen: Einbettung in ein GesamtmodellGesamtmodell

Page 29: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Metamodell für textbasierte Use Case-Beschreibungen: Einbettung in ein Beschreibungen: Einbettung in ein Gesamtmodell (2)Gesamtmodell (2)

Page 30: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Beispiel für ein Use Case-ModellBeispiel für ein Use Case-Modell

Page 31: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Beispiel für ein Use Case-Modell (2): Textbasierte Beispiel für ein Use Case-Modell (2): Textbasierte BeschreibungenBeschreibungen

Alternative Flow Simulate Current

Start At Choose between calculation and simulation, if simulation mode has been set

1 Store simulated value as current value

End If TRUE, continue at Current stored

Description of Use Case Current Output

Main Flow

Start Preconditions: None

1 AEP: Chosse between simulation and calculation

2 SEP: Calculate actual current

3 AEP: Current stored

4 Validate that current does not exceed span limits

5 AEP: Current validated

6 Calculate PWM output signal

7 Normalize

8 Output PWM signal

9 AEP: End

End Postconditions: None

Alternative Flow Raise „Limits exceeded“ alarm

Start At Current validated, if current exceeds span limits

1 Raise „Limits exceeded“ alarm

End If TRUE, Continue at End

Page 32: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Beispiel für ein Use Case-Modell (3): Textbasierte Beispiel für ein Use Case-Modell (3): Textbasierte Beschreibungen (2)Beschreibungen (2)

Description of Use Case Current Output

Main Flow

Start Preconditions: None

1 AEP: Chosse between simulation and calculation

2 SEP: Calculate actual current

3 AEP: Current stored

4 Validate that current does not exceed span limits

5 AEP: Current validated

6 Calculate PWM output signal

7 Normalize

8 Output PWM signal

9 AEP: End

End Postconditions: None

Description of Use Case Alarm Current Output

Specialization Flow Calculate Alarm Current

Start At Calculate actual current

1 Calculate actual current from alarm value

Description of Use Case Flow Rate Current Output

Specialization Flow Calculate Flow Rate Current

Start At Calculate actual current

1 Calculate actual current from flow rate value

Page 33: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Technische RealisierungTechnische Realisierung

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

Page 34: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Technische Realisierung (2)Technische Realisierung (2)

Graphischer Editor für UML Use Case-Modelle sc.viper.uml2.vme.behaviour.usecase:

Diagrammtyp-Erweiterung für ViPER UML2 VME

Editor für textbasierte Use Case-Beschreibungen sc.viper.uml2.vme.behaviour.usecase.narrativemodel

EMF-basierte Implementierung des Metamodells für textbasierte Use Case-Beschreibungen

Nutzung des EMF Validation Framework für die Realisierung von Konsistenzprüfungen

sc.viper.uml2.vme.behaviour.usecase.narrative Implementierung des Editors für textbasierte Use Case-

Beschreibungen

Page 35: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

Zusammenfassung und AusblickZusammenfassung und Ausblick

Herausforderungen Konzeptuell

Formalisierung textbasierter Use Case-Beschreibungen, ohne die Verwendung natürlicher Sprache zu sehr einzuschränken

Technisch Komplexität verwendeter Rahmenwerke ViPER reift noch

Ergebnisse Metamodell für textbasierte Use Case-Beschreibungen Editor für die graphische Bearbeitung von UML-basierten Use Case-

Modellen Editor für die Bearbeitung von textbasierten Use Case-Beschreibungen Integrierte Prüfung von Konsistenzbedingungen zwischen UML-Modell und

Modell textbasierter Beschreibungen Ausblick

Report-Generierung Simulation , interaktive Validierung

Page 36: Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de.

17. April 2007 Andreas Walter

EndeEnde

Vielen Dank!