Komputerowe wspomaganie zarządzania Ochrona zasobów

Transkrypt

Komputerowe wspomaganie zarządzania Ochrona zasobów
KOMPUTEROWE WSPOMAGANIE
ZARZĄDZANIA
Wykład 12
Narzędzia CASE
Dr inż. Mariusz Makuchowski
Narzędzia CASE
Obecnie proces tworzenia oprogramowania musi spełniać szereg
wymagań, w szczególności dotyczy to:

skrócenia czasu wprowadzenia produktów na rynek

jakości

elastyczności (szybkim dostosowaniu się do zmieniających
wymagań)
to powoduje, że niezbędne staje się zastosowanie szeregu narzędzi
wspomagających zautomatyzowany proces tworzenia systemów
informatycznych tzw. narzędzi CASE.
2
Narzędzia CASE
C - computer
A - aided/assisted
S - system/software
E - engineering
czyli
komputerowo wspomagana inżynieria
oprogramowania/ systemów
CASE jest tym dla informatyków, czym CAD/CAM dla inżynierów.
3
Narzędzia CASE
Narzędzia CASE stanowią zastosowanie technologii komputerowej w
odniesieniu do szeroko rozumianych
 procesów
 technik
 metodyk
tworzenia systemów informatycznych.
4
Narzędzia CASE
Genezę pakietów CASE stanowią próby komputerowego wspomagania
użytkownika oraz automatyzacji faz analizy i projektowania systemów
informatycznych a więc w podstawach metodologicznych TSI.
Pierwsze pakiety, które można by zaliczyć do klasy CASE (tzw. zerowej
generacji CASE) wspomagały tylko tworzenie dokumentacji (np.
rysowały schematy blokowe). Pierwsze tzw. generatory aplikacji
pojawiły się na początku lat 80.
5
Narzędzia CASE
Przy wspomaganym komputerowo tworzeniu systemów internetowych można
wykorzystywać technologię zarówno strukturalną, jak i obiektową. Najpierw
należy jednak wybrać jedną z metod postrzegania rzeczywistości, a następnie
opisać dany wycinek przy jej wykorzystaniu w sposób sformalizowany.
Programy komputerowe służące do TSI zawierają specjalne procedury
pozwalające opisywać daną rzeczywistość według reguł stosowanych w
odpowiednich schematach, diagramach czy grafach. Jednocześnie programy te
wyposażone są w specjalne mechanizmy wymuszające przestrzeganie reguł
stosowania danych narzędzi, a także pozwalają na wychwytywanie
podstawowych błędów.
6
Narzędzia CASE
Zastosowanie narzędzi CASE może wspierać wszystkie lub wybrane
etapy tworzenia systemów informatycznych. Mogą one służyć do
modelowania systemu informatycznego, ale także być wykorzystywane
do generowania struktury bazy danych oraz pseudokodu programu, a
także do opracowania dokumentacji stworzonego systemu.
Systemy CASE można podzielić według faz cyklu życia systemu na:
• Upper-CASE
• Lower-CASE,
• pakiety zintegrowane I-CASE
7
Narzędzia Upper-CASE
 Narzędzia Upper-CASE (wysokiego poziomu)
wspomagają pierwszą fazę budowy systemu – analizę
organizacyjną , funkcjonalną i procesową, modelowanie
funkcji, procesów, obiektów, modelowanie struktur i
tworzenie wszelkich diagramów.
Narzędzia te koncentrują się na opisie i modelowaniu
rzeczywistości, modelowaniu struktury systemu, bez
wszelkich faz implementacji.
8
Lower-CASE, I-CASE
 Narzędzia Lower-CASE (niskiego poziomu) –
wspomagają fazę implementacji. Wspomagają
rzeczywiste budowanie oprogramowania – modelowanie
bazy danych, generowanie kodu i testy.
 Narzędzia I-CASE (Integrated CASE) – łączą możliwości
narzędzi Upper i Lower CASE wspomagając pracę we
wszystkich fazach cyklu życia oprogramowania.
9
Funkcje narzędzi CASE
W ujęciu ogólnym narzędzia CASE służą do:
 tworzenia graficznych modeli systemu,
 tworzenia słowników danych zawierających informacje o encjach i
