Das Datenmodell als unterschätzte Spezifikation

Das Datenmodell als unterschätzte Spezifikation

In Softwareprojekten wird das Thema Datenmodellierung meist erst dann intensiv betrachtet, wenn die Umsetzung bereits begonnen hat. Anforderungen sind dokumentiert, Use Cases beschrieben – und erst dann wird an dem Herzstück der Lösung gearbeitet.

Dabei stellt sich jedoch heraus, dass Begriffe unterschiedlich interpretiert wurden, Beziehungen unklar sind, Strukturen fehlen oder Daten doch nicht in gewünschter Form aufliegen. Natürlich sind derartige Erkenntnisse beim Projektstart unangenehm, weshalb wir die Erarbeitung eines Datenmodells vermehrt als Teil der Spezifikationsphase sehen.

Mehr als Technik

Das Datenmodell ist dabei ein zentrales Kommunikations- und Analysewerkzeug und kein technisches Nebenprodukt. Als Bestandteil der Spezifikationsphase zwingt es uns dazu, fachliche Begriffe frühzeitig zu präzisieren, Rollen und Berechtigungen zu diskutieren und die Kundendomäne besser zu verstehen. Besonders interessant sind auch erste Einblicke in existierende Datenbestände, um die Komplexität der Daten und deren Struktur zu verstehen. In Kombination mit den definierten Anwendungsfällen wird dadurch Optimierungspotenzial identifiziert.

Anforderungen schärfen

In unserer Praxis zeigt sich: Die Qualität der Anforderungen verbessert sich spürbar, sobald das Datenmodell bereits in der Spezifikationsphase erstellt wird. Widersprüche oder Lücken in den Anforderungen werden erkannt bevor sie „teuer werden“. Dabei setzen wir auf visuelle Modellierungswerkzeuge wie Miro.com, damit das Modell auch von der Fachabteilung interpretiert und angepasst werden kann. Wir stellen auch fest, dass eine Detailausarbeitung (z.B. eines vollständigen ERD bei relationalen Daten) meist gar nicht notwendig ist. Schon durch das Visualisieren der Entitäten, Relationen und erster Eigenschaften kann für beide Seiten ein präzises Bild von den Möglichkeiten in der zukünftigen Lösung geschaffen werden. Immer wieder realisieren wir an diesem Punkt, welche Anforderungen aufgrund der Datenlage nicht umsetzbar sind bzw. wo verstecktes oder ungenutztes Potenzial liegt.

Architektur mitdenken

Auch in Hinblick auf die Systemarchitektur bietet die frühzeitige Datenmodellierung Vorteile. Für Lösungen, in denen eine neue Datenbasis geschaffen wird, kann ein potenzieller Flaschenhals (z.B. häufige oder zeitintensive Datenabfragen) identifiziert und behandelt werden. Durch geschickte Behandlung, z.B. mittels Denormalisierung in nicht-relationalen Datenbanken oder das gezielte Setzen von Indizes, können die Abfragegeschwindigkeit und infolgedessen die Benutzererfahrung sowie die Kosten optimiert werden. Weiters können bei Lösungen, in denen bestehende Daten übernommen werden, bestehende Schemata hinterfragt und neu modelliert werden, um den Anforderungen bestmöglich zu entsprechen. Das so entwickelte Datenmodell begleitet uns auch während des gesamten Projektverlaufs und dient als „lebendiges“ Dokumentations- und Kommunikationsmittel, das laufend weiterentwickelt werden kann.

Nachhaltiger Mehrwert

Nüchtern gesagt, verschieben wir mit diesem Vorgehen die ersten Schritte eines Projekts in die Spezifikationsphase. Natürlich ersetzt ein gutes Datenmodell keine Anforderungsspezifikation – es ergänzt sie jedoch auf besonders wertvolle Weise. Es macht implizites Wissen über die Daten explizit und fördert die Zusammenarbeit mit unseren Partnern. Damit wird das Datenmodell zu mehr als nur einem Werkzeug der Implementierung – es ist für uns ein Artefakt der Anforderungsanalyse, das den Projekterfolg positiv beeinflussen kann.