Historia modelu spiralnego, cechy, etapy, przykład

Historia modelu spiralnego, cechy, etapy, przykład

On Model spiralny Jest to archetyp procesu tworzenia aplikacji. Opiera się na hipotezie, że tworzenie oprogramowania jest cyklem iteracyjnym, który jest powtarzany, dopóki nie osiągnie ustalonych celów. Ma możliwość radzenia sobie z dużą ilością ryzyka, które może wystąpić podczas opracowywania dowolnego oprogramowania.

Jest to jeden z najważniejszych modeli wspierających zarządzanie ryzykiem. Jak sama nazwa wskazuje, ten model jest pokazany jako forma spiralna, w której różne etapy modelu są rozmieszczone w różnych cyklach. Liczba cykli w modelu nie jest ustalona i może się różnić w zależności od projektu.

Analiza, ocena, planowanie i rozwój. Źródło oprogramowania do rozwoju SIPPIRAL: Beao [domena publiczna] Commons.Wikimedia.Org [toc]

Historia

kreacja

Model spiralny został zdefiniowany przez matematyka i profesor amerykańskiej inżynierii oprogramowania Barry Boehm. Po przedstawieniu swojej koncepcji w 1986 r. W opracowaniu złożonych aplikacji, opublikował swój model w 1988 roku w pełniejszych ramach w swoim artykule ”Spiralny model rozwoju i poprawy oprogramowania".

Część tej publikacji z 1988 r. Reprezentowała model spiralny, pokazujący w pełni sposób, w jaki proces tworzenia oprogramowania jest widoczny w postaci spirali i wspierany przez cykle.

Boehm jest znany z licznego wkładu w inżynierię oprogramowania, takie jak model konstruktywnego kosztu (COCOMO), spiralny model procesu oprogramowania, podejście do teorii G (Win-Win) w celu ustalenia wymagań i zarządzania oprogramowaniem.

Alternatywa dla modelu wodospadu

W swojej publikacji Boehm opisał model spiralny jako możliwą alternatywę dla wcześniej ustalonego modelu wodospadu, który również służył jako podstawa do jego praktyki.

Model spiralny nie był pierwszym, który podniósł cykliczny rozwój, ale był to pierwszy model wyjaśniający, dlaczego iteracja jest ważna. Jak pierwotnie zaplanowano, został przydzielony do dużych i złożonych projektów, których iteracja wynosi zwykle 6 miesięcy do 2 lat.

Ten model nie zakłada, że ​​zadania tworzenia oprogramowania są zaprojektowane liniowo, w przeciwieństwie do modelu wodospadu, ale że postrzega je jako zadania iteracyjne.

Ten cykliczny model wpłynął na opartą na modelach architekturę inżynierii oprogramowania (MBase) i ekstremalne programowanie.

Charakterystyka modelu spiralnego

Kontrola ryzyka

To, co znacznie odróżnia ten model od innych modeli procesów oprogramowania, jest to, że jawnie rozpoznaje ryzyko. Dlatego znacznie zmniejsza to, że duże projekty oprogramowania zawodzą, ponieważ wielokrotnie ocenia ryzyko i weryfikuje produkt programistyczny za każdym razem.

Ten model komputerowy zawiera komponenty prawie każdego innego modelu cyklu życia oprogramowania, takiego jak model wodospadu, model tworzenia prototypu, model iteracyjny, model ewolucyjny itp.

Może ci służyć: ICT (technologie informacyjne i komunikacyjne)

Z tego powodu jest w stanie poradzić sobie z prawie każdym ryzykiem, którym inne modele zwykle nie obsługują. Jednak ze względu na posiadanie tak wielu komponentów, ten model jest znacznie bardziej złożony niż inne modele rozwoju oprogramowania.

Opis spirali

Każda tura spirali reprezentuje całkowity cykl, w którym cztery ćwiartki zawsze przechodzą, co reprezentuje cztery etapy modelu.

Wraz ze wzrostem rozmiaru spirali również wykonany postęp. Dlatego etapy nie są wykonywane tylko raz, ale kilka razy, spiralnie.

Chociaż to cykliczne powtórzenie powoduje, że projekt powoli zbliża się do ustalonych celów, ryzyko niepowodzenia procesu rozwoju jest silnie zminimalizowane.

