- Geschichte
- Schaffung
- Alternative zum Wasserfallmodell
- Merkmale des Spiralmodells
- Risikokontrolle
- Beschreibung der Spirale
- Generisch
- Flexibel
- Metamodell
- Stufen
- Bestimmen Sie Ziele, Alternativen und Einschränkungen
- Risikobewertung
- Entwicklung und Erprobung
- Planen Sie den nächsten Zyklus
- Beispiel
- Vorteil
- Zyklische Struktur
- Risikomanagement
- Kundenbeteiligung und Feedback
- Ideal für große Projekte
- Nachteile
- Teuer
- Ziemlich komplex
- Zeiteinteilung
- Viele Schritte
- Verweise
Das Spiralmodell ist ein Archetyp des Anwendungsentwicklungsprozesses. Es basiert auf der Hypothese, dass Softwareentwicklung ein iterativer Zyklus ist, der wiederholt wird, bis die festgelegten Ziele erreicht sind. Es ist in der Lage, die große Anzahl von Risiken zu bewältigen, die bei der Entwicklung von Software auftreten können.
Es ist eines der wichtigsten Modelle zur Unterstützung des Risikomanagements. Wie der Name schon sagt, ist dieses Modell spiralförmig dargestellt, wobei die verschiedenen Stufen des Modells in verschiedenen Zyklen verteilt sind. Die Anzahl der Zyklen im Modell ist nicht festgelegt und kann von Projekt zu Projekt variieren.
Analyse, Bewertung, Planung und Entwicklung. Softwareentwicklung Spirale Quelle: Beao commons.wikimedia.org
Geschichte
Schaffung
Das Spiralmodell wurde vom amerikanischen Mathematiker und Softwareentwicklungsprofessor Barry Boehm definiert. Nachdem er 1986 sein Konzept für die Entwicklung komplexer Anwendungen vorgestellt hatte, veröffentlichte er sein Modell 1988 in einem umfassenderen Rahmen in seinem Artikel "Ein Spiralmodell für Softwareentwicklung und -verbesserung".
Ein Teil dieser Veröffentlichung von 1988 stellte das Spiralmodell grafisch dar und zeigte auf umfassende Weise, wie der Softwareentwicklungsprozess spiralförmig aussieht und von Zyklen unterstützt wird.
Böhm ist bekannt für seine zahlreichen Beiträge zur Softwareentwicklung, wie das konstruktive Kostenmodell (COCOMO), das Spiralmodell des Softwareprozesses, den G-Theory-Ansatz (Win-Win) zur Anforderungsermittlung und -verwaltung. der Software.
Alternative zum Wasserfallmodell
In seiner Publikation beschrieb Böhm das Spiralmodell als mögliche Alternative zum bisher etablierten Wasserfallmodell, das auch als Grundlage für seine Praxis diente.
Das Spiralmodell war nicht das erste, das die zyklische Entwicklung diskutierte, aber es war das erste Modell, das erklärte, warum Iteration wichtig ist. Wie ursprünglich geplant, war es auf große, komplexe Projekte ausgerichtet, deren Iterationen normalerweise zwischen 6 Monaten und 2 Jahren liegen.
Dieses Modell geht nicht davon aus, dass Softwareentwicklungsaufgaben im Gegensatz zum Wasserfallmodell linear gestaltet sind, sondern betrachtet sie als iterative Aufgaben.
Dieses zyklische Modell beeinflusste die Model Based Software Engineering Architecture (MBASE) und die extreme Programmierung.
Merkmale des Spiralmodells
Risikokontrolle
Was dieses Modell stark von anderen Softwareprozessmodellen unterscheidet, ist, dass es Risiken explizit erkennt. Auf diese Weise wird der Ausfall großer Softwareprojekte erheblich reduziert, indem jedes Mal wiederholt Risiken bewertet und das in der Entwicklung befindliche Produkt überprüft werden.
Dieses Computermodell enthält Komponenten aus fast allen anderen Modellen des Software-Lebenszyklus, z. B. dem Wasserfallmodell, dem Prototyping-Modell, dem iterativen Modell, dem Evolutionsmodell usw.
Aus diesem Grund ist es in der Lage, nahezu jede Art von Risiko zu bewältigen, die andere Modelle im Allgemeinen nicht eingehen. Aufgrund der vielen Komponenten ist dieses Modell jedoch viel komplexer als die anderen Softwareentwicklungsmodelle.
Beschreibung der Spirale
Jede Umdrehung der Spirale stellt einen vollständigen Zyklus dar, durch den immer die vier Quadranten verlaufen und die vier Stufen des Modells darstellen.
Mit zunehmender Größe der Spirale steigen auch die erzielten Fortschritte. Daher werden die Stufen nicht nur einmal, sondern mehrmals spiralförmig ausgeführt.
Obwohl diese zyklische Wiederholung das Projekt langsam an die festgelegten Ziele heranführt, wird das Risiko, dass der Entwicklungsprozess fehlschlägt, stark minimiert.
Generisch
Die vier Stufen setzen nur die grundlegenden Ziele eines Zyklus um, müssen sich jedoch nicht in jedem Zyklus manifestieren.
Die Reihenfolge jedes Zyklus ist ebenfalls nicht streng bestimmt. Daher kann das Modell jederzeit mit anderen Modellen kombiniert werden.
Flexibel
Es ist sehr flexibel, da es die Zieldefinition, Risikoanalyse, Entwicklungs- und Planungsprozesse für jede Phase des Projekts separat durchführt.
Metamodell
Es wird als Metamodell betrachtet, da es die anderen Modelle enthält. Wenn die Spirale beispielsweise ein einzelner Zyklus wäre, würde sie das Wasserfallmodell darstellen, da sie den schrittweisen Ansatz dieses klassischen Modells beinhaltet.
Er verwendet auch den Ansatz des Prototyping-Modells, da er zu Beginn jedes Zyklus einen Prototyp zusammenstellt, um das Risiko zu managen.
Darüber hinaus ist es mit dem Evolutionsmodell kompatibel, da die Iterationen der Spirale als Evolutionsstufen betrachtet werden können, durch die das endgültige System aufgebaut wird.
Stufen
Bestimmen Sie Ziele, Alternativen und Einschränkungen
Die Systemanforderungen werden so detailliert wie möglich definiert, einschließlich Leistung, Hardware- / Software-Schnittstellen, Schlüsselindikatoren für den Erfolg usw. und welche Ziele mit dem aktuellen Entwicklungszyklus verbunden sein sollten, werden berücksichtigt.
Darüber hinaus werden verschiedene Alternativen für die Implementierung untersucht, z. B. Build vs. vorhandene Komponenten kaufen, wiederverwenden oder auslagern usw.
Ebenso werden Einschränkungen wie Kosten, Zeitplan und Schnittstellen, Zeitverbrauch usw. festgelegt.
Risikobewertung
Alle vorgeschlagenen Alternativen werden bewertet. Die Ziele und Einschränkungen dienen als Referenz für die Auswahl der besten Lösung.
Darüber hinaus werden die Risiken identifiziert, die den Erfolg des Projekts beeinträchtigen können, z. B. mangelnde Erfahrung, neue Technologien, enge Zeitpläne, schlechte Prozesse usw., um die rentabelsten Strategien mit dem geringsten Risiko umzusetzen.
Schließlich werden Methoden wie Prototyping, Simulationen, analytische Modelle und Benutzerumfragen verwendet.
Entwicklung und Erprobung
Alle notwendigen Entwicklungen werden unter Verwendung der Technologie und der ausgewählten Lösung durchgeführt. Mit jeder Iteration wird eine bessere Version der Anwendung erstellt.
Der eigentliche Code wird mehrmals geschrieben und getestet, bis das gewünschte Ergebnis erreicht ist, das dann als Grundlage für zukünftige Entwicklungsschritte dient.
Planen Sie den nächsten Zyklus
Nach Abschluss eines Zyklus beginnt die Planung für den nächsten. Diese Planung könnte darin bestehen, das Projekt normal fortzusetzen, wenn das Ziel des Zyklus unter Berücksichtigung der Definition des nächsten Ziels erreicht wurde.
Es könnte auch sein, andere Lösungen zu finden, wenn sich die vorherige Entwicklungsstufe als fehlerhaft herausstellte. Die bestehende Strategie könnte durch eine der zuvor definierten oder eine neue Alternative ersetzt werden. Damit würde ein neuer Versuch gestartet, das vorgegebene Ziel zu erreichen.
Beispiel
Das US-Militär übernahm das Spiralmodell für die Entwicklung und Aufrüstung des Modernisierungsprogramms Future Fighting Systems (SCF).
SCFs wurden 2003 offiziell gestartet und sollten Truppen mit Fahrzeugen ausstatten, die in Echtzeit mit einem außerordentlich schnellen und flexiblen Netzwerk von Schlachtfeldern verbunden sind.
Das Projekt war in vier Entwicklungsspiralen von jeweils etwa zwei Jahren unterteilt. Spiral 1 sollte 2008 beginnen und Prototypen zur Verwendung und Bewertung liefern.
Nach Abschluss von Spirale 1 sollte Spirale 2 im Jahr 2010 beginnen. Die endgültige Produktentwicklung sollte im Jahr 2015 erfolgen.
Im August 2005 gab Boeing den Abschluss des ersten wichtigen Meilensteins des Projekts bekannt, nämlich die funktionale Überholung der Systeme. Boeing und Science Applications International Corporation waren die Co-Leiter des Projekts.
Für Oktober 2005 empfahl das Pentagon jedoch, das Projekt aufgrund der hohen Auswirkungen des Irak-Krieges auf die Kosten und der Hilfe des Hurrikans Katrina zu verschieben.
Das Projekt wurde 2009 nach Budgetkürzungen abgebrochen, ohne die Vorteile des Spiralmodells in dieser Mission nachweisen zu können
Vorteil
Zyklische Struktur
Aufgrund dieser Art von Struktur werden Probleme zwischen Design und technischen Anforderungen der Software dank regelmäßiger Überprüfungen stillschweigend beseitigt.
Risikomanagement
Die Risiken werden in jeder Phase des Produkts analysiert, bevor Sie fortfahren. Dies hilft, potenzielle Risiken zu überwinden oder zu mindern.
Alle Mitarbeiter profitieren von der großen Bedeutung der Risikoanalyse in diesem Modell, die möglicherweise ihren größten Vorteil gegenüber anderen Prozessmodellen darstellt.
Eine regelmäßige Risikobewertung ist hilfreich, wenn neuartige technische Umgebungen verwendet werden, die aufgrund fehlender empirischer Werte im Allgemeinen mit einem bestimmten Risikopotenzial verbunden sind.
Kundenbeteiligung und Feedback
Kunden sind in jede Phase des Projekts involviert, bis das Projekt abgeschlossen ist. Daher können verschiedene Rückmeldungen gesammelt werden, um die nächste Version des Projekts zu verbessern.
Aufgrund des spiralförmigen Vorschubs kann jederzeit eine Rückmeldung erhalten werden. So können Kunden und Anwender von Anfang an in den Entwicklungsprozess integriert werden.
Ideal für große Projekte
Es ist besonders beliebt und bekannt für große und komplexe Projekte, bei denen die Budgetkontrolle für Kunden und Entwickler Priorität hat. Sie haben maximale Kontrolle über Kosten, Ressourcen und Qualität des Softwareprojekts.
Nachteile
Teuer
Dies kann sehr teuer sein, da für die Risikoanalyse ein hohes Maß an Fachwissen erforderlich ist. Darüber hinaus nimmt die Entwicklung von Projekten viel Zeit in Anspruch, was den Overhead erhöhen kann.
Ziemlich komplex
Eine sehr aktive und komplexe vorherige Verwaltung des Projekts ist erforderlich, wobei jeder Zyklus kontinuierlich und sorgfältig kontrolliert und dokumentiert wird.
Es ist vergleichsweise komplexer als andere Modelle, da es viele Zyklen gibt, die jeweils unterschiedliche Phasen durchlaufen, wodurch sich der Aufwand für den Dokumentationsprozess erhöht.
Kenntnisse über Risikoanalyse und -management, die häufig nicht verfügbar sind, sind unerlässlich.
Zeiteinteilung
Die Zeit ist schwierig zu verwalten, da die Anzahl der Zyklen unbekannt ist. Darüber hinaus kann der Entwicklungsprozess jederzeit verzögert werden, wenn wichtige Entscheidungen innerhalb eines Zyklus oder durch zusätzliche Maßnahmen bei der Planung des nächsten Zyklus getroffen werden müssen.
Viele Schritte
Viele Schritte in der Softwareentwicklung zu unternehmen ist nicht immer günstig, da trotz der Vielseitigkeit des Testens unfertige Teile des Programms das fertige System erreichen können.
Infolgedessen besteht immer die Gefahr, dass konzeptionelle Fehler oder Inkonsistenzen das Endprodukt beeinträchtigen.
Verweise
- Victor Font Jr. (2019). Das Spiralmodell. Der ultimative Leitfaden zum SDLC. Entnommen aus: ultimatesdlc.com.
- Ionos (2019). Spiralmodell: Das risikogesteuerte Modell des Softwareentwicklungsprozesses. Entnommen aus: ionos.com.
- Techuz (2018). Was ist ein Spiralmodell? Eine einfache Erklärung des Spiral Software Development Life Cycle (SDLC). Entnommen aus: techuz.com.
- One-Stop-Test (2020). Spiralmodell. Entnommen aus: onestoptesting.com.
- Geeks for Geeks (2020). Software Engineering - Spiralmodell. Entnommen aus: geeksforgeeks.org.
- Chandu (2019). Spiralmodell in der Softwareentwicklung. Entnommen aus: medium.com.