Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 1 Projektowanie systemów informacyjnych Kazimierz Subieta Instytut Podstaw Informatyki.

Podobne prezentacje


Prezentacja na temat: "K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 1 Projektowanie systemów informacyjnych Kazimierz Subieta Instytut Podstaw Informatyki."— Zapis prezentacji:

1 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 1 Projektowanie systemów informacyjnych Kazimierz Subieta Instytut Podstaw Informatyki PAN, Warszawa Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa Wykład 6: OMT - Model obiektów, cz.3

2 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 2 OMT - model obiektów Ograniczenia Obiekty, powiązania i atrybuty pochodne Homomorfizm Zalecenia praktyczne Podsumowanie terminologii i notacji Przykłady diagramów

3 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 3 Głowa państwa Ograniczenia Są to zależności pomiędzy bytami (klasy, atrybuty, powiązania i asocjacje). Ograniczenie (statyczne) ogranicza wartości tych bytów lub kombinacje wartości Ograniczenie (dynamiczne) ogranicza zmianę tych wartości. Są to zależności pomiędzy bytami (klasy, atrybuty, powiązania i asocjacje). Ograniczenie (statyczne) ogranicza wartości tych bytów lub kombinacje wartości Ograniczenie (dynamiczne) ogranicza zmianę tych wartości. Pracownik zarobek szef {zarobek <= szef.zarobek} Okno wysokość szerokość 0.8 <= wysokość/szerokość <= 1.5 Zawód priorytet {priorytet nigdy nie wzrasta} Państwo Osoba {porządek} Porządek chronologiczny głów państwa Osoba Komitet Członek Przewodniczący {podzbiór}

4 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 4 Obiekty, powiązania, atrybuty pochodne Cecha pochodna jest zdefiniowana poprzez funkcję działającą na jednym lub więcej bytach modelu, które też mogą być pochodne. Cecha pochodna jest zdefiniowana poprzez funkcję działającą na jednym lub więcej bytach modelu, które też mogą być pochodne. Osoba data_urodzenia /wiek Bieżąca_data {wiek = bieżąca_data - data_urodzenia} MaszynaZespółCzęść położenie Położenie Bezwzględne {Położenie = (Maszyna-Zespół).położenie + (Zespół-Część).położenie}

5 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 5 Homomorfizm Opisuje odwzorowanie pomiędzy asocjacjami. PozycjaKatalogu nr modelu Egzemplarz nr seryjny zawiera Odwzorowuje Opisuje Homomorfizm występuje dość często, szczególnie w relacji danych do metadanych. A B r C D s {u(b,d) ==> t(b.r, d.s)} t u Sytuacja ogólna

6 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 6 Zalecenia praktyczne (1) Nie zaczynaj konstrukcji modelu od szkicowania klas, asocjacji i dziedziczenia. Najpierw musisz dokładnie zrozumieć problem. Staraj się utrzymać prostotę modelu, unikaj zbędnych komplikacji. Starannie wybieraj nazwy. Są one ważne i niosą istotne skojarzenia. Nazwy powinny być informatywne, krótkie i jednoznaczne. Nie powinny skłaniać się do jednego aspektu obiektu. Dobry wybór nazw jest najtrudniejszym problemem. Nie wstawiaj wskaźników lub innych referencji do obiektów jako wartości atrybutów. Zamiast tego, użyj asocjacji. Staraj się unikać ternarnych i n-arnych asocjacji. W większości, mogą one być zdekomponowane na asocjacje binarne, ewentalnie z kwlifikatorami i atrybutami powiązań. Nie staraj się być perfekcyjny w odwzorowaniu liczności powiązań na wczesnym etapie rozwoju projektu oprogramowania. Nie wrzucaj atrybutów powiązań do klas.

7 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 7 Zalecenia praktyczne (2) Użyj kwalifikowanych asocjacji, jeżeli jest to możliwe. Unikaj zbyt głębokich generalizacji. Bądź podejrzliwy w stosunku do powiązań 1:1. Często jeden lub oba końce są opcjonalne, czyli liczność {0,1} jest bardziej właściwa. Nie bądź zaskoczony, jeżeli twój model będzie wymagał gruntownej przeróbki. Proces rafinacji nazw, reperowania błędów, dodawania szczegółów, itd. może wymagać wielu iteracji. Skomplikowane, wielostronicowe modele wymagają ich nawet pół tuzina. Staraj się zainteresować inne osoby twoim modelem, dla uzyskania krytycznego spojrzenia. Zawsze rób dokumentację do modelu. Diagram określa strukturę modelu, ale nie odwzorowuje powodów decyzji. Pisanie wyjaśnień jest istotne dla innego czytelnika. Dotyczy to szczególnie znaczenia użytych nazw. Nie staraj się użyć wszystkich notacji, jakie oferuje OMT. Jest on idealizacją; nie wszystkie konstrukcje są potrzebne dla konkretnego problemu. Wiele konstrukcji jest sprawą wyczucia. Używaj ich tylko wtedy, gdy problem tego wymaga.

