Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software Engineering in der Praxis: Eclipse Development

Ähnliche Präsentationen


Präsentation zum Thema: "Software Engineering in der Praxis: Eclipse Development"—  Präsentation transkript:

1 Software Engineering in der Praxis: Eclipse Development
Design Workshop Eclipse Development – SS 2008

2 Agenda Anforderungen Reqlipse Architektur und Design Reqlipse
Vision Anwendungsfälle Architektur und Design Reqlipse Architekturkonzept Variabilitätsszenarien Entwicklungsprozess Teams Aktivitäten und Ergebnisse: Nächste Schritte Ablauf und Betreuung Software-Entwicklungsumgebung Eclipse Development – SS 2008

3 Vision: Requirements Engineering Framework
Volere RUP Method Extensibility Feature Extensibility RE Metrics Analyzer Language Analyzer Eclipse Development – SS 2008

4 Vision: Eclipse Requirements Engineering
Eclipse Development – SS 2008

5 Vision: RE Metamodellierung
Modellierungssprache für Requirements Engineering Methoden / Modelle (ReqML). Damit sind beliebige Ansätze modellierbar und im System integrierbar. MOF / ecore M3 ReqML M2 Custom Requirements Model M1 Project Requirements M0 Eclipse Development – SS 2008

6 Anwendungsfälle Eclipse Development – SS 2008

7 Feature Modell (Draft)
Eclipse Development – SS 2008

8 Architekturkonzept: A-Architektur
Reqlipse Workbench UI Workbench Integration Requirements Navigator Requirements Editor Requirements Model Instances Reqlipse Core Requirements Instance Model Requirements Services EMF Models Reqlipse Model Manager Requirements Model Plugins Model Instance Persister Model Registry ReqML Metamodel Eclipse Development – SS 2008

9 Glossar Requirement „Formulierung des erwarteten Resultats in Form von Merkmalen, die die Realisierung und die Überprüfung der Konformität ermöglichen.“ [1] Requirements Model „Modell davon, in welcher Form Requirements formuliert und strukturiert werden.“ Das Modell ist abhängig von der gewählten RE Methodik (z.B. Volere) Requirements Model Instance „Instanz eines Requirements Model, die nur Requirements enthält, die dem zugeordneten Requirements Model entsprechen“ [1] MEDIQUAL Qualitätsglossar: Eclipse Development – SS 2008

10 Architekturkonzept: T-Architektur
Reqlipse Workbench UI Eclipse RCP Requirements Model Instances Reqlipse Core Eclipse Platform Runtime EMF EMF Models Dynamic EMF Reqlipse Model Manager Eclipse Development – SS 2008

11 Building Block: Reqlipse Model Manager
Model Instance Persister Model Registry Model Registry Zugriff auf die Liste der registrierten Requirements Models Prüfung der Requirements Models auf ihre Konformität zum ReqML Metamodell hin Laden eines ausgewählten Requirements Models Model Instance Persister Speicherung einer Requirements Model Instance Laden einer Requirements Model Instance Zugriff auf die Liste der im Workspace verfügbaren Requirements Model Instances Prämisse: Speicherort sind EMF-Dateien mit der Endung *.reqs im Workspace Eclipse Development – SS 2008

12 Building Block: Reqlipse Core
Requirements Instance Model Requirements Services Requirements Services Elemente des Requirements Models erzeugen (inkl. Id-Vergabe und hinzufügen zur Requirements Model Instance) Elemente einer Requirements Model Instance abfragen Elemente des Requirements Models abfragen Lifecycle Requirements Model Instance (laden, speichern) Requirements Instance Model Adaptoren für EMF Repräsentation der Requirements Model Instance für die einfache Verwendung durch die Workbench UI Eclipse Development – SS 2008

13 Building Block: Reqlipse Workbench UI
Workbench Integration Requirements Navigator Requirements Editor Workbench Integration Integrationspunkte in die Eclipse Workbench wie z.B. „New“-Wizard, „Requirements“-Perspektive und Erweiterung des Hilfesystems. Requirements Navigator Erweiterung des Project Explorers um die Möglichkeit, in Anforderungsdateien die Anforderungsstrukturen direkt anzuzeigen und entsprechende Kontext-Aktionen ausführen zu können. Eigener Navigator entsprechend dem Project Explorer, der fokussiert ist auf die Anzeige alle Requirements Model Instances im Workspace inkl. Bereitstellung von Kontext-Aktionen. Requirements Editor Generischer Editor für einzelne Requirements Eclipse Development – SS 2008

