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

Slides:



Advertisements
Ähnliche Präsentationen
E-Solutions mySchoeller.com for Felix Schoeller Imaging
Advertisements

R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Off-Cycle Processing with Funds or Grants Management (988)
Time Entry with Funds or Grants Management (982)
Time Administration with Funds or Grants Management (983)
SAP Best Practices Canada
Off-Cycle Processing SAP Best Practices for Public Sector (Canada)
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Internal Maintenance SAP Best Practices Baseline Package
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Batch Recall SAP Best Practices Baseline Package (France)
Credit Management SAP Best Practices Baseline Package
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Thomas Herrmann Software - Ergonomie bei interaktiven Medien Step 6: Ein/ Ausgabe Instrumente (Device-based controls) Trackball. Joystick.
UML Begleitdokumentation des Projekts
Fachabteilung 16A Überörtliche Raumplanung Cross border co-operation from the view of a public administration unit.
Die Hausaufgaben: Machen Sie Ü. 7 auf S. 29
M A X - P L A N C K - G E S E L L S C H A F T Bericht des Partnerinstituts Sabine Krott 1.0 Pilotentreffen im Harnack-Haus, 8. Juni 2006 Distribution:
HAW Hamburg, CARPE 2011, Prof. Dr. Rüdiger Weißbach, Revision : Bridging the Communication Gap in IT Projects - Enabling Non-IT Professionals.
Laurie Clarcq The purpose of language, used in communication, is to create a picture in the mind and/or the heart of another.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
Studienbüro Wirtschaftswissenschaften INFORMATION ON YOUR STUDIES Datum 1 Welcome Day M.Sc. Economics.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
Z Corp Customer Examples
Christoph Durt: Wittgenstein on the possibility of philosophy: The importance of an intercultural approach
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Deutsch 1 G Stunde. Donnerstag, der 25. Oktober 2012 Deutsch 1, G Stunde Heute ist ein B- Tag Unit: Family & homeFamilie & Zuhause Objectives: Phrases.
Deutsch 1 G Stunde. Donnerstag, der 18. Oktober 2012 Deutsch 1, G Stunde Heute ist ein E- Tag Unit: Family & homeFamilie & Zuhause Objectives: Phrases.
G Stunde DEUTSCH 1. Unit: Family & homeFamilie & Zuhause Objectives: Phrases about date, weather and time-telling Alphabet – pronunciation and words The.
Deutsch 1 G Stunde. Unit: Introduction to German & Germany Objectives: Learn phrases about date, weather and time-telling Presentations about the federal.
Deutsch 1 G Stunde. Montag, der 22. Oktober 2012 Deutsch 1, G Stunde Heute ist ein F- Tag Unit: Family & homeFamilie & Zuhause Objectives: Conjugations.
Deutsch 1 G Stunde. Donnerstag, der 18. Oktober 2012 Deutsch 1, G Stunde Heute ist ein D- Tag Unit: Family & homeFamilie & Zuhause Objectives: Phrases.
Deutsch 1 G Stunde. Montag, der 10. September 2012 Deutsch 1 (G Stunde)Heute ist ein D - Tag Unit: Introduction to German & Germany Objectives: Introducing.
Wortschatz angenehm comfortable anstrengend tiring ausgezeichnet outstanding bequem comfortable berühmt famous besser better blöd stupid einfach easy fantastisch.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Wortschatz der Schulhof the playground die Aula the hall
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
Vorgehensweise bei der Software-Entwicklung des Publication Managers
Einführung in das Wissenschaftliche Arbeiten Andreas Hechenblaickner Programmiersprache Eiffel
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
“Weil” und “Denn”.
Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform
The most obvious or direct use of auch is to mean also. Ich möchte auch Gitarre lernen. Auch ich möchte Gitarre lernen. I would like to learn Guitar. Someone.
External Labels – The rules For all external labels the following rules apply (external labels are all labels which are not inside of a shape) - all labels.
© Boardworks Ltd of 8 Time Manner Place © Boardworks Ltd of 8 This icon indicates that the slide contains activities created in Flash. These.
In German, certain adjectives are often used with certain prepositions. In such cases, dative prepositions will take dative objects, accusative prepositions.
German Early Level The Weather.
Negation is when you dont have or dont do something.
Greetings and goodbyes Deutschland v. USA
Sentence Structure Subject and verb are always together. Subject and verb are always together. Subject and verb must agree Subject and verb must agree.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Plusquamperfekt The past of the past.
Dyabola Archäologische Bibliographie Römisch-Germanischen Kommission (RGK) Author searches – compound names Bibliotheken Click = next Libraries.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
How to use and facilitate an OptionFinder Audience Response System.
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
Instrumente und Unterhaltung End of Unit Assessment.
By Martin L. Loeffler.  The basic sentence has a subject and a verb.  The subject and verb need to be together.  The subject and verb need to agree.
Page 1 XXX21/08/2014 Implemented by Benutzen Sie diese Titelfolie für Programme und Projekte im Ausland. Setzen Sie das „einheitliche Logo der Zusammenarbeit“
Data Mining Spectral Clustering Junli Zhu SS 2005.
Lust auf Lesen Treffpunkt Deutsch Sixth Edition. Relative Pronoun object of a preposition Recall from chapter 9 that relative clauses describe people,
Students have revised SEIN and HABEN for homework
 Präsentation transkript:

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

