datenmodellierung im zeitalter agiler … · 1 sebastian graf, promatis software gmbh doag 2013,...
TRANSCRIPT
1 1
Sebastian Graf, PROMATIS software GmbH DOAG 2013, Nürnberg, 17 November 2014
Datenmodellierung im Zeitalter agiler Softwareentwicklung
2 2 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Agenda
u Über den Referenten
u Datenmodellierung – Begriffsdefinition und Abgrenzung
u Unternehmensweite Datenmodelle
u Transformation OO-Modell -> Relationales Modell
u Datenverteilungsstrecken
u Agilität und Datenmodellierung
u Sonstiges (Reverse Engineering, Dokumentation)
u Diskussion, Q & A
17 November 2014
3 3 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Über den Referenten
u 1987 – 1993: Studium Informatik an der Universität Karlsruhe (TH) (heute KIT)
u 1994 – 1995: Wissenschaftlicher Mitarbeiter Fraunhofer Institut (IITB), Karlsruhe
u 1995 – 1999: PROMATIS AG, Karlsbad, Deutschland
u 1999 – 2002: PROMATIS Corp., San Ramon, CA, USA
u 2003 – heute: PROMATIS software GmbH, Ettlingen, Deutschland - Division Manager Business Process Management
u Seit 2009 Leiter der Special Interest Group BPM (Business Process Management) der DOAG
17 November 2014
4 4 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenmodellierung – Begriffsdefinition und Abgrenzung
u Der Einsatzfall u Umfeld Finanzdienstleistungen u DB2 z/OS 48000 Tabellen u DB2 LUW Umfeld 5000 Tabellen u Oracle 2500 Tabellen u IMS Datenbanken u MySQL Datenbanken 50 Tabellen u MS SQL Datenbanken 250 Tabellen
17 November 2014
5 5 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenmodellierung – Begriffsdefinition und Abgrenzung
u Was ist nicht gemeint u UML-Modelle u Aktivitätsdiagramme u Klassendiagramme
17 November 2014
6 6 © 2013 PROMATIS software GmbH
u Abbildung aller Objekte des Anwendungskontextes über Logisches Modell u ER-Modellierung (Entitäten, Attribute, Relationen) u Einhaltung von Normalformen u Umfangreiche Dokumentation der Fachlichkeit u Abbildung des fachlichen Kontextes
u Abbildung aller relevanten physischen Objekte u Tabellen, Views, Constraints u Stored Procedures, Trigger u Zugriffsrechte u Eigenschaften der physikalischen Implementierung (z.B. Sizing-Informationen) u Berücksichtigung der verschiedenen Zugriffspfade (Dialog vs. Batch)
Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenmodellierung – Begriffsdefinition und Abgrenzung
17 November 2014
7 7 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle
u Der Aufbau eines UwDM scheitert in der Regel.
u Die Datenmodelle und deren Erstellung müssen fest in den Entwicklungsablauf integriert sein (Aktualität).
u Der Bottom-Up Ansatz führt in der Regel zu guten Ergebnissen.
u Einfachen unternehmensweiten Zugriff sicherstellen!
u Das Gesamtmodell muss sich an der gegebenen fachlichen Architektur orientieren!
u Toolunterstützung prüfen!
u In komplexen Umfeldern ist eine Modellierungsrichtlinie erforderlich!
17 November 2014
8 8 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle
17 November 2014
Unternehmen
Anwendungsklasse 1
Anwendungsklasse 2
Anwendung 1
Anwendung 2
Bereich 1 Bereich 2 Bereich 3
9 9 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle
17 November 2014
10 10 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle
17 November 2014
11 11 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle
17 November 2014
12 12 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle
17 November 2014
Logisches Datenmodell
Kontextdiagramm
13 13 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle
17 November 2014
14 14 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell
u In der Praxis wird das OO-Modell 1:1 in ein relationales Modell überführt. u Performanceprobleme sind vorprogrammiert u Nicht alle OO-Konstrukte sind einfach überführbar
u Anwendungsmodelle berücksichtigen in der Regel nur die Dialogkomponenten. u Batchkomponenten werden vergessen
u Anwendungsmodelle werden von Anwendungsentwicklern erstellt. u Datenmodellierer und DBAs werden in der Regel ausgegrenzt.
u Die Diskussion um fachliche vs. technische Schlüssel wird nicht geführt.
17 November 2014
15 15 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell
17 November 2014
Anw
endu
ngsm
odel
l D
aten
mod
ell
Anw
endu
ng
Dat
enba
nk
Fachklassenmodell (UML)
DDL
Java Java
Java
Java Datenzugriffschicht
DBMS
Physisches Datenmodell
Logisches Datenmodell XML
16 16 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell
17 November 2014
Logisches Modell Rollup
Rolldown Separate Table
17 17 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell
17 November 2014
u Technische vs. fachliche Schlüssel
18 18 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell
17 November 2014
u Mehrfach Verwendung von Spalten
19 19 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell
17 November 2014
u Falsche Auflösung von n:m Beziehungen
20 20 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenverteilungsstrecken
17 November 2014
u ETL Prozesse zur Warehouse- oder Mart Versorgung.
u Versorgung redundant gehaltener Datenbestände über Systemgrenzen hinweg.
u Die Dokumentation der Strecken incl. der Transformationen muss Bestandteil der Datenmodellierung sein!
u Impact-Analyse der Verteilungswege über mehrere Stufen.
u Relationale Modelle müssen Basis der Verteilungsstrecken sein!
u Toolunterstützung absolut notwendig!
21 21 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenverteilungsstrecken
17 November 2014
22 22 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Agilität und Datenmodellierung
17 November 2014
23 23 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Agilität und Datenmodellierung
17 November 2014
u Agile Verfahren basieren auf der Unterteilung eines Projektes in sehr kleine Einheiten (Sprints).
u Korrekturen werden über Refactoring Prozesse abgebildet.
u Achtung! Ein Datenmodell ist das Fundament der Anwendung.
u Anpassungen und Korrekturen an einem Datenmodell können auf diverse Anwendungskomponenten ausstrahlen!
u Datenmodell = Sprint1 ?
24 24 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung Sonstiges
u Reverse Engineering u Durchlaufen der Phasen der Datenmodellierung in umgekehrter Reihenfolge. u Wird in der Regel zur Nachdokumentation von Anwendungen herangezogen. u Nach Abschluss des RE muss die Modellierung in die Regelabläufe der
Anwendungsentwicklung integriert werden! u Toolunterstützung prüfen!
u Dokumentation u Welche Arten der Dokumentation werden benötigt? u Wie kann die Dokumentation flächendenkend zur Verfügung gestellt werden? u Toolunterstützung zur automatischen Generierung prüfen!
17 November 2014
25
PROMATIS software GmbH Pforzheimer Str. 160 76275 Ettlingen Tel. +49 7243 2179 0 Fax +49 7243 2179 99 E-Mail: Web: www.promatis.de
www.horus.biz
25 © 2013 PROMATIS software GmbH
Datenmodellierung im Zeitalter agiler Softwareentwicklung
Sebastian Graf Dipl.-Inform. Division Manager Business Process Management
17 November 2014