Kryzys oprogramowania. Wprowadzenie do modelowania. Metodyka projektowania. Próby walki z kryzysem. zastosowanie odpowiedniej metodyki projektowania

Podobne dokumenty
Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

Etapy życia oprogramowania

Cykle życia systemu informatycznego

Faza Określania Wymagań

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

MODELE CYKLU śycia OPROGRAMOWANIA

Zakres wykładu. Podstawy InŜynierii Oprogramowania

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

In ż ynieria oprogramowania wykład II Modele i fazy cyklu życia oprogramowania

Programowanie zespołowe

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Zasady organizacji projektów informatycznych

Inżynieria oprogramowania I

MODELE CYKLU ŻYCIA OPROGRAMOWANIA (1) Model kaskadowy (często stosowany w praktyce do projektów o niewielkiej złożonoś

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

SVN. 10 października Instalacja. Wchodzimy na stronę i pobieramy aplikację. Rysunek 1: Instalacja - krok 1

Spis treúci. 1. Wprowadzenie... 13

WPROWADZENIE DO UML-a

Przedsięwzięcia Informatyczne w Zarządzaniu

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Inżynieria Oprogramowania. Inżynieria Oprogramowania 1/36

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Opis metodyki i procesu produkcji oprogramowania

E-I2SG-2010-s1. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

tel. (+48 81) /22 fax (+48 81) Wykład Ćwiczenia Laboratorium Projekt

Egzamin / zaliczenie na ocenę*

Modelowanie procesów (1) Oracle Designer: Modelowanie procesów. Modelowania procesów (2) Modelowanie procesów (3)

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

KARTA MODUŁU KSZTAŁCENIA

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Feature Driven Development

Modelowanie KONCEPCJA. przedstawiana przez INDYWIDUALNOŚĆ GHJ 6

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Narzędzia CASE dla.net. Łukasz Popiel

Projektowanie Modeli Usług dla rozwiązań typu SOA

Diagramy przepływu danych II model środowiskowy, diagram odpowiedzi na zdarzenia KI AE PSI

Inżynieria oprogramowania. Jan Magott

MODELOWANIE SYSTEMÓW INFORMACYJNYCH

Inżynieria oprogramowania (Software Engineering)

FAZA STRATEGICZNA. Podstawowe hasło: Nie skupiać się na szczegółach! (na razie) Czynności w fazie strategicznej: Decyzje strategiczne:

Grupa treści kształcenia, w ramach której przedmiot jest realizowany Przedmiot kierunkowy

mgr inŝ. Jacek Kołodziej, mgr inŝ. Grzegorz Młynarczyk

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

REQB POZIOM PODSTAWOWY PRZYKŁADOWY EGZAMIN

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

INKS105 ( INK9117 ) Podstawy inżynierii oprogramowania

Wytwarzanie oprogramowania

Przepływy danych. Oracle Designer: Modelowanie przepływów danych. Diagramy przepływów danych (1) Diagramy przepływów danych (2)

Faza analizy (modelowania) Faza projektowania

Projektowanie BAZY DANYCH

Wykład 1 Inżynieria Oprogramowania

Projektowanie systemów informatycznych. wykład 6

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Inżyniera wymagań

Organizacja procesu projektowania, rozwoju i serwisowania systemu wspomagającego zarzadzanie uczelnią

Usługa: Testowanie wydajności oprogramowania

Diagramy przepływu danych I

Cykl Ŝycia systemów informatycznych

Rozpoczęcie, inicjacja (ang. inception

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Sposoby projektowania systemów w cyfrowych

SYSTEMY INFORMATYCZNE ćwiczenia praktyczne

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Procesy wytwarzania oprogramowania Specyfikacja i projektowanie oprogramowania

ANALIZA EKONOMICZNO-FINANSOWA

Projekt systemu informatycznego

Projektowanie logiki aplikacji

Bazy danych 2. dr inż. Tadeusz Jeleniewski

Inżynieria oprogramowania wykład IV Faza określenia wymagań

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Analiza strukturalna systemów informatycznych

UML w Visual Studio. Michał Ciećwierz

Dokument Detaliczny Projektu

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 6 Modelowanie przypadków uŝycia i czynności. Materiały dla studentów

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

ZASADY TWORZENIA OPROGRAMOWANIA

Analiza i projektowanie obiektowe w UML Kod przedmiotu

Faza strategiczna. Synteza. Analiza. Instalacja. Faza strategiczna. Dokumentacja. kodowanie implementacja. produkt konserwacja

Szybkie prototypowanie w projektowaniu mechatronicznym

INŻYNIERIA OPROGRAMOWANIA

Procesowa specyfikacja systemów IT

Bazy danych i ich aplikacje

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Projektowanie interakcji

Inżynieria oprogramowania (Software Engineering)

PRZEWODNIK PO PRZEDMIOCIE

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Transkrypt:

Kryzys oprogramowania Wprowadzenie do modelowania systemów informacyjnych długi i kosztowny cykl tworzenia oprogramowania wysokie prawdopodobieństwo niepowodzenia projektu (USA, 2003: 33% niepowodzeń, 33% sukcesów, 33% zakończeń problematycznych) sprzeczność: odpowiedzialność oprogramowania a jego zawodność (skutek złoŝoności ono i źle stosowanych metod tworzenia i weryfikacji oprogramowania) wysokie koszty utrzymywania oprogramowania frustracje projektantów i programistów, powód: zbyt szybki postęp języków, narzędzi i metod tworzenia oprogramowania, uciąŝliwość i długi czas trwania procesu problemy ze współdziałaniem niezaleŝnie budowanego oprogramowania problemy z dostosowaniem istniejącego oprogramowania do nowych wymagań (C) Instytut Informatyki, Politechnika Poznańska 2 Próby walki z kryzysem stosowanie technik i narzędzi ułatwiających pracę nad złoŝonym oprogramowaniem, wykorzystanie metod wspierających analizę nieznanych problemów usystematyzowanie procesu budowy oprogramowania zastosowanie odpowiedniej metodyki projektowania Metodyka projektowania zestaw pojęć, notacji, modeli, języków, technik i sposobów postępowania uŝywanych do: analizy dziedziny będącej przedmiotem projektu, projektowania pojęciowego, projektowania logicznego, projektowania fizycznego. ustala: fazy projektu, role uczestników w poszczególnych fazach, modele tworzone w kaŝdej z faz, reguły przechodzenia między fazami, notacje, uŝywanie w poszczególnych fazach, dokumentację poszczególnych faz. (C) Instytut Informatyki, Politechnika Poznańska 3 (C) Instytut Informatyki, Politechnika Poznańska 4

Fazy Ŝycia systemu informacyjnego 1. Strategia 2. Identyfikacja wymagań 3. Analiza 4. Projektowanie 5. Implementowanie, testowanie i dokumentowanie 6. WdroŜenie 7. Utrzymywanie Strategia nazwy alternatywne: strategiczny plan rozwoju informatyzacji (SPRI), studium osiągalności realizowana przed decyzją o wykonaniu przedsięwzięcia cele: określenie głównych celów projektu z punktu widzenia klienta (np. "wzrost wydajności obsługi klientów", "skrócenie czasu realizacji zamówienia", "rozszerzenie zakresu oferowanych usług", itd.) przygotowanie odpowiednich przesłanek do podjęcia najwaŝniejszych decyzji związanych z projektem (np. czy projekt zostanie uruchomiony) (C) Instytut Informatyki, Politechnika Poznańska 5 (C) Instytut Informatyki, Politechnika Poznańska 6 Strategia czynności określenie zakresu i kontekstu przedsięwzięcia (np. "Zakresem przedsięwzięcia jest działalność wypoŝyczalni filmów. Systemami zewnętrznymi są: system dystrybucji filmów, pracownicy wypoŝyczalni, klienci wypoŝyczalni.") oszacowanie rozmiaru przedsięwzięcia (np. metodą punktów funkcyjnych), identyfikacja ograniczeń (czasowych, zasobowych, technologicznych) i warunków wstępnych, wybór modelu realizacji przedsięwzięcia, opracowanie harmonogramu, wybór technik stosowanych w fazach: analizy i projektowania, wybór narzędzia CASE i środowiska implementacji. Strategia wyniki raport dla klienta: definiujący cele przedsięwzięcia, opisujący zakres przedsięwzięcia, opisujący systemy zewnętrzne dla projektowanego systemu, z ogólnym opisem wymagań, z ogólnym modelem systemu, ze wstępnym oszacowaniem kosztów, ze wstępnym harmonogramem prac. raport o rozwaŝanych rozwiązaniach, ich oceny i powód wyboru jednego z nich, opis wymaganych zasobów. (C) Instytut Informatyki, Politechnika Poznańska 7 (C) Instytut Informatyki, Politechnika Poznańska 8

Identyfikacja wymagań cel: określenie wymagań klienta wobec projektowanego systemu i ich precyzyjna dokumentacja w postaci zrozumiałego dla obu stron dokumentu przeprowadzana przy duŝym zaangaŝowaniu przedstawicieli klienta cele klienta z fazy strategii są zamieniane w konkretne wymagania, zapewniające osiągnięcie tych celów. problemy: brak wiedzy klienta jak osiągnąć załoŝone cele strategiczne, brak precyzji klienta przy określaniu oczekiwań wobec systemu, brak zrozumienia między klientem a wykonawcą, sprzeczność celów róŝnych uŝytkowników przyszłego systemu. Identyfikacja wymagań techniki wywiady z pracownikami organizacji, analiza ankiet wypełnianych przez pracowników organizacji, analiza dokumentów, produkowanych przez organizację, obserwacja pracy organizacji, analiza dotychczas uŝywanego oprogramowania, analiza wymagań systemowych (gdy nowy system ma być częścią większego systemu lub ściśle współpracować z innymi systemami) (C) Instytut Informatyki, Politechnika Poznańska 9 (C) Instytut Informatyki, Politechnika Poznańska 10 Wymagania funkcjonalne (1) funkcje, które ma wykonywać projektowany system przykład: "uŝytkownik ma mieć moŝliwość wyświetlenia informacji o filmach wypoŝyczonych przez klienta", "kaŝdy klient będzie identyfikowany unikalnym, 10-znakowym symbolem" określane na róŝnych poziomach: na poziomie uŝytkownika końcowego mają postać ogólnego opisu na poziomie systemu szczegółowo definiują funkcje systemu wraz z ich wejściami i wyjściami Wymagania funkcjonalne (2) konieczne jest określenie: rodzajów uŝytkowników: korzystających z systemu, niezbędnych do działania systemu, funkcji systemu dla kaŝdego rodzaju uŝytkownika wraz ze sposobem ich uŝycia, systemów zewnętrznych, wykorzystywanych przez system (zewnętrzne bazy danych, internet, itd.), struktur organizacyjnych, przepisów prawnych, itd. mających wpływ na projektowany system. (C) Instytut Informatyki, Politechnika Poznańska 11 (C) Instytut Informatyki, Politechnika Poznańska 12

Wymagania funkcjonalne (3) Przykład specyfikacji wymagań metody zapisu: język naturalny, tablice, formularze, diagramy blokowe, diagramy przypadków uŝycia, formularz wymagań funkcjonalnych często uporządkowane w postaci hierarchii: łączenie funkcji w grupy podejście bottom-up, podział funkcji na podfunkcje podejście top-bottom na kaŝdym poziomie ten sam poziom szczegółowości, brak znaczenia kolejności w hierarchii Numer i nazwa funkcji Opis Priorytet UŜytkownicy Warunki wstępne Dane wejściowe Źródło danych wejściowych Wynik Warunki końcowe 2.1. Rejestracja nowego klienta Funkcja zapisuje dane nowego klienta w rejestrze klientów wypoŝyczalni, generując dla klienta unikalny identyfikator. Dodatkowo drukuje kartę klienta. WaŜna Pracownik recepcji Brak Dane osobowe klienta Klient Pozycja opisująca klienta w rejestrze klientów. Wygenerowany unikalny identyfikatora klienta. Wydrukowana karty klienta. Brak (C) Instytut Informatyki, Politechnika Poznańska 13 (C) Instytut Informatyki, Politechnika Poznańska 14 Wymaganie niefunkcjonalne (1) definiują ograniczenia, w których system ma działać mogą wynikać z: potrzeb uŝytkownika, ograniczeń finansowych, potrzeby współpracy systemu z systemami zewnętrznymi, potrzeby współpracy systemu ze specyficznym sprzętem,... Wymaganie niefunkcjonalne (2) typowe grupy wymagań: dotyczące produktu narzucane na oprogramowanie, np.: sposób obsługi ("wszystkie operacje muszą być realizowalne za pomocą klawiatury"), wydajność działania ("czas oczekiwania uŝytkownika na odpowiedź nie moŝe przekroczyć 10s przy 20 pracujących jednocześnie uŝytkownikach"), uŝywane protokoły ("system nie moŝe korzystać z protokołu http") organizacyjne wynikają ze strategii firmy, jej procedur wewnętrznych, np. "realizacja funkcji X musi być zgodna ze standardem XYZ.102" zewnętrzne związane z czynnikami zewnętrznymi (systemami zewnętrznymi, środowiskiem działania, itd.), np.: "dane klienta mogą być dostępne tylko dla pracowników recepcji" (C) Instytut Informatyki, Politechnika Poznańska 15 (C) Instytut Informatyki, Politechnika Poznańska 16

Dokument wymagań Analiza SRS Software Requirements Specifications zbiera wszystkie wymagania dot. budowanego systemu nie jest projektem mówi, co system ma robić, nie mówiąc, jak to ma robić jest podstawą zawarcia kontraktu między klientem a producentem oprogramowania definiowany normą IEEE Std 830-1998 Recommended Practice for Software Requirements Specifications cel: ustalenie wszystkich czynników, które mogą wpłynąć na decyzje projektowe, przebieg procesu projektowego i realizację wymagań wynik: analityczny (logiczny) model systemu: uproszczone ale rzeczywiste odzwierciedlenie rzeczywistości, opisuje sposób realizacji wymagań, nie wskazuje sposobu implementacji wymagań. system powinien być opisany przez zbiór spójnych, wzajemnie uzupełniających się modeli (C) Instytut Informatyki, Politechnika Poznańska 17 (C) Instytut Informatyki, Politechnika Poznańska 18 Analityczny model systemu Cechy modelu analitycznego przedstawia sposób realizacji wymagań przez system bez wskazania szczegółów implementacyjnych posługuje się terminem "funkcja" jako realizowanym wymaganiem ujmuje dodatkowo elementy środowiska przyszłego systemu (nie będące częścią systemu): w celu lepszego zrozumienia funkcjonowania systemu (np. systemy, z którymi modelowany system będzie współpracował), z powodu braku jasności, które wymagania będą realizowane przez system, a które ręcznie jest uproszczonym modelem systemu opisuje system na wysokim poziomie abstrakcji ma postać hierarchiczną funkcje ogólne podlegają dekompozycji na funkcje niŝszego poziomu jest zbudowany w oparciu o wybraną notację (C) Instytut Informatyki, Politechnika Poznańska 19 (C) Instytut Informatyki, Politechnika Poznańska 20

Przebieg fazy analizy (1) zamodelowanie rzeczywistości, będącej przedmiotem analizy uszczegółowienie wymagań uŝytkowników uszczegółowienie wymagań organizacyjnych inne ustalenia: preferencje sprzętowe i programowe, ograniczenia finansowe, ograniczenia czasowe,... Przebieg fazy analizy (2) diagramy: diagram procesów, diagram związków encji, diagram przepływów danych, diagram hierarchii funkcji (C) Instytut Informatyki, Politechnika Poznańska 21 (C) Instytut Informatyki, Politechnika Poznańska 22 Metodyki metodyki strukturalne (klasyczne): Yourdona, SSADM (Structured System Analysis and Design Methodology), SADT (Structured Analysis and Design Techniques) diagramy procesów, diagramy przepływów danych, diagramy związków encji, schemat danych,... metodyki obiektowe: OMT (Object Modeling Technique), OOSE (Object-Oriented Software Engineering), OOAD (Object-Oriented Analysis and Design), UML Projektowanie cel: opracowanie architektury systemu, projekt logicznej struktury bazy danych systemu, projekty aplikacji formularzy ekranowych, raportów, bibliotek, inych, stosowane techniki: transformacje encji i związków między nimi do schematu bazy danych, transformacje funkcji do projektów aplikacji. (C) Instytut Informatyki, Politechnika Poznańska 23 (C) Instytut Informatyki, Politechnika Poznańska 24

Implementowanie i dokumentowanie cel: uzyskanie fizycznej struktury bazy danych, uzyskanie działających aplikacji, przetestowanie aplikacji pod kątem poprawnego działania, uzyskanie załoŝonej wydajności działania systemu, uzyskanie dokumentacji technicznej i uŝytkowej systemu, stosowane techniki: generatory baz danych, generatory aplikacji, generatory dokumentacji. WdroŜenie i utrzymywanie wdroŝenie przekazanie działającego systemu końcowym uŝytkownikom, utrzymywanie: usuwanie z systemu przeoczonych w fazie testowania błędów, poprawianie efektywności działania systemu, dostosowywanie funkcjonalności systemu do nowych potrzeb, zmieniających się wymagań, itd. (np. na skutek zmian przepisów, profilu działania organizacji) (C) Instytut Informatyki, Politechnika Poznańska 25 (C) Instytut Informatyki, Politechnika Poznańska 26 Narzędzia CASE (1) CASE ang. Computer Aided Software Engineering, uŝycie narzędzi programistycznych w procesie rozwoju i utrzymywania oprogramowania, typowe narzędzia CASE: edytory, generatory kodu, narzędzia refaktoryzujące, narzędzia transformujące,... wyniki działania narzędzi CASE: kod programu, diagramy, schemat bazy danych, dokumentacja techniczna i uŝytkowa,... (C) Instytut Informatyki, Politechnika Poznańska 27 Narzędzia CASE (2) rodzaje: narzędzia CASE wysokiego poziomu ang. upper CASE: zastosowanie: etapy strategii, analizy i projektowania systemu narzędzia: do tworzenia diagramów, sprawdzania poprawności informacji na diagramach narzędzia CASE niskiego poziomu ang. lower CASE: zastosowanie: etapy implementowania, testowania i wdraŝania, narzędzia: generatory bazy danych, formularzy i raportów, testujące, zarządzające oprogramowaniem (C) Instytut Informatyki, Politechnika Poznańska 28

Projektowanie SI z wykorzystaniem Oracle Designer narzędzia do modelowania: PD, ERD, FHD, DFD, transformacje, struktura logiczna bazy danych (model relacyjny), definicje aplikacji, Model kaskadowy (1) synonimy: model wodospadowy, model liniowy kolejne fazy następują sekwencyjnie, przejście do następnej fazy dopiero po zakończeniu fazy poprzedniej, generowanie obiektów bazy danych i kodu po stronie serwera, generowanie aplikacji. (C) Instytut Informatyki, Politechnika Poznańska 29 (C) Instytut Informatyki, Politechnika Poznańska 30 Model kaskadowy (2) zalety: inwestycja w początkowe etapy tworzenia systemu skutkuje lepszą jakością wyników etapów następnych, łatwość zarządzania projektem podział na jasno oddzielone fazy wady: narzucenie ścisłej kolejności wykonywania prac, trudno dokładnie określić momenty przejścia do następnego etapu, wysoki koszt błędów popełnionych na początkowych etapach, brak sprzęŝenia zwrotnego pomiędzy kolejnymi etapami, długie przerwy w kontaktach z klientem efekt końcowy moŝe nie odpowiadać potrzebom uŝytkownika, model dobry dla stabilnych organizacji, o dokładnie zdefiniowanych celach. (C) Instytut Informatyki, Politechnika Poznańska 31 Model spiralny (1) cztery fazy: planowanie ustalenie celów produkcji kolejnej wersji systemu, analiza ocena celów i ryzyka ich realizacji, konstrukcja jej struktura jest zgodna z modelem kaskadowym atestowanie ocena przez klienta zbudowanej wersji systemu (C) Instytut Informatyki, Politechnika Poznańska 32

Model spiralny (2) zalety: minimalizacja ryzyka częste kontakty z klientem łatwość wprowadzania poprawek w kolejnych wersjach wady: wymaga większych nakładów organizacyjnych moŝe powodować przyłoŝenie mniejszej uwagi do identyfikacji wymagań i budowy modeli przez łatwość wprowadzanie poprawek w kolejnych wersjach model dobry dla projektów o duŝej zmienności wymagań, gdzie konieczne są częste kontakty z klientem Prototypowanie (1) RAD ang. Rapid Application Development załoŝenia: szybkie tworzenie szkieletów aplikacji (prototypów) celem prezentacji ich uŝytkownikowi, uŝytkownik: nie wiem dokładnie, czego chcę, ale powiem, czy to jest to, gdy to zobaczę (C) Instytut Informatyki, Politechnika Poznańska 33 (C) Instytut Informatyki, Politechnika Poznańska 34 Prototypowanie (2) przebieg: ogólne określenie wymagań budowa prototypu weryfikacja prototypu przez klienta pełne określenie wymagań realizacja pełnego modelu zgodnie z modelem kaskadowym prototyp nie jest elementem gotowego systemu! Prototypowanie (3) zalety: szybka demonstracja pracującej wersji systemu dokładniejsze zaspokojenie potrzeb uŝytkowników, moŝliwość przeprowadzenia szkoleń uŝytkowników przed zbudowaniem pełnego systemu wady: dodatkowy koszt budowy prototypu, zmniejszona stabilność działania systemu, brak dokładnej analizy funkcjonalnej, zdziwienie klienta: "Czemu muszę tak długo czekać? PrzecieŜ widziałem juŝ działający program!" (C) Instytut Informatyki, Politechnika Poznańska 35 (C) Instytut Informatyki, Politechnika Poznańska 36

Model DCD (Design Capture Driven) stosowany w przypadku istnienia systemów w organizacji, wykorzystuje mechanizmy reverse-engineering, pozwala na tworzenie nowych systemów korzystając ze starych definicji, pozwala realizować nowe potrzeby przedsiębiorstwa przy minimalnych nakładach czasowych i finansowych. strategia + analiza Narzędzia Oracle Designer implementowanie (C) Instytut Informatyki, Politechnika Poznańska 37 (C) Instytut Informatyki, Politechnika Poznańska projektowanie dokumentowanie 38 Referencje Richard Barker: CASE*Method: Function and Process Modelling. Addison- Wesley, 1992 Włodzimierz Dąbrowski, Kazimierz Subieta: Podstawy inŝynierii oprogramowania. Wydawnictwo PJWSTK 2005. Andrzej Jaszkiewicz: InŜynieria oprogramowania. Helion, 1997 Edward Yourdon: Modern Strutured Analysis. Prentice Hall, 1989 What is a CASE Environment? Carnegie Melon Software Engineering Institute. http://www.sei.cmu.edu/legacy/case/case_whatis.html (C) Instytut Informatyki, Politechnika Poznańska 39