Ogólny

Cztery etapy implantują tylko podstawowe cele cyklu, ale nie muszą się objawiać w każdym cyklu.

Kolejność każdego cyklu również nie jest ściśle określona. Dlatego model można łączyć w dowolnym momencie z innymi modelami.

Elastyczny

Jest to dość elastyczne, gdy występuje osobno dla każdej fazy projektu, procesy definicji celów, analizy ryzyka, rozwoju i planowania.

Metamodel

Metamodel jest uważany za inne modele. Na przykład, jeśli spirala poza jednym cyklem reprezentuje model wodospadu, ponieważ zawiera ona stopniowe podejście tego klasycznego modelu.

Wykorzystuje również podejście modelu tworzenia prototypu, ponieważ na początku każdego cyklu prototyp do obsługi ryzyka.

Ponadto jest kompatybilny z modelem ewolucyjnym, ponieważ iteracje spiralne można uznać za poziomy ewolucyjne, za pomocą.

Gradacja

Określ cele, alternatywy i ograniczenia

Wymagania systemowe są zdefiniowane z najlepszymi możliwymi szczegółami, w tym wydajnością, interfejsami sprzętowymi/oprogramowania, kluczowymi wskaźnikami sukcesu itp. i uważa się, które cele muszą być powiązane z bieżącym cyklem rozwoju.

Ponadto badane są różne alternatywy pod kątem jego wdrożenia, takie jak budowanie vs. Kupuj, ponownie wykorzystaj istniejące komponenty lub podwykonawstwo itp.

Podobnie ograniczenia, takie jak koszt, harmonogram i interfejsy, konsumpcja czasu itp.

ocena ryzyka

Wszystkie proponowane alternatywy są oceniane. Cele i ograniczenia służą jako określanie odniesień do wybrania najlepszego rozwiązania.

Ponadto ryzyko, które może utrudniać sukces projektu, takie jak brak doświadczenia, nowe technologie, ścisłe harmonogramy, procesy niedoborowe itp., wdrażanie najbardziej opłacalnych i niższych strategii ryzyka.

Może ci służyć: do czego jest peryskop i do czego służy?

Wreszcie stosowane są metody takie jak tworzenie prototypów, symulacji, modeli analitycznych i ankiet użytkowników.

Rozwój i test

Cały niezbędny rozwój odbywa się przy użyciu wybranej technologii i rozwiązania. Z każdą iteracją tworzona jest lepsza wersja aplikacji.

Prawdziwy kod jest pisany i testowany kilka razy, aż do osiągnięcia pożądanego wyniku, który następnie będzie podstawą przyszłych kroków rozwoju.

Planowanie następnego cyklu

Po zakończeniu cyklu rozpoczyna się następujące planowanie. Planowanie to może być zwykle w projekcie, jeśli osiągnięto cel cyklu, podnosząc definicję następnego celu.

Może to być również znalezienie innych rozwiązań, jeśli poprzedni etap rozwoju był wadliwy. Istniejąca strategia może zostać zastąpiona jedną z wcześniej zdefiniowanych alternatyw lub nowym. Dzięki temu nowa próba zaczęłaby osiągnąć cel.

Przykład

Armia Stanów Zjednoczonych przyjęła spiralny model rozwoju i aktualizacji programu modernizacji dla przyszłych systemów bojowych (SCF).

Oficjalnie wydane w 2003 r. Oczekiwano, że SCF utożsamia żołnierzy z pojazdami połączonymi w czasie rzeczywistym z siecią wyjątkowo szybkich i elastycznych pól bitewnych.

Projekt został podzielony na cztery spirale rozwojowe po około dwóch latach. Spiral 1 miał rozpocząć się na rok 2008 i dostarczyć prototypy do użytku i oceny.

Po ukończeniu Spiral 1, zaplanowano, aby rozpocząć Spiral 2 na 2010 rok. Ostateczny rozwój produktu miał na celu dostarczenie na 2015 rok.

W sierpniu 2005 r. Boeing ogłosił zakończenie pierwszego ważnego kamienia milowego projektu, który był funkcjonalnym przeglądem systemów. Boeing and Science Applications International Corporation to kolegiacje projektowe.

