Software Engineering in der Praxis: Eclipse Development

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Business Engineering Philipp Osl, Alexander Schmidt
Cloud42 Dominik Muhler Seminar StuPro cims cims.
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Modellgetriebene Softwareentwicklung
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Einführung in die Entwicklungsumgebung
Abschlusspräsentation cims. cims Abschlusspräsentation cims Agenda Aufgabenstellung Das System – Benutzerverwaltung / Abrechnungsmodell.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Agile Software Entwicklung mit dem RUP Agile Softwareentwicklung Best Practice bei.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
Java: Objektorientierte Programmierung
DOM (Document Object Model)
Instance-Based Context Calculation of OCL Expressions.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Eclipse - Entwicklungsumgebung und mehr ETIS SS05.
Rational Unified Process (RUP) - Definitionen
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Software Engineering Seminar Metamodellierung
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Erweiterung von Eclipse als Entwicklungs-Plattform aus Sicht des Eclipse-Boardmitgliedes TogetherSoft Together auf Basis von Eclipse.
ENOVIA SmarTeam CATIA Integration
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
HTW Programmiersprachen 3: Abschlusspräsentation GIS PI Projektarbeit 4. Semester an der HTW des Saarlandes Projekt: Generischer Database Browser Betreut.
Forschung & Technologie Seminar: Entwicklung verteilter eingebetteter Systeme 1. Meeting: , 14:00-15:30, Raum tbd, Themenvergabe 2. Meeting 1.11.,
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Simulation komplexer technischer Anlagen
Spezifikation von Anforderungen
Software-Projektführung
Erweiterung von EMF Refactor um Update Funktionalität in grafischen Editoren Thorsten Arendt, AG Taentzer, SWT FoPra-Vorstellung, 19. April 2012.
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
Programmiermethodik Übung 6
Continuous Integration mit Jenkins
MDA – Framework AndroMDA
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Grundlagen ExecutionModel Simulationsumgebung
Mit 3 Schichte zum Erfolg
Architekturen und Techniken für computergestützte Engineering Workbenches.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
HPI Bachelorprojekt Scalable EMF Vorstellung der Designdokumente Strukturen und Abläufe 1. März 2010.
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
UML-Kurzüberblick Peter Brusten.
Ihr Entwicklungs-Partner mit Nearshore-Kompetenz Stuttgart, INFOBEST Romania SRL.
VU Semistrukturierte Daten 1
Management- und Web Services- Architekturen
Universität Stuttgart Xiaolong Wan Abschlußpräsentation:
Vom Geschäftsprozess zum Quellcode
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Oliver Spritzendorfer Thomas Fekete
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
Eclipse Modeling Framework (EMF)
Office in Java 2. Info-Point Urs Frei.
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Jonas Rüttimann 2. Juni Motivation Was ist RAP? Schnellstart: Wir bringen RAP zum Laufen! Technologie: Wie funktioniert RAP? Konsequenzen für die.
Sandro Mülhauser, Patrick Beyeler
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
C O R P O R A T E T E C H N O L O G Y Software & Engineering Architecture Eclipse Rich Client Platform Siemens Workshop Kai Tödter Siemens AG CT SE 2.
Eclipse – PHP Tool Integration (PTI) Sven Kiera, TWT Interactive GmbH.
Digitale Annotationen. Grundlage: John Bradley “Towards a Richer Sense of Digital Annotation: Moving Beyond a Media Orientation of the Annotation of Digital.
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
Semi-automatische Komposition von Dienstbenutzerschnittstellen auf mehreren Abstraktionsebenen Christian Jäckel Universität des Saarlandes Bachelor.
 Präsentation transkript:

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

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

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

Vision: Eclipse Requirements Engineering Eclipse Development – SS 2008

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

Anwendungsfälle Eclipse Development – SS 2008

Feature Modell (Draft) Eclipse Development – SS 2008

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

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: http://www.mediqual.ch Eclipse Development – SS 2008

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

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

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

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

ReqML Eclipse Development – SS 2008

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

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

ReqML Instanzen ReqProjectType Eclipse Development – SS 2008

ReqML Instanzen ReqEntityType Eclipse Development – SS 2008

ReqML Instanzen ReqFieldStructure Eclipse Development – SS 2008

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

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

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

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

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 E-Mail.

Tipps und Quellen Dynamic EMF: http://www.ibm.com/developerworks/library/os-eclipse-dynamicemf Navigation auf EMF Inhalten http://www.ibm.com/developerworks/library/os-eclipse-emf ecore Dokumentation http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.emf.doc/references/javadoc/org/eclipse/emf/ecore/package-summary.html Id Vergabe an EMF Modellelemente EcoreUtil.getId(), EcoreUtil.setId() XFeature http://www.pnp-software.com/XFeature/Home.html http://www.pnp-software.com/XFeatureUpdateSite (Update Site) Eclipse Development – SS 2008