Datenmodellierung im Zeitalter agiler Softwareentwicklung Sebastian Graf, PROMATIS software GmbH DOAG 2013, Nürnberg, 17 November 2014 1 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 2 © 2013 PROMATIS software GmbH 17 November 2014 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 3 © 2013 PROMATIS software GmbH 17 November 2014 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 4 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenmodellierung – Begriffsdefinition und Abgrenzung u Was ist nicht gemeint u UML-Modelle u Aktivitätsdiagramme u Klassendiagramme 5 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenmodellierung – Begriffsdefinition und Abgrenzung 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) 6 © 2013 PROMATIS software GmbH 17 November 2014 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! 7 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle Unternehmen Bereich 1 Bereich 2 Bereich 3 Anwendungsklasse 1 Anwendungsklasse 2 Anwendung 1 Anwendung 2 8 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle 9 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle 10 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle 11 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle Kontextdiagramm Logisches Datenmodell 12 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Unternehmensweite Datenmodelle 13 © 2013 PROMATIS software GmbH 17 November 2014 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. 14 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Java Java Java Fachklassenmodell (UML) Anwendung Anwendungsmodell Transformation OO-Modell -> Relationales Modell Java Datenzugriffschicht 15 DDL Logisches Datenmodell DBMS Datenbank Datenmodell Physisches Datenmodell XML © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell Rollup Logisches Modell Separate Table Rolldown 16 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell u Technische vs. fachliche Schlüssel 17 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell u Mehrfach Verwendung von Spalten 18 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Transformation OO-Modell -> Relationales Modell u Falsche Auflösung von n:m Beziehungen 19 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenverteilungsstrecken 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! 20 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Datenverteilungsstrecken 21 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Agilität und Datenmodellierung 22 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Agilität und Datenmodellierung 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 ? 23 © 2013 PROMATIS software GmbH 17 November 2014 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! 24 © 2013 PROMATIS software GmbH 17 November 2014 Datenmodellierung im Zeitalter agiler Softwareentwicklung Sebastian Graf Dipl.-Inform. Division Manager Business Process Management PROMATIS software GmbH Pforzheimer Str. 160 76275 Ettlingen Tel. +49 7243 2179 0 Fax +49 7243 2179 99 E-Mail: [email protected] Web: www.promatis.de www.horus.biz 25 © 2013 PROMATIS software GmbH 17 November 2014