Spiralmodellgeschichte, Eigenschaften, Stufen, Beispiel

Spiralmodellgeschichte, Eigenschaften, Stufen, Beispiel

Er Spiralmodell Es ist ein Archetyp des Anwendungsentwicklungsprozesses. Es basiert auf der Hypothese, dass die Softwareentwicklung ein iterativer Zyklus ist, der wiederholt wird, bis die etablierten Ziele erreicht sind. Hat die Möglichkeit, die große Menge an Risiken zu bewältigen, die bei der Entwicklung einer Software auftreten können.

Es ist eines der wichtigsten Modelle zur Unterstützung des Risikomanagements. Wie der Name schon sagt, wird dieses Modell als Spiralform angezeigt, wobei die verschiedenen Stadien des Modells in verschiedenen Zyklen verteilt sind. Die Anzahl der Zyklen im Modell ist nicht festgelegt und kann von einem Projekt zum anderen variieren.

Analyse, Bewertung, Planung und Entwicklung. Sippiral Development Software Quelle: Beao [Public Domain] Commons.Wikimedia.Org [toc]

Geschichte

Schaffung

Das Spiralmodell wurde vom Mathematiker und Professor für amerikanische Software -Engineering Barry Boehm definiert. Nachdem er 1986 sein Konzept für die Entwicklung komplexer Anwendungen vorgestellt hatte, veröffentlichte er 1988 sein Modell in einem vollständigeren Rahmen in seinem Artikel. "Ein Spiralmodell für Entwicklung und Softwareverbesserung".

Ein Teil dieser 1988er Veröffentlichung war grafisch das Spiralmodell dargestellt und zeigt vollständig, wie der Softwareentwicklungsprozess in Form einer Spirale erfolgt und durch Zyklen unterstützt wird.

Boehm ist bekannt für seine zahlreichen Beiträge zum Software-Engineering, wie das konstruktive Kostenmodell (CoCOMO), das Spiralmodell des Softwareprozesses, den Ansatz zur Theorie G (Win-Win) zur Bestimmung der Anforderungen und der Verwaltung der Software.

Alternative zum Wasserfallmodell

In seiner Veröffentlichung beschrieb Boehm das Spiralmodell als mögliche Alternative zum zuvor etablierten Wasserfallmodell, das auch als Grundlage für seine Praxis diente.

Das Spiralmodell war nicht das erste, das die zyklische Entwicklung erhöhte, aber es war das erste Modell, das erklärte, warum die Iteration wichtig ist. Wie ursprünglich geplant wurde es für große und komplexe Projekte zugewiesen, deren Iterationen in der Regel 6 Monate bis 2 Jahre sind.

In diesem Modell wird nicht davon ausgegangen.

Dieses zyklische Modell beeinflusste die Models -basierte Software Engineering Architecture (MBASE) und die extreme Programmierung.

Spiralmodelleigenschaften

Risikokontrolle

Was dieses Modell stark von den anderen Softwareprozessmodellen unterscheidet, ist, dass es die Risiken explizit erkennt. Daher reduziert es erheblich, dass große Softwareprojekte fehlschlagen, da sie die Risiken wiederholt bewertet und das Entwicklungsprodukt jedes Mal überprüft.

Dieses Computermodell enthält Komponenten fast jedes andere Software -Lebenszyklusmodells, wie das Wasserfallmodell, das Prototyper -Erstellungsmodell, das iterative Modell, das evolutionäre Modell usw.

Es kann Ihnen dienen: IKT (Informations- und Kommunikationstechnologien)

Aus diesem Grund ist es in der Lage, fast jede Art von Risiko zu bewältigen, die die anderen Modelle normalerweise nicht umgehen. Aufgrund so vieler Komponenten ist dieses Modell jedoch viel komplexer als die anderen Softwareentwicklungsmodelle.

Beschreibung der Spirale

Jede Spiralwendung repräsentiert einen vollständigen Zyklus, in dem die vier Quadranten immer passieren, was die vier Stufen des Modells darstellt.

Wenn die Spiralgröße zunimmt, wird auch der Fortschritt ausgeführt. Daher werden die Stufen nicht nur einmal, sondern mehrmals spiralisch ausgeführt.

Obwohl diese zyklische Wiederholung dazu führt, dass das Projekt langsam den etablierten Zielen annimmt, wird das Risiko des Entwicklungsprozesses fehlgeschlagen.

Generisch

