Szybkie tworzenie
aplikacji i
prototypowanie
1
Prototypowanie (ang. prototyping) jest modelem,
którego celem jest minimalizacja ryzyka związanego
z niewłaściwym określeniem wymagań.
Programowanie RAD, Rapid Application
Development, termin komercyjny (“szybkie
opracowywanie aplikacji”) określający możliwości
pakietu oprogramowania działającego w graficznym
środowisku okienkowym, służącego do zestawiania
aplikacji, w szczególności – ich interfejsów, z
modułów wybieranych z bibliotek udostępnianych w
postaci drzew tematycznych.
2
ogólne określenie wymagań,
budowa prototypu,
weryfikacja prototypu przez klienta,
pełne określenie wymagań,
realizacja pełnego systemu zgodnie z modelem
kaskadowym.
3
wykrycie nieporozumień pomiędzy klientem
a twórcami systemu,
wykrycie brakujących funkcji,
wykrycie trudnych usług,
wykrycie braków w specyfikacji wymagań.
4
5
Określ cele
prototypu
Zdefiniuj
funkcjonalność
prototypu
Zbuduj
prototyp
Oceń prototyp
Plan
prototypowan
ia
Ogólna
definicja
Wykonywaln
y prototyp
Raport w
ocenie
prototypu
Wczesne prototypowanie – występuje w fazie
zastosowalności bądź analizy wymagań. Prototyp
użyty do rozpoczęcia projektu oprogramowania
nazywamy prezentacyjnym. Celem wczesnego
prototypowania jest wyjaśnienie bądź
sprawdzenie poprawności wymagań.
Średnie prototypowanie – występuje na etapie
projektowania . Jest używany głównie do
potwierdzenia zachowania się systemu w
kluczowych obszarach lub sprawdzenia
poprawności głównych aspektów projektu.
Późne prototypowanie - występuje na etapie
realizacji lub nawet pielęgnacji . Stosuje się go do
badania kluczowych parametrów operacyjnych ,
zwłaszcza w odniesieniu do efektywności.
6
1. Niejasne wymagania.
2. Duże systemy.
3. Złożone systemy.
4. Dostępność narzędzi.
5. Systemy interakcyjne.
6. Trwanie projektu.
7. Zastosowalność (testowanie).
8. Nowe opracowanie.
9. Użytkownikowi brak doświadczenia
informatycznego.
10. Wymagane zaangażowanie użytkownika.
11. System krytyczny.
12. Doświadczenie twórcy systemu.
7
8
1.
Prototyp odrzucalny
2.
Prototyp przyrostowy
3.
Prototyp ewolucyjny
9
To podejście jest często używane w wypadku systemów
sprzętowych.
Prototyp porzucany oprogramowania najczęściej nie
służy jednak do oceny projektu, ale pomaga w
opracowaniu wymagań systemu. Projekt prototypu jest
zwykle całkowicie odmienny od końcowej wersji
gotowego systemu.
W prototypie porzucanym można pominąć dobrze
rozpoznaną funkcjonalność, rozluźnić standardy
jakościowe i pominąć kryteria efektywnościowe.
Język oprogramowania użyty do budowy takiego
prototypu jest zwykle inny niż język implementacji
gotowego systemu.
10
11
Oceń system
Zbuduj
oprogramowanie
Wyspecyfikuj
system
Oceń
prototyp
Zbuduj
prototyp
Ogólne
wymagania
Dostarczony
system
oprogramowan
ia
Komponenty
użycia
wielokrotne
go
Dostrojenie prototypu tak, aby spełniał wymagania
niefunkcjonalne dotyczące efektywności, zabezpieczenia,
solidności i niezawodności, może być niemożliwe.
Gwałtowne zmiany zachodzące w czasie budowania
nieuchronnie powodują, że prototyp nie jest
udokumentowany.
Jedyną specyfikacją projektową jest kod prototypu.
Zmiany dokonane w czasie tworzenia prototypu
prawdopodobnie doprowadziły do uszkodzeń struktury
systemu.
Firmowe standardy jakości zwykle nie są rygorystycznie
przestrzegane w czasie budowania prototypu.
12
- jest to prototyp, który przez stopniowe
uszczegóławianie będzie stanowił całość lub
część dostarczonego systemu .Wykonywane są
wszystkie fazy , łącznie z kodowaniem i
testowaniem, zanim nastąpi przejście do
następnego przyrostu.
13
14
Zaprojektuj archi-
tekturę systemu
Dostarcz gotowy
system
Wyspecyfikuj
przyrost systemu
Oceń system
Zbuduj
przyrost systemu
Zintegruj
przyrost
Oceń przyrost
System jest
gotowy?
Określ końcowe
produkty
TAK
NIE
Skrócenie przerw w kontaktach z klientem.
Możliwość wczesnego wykorzystywania przez
klienta dostarczonych fragmentów systemu.
Możliwość elastycznego reagowania na
powstałe opóźnienia. Jeżeli realizacja fragmentu
systemu opóźni się, nie musi to oznaczać
opóźnienia całego przedsięwzięcia. Istnieje
wtedy możliwość przyśpieszenia prac nad
dalszymi częściami.
15
Idea prototypowania ewolucyjnego polega
na opracowywaniu wstępnej implementacji,
wystawianiu jej na krytykę użytkowników i
udoskonalaniu jej w wielu krokach aż do
chwili zbudowania odpowiedniego systemu
.
Prototypowanie ewolucyjne ma wiele
wspólnego z metodami błyskawicznego
tworzenia programów użytkowych
.
16
17
Opracuj
abstrakcyjną
specyfikację
Zbuduj
prototyp
systemu
Użytkuj
prototyp
systemu
Dostarcz
system
System
jest
odpowiedn
i?
TAK
NIE
Przyspieszone dostarczanie systemu. W
niektórych wypadkach błyskawiczne
dostarczanie i użyteczność są znacznie
ważniejsze niż funkcjonalność lub zdatność do
pielęgnacji w długim okresie.
Włączenie użytkownika w budowę systemu.
Udział użytkowników w procesie budowania
powoduje nie tylko to, że system ma więcej
szans spełnienia ich wymagań. Oznacza także
akceptację systemu przez użytkowników,
którzy będą chcieli, żeby dobrze działał.
18
Procesy specyfikowania, projektowania i
implementowania przeplatają się.
System jest budowany w postaci ciągu przyrostów.
Użytkownicy i inni udziałowcy systemu są włączeni w
projektowanie i ocenę każdego przyrostu.
Stosuje się metody błyskawicznego tworzenia
systemów. Mogą to być narzędzia CASE i języki
czwartej generacji.
Systemowe interfejsy użytkownika są zwykle budowane
za pomocą interakcyjnego systemu wytwórczego, który
umożliwia szybkie tworzenie projektu interfejsu przez
rysowanie i rozmieszczanie ikon
.
19
20
Ogólne
wymagania
Prototyp
ewolucyjny
Prototyp z
porzuceniem
Dostarczony
system
Wykonywalny
prototyp
+specyfikacja
systemu
Usprawnienie komunikacji z
użytkownikiem.
Lepsze sformułowanie wymagań.
Poprawia związek pomiędzy systemem a
użytkownikiem końcowym.
Łatwość stosowania .
Czytelniejszy , prostszy , nie nadmiarowy
kod wynikowy.
Szybsza metoda wymagająca mniejszego
wysiłku od twórców.
21
Dodatkowy koszt budowy prototypu.
Potencjalne zdziwienie klienta, który
musi długo czekać i sporo płacić za
końcowy system, który został prawie
całkowicie wykonany w tak krótkim czasie.
22