7.3 KiB
Systemy informatyczne analizy danych
2. Prototypowanie, systemy kontroli wersji[wykład]
Filip Graliński, Krzysztof Jassem (2023)
Prototyp
Prototyp to wynik częściowej implementacji, posiadający wybrane cechy produktu końcowego.Cele prototypowania
- Zademonstrowanie umiejętności wykonania produktu końcowego
- Określenie realistycznych wymagań końcowych
- Przekonanie się o wpływie innych systemów, środowisk na produkt.
- Sprawdzenie implementacji kluczowych funkcji
Potencjalne efekty prototypowania
- Wykrycie nieporozumień między klientem i wykonawcą
- Określenie brakujących funkcji
- Wykrycie błędów w specyfikacji
- Przewidywanie przyszłych trudności
Prototyp poziomy a pionowy
Prototyp poziomy (Horizontal Prototype)
Prototyp poziomy obrazuje całość systemu, podkreślając interakcję z użytkownikiem, a nie wnikając w funkcjonalności.
Przykłady prototypów poziomych w informatyce:
- Prototyp papierowy
- Makieta statyczna
- Makieta dynamiczna
- Graficzny interfejs użytkownika
Prototyp papierowy
Prototyp papierowy to sposób reprezentacji produktu cyfrowego za pomocą wycinanek z papieru. * Służy do zrozumienia koncepcji produktu cyfrowego przez użytkownika. * Dla autora koncepcji prototyp taki służy do prześledzenia reakcji użytkowników na przyszłe działanie systemu przed jego realizacją.Prototypowanie papierowe - etapy :
- Naszkicowanie wstępnej koncepcji ekranów z wyróżnieniem głównych funkcjonalności.
- Symulowanie interakcji poprzez podmienianie papierowych ekranów i wyciętych elementów.
Makieta statyczna
Makieta statyczna to cyfrowy projekt aplikacji, który zawiera pewne elementy docelowej konstrukcji, ale nie jest funkcjonalny.- Obrazuje wybrane widoki bez połączeń między nimi.
Makieta dynamiczna
Makieta dynamiczna to cyfrowy projekt aplikacji, który zawiera pewne elementy docelowej konstrukcji i wskazuje interakcje z użytkownikiem.- Widoki są "klikalne" - po kliknięciu użytkowniki kierowany jest do nowego widoku.
Graficzny interfejs użytkownika (GUI)
Graficzny interfejs użytkownika to sposób komunikacji użytkownika z komputerem za pomocą elementów graficznych.
Prototypem poziomym nazwiemy GUI, który:
- Pokazuje menu.
- Pozwala na nawigację.
- Akceptuje input.
- Wyświetla losowy output.
- NIE wspiera logiki aplikacji.
Prototyp pionowy (Vertical Prototype)
Prototyp pionowy to pełna realizacja kluczowej (kluczowych) funkcji systemu.
Cele prototypowania pionowego:
- sprawdzenie wyboru technologii
- pomiary wydajności
- sprawdzenie poprawności algorytmów i struktur danych
Realizacja prototypów pionowych jest polecana w sytuacji, gdy wykonanie kluczowych funkcji systemu obarczone jest wysokim ryzykiem.
Prototypowanie z porzuceniem a prototypowanie ewolucyjne
Prototypowanie z porzuceniem (Thow-away Prototyping)
W prototypowaniu z porzuceniem budowane są kolejne wersje prototypów, a niektóre z nich są porzucane.
Cele prototypowania z porzuceniem:
- minimalizacja ryzyka,
- głębokie zrozumienie problemów technicznych
Koszty:
- Koszty prototypowania z porzuceniem są wysokie.
Prototypowanie ewolucyjne (Ewolutionary Prototyping)
Prototypowanie ewolucyjne polega na stopniowym rozszerzaniu prototypu, aż spełnia on wszystkie wymagania...
...Wtedy prototyp staje się produktem.
Prototyp ewolucyjny powinien być budowany:
- w środowisku zbliżonym do produkcyjnego,
- z dużą dbałością o jakość.
Prototypowanie - podsumowanie
- Prototypy tworzy się w celu zminimalizowania ryzyka niepowodzenia produktu.
- W prototypach poziomych chodzi o zobrazowanie wszystkich funkcji.
- W prototypach pionowych chodzi o szczegóły techniczne.
- Prototypowanie z porzuceniem oywa się z reguły wszerz (prototypy poziome);
- jest bardziej kosztowne, ale minimalizuje ryzyko.
- Prototypowanie ewolucyjne odbywa się z reguły w głąb (prototypy pionowe);
- jest mniej kosztowne, ale bardziej ryzykowne.