Programmieren ohne Programmierer

Post on 26-Jun-2015

303 views 0 download

description

Die Folien meines Vortrags von der FrOSCon 2009.

Transcript of Programmieren ohne Programmierer

Programmieren ohne ProgrammiererModellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten

Gerrit Beinegerrit.beine@sqqd.de

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 2

Model Driven Software Development

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 3

Nein...

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 4

Grundidee

● Software grafisch Modellieren● Vom Abstrakten zum Konkreten● Kluges Generieren statt Stupides Coden● Computer machen weniger Fehler● Modell-zu-Modell-Transformationen● Modell-zu-Text-Transformationen

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 5

Modelltransformationen

Anforderungen Analysemodell

Designmodell

Testmodell

Datenbankstruktur

Programmcode

Testabläufe und -datenManuelle Analyse

Transformation undmanuelle Anreicherung

Transformation undmanuelle Anreicherung

Volere Shell UML UMLUML Java, C, PHP, ...

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 6

Metamodelle

M3: Meta-Metamodell

M2: Metamodell

M1: Modell

M0: Instanzen

MOF, Ecore

UML, GeneSEZ

Klassendiagramm,Aktivitätsdiagramm

Objekte

MOF, Ecore

Auto(Farbe: rot, Türen: 5)

Klasse(Name: Auto, Variablen:

(Farbe: String, Türen: Integer) )

Element(Attribute: (Name: String, Variable: (String, String) ) )

Element(Attribute: Element)

beschreibt

beschreibt

beschreibt

beschreibt

Instanz von

Instanz von

Instanz von

Instanz von

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 7

Die Idee von GeneSEZ

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 8

Projekthistorie

● Start 2006 an der FH Zwickau● Ziel: MDSD in 10 Minuten● Perspektive: Programmierer als Anwender● Unterstützung agiler Software-Entwicklung● Keine 1:1 Umsetzung des Modells im Code● Modelle sind abstrakter als Code

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 9

Basistechnologien

● Eclipse Modeling Framework● EMF UML2● openArchitectureWare● Warum GeneSEZ notwendig ist:

– Hoher Investition in Infrastrukur (Zeit)

– Hoher Lernaufwand (UML 2 Metamodell)– Auwändige Wartung eines Generators

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 10

GeneSEZ Ansatz

● Definition eines eigenen Metamodells– Optimiert für Codegenerierung– Entwickler als Anwender im Fokus

● Anbieten fertiger Generator-Plattformen

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 11

GeneSEZ Metamodell

● In UML entwickelt● Steht als Ecore (EMF)

Modell zu Verfügung● Kennt AOP, OOP,

Profile● Einfache

Transformation aus UML und DSLs

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 12

GeneSEZ Plattformen

● Workflow-Komponenten für Transformationen● Naming Conventions● Package Importe / Namespaces● Type Mapping● Code-Templates für Metamodellelemente● Scripten zur Modell-Interpretation und

-Anreicherung

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 13

Workflow ab Release 1.7

UML/DSLModell

GeneSEZModellAnforderungen M2M

TestingModellM2M M2M M2T Tests

M2T SourceCode

QF-Test,Selenium

Reports

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 14

Workflow

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 15

Type-Mapping

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 16

Templates

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 17

Scripten

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 18

Beispielcode

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 19

Statistiken...

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 20

Individualisierungen

● Anpassung von Templates und Funktionen– Beeinflussen mit Aspekten

● Ändern von Datentypen– Lokal im Projekt überschreiben

● Generator und Plattform bleiben unverändert● Wiederverwendung: Eigene Plattform ableiten

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 21

Individualisierungen: Templates

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 22

Individualisierungen: Scripten

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 23

Individualisierungen: Workflow

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 24

Zukünftiges

● 31.08.2009 – Release 1.6.3● Im Herbst – Release 1.7 mit

– Zustandsautomaten

– Aktivitäten

– Testgenerierung– Mehr Plattformen :-)

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 25

Ausprobieren?

● Informieren– http://www.genesez.de/

● Herunterladen– http://www.genesez.de/download

– http://updatesite.genesez.de/site.xml

● Handbuch– http://manual.genesez.de/

● info@genesez.de

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 26

Gibt es Fragen?

Dann jetzt!

Oder gleich an unserem Stand :-)

23.08.2009 © SQQD GmbH - www.sqdd.de - info@sqdd.de 27

Aspekte

Danke und viel Spaß noch.