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

Podobne dokumenty