SERUM Poster

Werbung
SFB 501
Teilprojekt A3
Entwicklung großer Systeme
mit generischen Methoden
Datenbankunterstützung für
Softwareentwicklungsprozesse
SERUM-Prozeß
Generating Software Engineering Repositories using UML
Parameter
+type
1
n
Classifier
Spezifikation
(from Core)
Modifiziere bestehende
Repository Manager
Spezifikation
(from Core)
+owner
n +parameter
{ordered}
Erstelle initiale
Repository Manager
Spezifikation
1 +type
0..1
+feature
Feature
(from Core )
UML-Model
n
0..1
[initial]
m Struktur (Class, Interface, DataType, Association, ...)
BehavioralFeature
StructuralF eature
(from Core)
(from Core)
[vordefiniert]
m Object Constraint Language (OCL)
Überprüfe
‘Domain Guidelines’
Operation
Attribute
(from Core)
(from Core)
[ok]
Produktdatenmodell
Ergänze um
Basiselemente
UML Model
+versionableStructure
[geprüft (DG)]
VersionableStructure
UML Model
Verfeinerung
1
SERUM Framework: technologieunabhängiger Teil
+version
0..n
+ version
0..n
VS_ClassStructure
Wähle
Design Pattern
[erweitert]
Version
1
q vordefinierte Basiselemente
q vordefinierte Verfeinerungsoperationen (SERUM DesignPattern)
0..n
+ version
V_ClassStructure
+pdo 0 ..n
0..n
+pda
+pda 0 .. n
PDA
PDO
SERUM Design Pattern
0..n +pdo
0 ..n
[ausgewählt]
m Parameter: Welche Teile des Modells sollen verfeinert werden?
m Vorbedingungen: Darf das DesignPattern angewendet werden?
m Zusicherungen: Was darf zukünftig nicht mehr geändert werden?
m Skript: Wie wird das Modell verändert?
0..n
Erweiterte
Spezifikation
pda_Feature_owner
1
+owner
q Modellierungsrichtlinien
1
0..1 +owner
Feature
Classifier
0..n
1
+feature
[nicht fertig]
0..n
pda_Classifier_feature
1
[ok]
Produktdatenmodell
(für Versionierung)
Model Guidelines
Überprüfe
‘Framework Guidelines’
m Verhalten (StateMachine, ActivityGraph, ...)
q deskriptive Sprache zur Spezifikation weiterer Integritätsbedingungen
Domain Guidelines
[ko]
Spezifikation basierend auf dem UML-Metamodell
q standardisiert (OMG), weit verbreitet, objektorientiert
q graphische Modellierung und Spezifikation
q umfangreiche Modellierungselemente verfügbar
n
{o rdered}
[vordefiniert]
+feature
m Domain Guidelines
Entspricht die Spezifikation den Vorgaben aus der Domäne?
m Framework Guidelines
Entspricht die Spezifikation den Richtlinien des Frameworks?
m Template Guidelines
Entspricht die Spezifikation den Anforderungen des Generators?
[ko]
[ok]
ModelElement
(from Core )
Konfiguration
UML Model
[geprüft(MG)]
+parent
Wähle
SERUM Template
Generalizable
Element
SERUM Template
SERUM Framework: technologieabhängiger Teil
+specialization
1
n
1
n
Generalization
(from Core)
(from Core)
+child
+generalization
m Rahmenarchitektur
[ausgewählt]
m Regeln zur Code-Generierung
Informix SQL
Überprüfe
‘Template Guidelines’
q unvollständiger Repository Manager
q Konfiguration kompatibler Komponenten (SERUM Template)
m vorgefertigte Code-Templates zur Vervollständigung
m fertige Komponenten zur Komposition
[ok]
UML Model
[geprüft(TG)]
[ko]
Konfiguriere
Template
create row type data_generalizable_element_ty
(...)
under data_model_element_ty;
create table generalizable_element_ta
of type generalizable_element_ty
( ... )
under model_element_ta;
m Parameter für Generierungsregeln, Code-Templates und
fertige Komponenten
Generierungsregeln
Generiere
Repository Manager
Generische API
Generierte API
Repository Manager generieren
Generierung
Repository Manager
q Erzeugung von Code mit den Generierungsregeln
Repository-Server
m Typen, Tabellen, Views, Trigger, UDRs, ...
m API-Klassen, ...
Teste
Repository Manager
[ok]
[modifizierte Spezifikation]
UMLModell
ModellAbbildung
ProduktDaten
[ko]
q Vervollständigung der Templates
q Parametrisierung der Komponenten
q Kombination der entstandenen Artefakte
[anderes Template]
Repository Manager
SE R
UM
Herunterladen