Jednak do października 2005 r. Pentagon zalecił opóźnienie projektu ze względu na duży wpływ na koszty wojny w Iraku i huraganu Katrina Aid.

Projekt został anulowany w 2009 r. Po powstaniu cięć budżetowych, nie będąc w stanie udowodnić korzyści płynących z modelu spiralnego w tej misji

Zalety

Struktura cykliczna

Z powodu tego rodzaju struktury problemy między projektem a wymaganiami technicznymi oprogramowania są milczące eliminowane dzięki okresowym kontroli.

Zarządzanie ryzykiem

Ryzyki są analizowane na każdym etapie produktu przed przejściem do przodu. Pomaga to przezwyciężyć lub zmniejszyć możliwe ryzyko.

Wszyscy współpracownicy korzystają z bardzo dużego znaczenia analizy ryzyka w tym modelu, prawdopodobnie reprezentując ich największą przewagę nad innymi modelami procesów.

Może ci służyć: Port równoległy: Charakterystyka, typy i funkcje

Okresowa ocena ryzyka staje się wartością, gdy innowacyjne środowiska techniczne, które są ogólnie związane ze szczególnym potencjałem ryzyka z powodu braku wartości empirycznych.

Udział klienta i informacje zwrotne

Na każdym etapie projektu zaangażowani są klienci, dopóki projekt nie zostanie zakończony. Dlatego można zebrać różne informacje zwrotne w celu ulepszenia następnej wersji projektu.

Ponadto można uzyskać informacje zwrotne w dowolnym momencie z powodu formy spiralnej. W ten sposób klienci i użytkownicy mogą być zintegrowani od samego początku w procesie rozwoju.

Idealny do dużych projektów

Jest szczególnie popularny i widoczny w przypadku dużych i złożonych projektów, w których kontrola budżetu jest priorytetem dla klientów i programistów. Istnieje maksymalna kontrola nad kosztami, zasobami i jakością projektu oprogramowania.

Niedogodności

Drogi

Może być dość drogi, ponieważ wymaga wysokiego poziomu doświadczenia w analizie ryzyka. Ponadto projekty potrzebują dużo czasu na rozwój, co może zwiększyć ogólne wydatki.

Dość skomplikowane

Wymagane jest bardzo aktywne i złożone wcześniejsze zarządzanie projektem, w którym każdy cykl jest kontrolowany i ostrożnie.

Jest stosunkowo bardziej złożony niż inne modele, ponieważ istnieje wiele cykli, każde przechodzą przez różne etapy, zwiększając w ten sposób wysiłek procesu dokumentacji.

Konieczne jest posiadanie wiedzy na temat analizy ryzyka i zarządzania, które często nie są dostępne.

Zarządzanie czasem

Trudno jest zarządzać czasem, ponieważ liczba cykli jest nieznana. Ponadto, w dowolnym momencie procesu rozwoju można opóźnić, jeśli w ramach cyklu należy podjąć ważne decyzje lub dodatkowe działania przy planowaniu następującego cyklu.

Wiele kroków

Nie zawsze korzystne jest podejmowanie wielu kroków w opracowywaniu oprogramowania ze względu na fakt, że pomimo wszechstronności testów mogą one dotrzeć do niekończącego się systemu bez zakończenia programu.

W rezultacie zawsze istnieje niebezpieczeństwo, że każda koncepcja lub niespójność koncepcyjna wpływa na produkt końcowy.

Bibliografia

  1. Victor Font Jr (2019). Model spiralny. Ostateczny przewodnik po SDLC. Zaczerpnięte z: ultimatesdlc.com.
  2. Ionos (2019). Model spiralny: model procesu rozwoju oprogramowania opartego na ryzyku. Zaczerpnięte z: Ionos.com.
  3. Techuz (2018). Co to jest model spiralny? Do prostego wyjaśnienia spiralnego cyklu życia rozwoju oprogramowania (SDLC). Zaczerpnięte z: Techuz.com.
  4. Jedno zatrzymanie testów (2020). Model spiralny. Zaczerpnięte z: oonetoptesting.com.
  5. Geeks dla maniaków (2020). Oprogramowanie inżynieryjne - model spiralny. Zaczerpnięte z: Geeksforgeeks.org.
  6. Chandu (2019). Model spiralny w inżynierii oprogramowania. Zaczerpnięte z: Medium.com.