Wykład 10 Narzędzia CASE
Treść wykładu terminologia generacje narzędzi CASE encyklopedia systemu składniki pakietu CASE rodzaje pakietów cechy funkcjonalne narzędzi CASE pakiety dedykowane pakiety wysokiego i niskiego poziomu restrukturyzacja strukturalna i technologiczna modyfikacja i adaptacja zwrotna
Narzędzia CASE C - Computer A - Aided S - Software, system E - Engineering zautomatyzowane tworzenie systemów informacyjnych w trakcie cyklu życia systemu stanowią zastosowanie technologii komputerowej w odniesieniu do procesów, technik i metodyk tworzenia systemów informacyjnych pakiety wspomagające inżynierię oprogramowania oraz kierowanie projektami wiedza metodologiczna tworzenia systemów informacyjnych
Generacje narzędzi CASE wycinkowe wspomaganie poszczególnych technik bądź realizacja pewnych fragmentów cyklu życia systemu zagadnienia realizowane osobno brak automatycznego przepływu informacji między kolejnymi fazami cyklu życia systemu brak wspólnej encyklopedii systemu pakiety zintegrowane I-CASE integracja wokół pełnej realizacji cyklu życia systemu wprowadzenie encyklopedii zawierającej wszystkie opisy systemu połączenia między diagramami, macierzami, tablicami itp.
Encyklopedia systemu jako podstawowy składnik pakietu CASE encyklopedia systemu, repozytorium, baza danych twórców systemu zbiornica wszystkich obiektów występujących w danym systemie zależności między obiektami moduł zarządzania obiektami obiekty różnych rodzajów specyfikacji systemowych diagramy przepływu danych schematy baz danych prototypy systemów formatki ekranów zestawienia wynikowe, definicje dialogu, menu i programy zastosowań
Encyklopedia systemu c.d. składnik integrujący poszczególne pakiety czy środowiska CASE uczestniczy we wszystkich fazach cyklu życia systemu związana jest z czynnościami kierowania projektami
Pozostałe składniki pakietu CASE edytory diagramów różnych technik tworzenia systemów informacyjnych generator kodu programowego moduł prototypowania systemu moduł adaptacji i i modyfikacji systemów moduł eksportu i importu danych moduł kontroli spójności systemu
Dodatkowe moduły pakietów CASE edytory werbalnych opisów systemu powiązane logicznie z edytorami graficznymi moduły zapytań i generowania zestawień moduł dokumentacji systemu kontrola wersji projektu pomoce
Inne cechy pakietów CASE modularność M-CASE - możliwość pominięcia modułu możliwość pracy zespołowej/równoległej nad projektem praca sieciowa i oprogramowanie sieciowe serwer sieciowy przechowujący repozytorium danych zapobieganie wprowadzania zmian do danej specyfikacji równolegle przez dwóch lub więcej użytkowników procedury aktualizacji repozytorium przez zespół projektowy
Kierunki rozwoju pakietów CASE techniki projektowania i programowania systemów w czasie rzeczywistym zastosowanie baz wiedzy i systemów ekspertowych dla doradztwa w zakresie alternatywnych rozwiązań
Rodzaje pakietów CASE - trudności klasyfikacyjne szybki rozwój pakietów doskonalenie pakietów różnorodność metodyczna brak standardów niejednolitość pakietów obejmujących zmienny obszar tematyczny
Rodzaje pakietów CASE - kryteria kompleksowość cząstkowe pośrednie zintegrowane otwartość elastyczność metodologiczna rodzaj wspomaganej dziedziny przedmiotowej
Kompleksowość pakietów CASE c.d. cząstkowy pakiet wspomaga wybraną metodę czy technikę przykłady - diagramy przepływu danych, diagramy encji pośrednie wspomaganie jednej lub kilku faz cyklu życia procesu tworzenia systemów informacyjnych zintegrowane wspomaganie całego cyklu życia systemu
Funkcjonalny zakres typowych narzędzi CASE poszczególne narzędzia odpowiadają głównym fazom cyklu życia systemu planowanie i analiza - narzędzia analizy projektowanie - narzędzia planowania i analizatory projektów wdrażanie - generatory kodu eksploatacja, modyfikacja, adaptacja - narzędzia testowania
Cechy funkcjonalne typowych narzędzi CASE automatyczny lub półautomatyczny przepływ specyfikacji projektowych lub programistycznych między poszczególnymi fazami cyklu tworzenia systemów informacyjnych pierwsza faza - opracowanie ogólnego opisu, modelu danych, szkic badanej dziedziny przedmiotowej w postaci diagramów i macierzy wydajność analityków i projektantów może być zwiększona dzięki stosowaniu graficznych opisów badanie i ocena rozwiązań alternatywnych w celu udoskonalenia opisu dziedziny technika konstruowania grafów powinna być prosta i zrozumiała
Otwarte pakiety CASE otwarte dedykowane związek pakietu z określoną metodyką podział pakietów ze względu na kryterium otwartości otwarte dedykowane założeniem pakietów otwartych jest stworzenie elastycznego narzędzia umożliwiającego stosowanie w całości lub części różnych metodyk tworzenia systemów informacyjnych stosownie do preferencji użytkownika pakiety otwarte skoncentrowane są wokół encyklopedii systemu posiadają budowę modularną posiadają różnorakie powiązania do systemów baz danych
Pakiety dedykowane ściśle związane z określoną metodyką integracja metodyki i narzędzia jest elementem strategii rynkowej producenta oprogramowania bądź firmy doradczej istnieje ścisły związek między fazami, zadaniami, technikami, danej metodyki tworzenia systemów informacyjnych a modułami danego pakietu
Podział pakietów wspomaganych metodycznie kierujące zespołem projektowym i narzucające sposób tworzenia systemu informacyjnego doradcze - zachęcające do stosowania określonej procedury metodycznej elastyczne - pozwalające na dobór metodyki pakiety bez reguł metodycznych pakiety z wbudowanymi regułami metodycznymi pakiety z możliwością własnego rozbudowania reguł metodycznych
Podział pakietów CASE ze względu na model dziedziny przedmiotowej strukturalne obiektowe społeczne
Podział pakietów ze względu na dodatkowe kryteria przechowywanie danych wspomaganie cyklu życia systemu adaptacji i modyfikacji systemu kierowania realizacją projektów bieżącego doskonalenia jakości systemu
Pakiety wspomagające cykl życia systemu - podział planowania strategicznego i modelowania gospodarczego wysokiego poziomu - upper CASE, frontend tools niskiego poziomu - lower CASE, backend tools
Pakiety planowania strategicznego i modelowania gospodarczego wstępna faza cyklu życia systemu znaczenie tych narzędzi wzrasta ze względu na strategię wspomagania celów organizacji gospodarczej i technologii informatycznej wynikiem planowania strategicznego oraz modelowania działalności gospodarczej jest strategiczny plan informatyzacji zwany infoplanem infoplan obejmuje podstawowe zależności między jednostkami organizacyjnymi - funkcjami, procesami gospodarczymi i strukturami danych (encjami) danej dziedziny przedmiotowej infoplan wykracza poza architekturę systemu i może być rozbudowany o podstawowe cele organizacji gospodarczej, istotne czynniki powodzenia, problemy, potrzeby gospodarcze, strukturę organizacyjną
Pakiety wysokiego poziomu główny środek wspomagania realizacji fazy analizy i projektowania systemów umożliwiają sprecyzowanie i zarejestrowanie potrzeb informatycznych, opracowanie projektów z zachowaniem kompletności, spójności i poprawności specyfikacji różniące się zakresem technik diagramowych i programistycznym sposobem realizacji główne zadanie generacja różnorodnych diagramów oraz utrzymywanie spójności i kompletności diagramy - podział opis statyki dziedziny przedmiotowej opis dynamiki inne diagramy
Pakiety niskiego poziomu wspomaganie faz projektowania technicznego programowania wdrażania modyfikacji i użytkowania systemów informacyjnych wykorzystują specyfikacje systemów będące rezultatem planowania strategicznego, analizy i projektowania automatyczne lub częściowe zautomatyzowanie generowania formatek, wzorców, zestawień, logiki procesów, menu, struktur baz danych oraz kodu
Główne czynności wspomagane przez pakiety niskiego poziomu generowanie kodu testowanie programów i usuwanie błędów wspomaganie tworzenia formatek, menu, struktur danych
Pakiety niskiego poziomu - klasyfikacja podziały z inżynierii programowania wiele rodzajów oprogramowania jest klasyfikowanych jako narzędzia CASE niskiego poziomu podstawowe rodzaje pakietów CASE niskiego poziomu generatory kodów profesjonalne narzędzia czwartej generacji - tworzenie złożonych zastosowań dla systemów transakcyjnych, proste wspomaganie bieżących operacji narzędzia zastosowań dla użytkownika - opracowanie formatek ekranowych, formularzy, zestawień oraz menu
Generatory kodów kod w ustalonym języku trzeciej generacji COBOL, PASCAL, C++ itp. technologia nie ma charakteru automatycznej transformacji wymaga stałej współpracy programisty bezpośrednie wprowadzanie do generatora kodu specyfikacji przygotowanej przy użyciu narzędzi CASE wysokiego poziomu interaktywny tryb pracy pomiędzy dwoma rodzajami pakietów CASE wysokiego i niskiego poziomu bezpośrednia transformacja wysokiego poziomu specyfikacji użytkownika i zapisywaniu ich w kodzie konkretnego języka
Narzędzia CASE dla modyfikacji systemu cele - podtrzymanie istniejących zasobów w związku z potrzebą zmian założeń systemu, nowymi specyfikacjami rodzaje pakietów CASE do modyfikacji systemu restrukturyzacja systemów modyfikacja i adaptacja zwrotna modyfikacja i adaptacja kompleksowa
Restrukturyzacja dotyczy modyfikacji oprogramowania oraz bazy danych eksploatowanego systemu przeprowadzana bez zmiany istniejących potrzeb informatycznych czy specyfikacji projektowych zwiększenie czytelności i efektywności oprogramowania eksploatowanego systemu postacie restrukturyzacji opracowanie strukturalnej postaci programów zamiana technologii przetwarzania danych
Restrukturyzacja strukturalna i technologiczna ułatwienie użytkowania uprzednio opracowanych programów poprzez doprowadzenie ich do postaci strukturalnej uzupełnienie brakującej dokumentacji trudności w zrozumieniu struktury programów oraz w dokonaniu niezbędnych zmian, korekt oraz adaptacji restrukturyzacja technologiczna zmiana technologii przetwarzania danych w systemie przykłady - zmiana systemu zarządzania danymi, zmiana systemu bazy danych z relacyjnej na obiektową, zmiana wersji języka w której przygotowano oprogramowanie
Dodatkowe funkcje wykonywane podczas restrukturyzacji analiza regresji wpływ dokonywanych zmian na funkcjonowanie programu i innych modułów systemu wykrywanie i usuwanie błędów w oprogramowaniu przy pomocy odpowiednich narzędzi
Modyfikacja i adaptacja zwrotna opracowanie opisów wysokiego poziomu dla programów użytkowanego systemu ma zastosowanie w stosunku do eksploatowanych systemów nie posiadających dokumentacji, opisu oprogramowania systemu na wysokim poziomie albo opis ten jest nieczytelny, niespójny, niekompletny pakiety modyfikacji zwrotnej CASE stwarzają możliwość zmiany, udoskonalenia istniejącego systemu adaptacja i wykorzystanie całości lub części eksploatowanego dotychczas oprogramowania do nowych założeń i architektury systemu informacyjnego
Modyfikacja i adaptacja zwrotna c.d. modyfikacja zwrotna jest odwrotnością generowania kodu punktem wyjścia jest istniejący kod źródłowy lub definicja bazy danych celem jest stworzenie pełnej dokumentacji analityczno projektowej, którą autor mógłby opracować samodzielnie, gdyby stosował metody i narzędzia do tworzenia systemów informacyjnych kod źródłowy jest analizowany z wykorzystaniem narzędzi CASE modyfikacji zwrotnej pod względem składni i semantyki
Modyfikacja i adaptacja zwrotna c.d. odtworzenie struktury danych, grafu przepływu sterowania może przybierać postacie schematów blokowych, tablic, drzew decyzyjnych, języka strukturalnego czy diagramów struktury opisy są wprowadzane do składnicy pakietu CASE odzyskane oprogramowanie może służyć jako podstawa do wprowadzania zmian, adaptacji w nowym systemie rezultat - odtworzenie zasobów oprogramowania, uzupełniona encyklopedia może być wykorzystywana przez różne narzędzia CASE w innych fazach cyklu życia systemu identyfikacja głównych procesów w systemie w postaci diagramów przepływów danych opis modeli danych jako diagramów związków encji
Modyfikacja i adaptacja kompleksowa kierunki modyfikacji zstępująca - inicjowana poprzez nowe cele, założenia w stosunku do użytkowanego systemu informacyjnego wstępująca - użytkowane są pakiety restrukturyzacji i modyfikacji zwrotnej, operują na niestrukturalnym kodzie eksploatowanego systemu narzędzie modyfikacji kompleksowej łączy cechy pakietu restrukturyzacji, modyfikacji zwrotnej i narzędzia wspomagania cyklu życia systemu zarówno na wysokim jak i na niskim poziomie