Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Eclipse Development – SS 2008 08.02.2014 Seite 1 Software Engineering.

Ähnliche Präsentationen


Präsentation zum Thema: "Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Eclipse Development – SS 2008 08.02.2014 Seite 1 Software Engineering."—  Präsentation transkript:

1 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Eclipse Development – SS Seite 1 Software Engineering in der Praxis: Eclipse Development Design Workshop

2 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Eclipse Development – SS Seite 2 Agenda Anforderungen 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

3 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Vision: Requirements Engineering Framework Eclipse Development – SS Seite 3 Volere RUP… Language Analyzer RE Metrics Analyzer … Method Extensibility Feature Extensibility

4 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Vision: Eclipse Requirements Engineering Eclipse Development – SS Seite 4

5 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Vision: RE Metamodellierung Modellierungssprache für Requirements Engineering Methoden / Modelle (ReqML). Damit sind beliebige Ansätze modellierbar und im System integrierbar. Eclipse Development – SS Seite 5 ReqML Custom Requirements Model Project Requirements MOF / ecore M0 M1 M2 M3

6 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Anwendungsfälle Eclipse Development – SS Seite 6

7 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Feature Modell (Draft) Eclipse Development – SS Seite 7

8 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Architekturkonzept: A-Architektur Eclipse Development – SS Seite 8 Reqlipse Workbench UI Reqlipse Core Reqlipse Model Manager Model Registry Model Instance Persister Requirements Instance Model Requirements Services Workbench Integration Requirements Navigator Requirements Editor Requirements Model Instances EMF Models Requirements Model Plugins ReqML Metamodel

9 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 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 Eclipse Development – SS Seite 9 [1] MEDIQUAL Qualitätsglossar:

10 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Architekturkonzept: T-Architektur Eclipse Development – SS Seite 10 Reqlipse Workbench UI Reqlipse Core Reqlipse Model Manager Requirements Model Instances EMF Models Eclipse RCP EMF Eclipse Platform Runtime Dynamic EMF

11 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Building Block: Reqlipse Model Manager 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 Seite 11 Reqlipse Model Manager Model Registry Model Instance Persister

12 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Building Block: Reqlipse Core 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 Seite 12 Reqlipse Core Requirements Instance Model Requirements Services

13 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Building Block: Reqlipse Workbench UI 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 Seite 13 Reqlipse Workbench UI Workbench Integration Requirements Navigator Requirements Editor

14 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg ReqML Eclipse Development – SS Seite 14

15 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg ReqML Instanzen Problem: EMF unterstützt direkt keinen 4-stufigen Metamodellierungsansatz (nur 3-stufigen). (Metametamodell, Metamodell, Modell, Modell-Instanz) Lösungsvarianten: 1. 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 2. Verzicht auf Metamodell und Entwicklung eines Frameworks auf Modellebene (abstrakte Basisklassen). Keine Sprachkonstrukte für Attribute und Referenzen möglich 3. Instanzmodell nicht auf Basis von EMF. aufwändig und unflexibel 4. Zick-zack Modellarchitektur (nächste Folie) Eclipse Development – SS Seite 15 ecore + ReqML Req. Model Req. Mod. Inst. ecore ReqML + Req. Model Req. Mod. Inst ecore ReqML Req. Model 3.

16 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zick-zack Modellarchitektur Eclipse Development – SS Seite 16 ReqML Requirements Model Requirements Model Instance ecore Runtime Requirements Model Modelltransformation (bei uns: manuell) Annotation (per EAnnotation – entspricht UML Tagged Value bzw. Stereotyp)

17 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg ReqML Instanzen ReqProjectType Eclipse Development – SS Seite 17

18 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg ReqML Instanzen ReqEntityType Eclipse Development – SS Seite 18

19 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg ReqML Instanzen ReqFieldStructure Eclipse Development – SS Seite 19

20 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg ReqML Instanzen ReqFieldType (+ Unterklassen) Eclipse Development – SS Seite 20

21 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Variabilitätsszenarien Eclipse Development – SS Seite 21 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

22 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Teams Eclipse Development – SS Seite 22 Reqlipse Workbench UI Reqlipse Core Reqlipse Model Manager Model Registry Model Instance Persister Requirements Instance Model Requirements Services Workbench Integration Requirements Navigator Requirements Editor Requirements Model Instances EMF Models Requirements Model Plugins ReqML Metamodel

23 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 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... (z.B. org.reqlipse.ui.requirementsnavigator.actions) Eclipse Development – SS Seite 23

24 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 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 Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Tipps und Quellen Dynamic EMF: Navigation auf EMF Inhalten ecore Dokumentation ces/javadoc/org/eclipse/emf/ecore/package-summary.html ces/javadoc/org/eclipse/emf/ecore/package-summary.html Id Vergabe an EMF Modellelemente EcoreUtil.getId(), EcoreUtil.setId() XFeature (Update Site) Eclipse Development – SS Seite 25


Herunterladen ppt "Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Eclipse Development – SS 2008 08.02.2014 Seite 1 Software Engineering."

Ähnliche Präsentationen


Google-Anzeigen