Überblick Theoretische Grundlagen Existierende Werkzeugunterstützung Begriffe, Anwendungsgebiete, Beschreibung Existierende Werkzeugunterstützung Anforderungen Umsetzung Konzeptuell Technisch Demo Zwischenfazit & Ausblick Begriffe werden nur kurz in Erinnerung gebracht, da jeder damit einigermaßen vertraut sein dürfte Existierende Werkzeugunterstützung anhand einiger Beispiele, die den unserem Wissen nach vorhandenen Funktionsumfang abdecken Anforderungen werden abgeleitet aus in der betrachteten Werkzeuglandschaft identifizierten Schwachstellen Die Beschreibung der Umsetzung wird sich konzentrieren auf die Beschreibung des Metamodells für textuelle Use Case-Beschreibungen, da dies die konzeptuelle Herausforderung der Arbeit darstellt Eine Demo wird die Funktionalität des graphischen Use Case-Editors illustrieren und einen Ausblick auf den Ansatz geben, der für die Bearbeitung textueller Use Case-Beschreibungen und der Sicherung der Konsistenz zwischen UML-Modell und textueller Use Case-Beschreibung gewählt wurde Zwischenfazit und Ausblick werden den Vortrag abrunden 21. Dezember 2006 Andreas Walter

Begriffe & Einsatzgebiete 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) Ausgangspunkt der Use Case-Modellierung: System Gruppe von Teilen oder Dingen, die zusammenarbeiten und/oder verbunden sind, um ein Ganzes zu bilden. Schlüsselaspekt des Systembegriffes ist hier, dass die Teile ein klar erkennbares Ganzes bilden, dessen Grenzen ebenso klar erkennbar sind -> wir wissen, was innerhalb und was außerhalb des Systems liegt Akteure: Abstraktion von außerhalb des Systems befindlichen Entitäten, die mit dem System in Interaktion treten, auf die Rolle(n), die sie spielen Use Case: „describes how an actor uses a system to achieve a goal and what the system does for the actor to achieve that goal. It tells the story of how the system and its actors collaborate to deliver something that is of value for at least one of the actors.“ (BS03) Use Case-Modell: Beschreibung eines Systems durch Use Cases und Akteure Use Case-Beziehungen: Beschreiben, dass bestimmte Verhaltens- oder Interaktionsmuster im Kontext mehrerer anderer Verhaltensmuster auftreten können (Include), das Verhalten optional oder im Ausnahmefalls nötig werden kann (Extend), oder dass Verhalten einen Spezialfall oder eine Generalisierung eines anderen Verhaltens darstellen kann. 21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: „Lebenszyklus“ „Lebenszyklus“ eines Use Case (Bittner&Spence, 2003) Klar ist: Use Cases sind nicht nur ein gedankliches Konstrukt, sondern müssen auch dokumentiert werden, um in weiteren Aktivitäten genutzt zu werden. In den einzelnen Use Case-Stadien adressierte Risiken: 1)Systemgrenzen unklar 2)Zweideutigkeiten im Modell (mehrere Use Cases meinen das gleiche) 3)Größe/Komplexität des Systems unbekannt, Notwendigkeit einzelner UseCases unbekannt 6)Ungenaue, nicht von allen geteilte Anforderungen Nachgelagerte Aktivitäten: 1-4)Scope Management und Prototyping 6) Entwurf, Implementierung, System- und Integrationstest Zitate namhafter Autoren auf dem Gebiet der Use Cases belegen, dass die primäre Darstellungsform für Use Case-Beschreibungen der Text ist: -A.Cockburn: „Use Cases are fundamentally a text form, although they can be written using flow charts, sequence charts, Petri nets or programming languages. Under normal circumstances, they serve as a means of communication from one person to another, often among people with no special training. Simple text is, therefore, usually the best choice.“ -I. Jacobson: „By making use cases classifiers in UML, you have the tool to formally describe use cases to basically any depth you want. The difficulty is, however, to use what is available in UML in the most pragmatic way. I am still reluctant to suggest that system analysts describe use cases more formally than in some textual form.“ -Kurt Bittner, Ian Spence: "The reality is that the formalism provides a framework for the creation of our models and the diagrams provide a nice overview of the system, but the real value of a use case is in the textual use-case descriptions. It is in the use-case descriptions that the majority of the model's content resides, and it is in the authoring of the use-case descriptions where most effort will be expended." (aus "Use Case Modeling", S. 19) 21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Graphische Übersicht Übersicht durch UML2 Use Case-Diagramme Die anfangs in Erinnerung gebrachten Konzepte werden hier überblicksartig dargestellt und können vor allem für das initiale Festhalten eines neuen Use Case genutzt werden Beziehungen zwischen Use Cases werden hier jedoch allenfalls deklariert, aber nicht definiert. Dies geschieht in den Detailbeschreibungen, allen voran der textuellen 21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: 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. Die hier aufgeführten Inhalte sind die wesentlichen Inhalte, die die vollständige Beschreibung eines Use Case haben sollte (nach BS03). Der Hauptteil der „Verhaltenslogik“ eines Use Case steckt in den hervorgehobenen Zeilen Der Ereignisfluss ist der Oberbegriff für die Verhaltensbeschreibung und ist wie gezeigt strukturiert Erweiterungspunkte dienen der Verknüpfung von Flüssen (und Use Cases) 21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Der 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 21. Dezember 2006 Andreas Walter

