Bundesamt für Sicherheit in der Informationstechnik

M 2.570 Auswahl eines Vorgehensmodells zur Software-Entwicklung

Verantwortlich für Initiierung: Leiter Entwicklung

Verantwortlich für Umsetzung: Leiter Entwicklung

Für einen geregelten Ablauf des gesamten Entwicklungsprozesses ist es von elementarer Bedeutung, ein geeignetes Vorgehensmodell zur Software-Entwicklung auszuwählen. Alle am Prozess beteiligten Personen können sich besser orientieren und koordinieren, wenn die Methodik stringent angewendet wird.

Je nach Umfang und Anforderungen der zu entwickelnden Software ist ein Vorgehensmodell auszuwählen, das alle Aspekte des Entwicklungsprozesses ausreichend berücksichtigt. Beispielsweise sollte das Spiralmodell gegenüber dem Wasserfallmodell bevorzugt werden, wenn bereits zu Beginn des Prozesses klar ist, dass während der Entwicklung noch häufig funktionelle Anforderungen für die Software geändert werden.

Einige Vorgehensmodelle bieten einen eher starren Rahmen und eignen sich nur für Projekte, deren Anforderungen klar feststehen und sich im Verlauf des Projekts voraussichtlich nicht maßgeblich ändern werden. Andere Vorgehensmodelle unterstützen dynamische und agile Software-Entwicklung und ermöglichen mit mehrfachen Iterationen über alle Entwicklungsphasen die flexible Anpassung des Projektverlaufs an geänderte Anforderungen.

Etablierte Vorgehensmodelle zur Software-Entwicklung sind beispielsweise:

  • Wasserfallmodell
    Die Entwicklung wird hier in klar definierte Phasen eingeteilt, die aufeinanderfolgend durchlaufen werden. Es beginnt mit der Anforderungsanalyse, auf die das Systemdesign folgt. Danach wird die eigentliche Software programmiert und modular getestet. Schließlich folgt auf den Integrations- und Systemtest die Auslieferung und Wartung der Software für das Produktivsystem.
  • Spiralmodell
    Dieses generische Vorgehensmodell ist eine Weiterentwicklung des Wasserfallmodells und betrachtet die Software-Entwicklung als iterativen Prozess, dessen Zyklen mehrfach durchlaufen werden. Jeder Zyklus ist in vier Quadranten unterteilt. Zuerst werden die Ziele und Rahmenbedingungen festgelegt. Danach werden Alternativen evaluiert und Risiken bewertet. Daraufhin wird ein festgelegtes Zwischenziel realisiert und überprüft. Schließlich wird der nächste Zyklus für die Fortsetzung geplant.
  • Allgemeines V-Modell
    Das V-Modell basiert auf dem Wasserfallmodell und definiert den Entwicklungsprozess sowie die Qualitätssicherung der Software phasenweise, indem jeder Entwurfsstufe eine Teststufe gegenübergestellt wird. Anzahl und Bezeichnung der Phasen sind hierbei flexibel.
  • V-Modell XT
    Basierend auf dem V-Modell hat die öffentliche Verwaltung in der Bundesrepublik Deutschland das V-Modell XT als Entwicklungsstandard definiert. Im V-Modell XT werden Aktivitäten und Ergebnisse festgelegt, deren zeitliche Abfolge flexibel ist. Die Aktivitäten können beispielsweise auch auf das Wasserfallmodell abgebildet werden.
  • Prototyping
    Beim Prototyping liegt der Fokus der Software-Entwicklung darauf, dass schnell Prototypen bereitgestellt werden, deren Funktionalität dann in Zusammenarbeit von Auftragnehmern und Auftraggebern schrittweise genauer definiert und optimiert wird.
  • MDSD (Model-Driven Software Development)
    Bei der modellgetriebenen Entwicklung wird Software automatisch aus formalen Modellen erzeugt, die mit Modellierungssprachen oder grafischen Modellierungstools erstellt werden. Die Funktionalität des gewünschten Systems kann hierbei auf einer abstrakten Ebene definiert werden.
  • TDD (Test-Driven Development)
    In diesem Vorgehensmodell wird immer zuerst ein Software-Test erstellt, bevor die eigentliche Software erzeugt wird. Nachdem die Testfälle (sogenannte Grey-Box-Tests) fertiggestellt sind, wird mit möglichst geringem Aufwand der eigentliche Programmcode erstellt und bei Bedarf an die Tests angepasst. Testfälle können hierbei sowohl für einzelne Module (Unit-Tests) als auch für ein Gesamtsystem (Systemtest) erzeugt werden.

Es existieren vielfältige weitere Vorgehensmodelle zur Software-Entwicklung. Außerdem beschäftigen sich die ISO -Standards 12207 und 13407 mit dem Verständnis von Software-Entwicklung sowie der prototypischen benutzerorientierten Produktion von Software.

Die Entscheidung für ein Vorgehensmodell muss dokumentiert und ein entsprechender Ablaufplan für das Projekt erstellt werden, der alle Umsetzungsschritte und die jeweiligen Verantwortlichen enthält. Auf Basis des ausgewählten Vorgehensmodells muss eine interne Richtlinie zur Software-Entwicklung erstellt werden. Außerdem ist festzulegen

  • auf welche Weise die institutionsweite Sicherheitsrichtlinie, rechtliche Anforderungen und spezifische Sicherheitsanforderungen während der Systementwicklung zu berücksichtigen sind und
  • wie in den spezifischen Entwicklungsphasen Anforderungsanalyse, Design und Implementierung, Test und Roll-out die Sicherheitsbetrachtungen durchzuführen sind.

Das Personal sollte in der Methodik des gewählten Vorgehensmodells geschult werden. Die Richtlinie zur Software-Entwicklung sollte regelmäßig überprüft und auf dem neuesten Stand gehalten werden. Die Einhaltung der Richtlinie ist an allen Schlüsselpunkten der Software-Entwicklung zu prüfen.

Soll die Methodik des einmal gewählten Vorgehensmodells gegen eine andere Vorgehensweise ausgewechselt werden, kann dies einen erhöhten Entwicklungsaufwand in der Umstellungsphase verursachen. Aus diesem Grund muss die Auswahl des Vorgehensmodells möglichst sorgfältig durchgeführt werden.

Prüffragen:

  • Wurde ein geeignetes Vorgehensmodell zur Software-Entwicklung festgelegt?

  • Wurde anhand des gewählten Vorgehensmodells ein Ablaufplan für die Software-Entwicklung erstellt und die Sicherheitsanforderungen dokumentiert?

  • Wurden institutionsweite Sicherheitsrichtlinien, rechtliche Anforderungen und spezifische Sicherheitsanforderungen berücksichtigt?

  • Wurde das Personal in der Methodik des gewählten Vorgehensmodells geschult?

  • Wird die Richtlinie zur Software-Entwicklung regelmäßig überprüft und gegebenenfalls angepasst?

Stand: 15. EL Stand 2016

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK