Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałStefan Bejnarowicz Został zmieniony 11 lat temu
1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Prototypowanie oprogramowania l Błyskawiczne tworzenie oprogramowania służące sprawdzeniu wymagań
2
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 2 Cele l Opisanie użycia prototypów w różnych rodzajach przedsięwzięć l Rozumienie różnicy pomiędzy prototypowaniem ewolucyjnym i prototypowaniem z porzuceniem l Rozpoznawanie trzech metod budowy prototypów, programowania w języku wysokiego poziomu, programowania baz danych, oraz ponownego użycia komponentów l Wyjaśnienie potrzeby prototypowania interfejsów
3
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 3 Zawartość l Prototypowanie w procesie tworzenia oprogramowania l Metody błyskawicznego prototypowania l Prototypowanie interfejsu użytkownika
4
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 4 Prototypowanie systemów l Prototypowanie to błyskawiczne tworzenie systemu l W przeszłości tworzony prototyp był traktowany jako gorszy i potrzebne było tworzenie ostatecznej wersji systemu od nowa l Obecnie zaciera się granica pomiędzy prototypem a ostateczną wersją systemu
5
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 5 Użycie prototypów l Podstawowym zastosowaniem prototypów jest pomoc programistom i użytkownikom w zrozumieniu wymagań systemowych Określanie wymagań. Użytkownicy mogą eksperymentować z prototypem,,żeby zobaczyć jak wspomaga ich pracę Zatwierdzanie wymagań. Prototyp może ujawnić błędy i pominięcia w wymaganiach l Na prototypowanie można patrzeć jak na czynność, która zmniejsza ryzyko związane z wymaganiami
6
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 6 Zyski z prototypowania l Rozpoznanie nieporozumień pomiędzy użytkownikami a programistami l Łatwo znaleźć brakujące lub sprzeczne usługi l Szybko powstaje działający system l Prototyp może być podstawą specyfikacji systemu l Prototypu można użyć podczas szkoleń i testowania
7
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 7 Proces budowy prototypu Określ cele prototypu Zdefiniuj funkcjonalność prototypu Zbuduj prototyp Oceń prototyp Plan prototypowania Ogólna definicja Działający prototyp Raport oceniający prototyp
8
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 8 Zyski z prototypowania l Zwiększona użyteczność systemu l Lepsze dopasowanie systemu do potrzeb l Zwiększona jakość projektu l Większa zdatność do pielęgnacji l Zmniejszony wysiłek twórczy
9
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 9 Typy prototypowania l Prototypowanie ewolucyjne Podejście polegające na stworzeniu prototypu i jego poprawianiu, aż do dostarczenia działającej ostatecznej wersji systemu l Prototypowanie z porzuceniem Prototyp jest tworzony, aby pomóc zebrać wymagania a potem jest porzucany. System jest tworzony od nowa
10
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 10 Cele prototypowania l Celem prototypowania ewolucyjnego jest dostarczenie działającego systemu użytkownikom końcowym. Programowanie rozpoczyna się od najbardziej zrozumiałych wymagań l Celem prototypowania z porzuceniem jest sprawdzenie lub zebranie wymagań. Programowanie rozpoczyna się od najmniej zrozumiałych wymagań
11
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 11 Podejścia do prototypowania Prototypowanie ewolucyjne Prototypowanie z porzuceniem Ogólne wymagania Wykonywalny prototyp + specyfikacja systemu Dostarczony system
12
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 12 Prototypowanie ewolucyjne l Musi być używane dla systemów w których nie można zebrać specyfikacji z góry np. systemy SI lub interfejsy użytkownika l Jest oparte na technikach pozwalających na błyskawiczne zmiany programu l Weryfikacja jest niemożliwa ponieważ nie ma specyfikacji. Weryfikacja oznacza zademonstrowanie przydatności systemu
13
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 13 Prototypowanie ewolucyjne Opracuj abstrakcyjną specyfikację Zbuduj prototyp systemu Użytkuj prototyp systemu Dostarcz system System jest odpowiedni? NIE TAK
14
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 14 Zalety prototypowania ewolucyjnego l Szybsze dostarczenie systemu Błyskawiczna budowa i dostarczenie systemu są czasami ważniejsze od funkcjonalności lub łatwości pielęgnowania w długim okresie l Zaangażowanie użytkownika w system System nie tylko lepiej spełnia wymagania użytkowników, ale użytkownicy chętniej z niego korzystają
15
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 15 Prototypowanie ewolucyjne l Specyfikacja, projektowanie i implementacja się przeplatają l System powstaje w postaci ciągu przyrostów, które są dostarczane klientowi l Stosuje się techniki do błyskawicznego tworzenia systemów, takie jak CASE i języki czwartej generacji l Interfejsy użytkownika są zwykle budowane za pomocą interakcyjnego systemu wytwórczego
16
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 16 Problemy z prototypowaniem ewolucyjnym l Kłopoty z zarządzaniem Procesy tworzenia oprogramowania są przystosowane do modelu wodospadowego Może brakować dostatecznie wykształconych specjalistów l Kłopoty z pielęgnacją Ustawiczne zmiany powodują uszkodzenia strukturalne prototypowanego systemu więc pielęgnacja jest kosztowna l Kłopoty z umową
17
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 17 Prototyp jako specyfikacja l Niektóre części systemu (np. bezpieczeństwa) mogą być niemożliwe do prototypowania i nie pojawiają się w specyfikacji l Implementacja nie może zastąpić kontraktu l Wymagania niefunkcjonalnie nie mogą być odpowiednio przetestowane w prototypie
18
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 18 Tworzenie przyrostowe l System jest tworzony i dostarczany jako przyrosty po ustaleniu zrębu systemu l Dla każdego przyrostu można stworzyć wymagania i specyfikację l Użytkownicy mogą eksperymentować z dostarczonymi przyrostami podczas gdy inne przyrosty są tworzone l Powinno łączyć część zalet prototypowania z łatwiejszymi do zarządzania procesami i lepszą strukturą systemu
19
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 19 Proces tworzenia przyrostowego Zaprojektuj architekturę systemu Wyspecyfikuj przyrost systemu Zbuduj przyrost systemu Dostarcz gotowy system System jest gotowy? NIE TAK Określ końcowe produkty Oceń przyrost Oceń system Zintegruj przyrost
20
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 20 Prototypowanie z porzuceniem l Używane do redukowania ryzyka wymagań l Prototyp jest otrzymywany z wstępnej specyfikacji, dostarczany do eksperymentów i porzucany l Prototyp NIE powinien być traktowany jako końcowy system Część cech systemu może być pominięta Nie ma specyfikacji do długookresowej pielęgnacji System będzie źle ustrukturalizowany i trudny w zarządzaniu
21
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 21 Prototypowanie z porzuceniem Ogólne wymagania Zbuduj prototyp Oceń prototyp Zbuduj oprogramowanie Wyspecyfikuj system Oceń system Komponenty wielokrotnego użycia Dostarczony system oprogramowania
22
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 22 Dostarczanie prototypu l Programiści mogą być naciskani aby dostarczyć prototyp do wyrzucenia jako system końcowy l To nie jest polecane Może nie dać się dostosować prototypu do wymagań niefunkcjonalnynch Prototyp jest słabo udokumentowany Struktura systemu pogarszała się wraz z wprowadzaniem kolejnych zmian do prototypu Mogły nie być stosowane normalne standardy firmowe
23
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 23 Metody błyskawicznego prototypowania l Techniki używane do błyskawicznego prototypowania Tworzenie za pomocą dynamicznych języków wysokiego poziomu Programowanie baz danych Scalanie komponentów i programów użytkowych l Techniki te często łączy się ze sobą l Programowanie wizualne jest nieodzowną częścią tworzenia prototypów
24
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 24 Dynamiczne języki wysokiego poziomu l Języki te zawierają wsparcie dla skomplikowanych struktur danych l Wymagają dużego środowiska wykonawczego, co nie jest dobre dla dużych systemów l Niektóre z języków zawierają świetne wsparcie dla tworzenia interfejsów użytkownika l Niektóre języki są wspierane przez narzędzia, które mogą być używane podczas prototypowania
25
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 25 Języki do prototypowania JęzykRodzajDziedzina SmalltalkObiektowySystemy interakcyjne JavaObiektowySystemy interakcyjne PrologLogikaPrzetwarzanie symboliczne LispListyPrzetwarzanie symboliczne
26
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 26 Wybór języka programowania l Jaka jest dziedzina problemu? l Jaki jest spodziewany rodzaj interakcji z użytkownikiem? l Jakie środowisko wspierające jest dostępne dla języka? l Różne części systemu mogą być pisane w różnych językach, ale występują problemy w komunikacji
27
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 27 Programowanie baz danych l Dziedzina systemów biznesowych l Język zapytań, generator formularzy, generator raportów i arkusz kalkulacyjny l Może być zintegrowane z narzędziem CASE l Język + środowisko czasem nazywa się językiem czwartej generacji l Tanie rozwiązanie dla małych i średnich systemów
28
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 28 Programowanie baz danych Język programowania BD Generator interfejsów Arkusz kalkulacyjny Generator raportów System zarządzania bazą danych
29
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 29 Scalanie komponentów i programów użytkowych l Prototypy mogą być budowane szybko z komponentów i narzędzia do ich scalania l Mechanizm scalania zawiera funkcje kontrolne i komunikacyjne l Specyfikacja systemowa musi brać pod uwagę istniejące komponenty i narzędzia
30
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 30 Prototypowanie z wielokrotnym użyciem l Poziom programu użytkowego Całe systemy programów użytkowych mogą być zintegrowane z prototypem więc można je powtórnie wykorzystać Przykładowo, jeśli potrzebne jest przetwarzanie tekstów to można użyć standardowego edytora l Poziom komponentów Poszczególne komponenty są integrowane w ramach zrębu systemu Szkieletem może być język skryptowy, albo system współpracy pomiędzy obiektami typu CORBA
31
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 31 Scalanie komponentów użycia wielokrotnego Oprogramowane komponenty użycia wielokrotnego Zrąb scalania komponentów Wykonywalny prototyp Kod sterujący i integrujący
32
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 32 Złożone dokumenty l Dla niektórych zastosowań prototypy można tworzyć stosując złożone dokumenty l Są to dokumenty, które zawierają wbudowane funkcje do ich obrabiania (typu makr) l Każdy element ma skojarzoną aplikację, która jest uruchamiana po wybraniu tego dokumentu l Dokument w całości integruje pojedyncze dokumenty
33
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 33 Łączenie dokumentów w dokumencie złożonym Tekst 1Tabela 1Tekst 2Tekst 3Nagranie 1 Tabela 2Tekst 4Nagranie 2Tekst 5 Dokument złożony Procesor tekstówArkusz kalkulacyjnyOdtwarzacz dźwięku
34
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 34 Programowanie wizualne l Języki skryptowe takie jak Visual Basic wspierają programowanie wizualne, w którym prototyp jest tworzony przez tworzenie interfejsu użytkownika ze standardowych elementów l Istnieje wiele bibliotek wspomagających takie podejście l Mogą być obcinane do użycia w konkretnym zastosowaniu
35
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 35 Programowanie wizualne z użyciem wielokrotnym
36
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 36 Problemy z programowaniem wizualnym l Trudne do skoordynowania w zespole l Brak bezpośredniej architektury systemu l Złożone zależności pomiędzy częściami powodują problemy w pielęgnacji
37
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 37 Prototypowanie interfejsów użytkownika l Nie można wyspecyfikować wyglądu bez prototypowania l Programowanie interfejsów zabiera coraz więcej czasu l Generatory interfejsów mogą być używane do stworzenia początkowego interfejsu
38
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 38 Główne tezy l Prototyp jest potrzebny aby pokazać użytkownikowi co zamawia l Prototypy stają się coraz ważniejsze wraz ze wzrostem ważności czasu tworzenia systemów l Prototypowanie z porzuceniem pomaga zrozumieć wymagania l Prototypowanie ewolucyjne polega na ewolucji prototypu w stronę działającego systemu
39
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 39 Główne tezy l Błyskawiczne tworzenie prototypów jest kluczowe, mogą one nie zawierać części funkcjonalności l Prototypowanie jest ważną częścią tworzenia interfejsów użytkownika, który to użytkownik powinien cały czas oceniać powstający prototyp
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.