• Nie Znaleziono Wyników

Cele oraz techniki tworzenia prototypów systemów infromatycznych

N/A
N/A
Protected

Academic year: 2021

Share "Cele oraz techniki tworzenia prototypów systemów infromatycznych"

Copied!
27
0
0

Pełen tekst

(1)

Cele oraz techniki tworzenia prototypów systemów

infromatycznych

(2)

Zagadnienia

Rola oraz umiejscowienie prototypowania w procesie tworzenia oprogramowania

Rola prototypu w procesie walidacji wymagań systemowych

Przegląd technik prototypowania

Prototypowanie ewolucyjne oraz metoda odrzucania prototypów

Prototypowanie interfejsu użytkownika (GUI)

(3)

Zastosowanie prototypów

Prototyp systemu umożliwia użytkownikom zrozumienie wymagań stawianych systemowi

Wpływ systemu na tryb pracy, wpółpraca z innymi systemami

Wykorzystanie do szkoleń użytkowników systemu jeszcze przed jego wdrożeniem

Prototyp systemu wraz z jego wersją

produkcyjną mogą zostać wykorzystane w procesie tzw. testowania wstecznego (ang.

back-to-back testing)

Ułatwia wykrywanie błędów wprowadzonych do

(4)

Testowanie wsteczne (1/2)

Wykorzystywane w sytuacji gdy mamy dostępną więcej niż 1 wersję systemu

Np. prototyp oraz sam system

Na wszystkich wersjach wykonuje się te same testy

Pojawienie się różnicy w wynikach testów sygnalizuje potencjalne problemy

W przypadku testowania kolejnych iteracji systemu

testowana jest jedynie wspólna funkcjonalność obu

wersji

(5)

Testowanie wsteczne (2/2)

Kolejne kroki w procesie testowania

Stworzenie ogólnego zestawu testów

(Automatyczne) wykonanie przygotowanego zestawu testów na obu wersjach systemu wraz z każdorazowym zapisaniem uzyskanych wyników testów

(Automatyczne) porównanie uzyskanych wyników testów

Jeśli wyniki są identyczne ...

Nie jest to jeszcze gwarancją, że obie wersje działają poprawnie (mogą zawierać ten sam błąd)

Jeśli się różnią ...

Zwykle sygnalizuje to jakąś nieprawidłowość która powinna być przeanalizowana

(6)

Korzyści z zastosowania prototypów

Ujawnienie różnic w rozumieniu planowanej funkcjonalności systemu przez przyszłych użytkowników oraz twórców

Metoda minimalizacji ryzyka

Identyfikacja pominiętych funkcjonalności

Np. obsługa sytuacji wyjątkowych

Lokalizacja niejasnych funkcjonalności

Np. „System ma umożliwić zmianę treści pozycji rachunku przez operatora”

„Działający system” dostępny dla użytkowników we wczesnej fazie projektu

Prototyp może posłużyć jako podstawa specyfikacji

systemu

(7)

Przebieg procesu prototypowania

Us talenie c elów s twor z enia

pr ototy pu

Oc ena pr ototy pu Utwor z enie

pr ototy pu Definic ja

z ak r es u funk c jonalnoś c i

pr ototy pu

s twor z eniaPlan pr ototy pu

Ogólna definic ja funk c jonal-

noś c i

Dz iałając y

pr ototy p Rapor t z

ewaluac ji

(8)

Model spiralny Boehma a prototypowanie

REVIEW Określenie celów,

alternatyw, ograniczeń Analiza alternatyw. rozw.,

identyfikacja i ograniczenie ryzyka

Planowanie kolejnej fazy Implementacja rozwiązania

Analiza ryzyka Analiza ryzyka Analiza ryzyka

Analiza ryzyka

Prototyp 4 Prototyp 3

Prototyp 2 Prototyp

1

Symulacje, benchmarki Plan cyklu życia

Plan implementacji

Integracja i plan testów

Projektowanie Walidacja

wymagań

Analiza

wymagań Szczegółowy

projekt Kodowanie Testy modułów Testy integracyjne

Testy akceptacyjne Utrzymanie

(9)

Cele w zależności od podejścia

Celem prototypowania ewolucyjnego (ang.

evolutionary prototyping) jest dostarczenie użytkownikom gotowego systemu. Punktem

wyjściowym dla tworzenia systemu są wymagania najlepiej w danej chwili zrozumiałe

Celem prototypowania z wykorzystaniem metody odrzucania prototypów (ang. throw-away

prototyping) jest walidacja niejasnych wymagań.

Punktem wyjściowym dla procesu tworzenia

prototypu są wymagania które są w danym etapie

niejasne/niezrozumiałe

(10)

Dwa podejścia do prototypowania

Ogólne wymagania

Prototypowanie ewolucyjne

Meotoda odrzucania prototypów

Specyfikacja wymagań systemowych Utworzony i

wdrożony system

(11)

Cechy prototypowania ewolucyjnego

Wykorzystywane w przypadku systemów gdzie stworzenie specyfikacji z góry jest niemożliwe

Systemy sztucznej inteligencji

Graficzny interfejs użytkownika

Prowadzone z zastosowaniem technik

umożliwiająych szybkie tworzenie kolejnych iteracji (wersji) systemu

Nie ma możliwości walidacji systemu

Nie ma specyfikacji!

Walidacja oznacza w tym przypadku

zademonstrowanie „odpowiedniości systemu”

(12)

Prototypowanie ewolucyjne - etapy

Utworzenie ogólnej specyfikacji

Start

Utworzenie prototypu

Ewaluacja prototypu

System poprawny?

Wdrożenie systemu N

T

(13)

Prototypowanie ewolucyjne - problemy

Większość istniejących technik zarządzania zakłada istnienie oddzielnych faz w procesie tworzenia

oprogramowania

Model kaskadowy

Ciągłe, praktycznie niekontrolowane zmiany systemu

Naruszenie (jednolitej) struktury

Problemy z pielęgnacją

Czas życia takiego projektu jest stosunkowo krótki

Struktura systemu staje się nieprzejrzysta – trzeba go napisać od nowa

(14)

Throw-away prototyping

Metoda minimalizacji ryzyka

Początkowa specyfikacja  prototyp

Prototyp udostępnia się do testów/eksperymentów a następnie odrzuca

Takiego prototypu nie powinno się wykorzystywać jako podstawy końcowego systemu

Część aspektów systemu może być całkiem pominiętych

Pielęgnacja (nie brana w ogóle pod uwagę)

Na ogół brak struktury i rozwiązania ad hoc  kłopoty z rozwijaniem

(15)

Throw-away prototyping - etapy

Ogólna specyfikacja

systemu Utworzenie prototypu Ewaluacja prototypu Specyfikacja systemu

Utworzenie systemu Walidacja systemu Wdrożony system

komponenty

(16)

Prototyp jako specyfikacja - problemy

Jak określić zakres pracy?

Utworzyć system taki jak załączony

Niektóre funkcje systemu mogą okazać się trudne do zawarcia w prototypie

Np. dotyczące kryteriów bezpieczeństwa

Więc nie pojawią się w specyfikacji

Wymagania niefunkcjonalne są na ogół częściowo

bądź wcale nie przetestowane w prototypie

(17)

Inkrementalny cykl życia projektu

Po zdefiniowaniu ogólnej architektury system jest tworzony i wdrażany w postaci kolejnych inkrementów

Użytkownicy mają możliwość pracy z danym inkrementem  służy on jako prototyp

Podejście to ma na celu

Połączenie zalet prototypowania z zapewnieniem strukturalnego cyklu życia projektu oraz

przejrzystej struktury samego systemu

(18)

Proces inkrementalnego tworzenia systemu

Określenie zakresu i postaci systemu

Definicja architektury

Specyfikacja zakresu danego

inkrementu

Tworzenie danego inkrementu

Walidacja inkrementu (wg

specyfikacji)

Integracja inkrementu z dotychczasowym

systemem Walidacja systemu

Wdrożenie finalnej postaci systemu

System jest kompletny?

Na podst. Ian Somerville, 1995

(19)

Techniki tworzenia prototypów

Generatory aplikacji oraz języki czwartej generacji (4GLs)

Wykorzystanie gotowych komponentów

(20)

Języki 4tej generacji (4GL)

Specyficzne dla danej dziedziny zastosowań języki do zastosowań biznesowych

Oparte o systemy zarządzające bazami danych

Typowa funkcjonalność

Zapytania i aktualizacja bazy danych

Generowanie raportów

Standardowe formatki

W typowej postaci w skład wchodzi