8 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 8 Podsumowanie terminologii CAD (1) Klasy Asocjacje Atrybuty Identyfikowane poprzez sformułowanie zakresu SI oraz ograniczone do obiektów danej dziedziny zastosowań. Modelują powiązania pomiędzy obiektami. Identyfikowane poprzez sformułowanie zakresu SI i niejawne zależności między klasami. Identyfikowane z fraz posiadania w sformułowaniu zakresu SI, uszczegóławiane podczas projektowania Asocjacja pochodna Asocjacja pochodna Rola Asocjacja, która może być opisana w terminach innych asocjacji Część asocjacji (nazwana), ustalająca semantykę klasy w ramach tej asocjacji Atrybut pochodny Atrybut pochodny Atrybut, który może być wyliczony z innych atrybutów Obiekty Byty lub pojęcia wyróżnialne w rzeczywistości

9 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 9 Podsumowanie terminologii CAD (2) Agregacje Operacje Specyficzne asocjacje dla związków typu całość-część. Przypisanie zachowania do obiektów. Zachowanie ustala powiązanie z modelem dynamicznym Ograniczenia Nieformalne adnotacje tekstowe Metody Implementacja operacji; zachowują sygnaturę operacji Klasa abstrakcyjna Klasa abstrakcyjna Klasa, która nie posiada wystąpień; nie może być liściem w drzewie hierarchii dziedziczenia klas. Klasa konkretna Klasa konkretna Klasa, która posiada wystąpienia Dziedziczenie Przekazywanie atrybutów i operacji pomiędzy klasami oparte o hierarchię klas Generalizacje Podklasy dziedziczą wszystkie własności ich nad-klas, bez wyjątków

10 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 10 Podsumowanie notacji CAD (1) Klasa: Nazwa klasy atrybut atrybut: typ_danej atrybut: typ_danej=wartość_pocz... operacja operacja(lista_arg):typ_wyniku... Asocjacja: Klasa-1Klasa-2 Nazwa Asocjacji rola-1rola-2 Asocjacja kwalifikowana: Klasa-2 Nazwa Asocjacji rola-1 rola-2 kwalifikator Klasa-1 Generalizacja (dziedziczenie): Superklasa Podklasa-1Podklasa-2 Wielokrotność asocjacji: Klasa Dokładnie jeden raz Klasa Wiele (zero lub więcej) Klasa Opcyjna (zero lub jeden raz) Klasa Jeden raz lub więcej Klasa ,4 Wyspecyfikowana liczbowo

11 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 11 Podsumowanie notacji CAD (2) Agregacja: Klasa zespołu Klasa-części-1Klasa-części-2 Agregacja (alternatywnie): Klasa zespołu Klasa-części-1Klasa-części-2 Wystąpienia obiektów: (Nazwa klasy) nazwa_atrybutu=wartość Uporządkowanie: Atrybuty powiązania: Asocjacje ternarne: Związek wystąpienia z klasą: Klasa {uporządkowana} Klasa-1Klasa-2 atrybut powiązania... Nazwa Asocjacji Klasa-1Klasa-2 Nazwa Asocjacji rola-1rola-2 Klasa-3 rola-3 (Nazwa klasy)

12 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 12 Podsumowanie notacji CAD (3) Operacja abstrakcyjna: Superklasa operacja {abstrakcyjna} Podklasa-1 operacja Podklasa-2 operacja Operacja jest abstrakcyjna w ramach superklasy Klasa-1Klasa-2 Asocjacja jako klasa: Nazwa Asocjacji atrybut powiązania... operacja powiązania... Więcej podklas: Superklasa Podklasa-1 Podklasa-2... Istnieje więcej podklas Superklasa Podklasa-1Podklasa-2 Podklasy mają niepuste przecięcie (zachodzą na siebie) Niepuste przecięcie podklas:

13 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 13 Podsumowanie notacji CAD (4) Wielokrotne dziedziczenie: Podklasa Superklasa-1... Dyskryminator jest atrybutem, którego wartość pozwala rozróżnić podklasy Superklasa Podklasa-1Podklasa-2 dyskryminator Dyskryminator: Atrybut klasy, operacja klasy: Nazwa klasy $atrybut $operacja Propagacja operacji: Klasa-1 operacja Klasa-2 operacja Ograniczenia na obiektach Klasa atryb_1 atryb_2 {atryb_1 >= 0} Atrybut pochodny: Nazwa klasy /atrybut Klasa pochodna: Nazwa klasy Asocjacja pochodna: Ograniczenie pomiędzy asocjacjami: Klasa-1Klasa-2 Klasa-1Klasa-2 A1 A2 {podzbiór}