14 ReqML Eclipse Development – SS 2008

15 ReqML Instanzen Problem: EMF unterstützt direkt keinen 4-stufigen Metamodellierungsansatz (nur 3-stufigen). (Metametamodell, Metamodell, Modell, Modell-Instanz) Lösungsvarianten: Erweiterung des ecore Metametamodells um ReqML Konstrukte, um es so zu einem Metamodell zu machen.  Wird nicht richtig unterstützt und es wird davon in den EMF Newsgroups abgeraten Verzicht auf Metamodell und Entwicklung eines Frameworks auf Modellebene (abstrakte Basisklassen).  Keine Sprachkonstrukte für Attribute und Referenzen möglich Instanzmodell nicht auf Basis von EMF.  aufwändig und unflexibel Zick-zack Modellarchitektur (nächste Folie) ecore + ReqML ecore ecore 1. 2. Req. Model ReqML + Req. Model 3. ReqML Req. Mod. Inst. Req. Mod. Inst. Req. Model Eclipse Development – SS 2008

16 Zick-zack Modellarchitektur
Annotation (per EAnnotation – entspricht UML Tagged Value bzw. Stereotyp) ecore ReqML Runtime Requirements Model Requirements Model Requirements Model Instance Modelltransformation (bei uns: manuell) Eclipse Development – SS 2008

17 ReqML Instanzen ReqProjectType Eclipse Development – SS 2008

18 ReqML Instanzen ReqEntityType Eclipse Development – SS 2008

19 ReqML Instanzen ReqFieldStructure Eclipse Development – SS 2008

20 ReqML Instanzen ReqFieldType (+ Unterklassen)
Eclipse Development – SS 2008

21 Variabilitätsszenarien
Weitere mögliche Szenarien: RE Metriken ermitteln Linguistische Analysen Workflows RE Modell Editor UML Integration Erweiterung des Metamodells besonders im Bereich ReqFieldTypes Modellspezifische Constraints Anbindung Versionskontrollsystem Umstieg auf neuere Eclipse Version Eclipse Development – SS 2008

22 Teams 1 2 3 3 Reqlipse Workbench UI Reqlipse Core
Workbench Integration Requirements Navigator Requirements Editor Requirements Model Instances 2 Reqlipse Core Requirements Instance Model Requirements Services 3 EMF Models 3 Reqlipse Model Manager Requirements Model Plugins Model Instance Persister Model Registry ReqML Metamodel Eclipse Development – SS 2008

23 Aktivitäten und Ergebnisse: Nächste Schritte
Anwendungsfälle verfeinern Bildschirmprototypen (wie Beispiel) für alle Dialoge Beschreibung der Anwendungsfälle inkl. der Vor- und Nachbedingungen sowie alternative Abläufe und Fehlerfälle Features verfeinern (auch Eclipse-spezifische Features) Komponentenmodell erstellen Schnittstellenspezifikation (Methoden, Datenstrukturen, Ausnahmen) entwickeln und abstimmen für angebotene und benötige Schnittstellen Erweiterungsmöglichkeiten (Extension Points) untersuchen und definieren Prototypen erstellen Technische Durchstiche und Erprobung der Schnittstellen in beide Richtungen (für benötigte Schnittstellen: Implementierung von Mock-Objekten) Paketnamen: org.reqlipse.<layer>.<component>.<structure> (z.B. org.reqlipse.ui.requirementsnavigator.actions) Eclipse Development – SS 2008

24 Ablauf und Betreuung Nächster Meilenstein: 11. Juni Vorstellung der beschriebenen nächsten Schritte Nächste Woche: Betreuungstermine und am Mittwoch 14 Uhr Vorstellung der Software-Entwicklungsumgebung Betreuungsmodus: Jedes Team bekommt einen Ansprechpartner genannt. Abstimmung von Betreuungsterminen per .

25 Tipps und Quellen Dynamic EMF: Navigation auf EMF Inhalten ecore Dokumentation Id Vergabe an EMF Modellelemente EcoreUtil.getId(), EcoreUtil.setId() XFeature (Update Site) Eclipse Development – SS 2008


Herunterladen ppt "Software Engineering in der Praxis: Eclipse Development"

Ähnliche Präsentationen


Google-Anzeigen