Datenbankentwicklung ist ein Prozess, der von der sorgfältigen Aufgaben- und Business-Analyse über Datenbankmodellierung (Datenbankdesign) und Datenbankprogrammierung bis hin zur Erstellung von Datenreports bei appsystems in den besten Händen ist.
Datenbankentwicklung ist zudem eine überaus heikle Angelegenheit. Denn: Jeder Fehler, der in der Business-Analyse oder durch das Weglassen einer solchen auftritt, potenziert sich in der Datenbankmodellierung – und potenziert sich ein weiteres Mal in der Programmierung.
Um solche „Fehler-hoch-drei", deren spätere Korrektur ausgesprochen schwierig bis unmöglich ist, strikt zu vermeiden, legen wir bei appsystems größten Wert auf die Vorarbeit und jeden einzelnen Arbeitsschritt.
Stolpersteine gerade am Anfang des Weges
In der gängigen Praxis am Markt wird die Wichtigkeit sorgfältiger Analysen oft unterschätzt – oder die Analystenarbeit wird gar von einer nicht fachkundigen Person versuchsweise erledigt.
Oft fehlt es an Struktur und Professionalität, es hakt am Aufbau oder der Exaktheit der Durchführung.
Wir von appsystems aber wissen: Hier ist ein Maximum an Know-how, viel Erfahrung und Fingerspitzengefühl gefragt – und all das stellen wir bereit.
Mit gezielten und gewieften Fragen betätigen wir uns beinahe vampiristisch: Jene Information, und vor allem jede Information, die für die spätere Datenbank-Modellierung relevant ist, saugen wir aus unserem Kunden oder Auftraggeber regelrecht heraus.
Sanft und behutsam, versteht sich. Der Business-Analyst muss dafür natürlich genau wissen, welche Informationen der Softwarearchitekt (jene Person, die die Modellierung durchführt) braucht.
Wer also glaubt, die Arbeit des Business-Analysten „kann eh jeder", der ist bei seinem Softwareprojekt schon auf den Weg des Scheiterns unterwegs.
Warum wir das wissen, obwohl wir stets sorgfältige Analysen durchführen? Wir von appsystems haben schon die Rettung mittelgroßer halbfertiger Projekte anderer übernommen, bei denen keine Businessanalyse stattgefunden hatte und für die es auch kein Datenbankmodell (ERM von Entity-Relationship-Modell) gegeben hat. Und glauben Sie uns: Solcherart entstandene Software noch zu halbwegs einwandfreier Funktion zu führen, ist sehr viel Arbeit.
Die drei Arbeitsschritte zur perfekten Datenbanklösung
Businessanalyse: Sie ist der erste Teil des Softwareprojekts, in dem der Kunde dem Business-Analysten sämtliche Wünsche mitteilt.
- Um auch alles Nötige zu erfahren, ist viel Erfahrung auf Seite des Analysten nötig.
- Der Kunde ist in der Regel kein „Softwaremensch" und denkt völlig anders als jeder Techniker und Analyst.
- So ist Empathie unter den Social Skills eines Business-Analysten besonders wichtig.
- Durch sein ganzheitliches und über den Tellerrand hinausgehendes Denken und gezielte Fragetechnik erfasst der Business-Analyst auch in kryptischen Ausführungen noch, was der Kunde will.
- Sein ausgeprägtes abstraktes Vorstellungsvermögen hilft dem Analysten, das so erarbeitete Anforderungsprofil für die künftige Software in technischer Sprache festzuhalten.
- So wird die Schnittstelle zur nachfolgenden Arbeit des Datenbankdesigners, oft auch Softwarearchitekt genannt, geschaffen.
Datenbankdesign: Bevor der Datenbankdesigner richtig loslegt, werden die Ergebnisse des Business-Analysten konkret in Form eines ERM (Sie wissen schon: Entity-Relationship-Modell) schriftlich festgehalten.
- Das ERM dient dazu, im Rahmen der Datenmodellierung den relevanten Ausschnitt aus der Wirklichkeit des Kunden lückenlos zu erfassen.
- Es besteht aus einem ER-Diagramm, kurz ERD, und einer Beschreibung der verwendeten Elemente.
- Ein ER-Modell dient in dieser Phase der Softwareentwicklung der Verständigung zwischen Kunde und Softwareentwickler und danach als Designgrundlage für die Implementierung der Datenbank.
- Die Prozesse der Business-Analyse und des Datenbankdesigns haben übrigens keine strikte chronologische Abgrenzung zueinander – die Arbeit beider läuft teilweise parallel und immer inhaltlich ineinander verzahnt ab.
- Der Business-Analyst stimmt das entstehende ERM nötigenfalls immer wieder mit dem Kunden ab, bis es verfeinert, verbessert und letztlich vollständig optimiert ist. Weitere wichtige Aufgaben des Designers sind Objektmodellierung und das Verfassen eines Pflichtenheftes.
Datenbankprogrammierung und Reports: Unsere Philosophie bei appsystems ist, dass alles, was die Datenbank machen kann, auch die Datenbank machen soll. Da freut sich auch der Applikationsserver, der sonst durch ständiges Hin- und Herschicken von Daten belastet wird.
- Mithilfe von Stored Procedures (Programmen in der Datenbank) und Datenbankfunktionen kann man viel Last vom Applikationsserver weg, hin zur Datenbank verlegen.
- Ebenfalls eignen sich Funktionen und Stored Procedures hervorragend für nicht-triviale Reports – komplexe Datenbankabfragen werden so zur einfachen Sache.