Model spiralny

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
ModelSpiralny.svg

Model spiralny (tworzenie spiralne) – jeden z modeli procesów tworzenia oprogramowania.

Proces tworzenia ma postać spirali, której każda pętla reprezentuje jedną fazę procesu. Najbardziej wewnętrzna pętla przedstawia początkowe etapy projektowania, np. studium wykonalności, kolejna definicji wymagań systemowych, itd.

Model[edytuj]

Każda pętla spirali podzielona jest na cztery sektory:

  • Ustalanie celów – definiowanie konkretnych celów wymaganych w tej fazie przedsięwzięcia. Identyfikacja ograniczeń i zagrożeń. Ustalanie planów realizacji.
  • Rozpoznanie i redukcja zagrożeń – przeprowadzenie szczegółowej analizy rozpoznanych zagrożeń, ich źródeł i sposobów zapobiegania. Podejmuje się odpowiednie kroki zapobiegawcze.
  • Tworzenie i zatwierdzanie – tworzenie oprogramowania w oparciu o najbardziej odpowiedni model, wybrany na podstawie oceny zagrożeń.
  • Ocena i planowanie – recenzja postępu prac i planowanie kolejnej fazy przedsięwzięcia bądź zakończenie procesu produkcyjnego.

Cechy[edytuj]

Widoczną cechą modelu spiralnego jest szczegółowe potraktowanie zagrożeń realizacji procesu produkcyjnego. Dobrze rozpoznane zagrożenia i przedsięwzięte kroki im zapobiegania lub redukcji skutkują m.in. wysoką niezawodnością (dependability) powstającego oprogramowania, bądź pewnością, że proces ma szanse dalszej realizacji.

W modelu spiralnym nie ma takich faz jak specyfikowanie albo projektowanie. Jeden cykl spirali może przebiegać w oparciu o model kaskadowy procesu tworzenia oprogramowania, w innym można użyć prototypowania lub przekształceń formalnych, w zależności od aktualnego etapu przedsięwzięcia programistycznego / realizowanej części systemu (np. inny dla tworzenia interfejsu użytkownika, inny dla krytycznych funkcji bezpieczeństwa)

Każdy cykl wymaga formalnej decyzji o kontynuacji projektu.

Zalety[edytuj]

  • Można wykorzystać gotowe komponenty
  • Faza oceny w każdym cyklu pozwala uniknąć błędów lub wcześniej je wykryć
  • Cały czas istnieje możliwość rozwijania oprogramowania
  • Częste kontrole jakości w kolejnych cyklach spirali
  • Nastawienie na wykrywanie błędów i działania kontrolne, a nie na zapobieganie
  • Orientacja na zarządzanie, czas i budżet.

Wady[edytuj]

  • Model nie do końca dopracowany. Każdy program jest inny i powstaje w innych warunkach. Trudno określić, jakie warunki brać pod uwagę.
  • Tworzenie w oparciu o model spiralny wymaga doświadczenia w zarządzaniu tego typu procesami oraz często wiedzy ekonomicznej w zarządzaniu
  • Wysoki koszt usuwania błędów wykrytych w finalnych etapach procesu tworzenia oprogramowania

Zastosowanie[edytuj]

Model spiralny z racji ogólnego charakteru stosuje się przy dużych przedsięwzięciach programistycznych.