Cykl życia programu

Skocz do: nawigacji, szukaj

Cykl życia programu – seria kolejnych zmian programu, w trakcie których odbywa się sukcesywne dodawanie nowych funkcji oraz usuwanie powstających w trakcie rozwoju błędów.

[edytuj] Etapy rozwoju

Zasadniczo cykl życia kolejnych wersji programu można podzielić na następujące etapy:

  • wersja niestabilna (testowa) – seria wydań, podczas której dodawane są przede wszystkim nowe możliwości:
    • wersja robocza, dostępna zazwyczaj tylko dla twórców programu w postaci repozytorium kodu źródłowego (np. CVS), kiedy implementowany jest algorytm programu, tworzony jest interfejs i dodawane są nowe funkcje
    • wersja alfa, podczas której autorzy doprowadzają do rzeczywistego działania programu, nawet w ograniczonym zakresie
    • wersja beta, kiedy program ma już pierwszych użytkowników, zwanych często beta-testerami, i wyłapywane są błędy związane z różnymi środowiskami i warunkami pracy programu
    • RC (ang. Release Candidate, czyli Kandydat do wydania) – wydanie kandydujące, których może być nawet kilka, ale jeżeli nie zostanie w nim znalezione żadne istotne odstępstwo od planu wersji, zmienia się jedynie numer wersji na wyższy i uznaje wersję za stabilną
    • RTM (ang. Release to manufacture lub Ready to market) – produkt gotowy do wypuszczenia na rynek
  • wersja stabilna (wersja produkcyjna) – wersja nadająca się do użytkowania zgodnie z założeniami autorów
  • wersje stabilne z poprawkami bezpieczeństwa lub innych błędów
  • ostatnim etapem jest zwykle starzenie moralne programu i porzucenie przez autorów, co zwykle kończy jego życie (w przypadku kodu na licencjach FLOSS ten stan może w dowolnym momencie ponownie przejść do fazy aktywnego rozwoju, jeśli tylko znajdą się chętni do przejęcia opieki nad nim, lub wykorzystają fragmenty kodu w innej aplikacji)

Zależnie od projektu niektóre fazy życia programu mogą nie być tak oznaczane, można natomiast mówić w tych kategoriach o jakości kodu (np. kod beta oznacza wtedy po prostu program, w którym zaniedbano testowania na rozmaitych platformach sprzętowych i programistycznych).

[edytuj] Zobacz też