• Nie Znaleziono Wyników

Narzędzia wspomagające projektowanie SI

N/A
N/A
Protected

Academic year: 2021

Share "Narzędzia wspomagające projektowanie SI"

Copied!
23
0
0

Pełen tekst

(1)

Narzędzia

wspomagające projektowanie SI

Jolanta Sala Halina Tańska

Narzędzia CASE

(2)

Podstawy inżynierii systemów wspomaganej komputerowo CASE

Określenie CASE (Computer Aided System Engineering – wspomagana komputerowo inżynieria

oprogramowania) po raz pierwszy użyto w 1981 lub 1984 (J. Manley z Carnegie Mellon University).

W Europie stosuje się czasami skrót IPSE (Integrated Project Supporting Environment) zwłaszcza w stosunku do inżynierii oprogramowania lub kierowania projektami.

• Rocznie powstaje kilkadziesiąt nowych narzędzi CASE.

Narzędziem CASE mogą być

proste pakiety związane z jedną fazą cyklu życia, z jej wybranymi procesami (workbenches),

wielomodułowe środowiska (environments) wykorzystywane w wielu fazach cyklu życia, wielu aspektach wytwarzania i

utrzymania systemu.

(3)

Klasyfikacja narzędzi CASE

W zależności od tego, w jakiej fazie cyklu życia systemu narzędzia są użytkowane wyróżnić można:

Narzędzia wysokiego poziomu (upper CASE tools) – narzędzia wspomagające identyfikację i selekcję projektu, inicjację i planowanie projektu, analizę i projektowanie; zwykle są niezależne od środowiska implementacji;

Narzędzia niskiego poziomu (lower CASE tools) – narzędzia wspomagające implementację (konstrukcję, kodowanie, testowanie, instalację) i utrzymanie

systemu; zwykle są związane z konkretnym środowiskiem implementacji;

Narzędzia wykorzystywane w wielu fazach cyklu

życia systemu (cross life cycle CASE tools).

(4)

Identyfikacja projektu i selekcja Inicjacja projektu i planowanie

Analiza

Definicja Strukturalizacja Generowanie i wybór potrzeb potrzeb rozwiązań alt.

Projektowanie

Projektowanie logiczne Projektowanie fizyczne

Implementacja

Kodowanie Dokumentowanie Testowanie Szkolenie Instalacja

Utrzymywanie

Narzędzia CASE wysokiego poziomu

Narzędzia CASE niskiego poziomu Związek między narzędziami CASE a cyklem życia systemu

(5)

Klasyfikacja narzędzi CASE

Z punktu widzenia funkcjonalności wśród narzędzi CASE (lub ich modułów) można wyróżnić:

Narzędzia diagramujące (diagramming tools);

Generatory form ekranowych i raportów (form and report generators) lub moduły projektowania interfejsu użytkownika;

Narzędzia analityczne (analysis tools);

Generatory dokumentacji (documentation generators);

Generatory oprogramowania (code, programs generators) i zintegrowane środowisko programistyczne;

Narzędzia wspomagające zarządzanie przedsięwzięciami;

Narzędzia inżynierii odwrotnej;

Narzędzia wspomagające weryfikację, walidację i testowanie oprogramowania;

Narzędzia modelowania i analizy organizacji;

Zintegrowane narzędzia CASE (Integrated CASE, I-CASE) lub zintegrowane środowisko wytwórcze (Integrated Development Environments, IDE).

(6)

Narzędzia diagramujące

• Pozwalają wizualizować system i jego komponenty.

• Są one szczególnie efektywne przy prezentowaniu przepływów danych, struktur danych czy struktur programów.

• Wiele popularnych narzędzi CASE pozwala kreślić:

diagramy PU, diagramy klas, diagramy aktywności,

diagramy sekwencji, diagramy przepływu danych (data flows diagrams, DFD), diagramy związków encji (entity- relationship diagrams, ERD), diagramy struktury

(structure diagrams, SD),

• Przykłady CASE:

The Visible Analyst Workbench (VAW) firmy Visible Systems Corporation,

nformation Engineering Facility (IEF) firmy Texas Instruments, Systems Development Workbench (SDW) firmy Cap Gemini

PANDA.

(7)

Generatory form ekranowych i raportów

• Pozwalają automatycznie tworzyć interfejs użytkownika.

