Cykle życia oprogramowania

Writing /home/grochu/public_html/wiki/data/cache/d/d0199b2e87e62fa7cbf1080ecfd122dd.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/grochu/public_html/wiki/data/cache/d/d0199b2e87e62fa7cbf1080ecfd122dd.metadata failed
Writing /home/grochu/public_html/wiki/data/cache/d/d2ff2e9b65e5ab1e355e3381b41e198b.i failed
Writing /home/grochu/public_html/wiki/data/cache/d/d2ff2e9b65e5ab1e355e3381b41e198b.metadata failed
Writing /home/grochu/public_html/wiki/data/cache/d/d0199b2e87e62fa7cbf1080ecfd122dd.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.

Cykle życia oprogramowania

Sekwencyjne

Kolejne etapy następują po sobie bezpośrednio, przykłady:

Cechy

  • nie można przejść do następnej fazy przed zakończeniem poprzedniej
  • błąd popełniony w początkowej fazie ma wpływ na całość
  • model ten posiada bardzo nieelastyczny podział na kolejne fazy
  • łatwy nadzór, dużo dokumentacji

Ewolucyjne

Aktywności się przeplatają. Te same czynności jak w modelu kaskadowym, ale pozwala się na powroty z pewnych faz do innych faz poprzedzających.

Przykłady:

Cechy

  • adaptowanie systemu do zmian w wymaganiach i korygowanie popełnionych błędów
  • trudne w nadzorowaniu, wymaga dodatkowych strategii dla uporządkowania procesu wytwarzania oprogramowania

Model prototypowy (prototypowanie)

Prototyp - niepełny system, spełniający cześć wymagań, przeznaczonym do przetestowania rozwiązań wykorzystanych do jego wytworzenia.
Produkt finalny może być (z zasady jest) różny od prototypu. Z założenia prototyp nie wchodzi w skład ostatecznego systemu.
Ostateczny system budowany jest od podstaw po zaakceptowaniu rozwiązań zastosowanych w prototypie.

Model prototypowy (Software prototyping)

Cechy:

  • Prototyp jest łatwy do zmiany
  • Zwiększa zrozumienie programistów co do potrzeb klienta
  • Pozwala klientowi zobaczyć jak mniej więcej system będzie wyglądał
  • Wysoki koszt budowy systemu

Model spiralny

„Ogólny” model iteracyjny.

Cechy:

  • 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 projektu.

Model komponentowy

Składanie systemu z gotowych komponentów.

określania wymagań → analizy możliwości wykorzystania istniejących, gotowych komponentów → ewentualna faza modyfikacji wymagań, w konsekwencji zastosowania komponentów → …

  • wymagania narzucane przez gotowe komponenty mogą być niezgodne z wymaganiami klientów
  • modyfikacje kodu mogą być utrudnione przez brak kontroli nad pochodzącymi z zewnątrz komponentami
  • mały koszt, głównie łączenie gotowych klocków

Model przyrostowy (iteracyjny)

Określenie wymagań → podział na kolejne „przyrosty” (increments), funkcje systemu dające się zaimplementować i testować
Pierwsze wersje zazwyczaj ujmują podstawowe funkcjonalności systemu.

Problemem podstawowym wytwarzania przyrostowego jest określenie „przyrostów”, tak aby były one istotnymi fragmentami oprogramowania, a mimo to każdą z wersji dawało się niezależnie testować i oceniać

Żródła

  1. Wikipedia
  2. Ilona Bluemke, Inżynieria oprogramowania