Upload
vandieu
View
223
Download
0
Embed Size (px)
Citation preview
2
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.
3
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.
4
Narzędzia CASE
Narzędzia CASE stanowią zastosowanie technologii komputerowej w
odniesieniu do szeroko rozumianych
procesów
technik
metodyk
tworzenia systemów informatycznych.
5
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.
Narzędzia CASE
6
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.
7
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
8
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.
9
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.
10
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.
11
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ć:
kompleksowość
otwartość
elastyczność metodologiczną
rodzaj wspomaganego modelu dziedziny
przedmiotowej
12
Przyjmując jako kryterium podziału kompleksowośćnarzędzia CASE można podzielić na:
• wspomagają użytkowanie tylko jednej wybranej metody lub techniki, np.GraphCoccząstkowe
• wspomagają jeden lub kilka etapów życia procesu TSI w określonej metodyce, wykorzystują repozytorium (encyklopedię systemu), np.Excelerator, Teamwork
pośrednie
• 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 Workbenchfirmy Knowledgware
zintegrowane
Podział pakietów
13
Przyjmując jako kryterium podziału otwartość narzędzia CASE można podzielić na:
• 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
otwarte
• są ściśle związane z określoną metodyką, np.Prokit* Workbench dla metodyki STRADIS, Information Engineering Workbench dla metodyki Information Engineering
dedykowane
Podział pakietów
14
Przyjmując jako kryterium podziału elastyczność metodologiczną narzędzia CASE można podzielić na:
• narzucające sposób tworzenia systemu np. przez komunikaty błędów
Kierujące zespołem projektowym
• zachęcające do określonej procedury metodycznej np. przez komunikaty ostrzegawczeDoradcze
• Pozostawiające twórcy swobodę doboru metodykiElastyczne
Podział pakietów
Ze względu na rodzaj modelu dziedziny przedmiotowej dzielimy je na:
strukturalne
obiektowe
społeczne
15
Klasyfikacja narzędzi CASE względem ich funkcjonalności:
Narzędzia do planowaniaNarzędzia PERT, narzędzia do szacowania, arkusze kalkulacyjne
Narzędzia do edycjiEdytory tekstowe, edytory diagramów, procesory tekstów
Narzędzia do zarządzania zmianamiNarzędzia do śledzenia wymagań, systemy kontroli zmian
Narzędzia do zarządzania konfiguracjamiSystem do zarządzania wersjami, narzędzia do budowania systemów
Narzędzia do prototypowaniaJęzyki bardzo wysokiego poziomu, generatory interfejsu użytkownika
Narzędzia do wspomagania metodEdytory projektów, słowniki danych i generatory kodów
Narzędzia do przetwarzania językówKompilatory, interpretatory
Klasyfikacja narzędzi CASE
16
Klasyfikacja narzędzi CASE względem ich funkcji:
Narzędzia do analizy programówGeneratory wzajemnych odwołań, analizatory statyczne, analizatory
dynamiczne
Narzędzia do testowaniaDane testowe, programy porównujące pliki
Narzędzia do usuwania błędówSystemy interakcyjnego usuwania błędów
Narzędzia do dokumentowaniaProgramy składu, edytory rysunków
Narzędzia do wyszukiwaniaSystemy wyszukiwania wzajemnych odwołań, programy do
restrukturyzacji systemów
Klasyfikacja narzędzi CASE
17
Korzyści
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
18
Moduły pakietu CASE
Encyklopedia
systemu
(repozytoria)
Edytor
Notacji
Graficznych
Moduł
Kontroli
Poprawności
Moduł
Kontroli
Jakości
Generator
RaportówGenerator
Kodu
Moduł
Importu/Eksp
ortu Danych
Moduł
Inżynierii
Odwrotnej
Moduł
Projektowania
Interfejsu
Użytkownika
Generator
Dokumentacj
i Technicznej
Moduł
Zarządzania
Pracą
Grupową
19
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.
20
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.
21
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
22
Narzędzia
planowania i analizy
Narzędzie
projektowania
Analizator projektu
Generator kodu
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
Dialog
projektanta
projektowanie, grafika, wydruki
Czynności wspomagane
komputerowo
Czynności
zautomatyzowane
Faza planowania SI
Faza projektowania
Faza wdrażania
Faza eksploatacji
Faza kontroli projektu
Zakres funkcjonalny zintegrowanego
pakietu CASE
24
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.
25
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ę.
26
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.
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.
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.
27
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
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.
28
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.
29
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ń.
30
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.
31
Rational Rose, Borland Together
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.
IBM Rational Rose – jedno z najstarszych, profesjonalnych
narzędzi. Bardzo rozbudowane, obsługujące UML 2.0.
32
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.
33
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.).
Corporate Modeler
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.
34
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