związkach w projekcie,
 tworzenia interfejsu użytkownika na podstawie graficznego opisu
interfejsu opracowanego interaktywnie przez użytkownika,
 diagnostyki błędów przez udostępnienie informacji o wykonującym
się programie,
 automatycznego tłumaczenia programów ze starych wersji języków
programowania na nowe.
10
Rodzaje pakietów CASE
Klasyfikacja pakietów CASE dostarcza pewnych problemów,
ponieważ nie zostały określone standardy a rozwój samych pakietów
jest bardzo szybki. Jednak do podstawowych kryteriów podziału,
można zaliczyć:
11

kompleksowość

otwartość

elastyczność metodologiczną

rodzaj wspomaganego modelu dziedziny
przedmiotowej
Podział pakietów
Przyjmując jako kryterium podziału kompleksowość
narzędzia CASE można podzielić na:
12
cząstkowe
• wspomagają użytkowanie tylko jednej wybranej
metody lub techniki, np.GraphCoc
pośrednie
• wspomagają jeden lub kilka etapów życia procesu TSI
w określonej metodyce, wykorzystują repozytorium
(encyklopedię systemu), np.Excelerator, Teamwork
zintegrowane
• wspomagają cały cykl życia systemu począwszy od
analizy strategicznej i formulowanie założeń systemu,
poprzez projekt i generowanie kodu aplikacji po
wdrożenie; np. Information Engineering Workbench
firmy Knowledgware
Podział pakietów
Przyjmując jako kryterium podziału otwartość
narzędzia CASE można podzielić na:
otwarte
dedykowane
13
• mogą być wykorzystywane w całości lub w części
w odniesieniu do różnych metodyk TSI.
Użytkownik decyduje o doborze modułów. Pakiety
te posiadają tzw. sprzęgła (z ang.bridge) do
najbardziej popularnych systemów zarządzania –
System Development Workbench
• są ściśle związane z określoną metodyką,
np.Prokit* Workbench dla metodyki STRADIS,
Information Engineering Workbench dla metodyki
Information Engineering
Podział pakietów
Przyjmując jako kryterium podziału elastyczność metodologiczną narzędzia CASE
można podzielić na:
Kierujące zespołem
projektowym
Doradcze
Elastyczne
• narzucające sposób tworzenia systemu np. przez
komunikaty błędów
• zachęcające do określonej procedury metodycznej np.
przez komunikaty ostrzegawcze
• Pozostawiające twórcy swobodę doboru metodyki
Ze względu na rodzaj modelu dziedziny przedmiotowej dzielimy je na:
strukturalne
obiektowe
społeczne
14
Klasyfikacja narzędzi CASE
Klasyfikacja narzędzi CASE względem ich funkcjonalności:
Narzędzia do planowania
Narzędzia PERT, narzędzia do szacowania, arkusze kalkulacyjne
Narzędzia do edycji
Edytory tekstowe, edytory diagramów, procesory tekstów
Narzędzia do zarządzania zmianami
Narzędzia do śledzenia wymagań, systemy kontroli zmian
Narzędzia do zarządzania konfiguracjami
System do zarządzania wersjami, narzędzia do budowania systemów
Narzędzia do prototypowania
Języki bardzo wysokiego poziomu, generatory interfejsu użytkownika
Narzędzia do wspomagania metod
Edytory projektów, słowniki danych i generatory kodów
Narzędzia do przetwarzania języków
Kompilatory, interpretatory
15
Klasyfikacja narzędzi CASE
Klasyfikacja narzędzi CASE względem ich funkcji:
Narzędzia do analizy programów
Generatory wzajemnych odwołań, analizatory statyczne, analizatory
dynamiczne
Narzędzia do testowania
Dane testowe, programy porównujące pliki
Narzędzia do usuwania błędów
Systemy interakcyjnego usuwania błędów
Narzędzia do dokumentowania
Programy składu, edytory rysunków
Narzędzia do wyszukiwania
16
Systemy wyszukiwania wzajemnych odwołań, programy do
restrukturyzacji systemów
Korzyści