Beschreibung von Use Cases: Der Ereignisfluss (2) 21. Dezember 2006 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. 21. Dezember 2006 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 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 O Konsistenz-sicherung Text - UML UML TM Die Übersicht ist zu verstehen als eher grobe Übersicht über die Features der evaluierten Tools. Wesentlich sind folgende Fragestellungen: In welchem Umfang ist die UML-Use Case-Modellierung möglich? Werden alle Konzepte aus der UML-Language Unit Use Cases angeboten? In welchem Umfang wird sichergestellt, dass die UML-Modelle konsistent sind? D.h., wird die Einhaltung der in der UML-Spec. Definierten abstrakten Syntax sichergestellt? Wird die Einhaltung der in der UML-Spec. Definierten Semantik definiert? (Einhaltung von Constraints)? Werden evtl. darüber hinaus gehende sinnvolle semantische Einschränkungen geprüft? In welchem Umfang ist die textuelle Beschreibung von Use Cases möglich? Ist dies prinzipiell (d.h. in irgendeiner Form) möglich? Gibt es eine Möglichkeit zur strukturierten Beschreibung von Use Cases, d.h., formularbasiertes Bearbeiten von Use Case-Beschreibungen? (Use Case-Beschreibungen haben ja, wie gesehen, viele Aspekte) Wird Konsistenz von UML-Modellen und den textuellen Beschreibungen von Use Cases sichergestellt? 21. Dezember 2006 Andreas Walter

Erkannte Probleme & Anforderungen 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 Erläuterung zu den Anforderungen: Wir arbeiten „UML-getrieben“, d.h. erachten die von der UML-Spec. erfassten Konzepte für notwendig und ausreichend in der Phase der „Entdeckung“ von Use Cases. Da ein UML-Modell i.A. eine Graph und nicht eine Baumstruktur bildet, ist graphische Modellierung für viele Aspekte eines UML-Modells indiziert und auch hier sinnvoll. „Doing use case analysis is essentially writing text“ Erstellen textueller Beschreibungen von Use Cases ist nötig, da diese die für viele Menschen, die kein tieferes technisches Verständnis haben, die am einfachsten zu verstehende Form der Use Case-Beschreibung darstellen „Fehler in der Anforderungsspezifikation sind die schlimmsten“ (s. dazu auch diverse Papers in Freemind) Anforderungsspezifikation sollte so konsistent (=widerspruchsfrei) und vollständig wie möglich sein Die Entdeckung der Use Cases stellt eine frühe Phase der Anforderungsspezifikation dar, sollte deshalb nicht schon inkonsistenten Input für die Detailarbeit darstellen, und die textuelle Beschreibung sollte alle vorab spezifizierten Strukturen des UML-Modells abbilden (oder der Nutzer erklärt diese für nicht sinnvoll und verwirft sie) Strukturen im UML-Modell sollen in der textuellen Beschreibung wiedergefunden werden können, aber eindeutig. In diesem Sinne müssen Inkosistenzen innerhalb der textuellen Use Case-Beschreibung, z.B. das doppelte, semantisch inkonsistente Etablieren einer im UML-Modell definierten Beziehung verhindert werden 21. Dezember 2006 Andreas Walter

Konzeptueller 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 21. Dezember 2006 Andreas Walter

