Wie funktioniert das? Individuelle Software von anic – ein Beispiel
Ihre Idee ist einzigartig! Das erfordert individuelle Anpassungen im Projekt. Wie setzt anic Ihr Projekt um? Das zeigen wir anhand eines realen Beispiels.
Am Anfang war die Anforderung
Chemische Strukturen sollten aus Berechnungen der Quantenchemie (Link zur Erklärung der molekularen Modellierung) in einem ChemReg-System erfasst werden. Einer Laborverwaltungssoftware sollten fortlaufend zusätzliche Daten zu diesen Strukturen zur Verfügung gestellt werden. Aufgrund der großen Anzahl der Strukturen sollte nur ein Mindestmaß an Userinteraktionen nötig sein.
Als User Requirement Specification (URS) wurde dieser Prozess von uns in Form von UML Use Cases sowie UML Sequence Diagrammen dargestellt. Die chemischen Strukturen aus den Berechnungen sollten im SDF-Format erfolgen. Zusätzlich zur Molekülstruktur sollten weitere Daten als Associated Data im SDF-Export ergänzt werden. Als FRS (Functional Requirement Specifications) wurde eine Dokumentation im Excel- und PDF-Format der Datenfelder erstellt, die eingelesen werden sollten. Die Molekülstrukturen aus dem SDF-Export sollten per Web-API im ChemReg-System registriert und bei bereits registrierten Molekülen eindeutige Kennungen zurückliefern. Moleküle und erweiterte Daten sollten datenabhängig verschiedenen Oracle-Datenbanktabellen hinzugefügt werden, um in der Laborverwaltungssoftware damit arbeiten zu können. Für die FRS (Functional Requirement Specifications) erstellten wir ein Datenbank-Diagramm der entsprechenden Tabellen der Laborverwaltungssoftware, in die Daten eingelesen werden sollten. Ein Fileserver lädt die SDF-Exportdateien und bereitet bei Fehlermeldungen des ChemReg-Systems die betroffenen Dateien zur manuellen Prüfung vor.
Die Anforderung trifft auf die Realität
Die Web-API des ChemReg-Systems veränderte sich mehrfach, auch die erweiterten Daten in den Associated Data Fields für den SDF-Export wurden mehrmals erweitert. Was passiert, wenn sich im Projektverlauf die Anforderungen ändern? Agiles Projektmanagement ist für uns nicht nur ein Schlagwort – das haben wir hierbei bewiesen. Auf alle Änderungen konnten wir uns so kurzfristig einstellen.
Testing und Dokumentation
Das Projektmanagement wurde über den Microsoft Team Foundation Server (TFS) geführt. Im TFS wurden automatisierte Tests mit NUnit durchgeführt. Die gesamte Kundeninfrastruktur von der Web-API über den Fileserver bis zu den Datenbankzugriffen wurde mithilfe des Mocking-Frameworks Moq nachgebildet, um die Tests von direkten Zugriffen auf das Kundensystem unabhängig zu gestalten.
Mit SpecFlow und Gherkin wurde Behavior Driven Development eingesetzt.
Zur Dokumentation erhielt der Kunde eine Programmdokumentation als PDF sowie Testprotokolle der automatisierten Tests und SpecFlow-Tests im XML- und TRX-Format (Microsoft MSTest Format).
Legende / Weiterführende Hinweise
Was ist eine URS?
Eine User Requirement Specification URS ist auf deutsch besser bekannt als Lastenheft: Es beschreibt die Gesamtheit der Forderungen was entwickelt werden soll.
Was ist eine FRS?
Die Functional Requirement Specification FRS gleicht dem Pflichtenheft: Es beschreibt in konkreter Form wie der Auftragnehmer die Vorgaben des Kunden im Lastenheft bzw. der URS umsetzen wird.
Links zu weiteren Abkürzungen
- Anwendungsfalldiagramm (UML Use Case & Sequence Diagram)
- Chemical File Format SDF (en)