SysInf/materiały na wykład/02_prototypowanie_systemy_kontroli_wersji.ipynb

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.