14 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 14 Budowa Modelu Obiektowego- Ćwiczenie Mają być rejestrowane są informacje o wszystkich lotach konkretnych, odbytych i planowanych (data, numer lotu, samolot, pilot, itd ). Powinna istnieć możliwość zmiany danych o locie. Mają być rejestrowane dane o dostępnej flocie powietrznej (typ samolotu, nr_seryjny, rok produkcji, przeleciane godziny), z możliwością określenia, czy samolot spełnia warunki techniczne niezbędne do eksploatacji. Mają być rejestrowane informacje o pilotach, ich przypisaniu do poszczególnych lotów, miejsce ich zatrudnienia. Mają być rejestrowane informacje o liniach lotniczych, zatrudnianych przez nich pilotów i posiadanych przez nich maszynach Mają być rejestrowane informacje o przylotach i odlotach, portach i miastach Mają być rejestrowane informacje o pasażerach, rezerwacjach i wykupionych biletach an poszczególne loty Założenia systemu transportu lotniczego:

15 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 15 Przykład: (częściowy) model systemu transportu lotniczego Miasto nazwa Linia lotnicza nazwa Pilot nazwisko kwalifikacje Port lotniczy nazwa Lot data nr lotu zmień_lot Samolot model nr seryjny rok_produkcji godziny_przeleciane czy_posiada_atest Pasażer nazwisko rezerwacja bilet Miejsce lokalizacja odlot przylot posiada przypisany obsługuje

16 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 16 Budowa diagramu klas - Ćwiczenie (1) W Systemie BAZY DANYCH UCZELNI zbierane są informacje o studentach, profesorach i prowadzonych wykładach. Każdy student opisywany jest następującymi informacjami: imię, nazwisko, data urodzenia, miejsce urodzenia (miasto, województwo), miejsce zamieszkania, aktualny semestr. Każdy student ma ustalony plan wykładów na cały okres studiów. Każdy zaliczony wykład na danym semestrze kończy się wystawieniem oceny końcowej. Studenci, którzy są dyplomantami tzn ukończyli wszystkie zaplanowane wykłady piszą pracę dyplomową, której tytuł musi być zapamiętany. Praca dyplomowa prowadzona jest pod opieką jednego z profesorów uczelni. Po zdaniu egzaminu dyplomowego informacje o studencie uzupełniane są o datę obrony pracy oraz ocenę końcową. Wymagania......

17 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 17 Budowa diagramu klas - Ćwiczenie (2) Każdy profesor pracujący na uczelni związany jest z jednym wydziałem, którego nazwa i telefon muszą być znane, oraz opisywany jest następującymi informacjami: imię, nazwisko, data urodzenia, tytuł, specjalność. Uczelnia zatrudnia również profesorów kontraktowych. W takim przypadku dodatkowo należy pamiętać daty rozpoczęcia i zakończenia kontraktu. Każdy profesor prowadzi przynajmniej jeden i co najwyżej 3 różne wykłady na uczelni, przy czym ten sam wykład może być prowadzony przez jednego tylko profesora. Każdy profesor może prowadzić dowolną liczbę dyplomantów. Wykład ma określony swój numer, temat, dzień oraz godzinę rozpoczęcia i zakończenia oraz odbywa się w jednym z wielu pomieszczeń uczelni, które znajdują się w różnych budynkach. Wymagania, cd.

18 K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 18 Diagram klas - Ćwiczenie urodziła się mieszka w 1+ Baza Danych Uczelni MIASTO Nazwa Województwo OSOBA Nazwisko Imię Data_ur Nr_ewiden STUDENT Semestr_stud PROFESOR Specjalność Tytuł WYDZIAŁ Nazwa Telefon jest_zatrudniony_na DYPLOMANT Tytuł_pracy Data_obrony Ocena_końcowa opiekuje_się PROF_KONTRAKTOWY Pocz_kontraktu Kon_kontraktu WYKŁAD Ident_wykładu Nazwa_wykładu prowadzony_przez 1-3 plan_ uczęszcza_ uczęszczał Status Semestr Oceny SALA Id_budynku Nr_sali KALENDARZ Rok Dzień godz_pocz godz_kon odbywa się


Pobierz ppt "K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 1 Projektowanie systemów informacyjnych Kazimierz Subieta Instytut Podstaw Informatyki."

Podobne prezentacje


Reklamy Google