280 likes | 401 Views
Nutzungsszenarien introspektiver Modelle. Abschlussvortrag Bachelorarbeit Wirtschaftsinformatik Julian Sommerfeldt. Agenda. Begriffsklärungen & Motivation Datenmodellvisualisierung Round Trip Engineering. Agenda. Begriffsklärungen & Motivation Datenmodellvisualisierung
E N D
Nutzungsszenarien introspektiver Modelle Abschlussvortrag Bachelorarbeit Wirtschaftsinformatik Julian Sommerfeldt
Agenda • Begriffsklärungen & Motivation • Datenmodellvisualisierung • Round Trip Engineering Julian Sommerfeldt
Agenda • Begriffsklärungen & Motivation • Datenmodellvisualisierung • Round Trip Engineering Julian Sommerfeldt
Modell Introspektion Implementierungsartefakte Julian Sommerfeldt
Motivation • Wie lassen sich die gewonnen Modelle nutzen? • Welche Stakeholder haben wann an welcher Verarbeitung der Informationen Interesse? Julian Sommerfeldt
Motivation • Wie lassen sich die gewonnen Modelle nutzen? • Welche Stakeholder haben wann an welcher Verarbeitung der Informationen Interesse? Julian Sommerfeldt
Agenda • Begriffsklärungen & Motivation • Datenmodellvisualisierung • Round Trip Engineering Julian Sommerfeldt
Das Tricia Datenmodell ist komplex Julian Sommerfeldt
Beispiel für ein Datenmodell Julian Sommerfeldt
Das Tricia Metamodell Julian Sommerfeldt
Datenmodellvisualisierung Julian Sommerfeldt
Funktionale Anforderungen • Die Darstellung der unterschiedlichen Relationen ist vor allem in technischer Hinsicht eine Herausforderung. Julian Sommerfeldt
Funktionale Anforderungen • Anpassbarer Detaillierungsgrad • Exportfunktionen • Diagramme werden auch außerhalb des Programms genutzt. • Als Bild abspeichern. • Gewisse Assets werden immer wieder abgefragt. • Diese mit Positionsangaben speichern und später neu laden. Julian Sommerfeldt
Technische Realisierungsalternativen • Web vs. Desktop • Verfügbarkeit • Installation • Realisierung • Introspective Modeling Framework • Entscheidung für Desktopapplikation (Eclipse) • GraphicalEditing Framework vs. Netbeans Visual Library • Handhabung • Integration Julian Sommerfeldt
Implementierung - Überblick Julian Sommerfeldt
Implementierung - DataModel Julian Sommerfeldt
Agenda • Begriffsklärungen & Motivation • Datenmodellvisualisierung • Round Trip Engineering Julian Sommerfeldt
Round Trip Engineering Julian Sommerfeldt
Problemstellungen • Metamodell-Kompatibilität ist notwendig, um weiterhin Introspektion zu ermöglichen. • Synchronität zwischen dem Code, der Sicht und dem Modell, das bearbeitet wurde. • Codegenerierung • Sichten sind Abstraktionen vom Code • Nicht der gesamte Code ist introspektiv • Code kann nicht komplett neu generiert werden • Feingranulare Änderungen sind notwendig Julian Sommerfeldt
Nicht der gesamte Code ist introspektiv publicfinalStringPropertyname = newStringProperty() { finalChangeListenerupdateUrlName = newInstantChangeListener() { @Override publicvoidchange(Diffdiff) {UrlNameProperty.updateUrlName(urlNameQuery(), urlName, get()); } }; } Julian Sommerfeldt
Entwurf • Mockups der Dialoge zur Bearbeitung der Modelle. Julian Sommerfeldt
Implementierung - Übersicht Julian Sommerfeldt
Implementierung - AST Julian Sommerfeldt
Implementierung - RefactoringModel Julian Sommerfeldt
Implementierung - Refactoring • Eclipse benutzt für Refactoring-Aufgaben das LTK Refactoring Framework. • Das Framework bietet Schnittstellen und integrierte Funktionen an: • Preview • Integration in die Eclipse-History • Leicht zu erstellende Dialoge Julian Sommerfeldt
Refactoring - Ablauf Julian Sommerfeldt
Ergebnisüberblick Julian Sommerfeldt
Vielen Dank für die Aufmerksamkeit! Fragen? Julian Sommerfeldt