35
KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA Dr inż. Mariusz Makuchowski Wykład 12 Narzędzia CASE

Komputerowe wspomaganie zarządzania Ochrona zasobów ...mariusz.makuchowski.staff.iiar.pwr.wroc.pl/download/courses/... · metodyk tworzenia systemów informatycznych. 5 ... użytkownikaoraz

  • Upload
    vandieu

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

KOMPUTEROWE WSPOMAGANIE

ZARZĄDZANIA

Dr inż. Mariusz Makuchowski

Wykład 12

Narzędzia CASE

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

23

Przykłady narzędzi

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

Kliknij, aby edytować styl

Dziękuję za uwagę.