UML2 Metamodell: Language Unit Use Cases 21. Dezember 2006 Andreas Walter

Metamodell für textuelle Use Case-Beschreibungen: Modellebene Ausgangspunkt einer Konsistenzsicherung zwischen UML-Modell und textueller Beschreibung der enthaltenen Use Cases ist sicherlich, dass jeder Use Case überhaupt eine textuelle Beschreibung erhält. Zudem können UML-Modelle durch Namensräume wie Pakete (also auch das Modell selber) und Komponenten hierarchisch strukturiert werden. Zu diesem Zweck ist auf der gröbsten Granularitätsstufe eine textuelle Entsprechung zu UML-UseCases und –Namensräumen durch die Metaklassen NarrativeElement, NarrativeNamespace, NarrativeModel und NarrativeDescription gegeben. 21. Dezember 2006 Andreas Walter

Metamodell für textuelle Use Case-Beschreibungen: Use Case-Ebene TODO: Farbliche Hervorhebungen und Kardinalitäten im Metamodell festhalten!! Wichtig ist bei der Konzipierung des textuellen Metamodells das Finden einer Repräsentation für UML-Modellbeziehungen gewesen: -Generalisierung -Inklusion -Erweiterungsbeziehung Zudem sollen alternative Abläufe, optionales Verhalten und Fehlerbehandlungen „beschränkt“ , „spezifisch“ und „generell“ nach Bittner/Spence bearbeitet werden können. Die Repräsentation der Erweiterung, Generalisierung/Spezialisierung und von alternativen Abläufen (die so etwas wie eine Vorstufe der Erweiterungsbeziehung darstellen) wird durch die Ober-Metaklasse Extension zusammengefasst. 21. Dezember 2006 Andreas Walter

Metamodell für textuelle Use Case-Beschreibungen: Flussebene Fortsetzung der Beschreibung der textuellen Repräsentation von UML-Modellbeziehungen: -Inklusion: Durch einen Include-Schritt in einem Flow des inkludierenden Use Case repräsentiert. Dieser Include-Schritt referenziert die Include-Instanz im referenzierten UML-Modell -Erweiterung: Wie auch im UML-Metamodell die Erweiterungsbeziehung komplizierter spezifiziert ist als die Include-Beziehung, so ist die Erweiterungsbeziehung auch schwieriger textuell zu repräsentieren. Es gilt, die Erweiterungsbeziehung als solche, die von ihr referenzierten Erweiterungspunkte und u.U. eine Bedingung für die Erweiterungsbeziehung zu erfassen. Dies leisten die Metaklasse ExternalExtension, ExternalExtensionPoint und ExtensionTrigger, die die Beziehung, die Erweiterungspunkte und die evtl. Bedingung erfassen. Beachte: Eine Extend-Beziehung mit Bezug auf mehrere ExtensionPoints wird durch ebensoviele Flüsse, repräsentiert, die jeweils ein einzufügendes Fragment darstellen. Ein erweiternder Use Case muss also für jeden ExtensionPoint in jeder Extend-Beziehung, an der er teilnimmt, ein Verhaltensfragment spezifizieren. Darüber hinaus für jede Extend-Beziehung evtl eine Bedingung. -Generalisierung: Konzeptionell schwierig, da die UML-Spec. Hier nur die Semantik der Generalisierung zwischen Classifiern definiert, was sehr abstrakt ist. Generalisierung zwischen Use Cases muss daher zunächst mit einer entsprechenden Semantik versehen werden. Wir haben uns für eine „Template-Method“-Semantik entschieden, d.h, dass ein genereller Use Case einen generischen Ablauf definiert, der von speziellen Use Cases „gefüllt“ wird, indem Verhaltensfragmente an durch „SpecializationExtensionPoints“ definierten Stellen eingefügt werden. Zu klären ist noch die Sichtbarkeit der SpecializationExtensionPoints in den NarrativeDescriptions der spezialisierenden Use Cases. Alternative Abläufe werden durch die Metaklassen AlternativeExtension und AlternativeExtensionPoint realisiert. Beachte: Wenn eine AlternativeExtension an einem AlternativeExtensionPoint beginnt und wieder endet, is der zugehörige Fluss Kandidat für ein Erweiterungsfragment. Man könnte hier automatisch einen erweiternden Use Case auslagern. 21. Dezember 2006 Andreas Walter

Technische Realisierung Verwendete Rahmenwerke: Eclipse SWT/JFace Eclipse Modeling Framework (EMF) Graphical Editor Framework (GEF) ViPER Eclipse Forms 21. Dezember 2006 Andreas Walter

Zwischenfazit Herausforderungen Bisher „gestemmt“ Noch zu realisieren 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 21. Dezember 2006 Andreas Walter