Projektowanie obiektowe Peter Coad / Edward Yourdon wydawnictwo: Oficyna wydawnicza READ ME, Warszawa 1994 dr Waldemar Wolski
Projektowanie obiektowe Analiza obiektowa identyfikuje i definiuje klasy i obiekty, które bezpośrednio odzwierciedlają dziedzinę problemu i zadania, jakie system ma w niej spełnoć. Obiektowe projektowanie identyfikuje i definiuje dodatkowe klasy i obiekty, odzwierciadlające realizację wymagań. Nie ma większych różnic między oanaczeniami stosowanymi w analizie i projektowaniu. Nie ma wyraźnych przejść do projektowania. Projekt jest staranym (szczegółowym) rozwinięciem sposobu realizacji wyspecyfikowanych wymagań w procesie analizy. Analiza nie musi być w pełni zakończona przed rozpoczęciem projektowania. Cykl (model) tworzenia systemu może przebiegać wg modelu: kaskadowego prototypowania przrostowego spiralnego Analiza i projektowanie może być przeplecione (jedno, potem drugie, i tak dalej). Model projektowania obiektowego obejmuje 4 składniki (składowe) i odpowiada głównym czynnościom w analizie obiektowej: .Składowa dziedziny problemu .Składowa kontaktu z człowiekiem .Składowa zarządzania zadaniami .Składowa zarządzania danymi Składowa dziedziny problemu Wyniki otrzymane z analizy obiektowej odpowiadają składowej dziedziny problemu. Projektujemy skladowej dziedziny problemu stosując następującą strategię: Stosujemy analizę obiektową Korzystamy z wyników analizy- i poprawiamy je w trakcie projektowania, dodając do nich nowe rzeczy w trakcie projektowania. grupujemy razem klasy specyficzne dla dziedziny problemu ustalamy wspólny zbiór usług, wprowadzając dodatkową klasę-specjalizowaną dodajemy nowe składniki pochodzących z niższych poziomów przeglądanie i rewizja wyników analizy
Przykład-- system monitorowania czujnikami System monitoruje czujniki i czujniki krytuczne, zgłasza także warunki alarmowe. Czujnik jest opisany przez: model, ciąg inicjalizacyjny, konwersję, przedził próbkowania, położenie, stan, bieżącą wartość i poziom alarmowy. Czujniki są zainstalowane w budynkach. System śledzi czujniki w każdym budynku, mając informacje o adresie budynku i nr pogotowia. Czujniki krytyczne są scharekteryzowane przez tolerancję (przedzil próbkowania) System włącza urządzenia alarmowe, kiedy poziom alarmowy jest przekroczony. System rejestruje dla każdego alarmu: datę, czas, stopień zagrożenia, czas naprawy. Model końcowy analizy: 1 Budynek Alarm UlicaNrDomuNrPogotowia 0,m DataGodzina StopieńZagrożenia czasNaprawy Status 1 1,m 1 0,m Czujnik 1 Model CiągInicjujący Konwersja Adres Stan Próg UrzadzenieAlarmow CzasTrwania Status 1 Inicjuj Próbkuj Włącz 0,m CzujnikKrytyczny Probkuj Tolerancja
Dodajemy trzy dodatkowe składowe: kontaktu z człowiekiem (interfes) Przykład c.d. -- system monitorowania czujnikami, model projektu składowej dziedziny problemu Wyniki analizy przenosimy do projektowanej składowej dziedziny problemu. Dodajemy trzy dodatkowe składowe: kontaktu z człowiekiem (interfes) zarządzania zadaniami zarządzania danymi Model projetu składowej dziedziny problemu po uwzględnieniu trzech składowych 2 1 1 3 Czujnik-TMC Czujnik-HIC Zadania Koordynator/Zad. AlarmCzujnika OknoAlarmu OknoStanu Budynek Alarm UlicaNrDomuNrPogotowia 0,m DataGodzina StopieńZagrożenia czasNaprawy Status 4 Czujnik-DMC 1 1,m SerwerObiektu. 1 0,m Czujnik 1 Model CiągInicjujący Konwersja Adres Stan Próg UrzadzenieAlarmow CzasTrwania Status 1 Inicjuj Próbkuj Włącz 0,m CzujnikKrytyczny Probkuj Tolerancja
.Składowa kontaktu z człowiekiem Sposób komunikacji z człowiekiem wymaga opisania i zbadania w fazie analizy i projektowania. W analizie polega na wyspecyfikowaniu wymaganych atrybutów i usług. W etapie projektowania określamy iterację z człowiekiem i szczegóły tej komunikacji. Składa się na to format okien i raportów jak również: sposób wydawania poleceń dla systemu i sposób w jaki system prezentuje wyniki. Strategia projektowania tej składowej obejmuje następujące punkty: Klasyfikacja ludzi Opis ludzi i scenariusza poleceń Projektowanie hierarchii poleceń Projektowanie szczegółowych iteracji Tworzenie prototypów- kontynuacja z analizy Projektowanie klas składowej kontaktu z człowiekiem Projektowanie graficznego interfejsu użytkownika Przykład: projektowanie Okna i ich składowe Okno Okno związek całość-część związek gen-spec 0,m 0,m 0,m 1 1 1 Pole Okno OknoAlarmuCzujnik OknoAlarmuCzujnik Grafika klasy-i-obiekty Selektor
.Projektowanie składowej zarządzania zadaniami. Zadanie jest zdefiniowane jako: inna nazwa procesu (strumienia działania, zdefiniowanego przez swój kos). Równoczesne wykonywanie wielu zadań nazywa się wielozadaniowością. W wielu aplikacjach zadania upraszczają ogólną architekturę i kod. Zadania odpowiadają procesom. Oddzielne zadania rozdzielają procesy. Podstawowym elementem jest identyfikacja i wybór zadań wraz z usługami zawartymi w każdym z nich. Wybór zadań można przedstawić wg następującej strategii: Identyfikacja zadań sterowanych zdarzeniami Zadania mogą odpowiadac za komunikację z urządzeniami, oknami, innym zadaniem, podsystemem...Może sygnalizować nadejście danych. Identyfikacja zadań sterownych zegarem Wyzwalane są w celu wykonania działania w okreslonym przedziale czasu Identyfikacja zadań priorytetowych i krytycznych Zaspokajają potrzebę przetwarznia o niskim lub wysokim priorytecie. Identyfikacja koordynatora Dla kilku zadań można utworzyć inne zadanie jako koordynator pozostałych. Zakwestionuj każde zadanie Należy dążyć aby liczba zadań była możliwie mała. Zdefiniuj każde zadanie Podaj czym ono jest, jak jest koordynowane i jak się komunikuje z innymi. Przykład : zarządzanie czujnikiem TMC KoordynatorZadania Koordynuj 0,m 1 KoordynatorZadania Nazwa Opis Priorytet Zainicjuj Startuj
.Projektowanie składowej zarządzania danymi Składowa ZD dostarcza infrastrukturę dla przechowywania i odtwarzania obiektów z systemu zarządzania danymi. Może to być plik, schemat relacyjny lub obiektowy. Projektowanie składowej ZD wymaga projektu układu danych dla: Pliku Bazy danych relacyjnych – normalizacja Bazy danych obiektowe- normalizacja obiektów Projekt usług dla każdej klasy.i danych. Dla pliku- obiekt musi wiedzieć, który plik otworzyć i jak ustawic wskaźnik pliku na odpowiednim rekordzie. Najlepiej zdefiniować osobną klasę wyposażoną w usługi zapisz, odtwórz do użytku przez pozostałe klasy. Dla relacyjnej bazy danych obiekt musi wiedzieć do których tabel masie odwoływać i jak uzyskac dostęp do wierszy tabeli. Definiujemy osobna klasę wyposażona w usługi zapisz, odtwórz (wyszukiwanie, pobieranie wartości, tworzenie obiektów i inicjacja zmiennych) do uzytku przez pozostałe klasy (tak jak dla pliku) Przykład: Definiujemy klase-i-obiekt :SerwerObiektu, mającą uslugi zapisz, czytaj w systemie monitorowania czujnikami klasa-i-obiekt 4 2 Czujnik HIC 1 Czujnik PDC Czujnik HIC 3 Czujnik TMC SerwerObie-ktu UkładZapis Zapisz Czytaj dziedziny problemu