Wykład :
Techniki i narzędzia modelowania systemów (notacje graficzne) (cz.1)
InŜynieria
Oprogramowaniamgr 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
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
Techniki i narzędzia modelowania systemów
(notacje graficzne)
Narzędzia CASE 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
Computer Assisted /Aided Software / System Engineering Komputerowo wspomagana inŜynieria oprogramowania
i systemów informatycznych
Grupy narzędzi CASE:
Upper-CASE
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.
Lower-CASE:
wspomaganie faz projektowania i implementacji (potrzeby programistów),
narzędzia te są z reguły ściśle związane z konkretnym środowiskiem implementacji,
Narzędzia CASE
Typy
Lower-CASE:
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.
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
proste edytory graficzne,
narzędzia wspomagające proces harmonogramowania
I - CASE’y wspierające proces tworzenia oprogramowania od fazy strategicznej, aŜ do konserwacji.
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:
narzędzia harmonogramowania i monitoringu projektów,
narzędzia szacowania kosztów,
narzędzia analizy decyzyjnej.
Narzędzia CASE
Typy
% respondentów
5 10 15 20 25 30 35 40
Źródło:CASE RESEARCH CORP. 1989
Wyniki ankiety:
Korzyści ze stosowania narzędzi CASE
Narzędzia CASE Czy warto?
Lepsze zarządzanie projektem
Łatwiejsza konserwacja SI
Sformalizowana metodyka realizacji SI Produktywność
Usprawnienie komunikacji
Inne
Podniesienie jakości realizowanego systemu
Środowisko
programistyczne A
Środowisko programistyczne B
Pakiet typu Lower-CASE dla środowiska A
Pakiet typu Lower-CASE
Pakiet typu Lower-CASE Pakiet typu
Lower-CASE dla środowiska B
Jądro systemu.
Uniwersalny pakiet typu Upper-CASE
Narzędzia CASE
Wielośrodowiskowe narzędzie I-CASE
Środowisko implementacji
Inzynieria Odwrotna
Reverse Engeenering Generatory kodu
Obsługa pracy sieciowej Zarządzanie pracą grupową
Zarządzanie konfiguracjami
Generowanie Raportów Generatory
dokumentacji technicznej Kontrola jakości
Kontrola poprawności wersji CVS
( Concurrent Version System)
Import / eksport danych Interfejsy narzędzi RAD
(Rapid Application Development)
Repozytorium Danych
Projektowanie interfejsu UŜytkownika GUI
Edytory diagramów
Narzędzia CASE
Składowe
Narzędzia CASE
Edytory notacji graficznych
Funkcje edytorów notacji graficznych
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.
Co brać pod uwagę przy wyborze narzędzi:
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.
Narzędzia CASE
Repozytorium danych (słownik)
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.
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.
Narzędzia CASE
„Dostrajanie” = konfiguracja + wdroŜenie
Szkolenie pracowników:
w zakresie uŜywanych metodyk ( głownie analizy i projektowania )Szkolenie pracowników
w zakresie obsługi pakietu.
Dostosowanie standardów stosowanych w firmie do wprowadzanej technologii.
Dostosowanie zestawu narzędzi CASE obejmuje:
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:
Narzędzia CASE Ocena narzędzi
Kryteria oceny
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
Obecnie narzędzia oparte o metodyki obiektowe nie ustępują jakością tradycyjnym narzędziom opartym o metodyki strukturalne
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.
Tak było w projekcie
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.
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ą
Narzędzia CASE
Rozkład kosztów przy realizacji projektów IO
Koszt realizacji
projektu Stosowanie
metodyk IO i narzędzi CASE
Podejście tradycyjne typu:
“ad hoc”
Specyfikacja Analiza Projektowanie Implementacja WdroŜenie Pielęgnacja
Posumowanie - Czy warto ???
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 Wybór narzędzia projektowania i zarządzania projektem to trudne zadanie. Jest on podyktowany: