Techniki i narzędzia modelowania systemów (notacje graficzne) (cz.1)
Transkrypt
Techniki i narzędzia modelowania systemów (notacje graficzne) (cz.1)
InŜynieria Oprogramowania Wykład : Techniki i narzędzia modelowania systemów (notacje graficzne) (cz.1) mgr inŜ. Jacek Kołodziej, mgr inŜ. Grzegorz Młynarczyk Opracowano na podstawie: InŜynieria oprogramowania – wykład : mgr inŜ. Grzegorz Młynarczyk, WSZIB, Kraków InŜynieria oprogramowania – wykład : dr hab. inŜ. Kazimierz Subieta, PJWSTK , Warszawa InŜynieria oprogramowania: Andrzej Jaszkiewicz, Wyd.Helion 1997 Projektowanie systemów informacyjnych – wykład: Ewa Stemposz, Kazimierz Subieta Instytut Podstaw Informatyki PAN, Warszawa Software Engineering, 7th edition, Ian Sommerville 2004 Semestr IV, slajd 1 InŜynieria Oprogramowania WSZiB Techniki i narzędzia modelowania systemów (notacje graficzne) Zagadnienia Projektowanie systemów Narzędzia CASE Typy Czy warto ? Typowe funkcje Problemy Przegląd Notacje graficzne w fazie analizy wymagań Wsparcie dla metod obiektowych i strukturalnych Aplikacje WWW Semestr IV, slajd 2 InŜynieria Oprogramowania WSZiB Assisted /Aided Software / System Engineering Narzędzia CASE Computer Komputerowo wspomagana inŜynieria oprogramowania i systemów informatycznych Typy Termin CASE określa wszelkie narzędzia wykorzystywane w trakcie prac projektowych przy tworzeniu oprogramowania. Zaliczamy do nich: kompilatory, debuggery, edytory tekstu, narzędzia harmonogramowania przedsięwzięć, arkusze kalkulacyjne. Zwykle pojęci CASE utoŜsamiane jest z narzędziami, które: Wspomagają proces wytwarzanie oprogramowania, koncentrują się na fazach analizy i projektowania oraz bezpośrednim wykorzystaniu wyników tych faz w implementacji. Semestr IV, slajd 3 InŜynieria Oprogramowania WSZiB Narzędzia CASE Typy Grupy narzędzi CASE: Upper-CASE Lower-CASE: Semestr IV, slajd 4 wspomaganie wczesnych faz prac nad oprogramowaniem, w szczególności fazy analizy (potrzeby analityków i projektantów), narzędzia te nie są związane z konkretnym środowiskiem implementacyjnym. wspomaganie faz projektowania i implementacji (potrzeby programistów), narzędzia te są z reguły ściśle związane z konkretnym środowiskiem implementacji, InŜynieria Oprogramowania WSZiB Narzędzia CASE Typy Lower-CASE: Semestr IV, slajd 5 opierają się na obserwacji, Ŝe notacje graficzne są bardziej naturalnym sposobem prezentacji duŜych programów, niŜ tradycyjny zapis tekstowy, dzięki temu nie jest konieczne zapisywanie w całości kodu programu ręcznie. programista posługuje się symbolami graficznymi, które odpowiadają konkretnym, łatwo wyróŜnialnym, konstrukcjom programistycznym. dodatkowo dostępne są funkcje dialogowej edycji atrybutów tych konstrukcji. InŜynieria Oprogramowania WSZiB Narzędzia CASE Typy Integrated CASE (I-CASE) pakiety łączące w sobie moŜliwości narzędzi Upper i Lower CASE związanie narzędzi Lower - CASE z konkretnym środowiskiem programistycznym jest znaczącym ograniczeniem, niektórzy producenci oferują uniwersalne narzędzia Upper-CASE z dołączonymi kilkoma dodatkowymi modułami typu Lower-CASE przeznaczonymi dla róŜnych środowisk programistycznych duŜy wybór tego typu narzędzi Semestr IV, slajd 6 proste edytory graficzne, narzędzia wspomagające proces harmonogramowania I - CASE’y wspierające proces tworzenia oprogramowania od fazy strategicznej, aŜ do konserwacji. InŜynieria Oprogramowania WSZiB Narzędzia CASE Typy Integrated CASE (I-CASE) większość firm proponuje ujednolicony system notacji (jednak nie oznacza to, Ŝe narzędzia te opierają się na tej samej metodyce). Podstawowe grupy narzędzi: Semestr IV, slajd 7 narzędzia harmonogramowania i monitoringu projektów, narzędzia szacowania kosztów, narzędzia analizy decyzyjnej. InŜynieria Oprogramowania WSZiB Narzędzia CASE Czy warto? Wyniki ankiety: Korzyści ze stosowania narzędzi CASE Podniesienie jakości realizowanego systemu Usprawnienie komunikacji Produktywność Sformalizowana metodyka realizacji SI Łatwiejsza konserwacja SI Lepsze zarządzanie projektem Inne 5 10 15 20 25 % respondentów Semestr IV, slajd 8 InŜynieria Oprogramowania 30 35 40 Źródło:CASE RESEARCH CORP. 1989 WSZiB Narzędzia CASE Wielośrodowiskowe narzędzie I-CASE Środowisko programistyczne B Środowisko programistyczne A Pakiet typu Lower-CASE dla środowiska A Pakiet typu Lower-CASE dla środowiska B Jądro systemu. Uniwersalny pakiet typu Upper-CASE Pakiet typu Lower-CASE dla środowiska C Środowisko programistyczne C Semestr IV, slajd 9 Pakiet typu Lower-CASE dla środowiska D InŜynieria Oprogramowania Środowisko programistyczne D WSZiB Narzędzia CASE Składowe Środowisko implementacji Inzynieria Odwrotna Reverse Engeenering Generatory kodu Interfejsy narzędzi RAD Obsługa pracy sieciowej (Rapid Application Development) Import / eksport danych Repozytorium Danych Kontrola poprawności wersji CVS ( Concurrent Version System) Kontrola jakości Generatory dokumentacji technicznej Edytory diagramów Semestr IV, slajd 10 Projektowanie interfejsu UŜytkownika GUI InŜynieria Oprogramowania Zarządzanie pracą grupową Zarządzanie konfiguracjami Generowanie Raportów WSZiB Narzędzia CASE Edytory notacji graficznych Funkcje edytorów notacji graficznych Co brać pod uwagę przy wyborze narzędzi: Tworzenie i edycja diagramów wykorzystywanych w fazach określania wymagań. Tworzenie i edycja powiązań pomiędzy poszczególnymi symbolami i diagramami Nawigowanie po sieci powiązanych diagramów. Wydruk diagramów. Ergonomia pracy. Diagramy graficzne są jednym z podstawowych narzędzi pracy w fazach analizy i projektowania. Powinny one pozwalać analitykom i projektantom skupić się na pracy, a nie na “zmaganiach” z edytorem. MoŜliwość kontrolowania ilości informacji prezentowanej w sposób graficzny. Jakość i moŜliwość formatowania wydruków. Wykrywanie na bieŜąco konstrukcji niepoprawnych. Zapewnienie spójności informacji umieszczonych na róŜnych diagramach. Semestr IV, slajd 11 InŜynieria Oprogramowania WSZiB Narzędzia CASE Repozytorium danych (słownik) Repzytorium narzędzia CASE to baza danych zawierająca wszystkie informacje o realizowanym projekcie oraz narzędzia słuŜące do jej edycji i przeglądania. Podstawowe funkcje edycja specyfikacji wymagań modelu i projektu, a takŜe dodatkowych informacji związanych z jego realizacją. przetwarzanie, wyszukiwanie o prezentacja informacji. udostępnianie danych dla aplikacji zewnętrznych tworzonych np.: w Visual Basic, SQL, ODBC, itd. moŜliwość rozbudowy struktury repozytorium oraz wprowadzania własnych funkcji działających na repozytorium. Semestr IV, slajd 12 InŜynieria Oprogramowania WSZiB Narzędzia CASE „Dostrajanie” = konfiguracja + wdroŜenie Szkolenie pracowników: Dostosowanie standardów stosowanych w firmie do wprowadzanej technologii. Dostosowanie zestawu narzędzi CASE obejmuje: w zakresie uŜywanych metodyk ( głownie analizy i projektowania )Szkolenie pracowników w zakresie obsługi pakietu. skonfigurowanie słownika danych, zdefiniowanie raportów, zdefiniowanie dokumentów, które będą generowane za pomocą generator dokumentacji technicznej. Odtworzenie dokumentacji technicznej wcześniejszych projektów: obejmuje funkcje inŜynierii odwrotnej oraz moŜliwości importu danych ze standardowych formatów. Realizacje pilotaŜowego projektu (projektów) z wykorzystaniem narzędzia CASE, ( najlepiej równolegle z wcześniejszymi metodami) Semestr IV, slajd 13 InŜynieria Oprogramowania WSZiB Narzędzia CASE Ocena narzędzi Kryteria oceny Obecnie narzędzia oparte o metodyki obiektowe nie ustępują jakością tradycyjnym narzędziom opartym o metodyki strukturalne Zakres oferowanych funkcji i ich zgodność z potrzebami projektu (przyjętych strategii projektu lub działalności firmy ) Koszt Niezawodność Marka producenta Dostępność na rynku pracy specjalistów znających dany pakiet Stopień zintegrowania z przyjętym środowiskiem programistycznym Wielośrodowiskowość Sieć dystrybucyjna, wsparcie szkoleniowe ( koszt ) Koszt dostosowania sprzętu do wymagań pakietu Semestr IV, slajd 14 InŜynieria Oprogramowania WSZiB Narzędzia CASE Czynniki braku przekonania do narzędzi Traktowanie narzędzi CASE wyłącznie jako generatorów kodu, ( nie jest to efektywne przy braku rzetelnego podejścia do fazy analizy i projektowania ) : nakłady na implementację stanowią tylko ok. 15-30% całych nakładów koszt błędów popełnionych w fazie implementacji jest stosunkowo niewielki istnieją inne, tańsze narzędzia programistyczne (RAD) Nieznajomość metodyk stosowanych przy specyfikacji, analizie i projektowaniu: narzędzia CASE nie uwalniają od myślenia, nie da się stworzyć sytemu bez wiedzy i doświadczenia. Semestr IV, slajd 15 InŜynieria Oprogramowania Tak było w projekcie WSZiB Narzędzia CASE Czynniki braku przekonania do narzędzi Niewłaściwa organizacja i zarządzanie przedsięwzięciem. Nieuporządkowanie prac, Zły lub spotykany częściej brak planu, niewłaściwa ocena skali projektu, Niewłaściwe zarządzanie wykonaniem projektu np.: brak monitorowania harmonogramu, kamieni milowych, itd. Wygórowane oczekiwania w stosunku do stosowanych narzędzi CASE: estymowana redukcja kosztów maksymalnie o 50%, konieczność poniesienia znacznych nakładów przy wdroŜeniu, efekty pojawiają się z pewnym opóźnieniem, wymaga wprowadzenia metod zarządzania jakością procesu produkcji, sukces wymaga duŜej dyscypliny w pracowników i kadry zarządzającej. Narzędzie CASE nie przesądza w auto-magiczny sposób o powodzeniu projektu. Zastosowanie obiektowego CASE niekoniecznie oznacza “nowoczesność” projektu. Stosowanie narzędzi CASE często przynosi znikome efekty. Semestr IV, slajd 16 InŜynieria Oprogramowania WSZiB Narzędzia CASE Czynniki braku przekonania do narzędzi Brak współpracy kierownictwa Brak doświadczenia z systemami CASE Brak integracji z istniejącymi narzędziami Nieodpowiednia organizacja prac projektowo/programowych Brak dowodów przydatności CASE Brak metodyki projektowania IO Niezgodność z istniejącą praktyką Obawa przed zmianami Brak akceptacji klienta 5 10 15 20 25 % respondentów Semestr IV, slajd 17 InŜynieria Oprogramowania 30 35 40 Źródło:CASE RESEARCH CORP. 1989 WSZiB Narzędzia CASE Rozkład kosztów przy realizacji projektów IO Koszt realizacji projektu Specyfikacja Semestr IV, slajd 18 Analiza Stosowanie metodyk IO i narzędzi CASE Projektowanie Implementacja WdroŜenie InŜynieria Oprogramowania Podejście tradycyjne typu: “ad hoc” Pielęgnacja WSZiB Posumowanie - Czy warto ??? Wybór narzędzia projektowania i zarządzania projektem to trudne zadanie. Jest on podyktowany: zasobami finansowymi, określonym modelem cyklu Ŝycia projektu – determinuje sposób prowadzenia pracy, a co za tym idzie narzędzia uŜywane do projektowania stopniem zaawansowania projektu – w przypadku prostych przedsięwzięć naturalnym wyborem będą narzędzia prostsze, nie wymagające specjalistycznych szkoleń i doświadczenia, a co za tym idzie bardziej dostępne (zwłaszcza jeśli chodzi o finanse). Tu najlepszym wyborem są narzędzia typu open-source lub tanie pakiety komercyjne oferujące podstawowe funkcje wspomagające. Semestr IV, slajd 19 InŜynieria Oprogramowania WSZiB Przegląd narzędzi CASE Micro Tool GMBH CASE /4/0 ObjectiF Select Ent. Select Enterprise Platforma Corp. ProVision Workbench Oracle Oracle Developer and Developer Server Aonix Software through Pictures (StP) IBM Rational Suite Bugzilla Semestr IV, slajd 20 Casewise Corporate Modeler InŜynieria Oprogramowania CVS WSZiB