Download - Programmieren ohne Programmierer

Transcript
Page 1: Programmieren ohne Programmierer

Programmieren ohne ProgrammiererModellgetriebene Softwareentwicklung mit GeneSEZ in 10 Minuten

Gerrit [email protected]

Page 2: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 2

Model Driven Software Development

Page 3: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 3

Nein...

Page 4: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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

Page 5: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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, ...

Page 6: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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

Page 7: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 7

Die Idee von GeneSEZ

Page 8: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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

Page 9: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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

Page 10: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 10

GeneSEZ Ansatz

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

● Anbieten fertiger Generator-Plattformen

Page 11: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 11

GeneSEZ Metamodell

● In UML entwickelt● Steht als Ecore (EMF)

Modell zu Verfügung● Kennt AOP, OOP,

Profile● Einfache

Transformation aus UML und DSLs

Page 12: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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

Page 13: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 13

Workflow ab Release 1.7

UML/DSLModell

GeneSEZModellAnforderungen M2M

TestingModellM2M M2M M2T Tests

M2T SourceCode

QF-Test,Selenium

Reports

Page 14: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 14

Workflow

Page 15: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 15

Type-Mapping

Page 16: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 16

Templates

Page 17: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 17

Scripten

Page 18: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 18

Beispielcode

Page 19: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 19

Statistiken...

Page 20: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 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

Page 21: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 21

Individualisierungen: Templates

Page 22: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 22

Individualisierungen: Scripten

Page 23: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 23

Individualisierungen: Workflow

Page 24: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 24

Zukünftiges

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

– Zustandsautomaten

– Aktivitäten

– Testgenerierung– Mehr Plattformen :-)

Page 25: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 25

Ausprobieren?

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

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

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

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

[email protected]

Page 26: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 26

Gibt es Fragen?

Dann jetzt!

Oder gleich an unserem Stand :-)

Page 27: Programmieren ohne Programmierer

23.08.2009 © SQQD GmbH - www.sqdd.de - [email protected] 27

Aspekte

Danke und viel Spaß noch.