17
Najważniejsze korzyści wynikające ze stosowania
pakietów CASE:
zwiększenie szybkości tworzenia systemu,
eliminacja rutynowej technicznej pracy projektanta,
wzrost stopnia aprobaty metodyk,
wzrost kreatywności projektantów,
poprawienie dokładności,
tworzenie systemów informatycznych zgodnie z
przyjętymi regułami
Moduły pakietu CASE
Edytor
Notacji
Graficznych
Moduł
Kontroli
Poprawności
Moduł
Importu/Eksp
ortu Danych
Encyklopedia
systemu
(repozytoria)
18
Moduł
Inżynierii
Odwrotnej
Moduł
Projektowania
Interfejsu
Użytkownika
Moduł
Kontroli
Jakości
Generator
Raportów
Moduł
Zarządzania
Pracą
Grupową
Generator
Kodu
Generator
Dokumentacj
i Technicznej
Moduły pakietu CASE
 Słowniki danych (repozytoria) – bazy wszelkich danych o
tworzonym systemie wraz z narzędziami edytującymi,
zarządzającymi i wyszukującymi te dane.
 Edytor Notacji Graficznych – program graficzny, umożliwiający
tworzenie i edycję diagramów dla faz określania wymagań systemu,
analizy i projektowania. Powinien też umożliwiać powiązania
między symbolami w modelu a innymi, zdekomponowanymi
modelami, oraz wydruk tych diagramów.
 Moduł Kontroli Poprawności – narzędzie do wykrywania i
poprawiania błędów w diagramach i repozytoriach. Bardzo często
działa w czasie rzeczywistym, co znacząco wpływa na komfort
pracy.
19
Moduły pakietu CASE
 Moduł Kontroli Jakości – narzędzie do oceny pewnych ustalonych
miar jakości projektu – np. stopnia złożoności lub powiązań
składowych modelu.
 Generator Raportów – narzędzie tworzące dowolny raport na
podstawie danych z repozytorium
 Generator Kodu – narzędzie transformujące projekt na szkielet
kodu w wybranym języku programowania. Usprawnia pracę
programistów, pozwala na zautomatyzowanie pewnych fragmentów
kodu, a także na uzupełnienie kodu o dodatkowe informacje ze
słownika danych.
 Generator Dokumentacji Technicznej – generator
ustandaryzowanych dokumentów, zawierających specyfikację,
opisy faz projektu, diagramy oraz wybrane raporty.
20
Moduły pakietu CASE
 Moduł Projektowania Interfejsu Użytkownika – narzędzie do
projektowania menu, okien dialogowych oraz innych elementów
interfejsu użytkownika.
 Moduł Inżynierii Odwrotnej – narzędzie pozwalające odtworzyć
słownika danych oraz diagramów, na podstawie kodu źródłowego lub
struktury bazy danych.
 Moduł Importu/Eksportu Danych – narzędzie służące do wymiany
danych z innymi CASE'ami czy też innymi programami.
 Moduł Zarządzania Pracą Grupową – narzędzie umożliwiające
współpracę grupy osób podczas pracy nad projektem
21
Zakres funkcjonalny zintegrowanego
pakietu CASE
Faza planowania SI
Narzędzia
planowania i analizy
Faza projektowania
Narzędzie
projektowania
Dialog
projektanta
Faza kontroli projektu
Analizator projektu
Faza wdrażania
Generator kodu
Faza eksploatacji
projektowanie,
grafika, wydruki
22
Narzędzia
testowania
ENCYKLOPEDIA SYSTEMU
(SŁOWNIK)
•
•
•
•
•
•
•
•
typów danych
definicji danych
struktur baz danych
zdefiniowanych formatek
ekranów
wzorów zestawień
diagramów projektów
procedur
przypadków testowania
Czynności wspomagane
komputerowo
Czynności
zautomatyzowane
Przykłady narzędzi
CASE
23
Case/4/0
Case/4/0 łączy w sobie narzędzia analizy, projektowania i
programowania co czyni go, uniwersalnym pakietem
służącym do tworzenia oprogramowania opartego na
metodach strukturalnych oraz modernizowania systemów
informacyjnych. Narzędzie to wykorzystywane jest
przede wszystkim podczas tworzenia aplikacji typu
,,klient/serwer'' i „mainframe” oraz aplikacji sieciowych.
Rozwiązania dostępne w narzędziu to:
• analiza strukturalna w czasie rzeczywistym,
• modelowanie związków encji,
• projektowanie relacyjnych baz danych,
• generowanie kodu źródłowego przy wykorzystaniu wielu
standardowych języków programowania.
24
Case/4/0
 posiada swój własny język skryptów, przy pomocy którego
