Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter"—  Präsentation transkript:

1 Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter

2 17. April 2007 Andreas Walter Ü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

3 17. April 2007 Andreas Walter Begriffe & 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

4 17. April 2007 Andreas Walter Use Cases in der UML: Use Case-Metamodell

5 17. April 2007 Andreas Walter Use Cases in der UML: Use Case-Diagramme und Modelle

6 17. April 2007 Andreas Walter Textbasierte Beschreibung von Use Cases nach Bittner & Spence(2003): Inhalte BestandteilErläuterung NameDer Name des Use Case. Muss eindeutig sein und sollte das Ziel der Interaktion zwischen System und Akteuren beschreiben. Kurze BeschreibungStellt knapp das erfasste Interaktionsspektrum dar. Besondere AnforderungenBeschreibung derjenigen Anforderungen, die nicht in der Beschreibung des Ereignissflusses enthalten sind, beispielsweise nichtfunktionale Anforderungen. VorbedingungenBeschreibung des Zustandes, in dem sich das System vor der Ausführung des Use Case befinden muss. NachbedingungenBeschreibung des Zustandes, in dem sich das System nach der Ausführung des Use Case befinden muss. EreignisflussBeschreibung der Ereignisse, die bei der Ausführung des Use Case geschehen (können). BeziehungenDie 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.

7 17. April 2007 Andreas Walter Beschreibung von Use Cases: Der Ereignisfluss 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

8 17. April 2007 Andreas Walter Beschreibung von Use Cases: Der Ereignisfluss (2)

9 17. April 2007 Andreas Walter Use Case-Beschreibung (Bittner&Spence, 2003): Beispiel Use 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. Preconditions The 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 PIN 5.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.

10 17. April 2007 Andreas Walter Use Case-Beschreibung: 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. Postconditions The 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 Points None. 8. Special Requirements None.

11 17. April 2007 Andreas Walter Aufgabenstellung 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

12 17. April 2007 Andreas Walter Konzeptueller 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

13 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Repräsentation textbasierter Beschreibungen NarrativeDescription als Repräsentation textbasierter Beschreibungen Annahme: 1:1-Entsprechung

14 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Flüsse und Flusskontexte 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

15 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Flüsse und Flusskontexte (2)

16 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Struktur eines Flusses Ereignisbeschreibung ist elementarer Baustein eines Flusses Aus Sicht des Metamodells wird diese nicht weiter interpretiert

17 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Struktur eines Flusses (2) Inklusionsschritte erfassen die Ausführung inkludierter Use Cases

18 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Struktur eines Flusses (4)

19 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Struktur eines Flusses (3)

20 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Erweiterungen Erweiterungspunkte beschreiben Zeitpunkte, Erweiterungsregionen beschreiben Zeiträume während der Ausführung eines Flusses, zu denen Verhaltenserweiterungen eintreten können

21 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Alternative Erweiterungen

22 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Alternative Erweiterungen (2)

23 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Externe Erweiterungen

24 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Externe Erweiterungen (2)

25 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Spezialisierung von Use Cases

26 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Spezialisierungs-Erweiterungen

27 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case-Beschreibungen: Spezialisierungs-Erweiterungen (2)

28 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case- Beschreibungen: Einbettung in ein Gesamtmodell

29 17. April 2007 Andreas Walter Metamodell für textbasierte Use Case-Beschreibungen: Einbettung in ein Gesamtmodell (2)

30 17. April 2007 Andreas Walter Beispiel für ein Use Case-Modell

31 17. April 2007 Andreas Walter Beispiel für ein Use Case-Modell (2): Textbasierte Beschreibungen Alternative Flow Simulate Current StartAt Choose between calculation and simulation, if simulation mode has been set 1Store simulated value as current value EndIf TRUE, continue at Current stored Description of Use Case Current Output Main Flow StartPreconditions: None 1AEP: Chosse between simulation and calculation 2SEP: Calculate actual current 3AEP: Current stored 4Validate that current does not exceed span limits 5AEP: Current validated 6Calculate PWM output signal 7Normalize 8Output PWM signal 9AEP: End EndPostconditions: None Alternative Flow Raise Limits exceeded alarm StartAt Current validated, if current exceeds span limits 1Raise Limits exceeded alarm EndIf TRUE, Continue at End

32 17. April 2007 Andreas Walter Beispiel für ein Use Case-Modell (3): Textbasierte Beschreibungen (2) Description of Use Case Current Output Main Flow StartPreconditions: None 1AEP: Chosse between simulation and calculation 2SEP: Calculate actual current 3AEP: Current stored 4Validate that current does not exceed span limits 5AEP: Current validated 6Calculate PWM output signal 7Normalize 8Output PWM signal 9AEP: End EndPostconditions: None Description of Use Case Alarm Current Output Specialization Flow Calculate Alarm Current StartAt Calculate actual current 1Calculate actual current from alarm value Description of Use Case Flow Rate Current Output Specialization Flow Calculate Flow Rate Current StartAt Calculate actual current 1Calculate actual current from flow rate value

33 17. April 2007 Andreas Walter Technische Realisierung Verwendete Rahmenwerke und Bibliotheken: Eclipse SWT/JFace Eclipse Forms Eclipse Modeling Framework (EMF) Graphical Editor Framework (GEF) ViPER

34 17. April 2007 Andreas Walter 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

35 17. April 2007 Andreas Walter Zusammenfassung 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

36 17. April 2007 Andreas Walter Ende Vielen Dank!


Herunterladen ppt "Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter"

Ähnliche Präsentationen


Google-Anzeigen