Metodyki i narzędzia CASE na przykładzie metodyki i narzędzi firmy Oracle
Co znaczy CASE? CASE - narzędzia i metody (w tym komputerowe) wspomagające prace analityczno-projektowe nad konstrukcją oprogramowania i systemów informacyjnych. Skrót: Computer Aided Software Engineering Computer Aided System Engineering
Podstawowa bibliografia Oracle Designer, materiały .pdf do kursu firmy Oracle – dostępne na serwerze ftp Szkoły: lech\projinz\Designer_Pdf\coursepdf.zip Lech Banachowski, Krzysztof Stencel, Bazy danych Projektowanie aplikacji na serwerze, Akademicka Oficyna Wydawnicza EXIT, 2001 – str. 131-156.
Budowa systemów informacyjnych Co robić? Jak to robić? Metodyka Metody Model procesów Model danych Weryfikacja CDM . . . Jak zautomatyzować? Narzędzia
Elementy projektowania CASE na zajęciach z Baz danych Projektowanie schematu relacyjnej bazy danych – Erwin/MS Visio, MS Access. Projektowanie aplikacji w MS Access.
Elementy analizy i projektowania Encja, atrybut, związek Specyfikacja wymagań użytkowników Projektowanie logicznego modelu danych dla systemu informacyjnego Dokumentacja projektowa Forward Engineering Reverse Engineering
Projektowanie aplikacji (formularza) w MS Access Jakie dane mają się pokazać na formularzu? W jakiej postaci, czy z etykietami? Jakie operacje na tych danych są dozwolone np. wyszukiwanie, wstawianie, usuwanie, aktualizacja?
Architektura klient-serwer Aplikacje bazodanowe składają się z co najmniej dwóch części: strony klienta - zwykle na stacji roboczej użytkownika, strony serwera – na komputerze zawierającym serwer bazy danych czyli bazę danych wraz z jej systemem zarządzania (SZBD). Trzeba określić, które operacje mają być zaplanowane do wykonania na kliencie a które na serwerze np. sprawdzanie więzów spójności, obliczenia.
Metodyka firmy Oracle - CASE*Method, CASE Design Method (CDM) Podział projektu na etapy stanowiące cykl życia systemu informacyjnego: Strategia Analiza Projektowanie systemu Implementacja/Dokumentacja Wdrożenie Eksploatacja Wspomaganie narzędziem CASE (Oracle Designer) .
Action Edit Block Filed Role w projekcie Użytkownicy zamawiający Kierownik projektu Użytkownicy biznesu Analitycy Użytkownicy biznesu Projektanci Browser: http:// Hollywood X Action Edit Block Filed + Customers: Programiści BD Administratorzy
Strategia firmy (z punktu widzenia systemu informacyjnego) Wypracowanie ogólnego modelu firmy (rozważanego fragmentu rzeczywistości), sformułowanie wymagań, harmonogramu, ograniczeń finansowych i technicznych. Budowa modeli: procesów zachodzących w firmie (PD), danych przetwarzanych w firmie (ERD), funkcji realizowanych w firmie (FHD), przepływów danych w firmie (DFD).
Analiza szczegółowa Uszczegółowienie i uzupełnienie informacji zebranych na etapie strategii. Szczegółowe modele PD, ERD, FHD, DFD. Diagramy matrycowe (macierze powiązań).
Projektowanie systemu informacyjnego Model danych dla projektowanego systemu. Struktura logiczna i fizyczna bazy danych. Modele modułów aplikacji (formularze, raporty)
Implementacja i dokumentacja systemu informacyjnego Generowanie, budowa, modyfikowanie i testowanie kodu modułów aplikacji i całej aplikacji. Poprawianie aplikacji aby działała efektywniej (dostrajanie bazy danych i aplikacji). Tworzenie dokumentacji technicznej i użytkowej.
Wdrażanie Instalowanie systemu. Testy akceptacyjne. Szkolenie użytkowników. Wprowadzanie i migracja danych. Rozpoczęcie używania systemu.
Ogólne modele tworzenia systemu informacyjnego 1. Model wodospadowy (waterfall model) - przeprowadzanie etap po etapie bez powrotu do wcześniej zrealizowanych etapów. 2. Model spirali - iteracyjny (spiral model) - cykl tworzenia systemu jest powtarzany do momentu osiągnięcia zadawalającego rezultatu (np. kolejne wersje). 3. Prototypowanie (prototyping)- w czasie danego etapu przechodzimy aż do końca cyklu tworzenia systemu w celu przetestowania poczynionych założeń. metodyka RAD (Rapid Application Development).
Ukierunkowane metodyki IE (Information Engineering) – wychodzimy od analizy danych i modelu danych, następnie przechodzimy do funkcji przetwarzających te dane. PMD (Process Model Driven) – najpierw identyfikujemy podstawowe procesy w organizacji przed analizą zakresu systemu; możliwość zmiany procesów w firmie przed rozpoczęciem dalszych kroków projektowych (re-engineering). DCD (Design Capture Driven) – stosowana w przypadku istnienia w firmie działających systemów informacyjnych, następuje wprowadzenie obiektów projektowych do bazy danych CASE (reverse engineering). RAD (Rapid Application Development) – szybkie tworzenie działających prototypów aplikacji (istotny CASE).
Action Edit Block Filed Oracle Designer Wymagania biznesowe Projektowanie i budowa baz danych Browser: http:// Hollywood X Action Edit Block Filed + Customers: Projektowanie i budowa aplikacji
Narzędzia CASE Skoncentrowane na komputerowym wspomaganiu etapów analizy i projektowania oraz bezpośrednim użyciu ich rezultatów w fazie implementacji. Centralne pojęcie to repozytorium projektowe – baza danych zawierająca wszystkie obiekty (w tym dokumenty) używane wspólnie przez cały zespół projektowy przez cały okres działalności projektowej: diagramy np. diagramy związków encji; elementy diagramów np. encja, funkcja, proces, moduł, tabela; projektowe reprezentacje obiektów bazy danych np. indeksy, przestrzenie tabel, segmenty wycofań; dokumenty projektowe jak terminologia biznesu, cele, krytyczne czynniki powodzenia (CSF). Repozytorium projektowe jest dzielone na części – systemy aplikacyjne, foldery. Widok na repozytorium to obszar roboczy.
Narzędzia CASE c.d. Obiekty projektowe są: tranformowane między kolejnymi poziomami projektowymi np. można dokonać transformacji encji na tabelę a także tabeli na encję; wersjowane – kolejnym wersjom obiektu repozytorium przypisuje się numer wersji, obiekty tworzą drzewo wersji; poddawane generowaniu (forward engineered) do obiektów aplikacji jak tabele w bazie danych, formularze aplikacji; wprowadzane wstecz (backward engineered) – tworzone na podstawie istniejących obiektów jak tabele w bazie danych, formularze aplikacji; współdzielone między różnymi projektami w tym także na zasadzie wypożyczania i zwracania z/do repozytorium projektowego.
Narzędzia CASE c.d. Narzędzie CASE jest w stanie automatycznie produkować raporty projektowe - w tym produkty kończące etapy projektowania (deliverables), raporty kontroli jakości - na podstawie zawartości repozytorium projektowego.
Oracle Designer
Nawigator obiektów repozytorium – Designer <=6i ustalone foldery
Nawigator obiektów repozytorium – Designer >=6i foldery definiowane przez projektanta
Interakcja między etapami projektowania i repozytorium projektowym
Diagram związków encji Encja Atrybut Związek Każde zamówienie musi być złożone przez dokładnie jednego klienta. Każdy klient może złożyć wiele zamówień. Dla każdego klienta musi być określona jego nazwa, ulica z jego adresu oraz może być określony numer jego telefonu.
Diagram hierarchii funkcji – hierarchiczne grupowanie wymagań użytkowników
Część definicji funkcji identyfikuje encje na których działa funkcja
Diagram hierarchii funkcji pokazuje dekompozycję funkcji na podfunkcje. Aby zidentyfikować kolejność realizacji funkcji w firmie używane są diagramy przepływu danych.
Obiektowe projektowanie - oparte na obiektowym modelu danych (prosty CASE np. MS Visio) Do specyfikacji struktury danych obiektu (encji) włącza się specyfikację działających na nim funkcji – metody obiektu. Podstawowy diagram – diagram klas – stanowiący notacyjny wariant i rozszerzenie o metody, diagramu związków encji. Używany jest także powszechnie diagram przypadków użycia systemu (tzw. use-case’y) - obrazujący widok systemu z punktu widzenia użytkownika. Używana specjalna notacja modelowania obiektowego Unified Modeling Language (UML) http://www.rational.com/uml. Docelowym rezultatem projektowania obiektowego jest zwykle program napisany w języku obiektowym jak C++ lub Java.
Specyfikowanie wymagań użytkowników przy pomocy use-case’ów Aktor – użytkownik systemu, osoba lub zewnętrzna organizacja lub inny system komputerowy. Aktor używa systemu na różne sposoby.
Diagram klas – reprezentacja typów obiektów razem z operacjami wykonywanymi na nich public abstract class Account { protected double m_CurrentBalance; public void credit(double amount) {} public void debit(double amount) {} }
Diagram hierarchii klas
Powiązanie między klasami - przez atrybuty public class Person { public Company employer; } public class Company { public Vector employee;
Podsumowanie - narzędzia CASE Zarządzanie repozytorium projektowym – bazą danych zawierającą wszystkie obiekty (w tym dokumenty) używane wspólnie przez cały zespół projektowy przez cały okres działalności projektowej. Wspomaganie tworzenia obiektów projektowych jak diagramy. Kierowanie zbieraniem informacji o obiektach projektowych. Automatyzacja działań projektowych. Wspomaganie procesu kontroli jakości produktów projektu (raporty kontroli jakości). Automatyczne tworzenie prototypów (baza danych, moduły aplikacji). Automatyczne tworzenie raportów z informacji wprowadzonej do repozytorium. Możliwość wprowadzenia działających baz danych i aplikacji do repozytorium projektowego (reverse engineering). Zarządzanie kolejnymi wersjami obiektów projektowych.