użytkownik może dowolnie definiować postać generowanego kodu,
 pozwala użytkownikowi korzystać ze zintegrowanego
repozytorium (np. w celu wygenerowania dokumentacji
projektowanego systemu, bądź w celu zaprojektowania własnego
interfejsu),
jest kompatybilne z wieloma innymi narzędziami, w tym z
produktami firmy Microsoft,
gwarantuje użytkownikom całkowitą spójność wszystkich
produktów od etapu analizy po implementację.
25
Software through Pictures (StP)
Software through Pictures (StP) jest narzędziem
przeznaczonym zarówno dla obiektowego jak i
strukturalnego projektowania systemów
informatycznych. Rozwiązania dostępne dla
użytkownika to m. in. analiza przypadków użycia,
projektowanie obiektowe oraz generowanie kodu
źródłowego.
StP nie jest bezpośrednio związane z żadną metodologią; posiada
rozbudowane możliwości konfiguracji parametrów w celu dostosowania
narzędzia do przyjętej metodologii oraz własnych preferencji.
Analiza i projektowanie obiektowe odbywa się przy wykorzystaniu
standardów UML, OMT lub Booch'a. Wykorzystując standaryzowaną
notację, narzędzie dostarcza użytkownikowi stabilną i elastyczną bazę dla
procesu projektowania i implementacji systemu zorientowanego
obiektowo.
26
Oracle Designer, ObjectiF
Oracle Designer
Oracle Designer stanowi zintegrowane narzędzie do projektowania aplikacji
pracujących w środowisku klient/serwer oraz w architekturze trójwarstwowej. W
swojej pracy narzędzie korzysta z takich metodyk jak RAD, JAD, metoda "top-down",
Information Engineering, ad hoc i inne. Oracle Designer zawiera zestaw typowych
modeli wykorzystywanych w typowych pracach projektowych.
ObjectiF
27
ObjectiF jest narzędziem przeznaczonym do obiektowego projektowania systemów
informatycznych. Rozwiązania dostępne dla użytkownika to m. in.:
• analiza przypadków użycia,
• projektowanie obiektowe
• generowanie kodu źródłowego.
Z punktu widzenia metodologii ObjectiF odwołuje się bezpośrednio do standardu UML.
Wykorzystując standaryzowaną notację, narzędzie dostarcza użytkownikowi stabilną i
elastyczną bazę dla procesu projektowania i implementacji systemu zorientowanego
obiektowo.
Eclipse
Eclipse – projekt został stworzony przez firmę
IBM, jest to darmowe, otwarte środowisko
programistyczne dla Javy, które za pomocą
platformy modelowania Eclipse (Eclipse Modeling
Framework) może posłużyć do budowania
oprogramowania, wykorzystując także UML.
Sama platforma nie dostarcza żadnych narzędzi
służących do tworzenia kodu i budowania
aplikacji, oferuje jednak obsługę wtyczek(ang.
plugin) rozszerzających jej funkcjonalność.
Pierwsze wydanie miało miejsce w 2001 roku.
28
NetBeans
NetBeans – otwarty projekt zawierający wiele
narzędzi wspomagających tworzenie
oprogramowania. Projekt NetBeans został
uruchomiony w czerwcu 2000 roku przez firmę
Sun Microsystems. Obecnie istnieją dwa główne
produkty: NetBeans IDE i NetBeans Platform.
NetBeans IDE jest środowiskiem programistycznym (Integrated Development
Environment - IDE) - narzędziem służącym do tworzenia, kompilowania,
uruchamiania i testowania programów. Całe IDE jest napisane w Javie, jednak
umożliwia ono również tworzenie programów w innych.
NetBeans Platform - jest to modułowa i łatwo rozszerzalna baza, służąca jako
podstawa do tworzenia dużych aplikacji typu "desktop". Oprócz tego niezależni
dostawcy oprogramowania dostarczają różnego typu wtyczki i rozszerzenia, które
łatwo integrują się z NetBeans Platform i mogą być użyte do tworzenia własnych
narzędzi i rozwiązań.
29
StarUML
StarUML – otwarta, dostępna na
zmodyfikowanej licencji GPL platforma
UML/MDA dla systemu Windows, która
umożliwia import projektów z takich
komercyjnych aplikacji jak Rational Rose czy
Borland Together. Zapewnia forward i reverse
engineering kodu w Javie, C# i C++. Dzięki
Ujednoliconemu Językowi Modelowania można
w łatwy sposób opisywać świat obiektów w
programowaniu obiektowym oraz analizie
obiektowej.
30
Rational Rose, Borland Together
IBM Rational Rose – jedno z najstarszych, profesjonalnych
narzędzi. Bardzo rozbudowane, obsługujące UML 2.0.
Borland Together – rodzina programów
integrujących środowisko IDE Javy z
narzędziami do UMLa. Posiada m.in. funkcje
modelowania danych, szablony kodu,
generator dokumentacji, czy też moduł
weryfikacji kodu.
31
Enterprise Architect
Enterprises Architect - to jedno z najbardziej potężnych i elastycznych
środowisk do projektowania, modelowania i analizy diagramów UML
dostępnych na rynku. Profesjonalne narzędzie, działające na
platformach Windows i Linux. Wspiera wszystkie główne gałęzie
projektowania, w tym modelowanie procesów biznesowych, obiektowo
zorientowane modelowanie z użyciem standardu UML, modelowanie
relacyjnych baz danych oraz strukturalną analizę i projektowanie.
32
Corporate Modeler
33
Corporate Modeler jest narzędziem niezależnym od
konkretnej metodologii. Zawiera bardzo uniwersalne
narzędzia, umożliwiające ich użycie zgodnie z różnymi
metodykami wykorzystywanymi przez zespół
projektowy.
Do tych narzędzi można zaliczyć:
• diagram hierarchii,
• diagram związków encji,
• diagram przepływu danych,
• diagram procedur
dynamicznych,
• edytor matryc.
Corporate Modeler nie jest narzędziem do projektowania systemu, a raczej
do robienia analiz organizacyjnych.
W projektach informatycznych Modeler jest dobrym narzędziem do
modelowania środowiska, w jakim ma działać system (procesy biznesowe,
symulacje różnych scenariuszy itp.).
Bibliografia
[1] Adam Nowicki - Komputerowe wspomaganie biznesu (2006)
[2] Karol Kukuła – Badania operacyjne w przykładach i zadaniach (2002)
[3] Czesław Smutnicki –Algorytmy szeregowania (2002)
[4] Ryszard Knosyla i Zespół – Komputerowe wspomaganie zarządzania przedsiębiorstwem
–Nowe metody i systemy (2007)
[5] Zbigniew Klonowski – Systemy informatyczne zarządzania przedsiębiorstwem. Modele
rozwoju i właściwości funkcjonalne (2004)
[6] M. Fertsch, K. Grzybowska, A. Stachowiak – Logistyka i zarządzanie produkcją –nowe
wyzwania i odległe granice (2007)
[7] http://kompy.republika.pl/firewall.html
[8] http://szyfrowanie.estrefa.net/Szyfrowanie-asymetryczne
[9] http://www.b-skrzypczyk.republika.pl/podpisy.htm
[10] http://www.eioba.pl/a/1lc4/narzedzia-case#ixzz1RjlXI86S
[11] http://www.paweloszek.republika.pl/case.html
34
Kliknij, aby edytować styl
Dziękuję za uwagę.

Podobne dokumenty