Język zapytań do bazy danych (najczęściej SQL)

Generator formatek

Generator raportów

Często dostarczane jako część zestawu narzędzi CASE

Efektywne kosztowo w przypadku małych i średnich systemów

(21)

Prototypowanie z wykorzystaniem gotowych komponentów

Prototyp powstaje poprzez połączenie gotowych fragmentów

Coraz bardziej popularny w miarę upowszechniania się bibliotek komponentów

Microsoft ActiveX

Sun Java Beans

Potrzebny jest również mechanizm umożliwiający łączenie gotowych elementów

Np. system UNIX – interpretery poleceń (Bourne shell, C shell) oraz komponenty (narzędzia do ogólnych zastosowań – sed, awk, grep)

Przykład języka opartego na takim podejściu: MS

(22)

Wykorzystanie gotowych elementów

Biblioteka komponentów

System utworzony jako

połączenie komponentów

Prototyp

Katalog dostę pnych komponentów

Specyfikacja systemu

(23)

Prototypowanie interfejsu użytkownika

Specyfikacja wyglądu i zachowania UI z góry

Praktycznie niemożliwa

Potrzeba stworzenia prototypu

Tworzenie UI stanowi coraz większą część całościowych kosztów tworzenia systemów

Por. typowy system bazodanowy

Czego używać?

Coraz większa liczba dostępnych narzędzi

umożliwiających składanie UI z pojedynczych komponentów

Microsoft Visual Studio, Inprise Builder

(24)

Prototyp UI – przykład (1/2)

• Por. opis zasad tworzenia GUI – Eric J Braude „Software Engineering. An Object-Oriented Approach”

(25)

Prototyp UI – przykład (2/2)

Pokrewne dane zgrupowane razem

Dla każdej grupy danych określone nazwa; obramowanie grupy

(26)

Podsumowanie (1/2)

Prototyp systemu wykorzystuje się w celu

zademonstrowania końcowym użytkownikom konkretnego wyobrażenia na temat przyszłego wyglądu oraz funkcjonalności systemu

Wyróżniamy dwa rodzaje prototypowania

Prototypowanie ewolucyjne

Metoda odrzucania prototypu

Przy tworzeniu prototypu systemu musimy mieć do dyspozycji techniki szybkiego generowania kodu

Struktura prototypu ulega naruszeniu

Na skutek ciągłych zmian/modyfikacji

Zatsosowanie długiego cyklu życia projektu staje się problematyczne

(27)

Podsumowanie (2/2)

Punktem wyjściowym metody odrzucania prototypu są wymagania najmniej zrozumiałe; w

prototypowaniu ewolucyjnym zaczynamy od części najlepiej zrozumiałych

Prototypowanie jest szczególnie ważne przy

tworzeniu części systemu które z natury nie dają się efektywnie specyfikować

Interfejs użytkownika

Cytaty

Powiązane dokumenty

Gładką powierzchnię wykorzystano do wygenerowania pojedynczego wrębu (rys. 2.5a), a następnie kompletnego modelu bryłowego wieńca koła zębatego (rys. Otrzymany model jest

W trakcie analizy ruchu można jednocześnie przeprowa- naprężenia, współczynnika bezpieczeństwa deformacji komponentów bez ustawiania obciążeń i W rozważanym

W artykule przedstawiono strukturę układu regulacji opartego na dyskretnej realizacji algorytmu PID oraz etapy projektowania poszczególnych elementów układu sterowania

Zagadnienia bezpieczeństwa i ekonomicznej efek- tywności eksploatacji węgla kamiennego są aktualne, szczególnie obecnie, gdy koniunktura na rynku węglo- wym uległa

Przedstawiono wymagania formalno-prawne w zakresie konstrukcji chroniących operatora przez skutkami przewrócenia się maszyny oraz przed spadającymi

Obliczenia dotyczące poszczególnych przekrojów łopatek pozwalają na określenie prędkości opływającego powietrza wzdłuż konturu oraz wyznaczenie linii prądu

Na podstawie obliczeń i symulacji powstaną prototy- py anten, które docelowo mają znaleźć zastosowanie w układzie służącym do lokalizacji wyładowań niezupełnych

Należy jednak pamiętać o ograniczeniach metody k-prototypów, do których nale- żą konieczność samodzielnego wyboru liczby segmentów oraz podział danych na w miarę równe