Narzędzia i metody wspomagające projektowanie SI

background image

Narzędzia i metody

wspomagające projektowanie

SI

background image

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

wystąpieniu na konferencji w Waszyngtonie. 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ć zarówno

proste pakiety

związane z jedną fazą cyklu życia, z jej wybranymi

procesami (workbenches), jak i

wielomodułowe

środowiska

(environments) wykorzystywane w wielu

fazach cyklu życia, wielu aspektach wytwarzania i

utrzymania systemu.

background image

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).

background image

Identyfikacje 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
wysokieg
opoziomu

Narzędzia
CASE
niskiego
poziomu

Rys. Związek między narzędziami CASE a cyklem życia systemu

background image

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).

background image

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 przepływu danych (data flows

diagrams, DFD), diagramy związków encji (entity-

relationship diagrams, ERD) czy diagramy

struktury (structure diagrams, SD), np. The Visible

Analyst Workbench (VAW) firmy Visible Systems

Corporation, Information Engineering Facility (IEF)

firmy Texas Instruments, Systems Development

Workbench (SDW) firmy Cap Gemini PANDA.

background image

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.

background image

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, np. Excelerator firmy
Intersolv, PowerDesigner firmy Sybase.

background image

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.

background image

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

background image

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 Magica niczym się nie różnią

od innych, natomiast projektanci i programiści pracujący z tym

pakietem mogą znacznie wydajniej wykonywać swoje działania.

background image

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. Ponieważ

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.

background image

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).

background image

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ć.

background image

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ść.

background image

Uwarunkowania CASE

• Komputerowe wspomaganie tworzenia SI może być

wprawdzie 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.

background image

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. 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.

background image

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).

background image

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. Ogólna architektura zintegrowanego narzędzia CASE

Terminale

Repozytoriu
m

Stacje
robocze

Import
/ekspo
rt

Lokalne
narzędzia CASE

Inne
system
y

background image

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.

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).

background image

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.

background image

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.


Document Outline


Wyszukiwarka

Podobne podstrony:
Labolatorium projektowania układów i systemów sterowania, Narzędzia komputerowego wspomagania projek
Metody efektywnego uczenia si i pisania prac projektowych
narzedzia do wspomagania zarzadzania projektami w firmie ibm
Metody efektywnego uczenia si i pisania prac projektowych
14 Metodyki narzędzia i moele wspomagające
Metodyka zarządzania projektami PMI
Metody osiągnięcia projekcji astralnej [up by Esi]
Edukacja dzieci z autyzmem z wykorzystaniem metody Wspomaganej Komunikacji(1)(1)
pytanie4, wisisz, wydzial informatyki, studia zaoczne inzynierskie, statystyczne metody wspomagania
komputerowe wspomaganie projekt Nieznany
pytania swd z odpowiedziami mini, wisisz, wydzial informatyki, studia zaoczne inzynierskie, statysty
Metodyka zarządzania projektami PRINCE2 notatka

więcej podobnych podstron