Model prototypowy w inżynierii oprogramowania
Co to jest model prototypowy?
Model prototypowy to model tworzenia oprogramowania, w którym prototyp jest budowany, testowany i przerabiany, aż do uzyskania akceptowalnego prototypu. Tworzy także bazę do wyprodukowania finalnego systemu lub oprogramowania. Najlepiej sprawdza się w scenariuszach, gdzie wymagania projektu nie są szczegółowo znane. Jest to metoda iteracyjna, oparta na próbach i błędach, wykonywana pomiędzy programistą a klientem.
Fazy modelu prototypowania
Model prototypowania składa się z następujących sześciu faz SDLC:
Krok 1: Gromadzenie i analiza wymagań
Model prototypowy rozpoczyna się od analizy wymagań. Na tym etapie szczegółowo definiowane są wymagania stawiane systemowi. W trakcie tego procesu przeprowadza się wywiady z użytkownikami systemu, aby dowiedzieć się, czego oczekują od systemu.
Krok 2: Szybki projekt
Druga faza to projekt wstępny lub projekt szybki. Na tym etapie powstaje prosty projekt systemu. Nie jest to jednak projekt kompletny. Daje użytkownikowi krótkie wyobrażenie o systemie. Szybkie projektowanie pomaga w opracowaniu prototypu.
Krok 3: Zbuduj prototyp
W tej fazie na podstawie informacji zebranych podczas szybkiego projektowania projektowany jest rzeczywisty prototyp. Jest to mały działający model wymaganego systemu.
Krok 4: Wstępna ocena użytkownika
Na tym etapie proponowany system zostaje przedstawiony klientowi do wstępnej oceny. Pomaga poznać mocne i słabe strony działającego modelu. Komentarze i sugestie są zbierane od klienta i przekazywane programiście.
Krok 5: Udoskonalanie prototypu
Jeśli użytkownik nie jest zadowolony z obecnego prototypu, należy go udoskonalić zgodnie z opiniami i sugestiami użytkownika.
Faza ta nie zakończy się, dopóki nie zostaną spełnione wszystkie wymagania określone przez użytkownika. Gdy użytkownik jest zadowolony z opracowanego prototypu, na podstawie zatwierdzonego prototypu końcowego tworzony jest końcowy system.
Krok 6: Wdrożenie produktu i utrzymanie
Po opracowaniu ostatecznego systemu na podstawie ostatecznego prototypu, jest on dokładnie testowany i wdrażany do produkcji. System przechodzi rutynową konserwację w celu zminimalizowania przestojów i zapobiegania awariom na dużą skalę.
Rodzaje modeli prototypowych
Cztery typy modeli prototypowych to:
- Prototypy szybkiego wyrzucania
- Ewolucyjny prototyp
- Prototyp przyrostowy
- Ekstremalny prototyp
Prototyp szybkiego wyrzucania
Szybkie wyrzucanie opiera się na wymogu wstępnym. Jest szybko rozwijany, aby pokazać, jak wymaganie będzie wyglądać wizualnie. Informacje zwrotne od klienta pomagają wprowadzić zmiany w wymaganiach, a prototyp jest tworzony ponownie do momentu ustalenia podstawy wymagania.
W tej metodzie opracowany prototyp zostanie odrzucony i nie będzie częścią ostatecznie zaakceptowanego prototypu. Technika ta jest przydatna do odkrywania pomysłów i uzyskiwania natychmiastowych informacji zwrotnych na temat wymagań klientów.
Prototypowanie ewolucyjne
Tutaj opracowany prototyp jest stopniowo udoskonalany w oparciu o opinie klientów, aż do ostatecznej akceptacji. Pomaga zaoszczędzić czas i wysiłek. Dzieje się tak dlatego, że opracowywanie prototypu od podstaw dla każdej interakcji w procesie może czasami być bardzo frustrujące.
Ten model jest pomocny w przypadku projektu, który wykorzystuje nową technologię, która nie jest dobrze zrozumiana. Jest również używany w przypadku złożonych projektów, w których każda funkcjonalność musi zostać sprawdzona raz. Jest pomocny, gdy wymaganie nie jest stabilne lub nie jest jasno zrozumiane na etapie początkowym.
Prototypowanie przyrostowe
W prototypowaniu przyrostowym produkt końcowy jest dzielony na różne małe prototypy i opracowywany indywidualnie. Ostatecznie różne prototypy są łączone w jeden produkt. Ta metoda pomaga skrócić czas przekazywania informacji zwrotnej między użytkownikiem a zespołem tworzącym aplikację.
Ekstremalne prototypowanie
Metoda ekstremalnego prototypowania jest najczęściej używana do tworzenia stron internetowych. Składa się z trzech następujących po sobie faz.
- Podstawowy prototyp wraz z całą istniejącą stroną prezentowany jest w formacie HTML.
- Możesz symulować proces danych za pomocą prototypowej warstwy usług.
- Usługi są wdrażane i integrowane w ostatecznym prototypie.
Najlepsze praktyki prototypowania
Oto kilka rzeczy, na które należy zwrócić uwagę podczas procesu prototypowania:
- Powinieneś używać Prototypowania, gdy wymagania są niejasne
- Ważne jest, aby wykonać zaplanowane i kontrolowane prototypowanie.
- Aby dotrzymać terminu realizacji projektu i uniknąć kosztownych opóźnień, niezbędne są regularne spotkania.
- Użytkownicy i projektanci powinni być świadomi problemów i pułapek związanych z prototypowaniem.
- Na bardzo wczesnym etapie trzeba zatwierdzić prototyp i dopiero wtedy pozwolić zespołowi przejść do kolejnego kroku.
- W przypadku metody prototypowania oprogramowania nie należy obawiać się zmiany wcześniejszych decyzji, jeśli zajdzie potrzeba wdrożenia nowych pomysłów.
- Dla każdej wersji należy wybrać odpowiednią wielkość kroku.
- Wdrażaj ważne funkcje na wczesnym etapie, aby w przypadku braku czasu nadal mieć wartościowy system
Zalety modelu prototypowego
Oto ważne zalety/korzyści stosowania modeli prototypowania:
- Użytkownicy aktywnie uczestniczą w rozwoju. Dlatego błędy można wykryć już na początkowym etapie procesu tworzenia oprogramowania.
- Można zidentyfikować brakujące funkcjonalności, co pomaga zmniejszyć ryzyko awarii, ponieważ prototypowanie jest również uważane za działanie zmniejszające ryzyko.
- Pomaga członkowi zespołu skutecznie się komunikować
- Zadowolenie klienta istnieje, ponieważ klient może poczuć produkt na bardzo wczesnym etapie.
- Nie będzie prawie żadnej szansy na odrzucenie oprogramowania.
- Szybsza informacja zwrotna od użytkowników pomaga w opracowywaniu lepszych rozwiązań w zakresie tworzenia oprogramowania.
- Umożliwia klientowi porównanie, czy kod oprogramowania jest zgodny ze specyfikacją oprogramowania.
- Pomaga znaleźć brakującą funkcjonalność w systemie.
- Określa również funkcje złożone i trudne.
- Zachęca do innowacyjności i elastycznego projektowania.
- Jest to prosty model, więc łatwo go zrozumieć.
- Do zbudowania modelu nie potrzeba wyspecjalizowanych ekspertów
- Prototyp służy jako podstawa do opracowania specyfikacji systemu.
- Prototyp pozwala lepiej poznać potrzeby klienta.
- Prototypy można zmieniać, a nawet odrzucać.
- Prototyp służy również jako podstawa specyfikacji operacyjnych.
- Prototypy mogą oferować wczesne szkolenie przyszłym użytkownikom systemu oprogramowania.
Wady modelu prototypowego
Oto ważne wady/wady modelu prototypowego:
- Prototypowanie to proces powolny i czasochłonny.
- Koszt opracowania prototypu to całkowita strata, ponieważ prototyp ostatecznie zostaje wyrzucony.
- Prototypowanie może zachęcać do nadmiernych żądań zmian.
- Czasami klienci mogą nie chcieć uczestniczyć w cyklu iteracji przez dłuższy czas.
- Podczas każdorazowej oceny prototypu przez klienta może występować zbyt wiele różnic w wymaganiach dotyczących oprogramowania.
- Słaba dokumentacja ze względu na zmieniające się wymagania klientów.
- Twórcom oprogramowania bardzo trudno jest dostosować się do wszystkich zmian wymaganych przez klientów.
- Klient po zobaczeniu wczesnego prototypu modelu może pomyśleć, że już niedługo otrzyma gotowy produkt.
- Klient może stracić zainteresowanie produktem końcowym, gdy nie będzie zadowolony z pierwotnego prototypu.
- Programiści, którzy chcą szybko budować prototypy, mogą w rezultacie stworzyć rozwiązania programistyczne niespełniające standardów.
Podsumowanie
- W inżynierii oprogramowania metodologia prototypów to model tworzenia oprogramowania, w którym prototyp jest budowany, testowany, a następnie przerabiany w razie potrzeby, aż do uzyskania akceptowalnego prototypu.
- 1) Gromadzenie i analiza wymagań, 2) Szybki projekt, 3) Zbudowanie prototypu, 4) Wstępna ocena użytkownika, 5) Udoskonalenie prototypu, 6) Wdrożenie produktu i utrzymanie; to 6 kroków procesu prototypowania
- Typy modeli prototypowych to 1) prototypy szybkiego wyrzucenia 2) prototyp ewolucyjny 3) prototyp przyrostowy 4) prototyp ekstremalny
- Regularne spotkania są niezbędne, aby utrzymać projekt w terminie i uniknąć kosztownych opóźnień w podejściu do prototypowania.
- Można zidentyfikować brakujące funkcjonalności, co pomaga zmniejszyć ryzyko awarii, ponieważ prototypowanie jest również uważane za działanie zmniejszające ryzyko w SDLC.
- Prototypowanie może zachęcać do nadmiernych żądań zmian.