Automatycznie generowane formy i raporty są szczególnie przydatne podczas prototypowania.

• Wiele narzędzi CASE pozwala tworzyć skomplikowany graficzny interfejs użytkownika (graphical user interface, GUI) np. VISION Flashpoint firmy Sterling Software, IEF firmy Texas Instruments.

• Wiele narzędzi pozwala także automatycznie generować kod programów dla form ekranowych i raportów w różnych językach programowania, np. PowerBuilder firmy Sybase,

• natomiast inne są przeznaczone tylko dla jednego języka

programowania czy środowiska, np. generator Paradox for Windows generuje tylko kod ObjectPAL.

• Generatory form ekranowych i raportów mogą być

samodzielnymi narzędziami lub też, elementami

zintegrowanych środowisk wytwarzania systemów.

(8)

Narzędzia analityczne

• Pozwalają generować raporty ułatwiające identyfikowanie możliwych niespójności,

redundancji czy braków w diagramach, formach ekranowych i raportach.

• Narzędzia analityczne są zwykle elementami

zintegrowanych środowisk wytwarzania systemów,

• Przykłady CASE:

– Excelerator firmy Intersolv,

– PowerDesigner firmy Sybase.

(9)

Generatory dokumentacji

• Są narzędziami, które pozwalają łatwo tworzyć w

standardowych formatach zarówno dokumentację

techniczną, jak i użytkową. Jest to szczególnie ważne ze względu na utrzymanie systemu, gdyż system bez

odpowiedniej dokumentacji jest praktycznie nie do utrzymania.

• Generatory dokumentacji są zwykle częścią

wielomodułowych pakietów CASE, np. w pakiecie Oracle 9i Designer firmy Oracle czy SDW firmy Cap Gemini

PANDA.

• Bardzo praktyczny i łatwy w obsłudze jest generator

dokumentacji pakietu PowerDesigner firmy Sybase, który pozwala skorzystać ze standardowych formatów

dokumentacji lub też zdefiniować własne (możliwość

tworzenia standardów wewnątrzorganizacyjnych), w języku

angielskim lub innym w formacie RTF lub HTML.

(10)

Generatory oprogramowania

• Są narzędziami, które pozwalają generować kod źródłowy programów na podstawie diagramów i form użytych do reprezentacji systemu.

• Zwykle generują one kod w określonym języku programowania, dla określonego środowiska sprzętowo-programowego.

Najpopularniejsze są generatory języków COBOL i C++ oraz definicji baz danych w SQL, np. Visible Developer firmy Visible Systems Corporation, PowerBuilder firmy Sybase.

• Rozwój podejścia obiektowego przyczynił się do rozwoju

zintegrowanych środowisk programistycznych, które bazując na technice drag & drop (wybór obiektu z dostępnej palety i

umieszczenie go w odpowiednim miejscu), pozwala tworzyć

aplikacje z gotowych komponentów (które są fragmentami kodu programu).

• Szczególną popularność zdobył pakiet Borland Delphi firmy Inprise Corporation, który wykorzystując język Object Pascal, pozwala

dzięki szerokiej gamie gotowych komponentów i mechanizmów dostępu do baz danych, tworzyć efektywnie aplikacje pracujące w środowisku systemu operacyjnego Windows.

1/2

(11)

Bezkodowe generatory aplikacji

• Środowiska te pozwalają tworzyć rozwiązania w zakresie baz danych bez zagłębiania semantyki języków

programowania, gdyż w tym przypadku rola programisty polega na wprowadzaniu parametrów, a nie na pisaniu programów.

• Szczególne miejsce wśród tych generatorów zajmuje pakiet Magic eDeveloper firmy Magic Software Enterprises, które można zaliczyć do narzędzi typu RADD (Rapid Application Development and Deployment).

Narzędzie to nie generuje programów w postaci wykonywalnego kodu, lecz tworzy zbiór tabel zapisanych w tzw. pliku kontrolnym.

Logika aplikacji, definicje typów danych, struktury bazy danych,

formularzy i raportów są opisane w jednym zintegrowanym słowniku.

Stosując maszynę wirtualną (engine) sterowaną danymi, Magic

czyta sterującą bazę danych (plik kontrolny) i wykonuje odpowiednie operacje.