Die vier Stufen implantieren nur die grundlegenden Ziele eines Zyklus, 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 ziemlich flexibel, wenn es für jede Phase des Projekts die Definition von Zielen, Risikoanalyse, Entwicklung und Planung getrennt durchführt.

Metamodell

Es wird angenommen, dass Metamodell andere Modelle umfasst. Wenn beispielsweise die Spirale außerhalb eines einzelnen Zyklus das Wasserfallmodell darstellen würde, da sie den allmählichen Ansatz dieses klassischen Modells enthält.

Es verwendet auch den Ansatz des Prototyper -Erstellungsmodells, da zu Beginn jedes Zyklus ein Prototyp zum Umgang mit Risiken.

Darüber hinaus ist es mit dem evolutionären Modell kompatibel, da spiralpolitische Iterationen als evolutionäre Ebenen betrachtet werden können, durch die das endgültige System aufgebaut ist.

Stufen

Ziele, Alternativen und Einschränkungen bestimmen

Die Systemanforderungen werden mit den größtmöglichen Details definiert, einschließlich Leistung, Hardware-/Software -Schnittstellen, wichtigen Erfolgsindikatoren usw. und sie werden berücksichtigt, welche Ziele mit dem aktuellen Entwicklungszyklus verbunden sein müssen.

Darüber hinaus werden verschiedene Alternativen für seine Implementierung untersucht, z. B. auf Bauen vs. Kaufen, bestehende Komponenten oder Unteraufträge usw. wiederverwenden, usw.

Ebenso Einschränkungen wie Kosten, Zeitplan und Schnittstellen, Zeitverbrauch usw.

Risikoabschätzung

Alle vorgeschlagenen Alternativen werden bewertet. Die Ziele und Einschränkungen dienen als Bestimmung der Verweise, um die beste Lösung auszuwählen.

Darüber hinaus können die Risiken, die den Erfolg des Projekts behindern können, wie mangelnde Erfahrung, neue Technologien, enge Zeitpläne, mangelhafte Prozesse usw., Umsetzung der profitabelsten und niedrigersten Risikostrategien.

Kann Ihnen dienen: wofür ist das Periskop und wofür ist es??

Schließlich werden Methoden wie die Erstellung von Prototypen, Simulationen, Analysemodellen und Benutzerumfragen verwendet.

Entwicklung und Test

Alle notwendigen Entwicklung erfolgt unter Verwendung der ausgewählten Technologie und Lösung. Mit jeder Iteration wird eine bessere Version der Anwendung erstellt.

Der reale Code wird mehrmals geschrieben und getestet, bis das gewünschte Ergebnis erzielt wird, was dann als Grundlage für zukünftige Entwicklungsschritte dient.

Planung des nächsten Zyklus

Nach Abschluss eines Zyklus beginnt die folgende Planung. Diese Planung könnte normalerweise mit dem Projekt erfolgen, wenn das Ziel des Zyklus erreicht wurde, und erhöht die Definition des nächsten Ziels.

Es könnte auch sein, andere Lösungen zu finden, wenn die vorherige Entwicklungsphase defekt war. Die bestehende Strategie könnte durch eine der zuvor definierten Alternativen oder eine neue ersetzt werden. Damit würde ein neuer Versuch beginnen, das Ziel zu erreichen.

Beispiel

Die US -Armee übernahm das Spiralmodell für die Entwicklung und Aktualisierung des Modernisierungsprogramms für zukünftige Kampfsysteme (SCF).

Offiziell veröffentlicht im Jahr 2003 wurde erwartet, dass der SCF die Truppen mit realen Zeitfahrzeugen mit einem Netzwerk außerordentlich schneller und flexibler Schlachtfelder gleichzusetzen.

Das Projekt wurde in vier Entwicklungsspiralen von jeweils etwa zwei Jahren unterteilt. Spiral 1 sollte für 2008 beginnen und Prototypen zur Verwendung und Bewertung liefern.

Nach Abschluss der Spiral 1 sollte es Spiral 2 für 2010 beginnen. Die endgültige Entwicklung des Produkts sollte für 2015 geliefert werden.

Im August 2005 kündigte Boeing die Fertigstellung des ersten wichtigen Meilensteins des Projekts an, das die funktionale Überprüfung der Systeme war. Boeing and Science Applications International Corporation waren die Projektkollegationen.

Bis Oktober 2005 empfahl das Pentagon jedoch, das Projekt aufgrund der hohen Auswirkungen auf die Kosten für den Irak -Krieg und die Hurrikan Katrina Aid zu verzögern.

