Es gibt bekanntermaßen keine komplexe Anwendung ohne Fehler. Nichtsdestotrotz sind stabile und zuverlässige Anwendungen unser Ziel. Das Entwickeln von zuverlässiger Software beginnt beim Konzept, reicht über permanentes Überprüfen der Funktionalität von Programmeinheiten und Modulen während des gesamten Entwicklungsprozesses bis hin zu ausführlichen Endabnahmetests.
Eine wichtiges Qualitätskriterium (nicht nur in der Softwareentwicklung) ist die Nachvollziehbarkeit. Daher werden bei uns alle Softwareprojekte in einer Versionsverwaltung (Subversion) eingebettet.
Vorteile einer Versionsverwaltung für Sie als Kunden
- Zurückverfolgung von Fehlern
- Rücknahme von Änderungen
- Weiterentwicklung eines ganz speziellen Softwarestandes (Branch)
- Vereinfachtes und schnelleres zusammenführen verschiedener Versionen
- einheitliche Codebasis für das gesamte Entwicklerteam
- Bestmöglichste Kontrolle für den Projektleiter über den aktuellen Stand und das Geschehen
Gerade in Bezug auf die Kontrolle der aktuellen aber auch bereits durchgeführten Arbeiten ist der Einsatz einer Versionsverwaltung unabdingbar.
Die Versionsverwaltung wird darüberhinaus durch ein projektspezifisches Ticket- und Projektmanagementsystem unterstützt. Dieses System erlaubt es uns Fehlermeldungen, Änderungswünsche und andere Ereignisse im Zusammenhang mit einem Projekt zu speichern, zu administrieren und für den Kunden nachvollziehbar zu dokumentieren.
Versionsverwaltung und Projektmanagement stehen allen Projektmitarbeitern zur Verfügung. Natürlich können wir auch mit kundeneigenen Systemen arbeiten.
Zu einer qualitativ hochwertigen Entwicklung gehört immer auch eine gute Softwaredokumentation. Bei sicherheitsrelevanten Systemen ist sie unverzichtbar und Teil der Unterlagen zur Vorlage bei den Zertifizierungsstellen.
Der Stellenwert und der Unfang der Bedienungsanleitung wird nicht selten unterschätzt. Die Erstellung der Bedienungsanleitung und Handbücher sollte in Teilen schon in der Definitionsphase erfolgen und während der Entwicklung der Software weitergeführt werden.
Für die Endabnahme ist eine detaillierte Testanweisung notwendig. Sie ist außerdem äußerst nützlich um nach Erweiterungen der Software, wie sie immer und immer wieder vorkommen, das System erneut nach eine Checkliste zu testen und auf Seiteneffekte der Erweiterungen hin zu prüfen. Da wir bei der Embedded Programmierung in den meisten Fällen mit einer virtuellen Anlagensimulation arbeiten, sind wir auch in der Lage automatische Testabläufe zu erstellen, die auf Knopfdruck einen großen Teil der Testanweisung abarbeiten kann. Testanweisungen gehören ebenso, wie die Softwaredokumentation zu den Unterlagen bei den Zertifizierungsstellen.