Dla użytkownika końcowego aplikacje wykonane w środowisku Magic niczym się nie różnią od innych, natomiast projektanci i programiści pracujący z tym pakietem mogą znacznie wydajniej wykonywać swoje działania.

2/2

(12)

Wspomaganie w zakresie zarządzania przedsięwzięciami

• Takie narzędzia, jak MS Project firmy Microsoft czy SLIM firmy Quantitative Software Management pozwalają na

wspomaganie planowania i kontroli zasobów (w różnych układach), harmonogramowanie, symulowanie i

estymowanie różnych wielkości związanych z realizacją projektu.

• Inną kategorię narzędzi wspomagających zarządzanie

przedsięwzięciami stanowią narzędzia kontroli i zarządzania konfiguracją. Dzięki mechanizmom wersjonowania pozwalają one zarządzać składowymi projektów (systemów), np. kodem źródłowym, diagramami, dokumentami, i w sposób

kontrolowany udostępniać członkom zespołu poszczególne komponenty. Do tej grupy narzędzi zalicza się: Visual

SourceSafe firmy Microsoft i Rational ClearCase firmy Rational.

• Praca grupowa jest nierozerwalnie związana z wymianą

informacji, to można w niej stosować także pakiety ogólnego przeznaczenia takie jak, MS Outlook i MS Net-Meeting firmy Microsoft czy Lotus Notes firmy IBM.

(13)

Narzędzia inżynierii odwrotnej

• Wspomagają tworzenie specyfikacji projektowych (modeli) na podstawie kodu programów oraz plików baz danych, a także synchronizują różne elementy projektów (modeli, dokumentacji).

• Dzięki mechanizmom inżynierii odwrotnej znacznie ułatwione jest utrzymywanie spójności projektów (dokumentacji i implementacji) oraz odtwarzanie

(tworzenie) dokumentacji technicznej systemu (również z innych przedsięwzięć), gdy jest ona niezbędna.

• Elementy inżynierii odwrotnej można spotkać m.in. w pakietach PowerDesigner firmy Sybase (moduł

DataArchitect) i Rational Rose firmy Rational (moduł Data

Modeler).

(14)

Narzędzia wspomagające weryfikację, walidację i testowanie oprogramowania

• Narzędzia wspomagające weryfikację, walidację i

testowanie oprogramowania (Computer Aided Software

Testing, CAST) pozwalają znacznie podnieść wydajność procesu poprawiania błędów w oprogramowaniu.

• Umożliwiają one m.in. generowanie danych i skryptów testowych, rejestrowanie oraz obserwowanie stanów i wartości zmiennych.

• Najbardziej zaawansowane pakiety tego typu, np.

CANTATA firmy IPL czy zestaw narzędzi firmy Rational (Rational Visual PureCoverage, Rational Test Suite, Rational Visual Quantify i inne), wspomagają testowanie oprogramowania w różnych

aspektach i są pisane w innych językach programowania (C, C++, ADA, Java, Visual Basic).

Jeden z modułów zestawu narzędzi firmy Rational – Rational

TestManager – pozwala planować, projektować, implementować i wykonywać testy, a następnie je analizować.

(15)

Narzędzia modelowania i analizy organizacji

• Są wykorzystywane we wczesnych fazach cyklu życia systemu i wspomagają m.in. budowanie struktur,

modelowanie i reinżynierię procesów biznesowych . Reprezentatywnymi przykładami narzędzi tego rodzaju są np. ARIS firmy IDS Scheer i ADONIS firmy BOC.

• Nie są to typowe narzędzia CASE, ale raczej

zorientowane procesowo systemy zarządzania

wiedzą, jednak ich umiejętne wykorzystanie pozwala

wspomóc proces budowy systemu informatycznego i

podnieść jego jakość.

(16)

Uwarunkowania CASE - integracja

• Komputerowe wspomaganie tworzenia SI może być

realizowane za pomocą pojedynczych narzędzi CASE,

jednak coraz powszechniej korzysta się z wielomodułowych pakietów, które w całym cyklu życia systemu wspomagają wiele aspektów projektowania.

• W ostatnich latach twórcy narzędzi CASE, dążąc do otwartości, stosują standardowe bazy danych oraz

narzędzia konwertujące dane i ułatwiające wymianę (komunikację) z innymi produktami.