Das Projekt wurde 2009 abgesagt, nachdem die Budgetkürzungen erhoben wurden, ohne die Vorteile des Spiralmodells in dieser Mission nachweisen zu können

Vorteile

Zyklische Struktur

Aufgrund dieser Art von Struktur werden die Probleme zwischen dem Design und den technischen Anforderungen der Software dank der regelmäßigen Überprüfungen stillschweigend beseitigt.

Risikomanagement

Die Risiken werden in jeder der Produktphasen analysiert, bevor sie vorwärts gehen. Dies hilft, mögliche Risiken zu überwinden oder zu mildern.

Alle Mitarbeiter profitieren von der sehr großen Bedeutung der Risikoanalyse in diesem Modell, was möglicherweise ihren größten Vorteil gegenüber anderen Prozessmodellen darstellt.

Kann Ihnen dienen: Paralleler Port: Merkmale, Typen und Funktionen

Die regelmäßige Bewertung von Risiken wird zu Wert, wenn innovative technische Umgebungen, die im Allgemeinen mit einem bestimmten Risikopotential verbunden sind, aufgrund des Fehlens empirischer Werte mit einem bestimmten Risikopotential verbunden sind.

Kundenbeteiligung und Feedback

In jeder Phase des Projekts sind Kunden beteiligt, bis das Projekt abgeschlossen ist. Daher können verschiedene Feedbacks gesammelt werden, um die nächste Version des Projekts zu verbessern.

Zusätzlich kann jederzeit aufgrund der Spiralform Feedback erhalten werden. Daher können Kunden und Benutzer von Anfang an im Entwicklungsprozess integriert werden.

Ideal für große Projekte

Es ist besonders beliebt und für große und komplexe Projekte, bei denen die Budgetkontrolle für Kunden und Entwickler vorrangig ist. Es gibt eine maximale Kontrolle über die Kosten, Ressourcen und Qualität des Softwareprojekts.

Nachteile

Teuer

Es kann ziemlich teuer sein, da es ein hohes Maß an Erfahrung für die Risikoanalyse erfordert. Darüber hinaus benötigen Projekte viel Zeit, um sich zu entwickeln, was die allgemeinen Ausgaben erhöhen kann.

Ziemlich komplex

Eine sehr aktive und komplexe vorherige Verwaltung des Projekts ist erforderlich, wobei jeder Zyklus kontrolliert und sorgfältig ist.

Es ist vergleichsweise komplexer als andere Modelle, da es viele Zyklen gibt, die jeweils durch die verschiedenen Stadien gehen und so den Aufwand des Dokumentationsprozesses erhöhen.

Es ist wichtig, Kenntnisse in Risikoanalysen und -management zu haben, die häufig nicht verfügbar sind.

Zeiteinteilung

Es ist schwierig, die Zeit zu verwalten, da die Anzahl der Zyklen unbekannt ist. Darüber hinaus kann der Entwicklungsprozess jederzeit verzögert werden, wenn bei der Planung des folgenden Zyklus innerhalb eines Zyklus wichtige Entscheidungen oder zusätzliche Maßnahmen getätigt werden müssen.

Viele Schritte

Es ist nicht immer günstig, viele Schritte bei der Entwicklung von Software zu unternehmen, da sie trotz der Vielseitigkeit der Tests das endlose System erreichen können, ohne das Programm zu beenden.

Infolgedessen besteht immer die Gefahr, dass jedes Konzept oder eine konzeptionelle Inkonsistenz das Endprodukt beeinflusst.

Verweise

  1. Victor Font JR (2019). Das Spiralmodell. Die ultimative Anleitung zum SDLC. Genommen von: UltimatesDlc.com.
  2. Ionos (2019). Spiralmodell: Das risikobetriebene Softwareentwicklungsprozessmodell. Entnommen aus: Ionos.com.
  3. Techuz (2018). Was ist Spiralmodell? Zur einfachen Erklärung des Lebenszyklus der Spiralsoftwareentwicklung (SDLC). Genommen von: techuz.com.
  4. One Stop -Tests (2020). Spiralmodell. Genommen von: oonetoptesting.com.
  5. Geeks für Geeks (2020). Engineering -Software - Spiralmodell. Entnommen aus: Geeksforgeeks.Org.
  6. Chandu (2019). Spiralmodell im Software -Engineering. Entnommen von: Medium.com.