• Zintegrowana i standardowa baza danych, nazywana

repozytorium (repository) lub encyklopedią centralną (central encyclopedia), jest podstawową metodą integracji narzędzi i kluczowym czynnikiem umożliwiającym efektywne użycie CASE w skomplikowanych i dużych projektach.

• Repozytorium może zawierać dane o projektowanym

systemie i przebiegu procesu projektowania; poprzez te dane komunikują się wszystkie narzędzia (moduły) wykorzystywane w cyklu życia systemu.

1/7

(17)

Encyklopedia centralna (repozytorium)

Diagramy

Ekrany i raporty

Wyniki analizy i testowania

Biblioteka standardów Kod źródłowy

i wynikowy Informacje

o projekcie

Dokumentacja

Rys. 2. Elementy systemu zapamiętane w repozytorium

Elementem repozytorium może być np. słownik danych, który zawiera definicje wszystkich typów danych wykorzystywanych w aplikacjach danej organizacji, lub baza wiedzy w postaci wskazówek, wzorców i definicji standardów.

2/7

(18)

Repozytorium

Repozytorium (encyklopedia centralna) jest podstawą

zintegrowanych środowisk komputerowo wspomaganej inżynierii systemów I-CASE (Integrated CASE).

• Środowiska te łączą w sobie możliwości narzędzi zarówno wysokiego jak i niskiego poziomu.

• Obecnie celem producentów narzędzi CASE jest m.in.

dostarczanie rozwiązań o jak największych możliwościach, tak aby korzystało z nich jak najwięcej użytkowników.

• Stąd pakiety CASE mają coraz więcej modułów i mechanizmów w znacznym stopniu automatyzujących różne działania w procesie wytwarzania systemu i zapewniając wymianę danych z

otoczeniem.

Przykładem takiego rozbudowanego środowiska jest Oracle9i Designer firmy Oracle, który zawiera m.in. moduły procesów

biznesowych, modelowania danych i funkcji (modele przepływów danych, hierarchia funkcji, model związków encji), modelowania i

generowania baz danych, modelowania i generowania formularzy i raportów, wersjonowania i zarządzania konfiguracją.

Moduły te są integrowane wokół repozytorium, którego zasoby są udostępniane i zarządzane przez wiele specjalistycznych narzędzi (m.in. nawigator obiektów i menedżer zależności).

3/7

(19)

Dane Reguły

Narzędzie CASE

Generatory kodu i baz

danych

Narzędzia prototy- powania Modele Edytory Kontrola

spójności

Kontrola wersji

Raporty Analizy

Graficzne interfejsy ekranowe

Wspomaganie zarządzania

projektami

Kontrola konfiguracji Rys.3. Ogólna architektura zintegrowanego narzędzia CASE

Terminale

Repozytorium

Stacje robocze

Import/

eksport

Lokalne narzędzia CASE

Inne systemy

4/7

(20)

Podejście obiektowe i UML

• Rozwój podejścia obiektowego i standardu UML wymusiły także rozwój narzędzi CASE nakierowanych na ich

wspomaganie.

Takie pakiety jak Rational Rose firmy Rational czy Select Enterprise firmy Aonix pozwalają na modelowanie i

wspieranie budowania komponentowych aplikacji klient- serwer z wykorzystaniem standardu UML.

• Aktualnie popularne jest komercyjne narzędzie CASE Enterprise Architect firmy Sparx Systems, które jest

wszechstronne i łatwe w użytkowaniu oraz ArgoUML firmy Tigrit z kategorii narzędzi opensource.

• Podobnie jak w innych zaawansowanych środowiskach, możliwe jest budowanie różnych modeli, generowanie kodu, skryptów SQL i dokumentacji, realizowanie działań inżynierii odwrotnej i wymiana danych z otoczeniem

(import/eksport danych do/z innych narzędzi).

5/7

(21)

Wykorzystanie zintegrowanego środowiska

• Tworzenie SI z wykorzystaniem jednolitego, zintegrowanego środowiska CASE jest sytuacją bardzo komfortową.

• Zdarza się jednak, że w procesie tym projektant musi

posługiwać się narzędziami bez centralnego repozytorium i

wtedy konieczna jest wymiana danych między poszczególnymi modułami.

• Stosuje się wówczas jedną z następujących metod:

Ręczne wprowadzanie specyfikacji zawartych w jednym

repozytorium do drugiego – jest to sytuacja najmniej pożądana.

Przekonwertowanie zawartości jednego repozytorium do

pewnego uniwersalnego formatu (np. zbiory tekstowe ASCII), a następnie zaimportowanie tego do innego repozytorium – wymaga to pewnego nakładu pracy, pewne specyfikacje mogą być utracone podczas konwersji.

Konwertowanie specyfikacji między różnymi repozytoriami z użyciem wbudowanych narzędzi poprzez standardowe formaty wymiany danych między narzędziami CASE.

Zapewnienie bezpośredniego czytania repozytorium innego narzędzia – jest to możliwe tylko wówczas , gdy producent

narzędzia CASE udostępnia formaty baz danych.

6/7

(22)

Uwarunkowania TSI

• Znajomość struktury bazy danych pozwala na dynamiczne łączenie narzędzi CASE i tworzenie parazintegrowanych środowisk z modułów, które pierwotnie były samodzielne i niezależne.

• Poszczególni producenci umożliwiają takie działania,

dostarczając różnych mechanizmów komunikacji i kształtowania środowisk.

Przykładowo Oracle Designer udostępnia interfejs programowy (API) zapewniający dostęp zewnętrznym narzędziom do

swojego repozytorium, a biblioteka Open Tools API umożliwia dodawanie nowych funkcjonalności do zintegrowanych

środowisk programistycznych Borland C++ Builder i Borland Delphi. Pozwala to połączyć zalety i możliwości różnych

narzędzi i tworzyć niestandardowe rozwiązania o dużym potencjale.

• Swobodny dostęp do danych przez repozytorium centralne oraz różne rozwiązania importu/eksportu mogą umożliwić integrację techniczną, jednak tym, co rzeczywiście konsoliduje proces wytwarzania SI jest metodologia.

7/7

(23)

Klasyfikacja narzędzi CASE

Z punktu widzenia funkcjonalności wśród narzędzi CASE (lub ich modułów) można wyróżnić:

Narzędzia diagramujące (diagramming tools);

Generatory form ekranowych i raportów (form and report generators) lub moduły projektowania interfejsu użytkownika;

Narzędzia analityczne (analysis tools);

Generatory dokumentacji (documentation generators);

Generatory oprogramowania (code, programs generators) i zintegrowane środowisko programistyczne;

Narzędzia wspomagające zarządzanie przedsięwzięciami;

Narzędzia inżynierii odwrotnej;

Narzędzia wspomagające weryfikację, walidację i testowanie oprogramowania;

Narzędzia modelowania i analizy organizacji;

Zintegrowane narzędzia CASE (Integrated CASE, I-CASE) lub zintegrowane środowisko wytwórcze (Integrated Development Environments, IDE).

Cytaty

Powiązane dokumenty

„Grupa Jonasza”, grupa chłopców, którzy okresowo spotykali się w naszym se­ minarium, aby więcej dowiedzieć się i zobaczyć, jak wygląda życie w seminarium; -

The event is addressed to universities and research institutions, to scientists, industry and transport employees, government and municipal authorities, safety

-N zdaje pytania: „Na jakie rodzaje imprez i uroczystości uczniowie chodzą?” -na podstawie odpowiedzi uczniów N wypisuje na tablicy podane odpowiedzi, prosi o podanie

1. 16 ustawy o finansach publicznych. Zgod­ nie z tym przepisem dochody publiczne klasyfikuje się według działów i rozdziałów - określających rodzaj działalności,

the origins of the definite article lie in a dialectal drift which occurred between the language varieties spoken in the South and North of Egypt. Due to the scarcity

Do najwa¿niejszych z nich mo¿na zaliczyæ: usytuowanie wiertni w terenie, stopieñ zurbanizowania rejonu prowadzenia prac wiertniczych, wra¿liwoœæ poszczególnych elementów

I - kompleks wapieni nie uławiconych; tworzą go wapienie (w dużej części gąbkowe) oraz sporadycznie cienkie, o niewielkiej rozciągłości wkładki zielonawego

Oprócz wpływu odżywiania matki na wzrost i rozwój płodu, który określany jest w literaturze terminem piętna pokarmowego (nutritional imprinting), wśród czynników