K.Subieta, E. Stemposz. Projektowanie systemów informacyjnych, Wykład 12, Folia 1
Projektowanie systemów informacyjnych
description
Transcript of Projektowanie systemów informacyjnych
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łaTechnik Komputerowych, Warszawa
Wykład 6:
OMT - Model obiektów,cz.3
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
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ściOgraniczenie (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ściOgraniczenie (dynamiczne) ogranicza zmianę tych wartości.
Pracownikzarobek
szef
{zarobek <= szef.zarobek}
Oknowysokośćszerokość
0.8 <= wysokość/szerokość <= 1.5
Zawódpriorytet
{priorytet nigdy nie wzrasta}
PaństwoOsoba
{porządek} Porządek chronologicznygłów państwa
Osoba Komitet
Członek
Przewodniczący
{podzbiór}
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.
Osobadata_urodzenia/wiek
Bieżąca_data
{wiek = bieżąca_data - data_urodzenia}
Maszyna Zespół Część
położenie położenie
Położenie
PołożenieBezwzględne
{Położenie = (Maszyna-Zespół).położenie + (Zespół-Część).położenie}
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 5
Homomorfizm
Opisuje odwzorowanie pomiędzy asocjacjami.Opisuje odwzorowanie pomiędzy asocjacjami.
PozycjaKatalogunr modelu
Egzemplarznr seryjny
zawiera zawieraOdwzorowuje
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
Sytuacjaogólna
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 etapierozwoju projektu oprogramowania.
Nie wrzucaj atrybutów powiązań do klas.
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 wszystkiekonstrukcje są potrzebne dla konkretnego problemu. Wiele konstrukcji jest sprawą wyczucia.Używaj ich tylko wtedy, gdy problem tego wymaga.
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 8
Podsumowanie terminologii CAD (1)
KlasyKlasy
AsocjacjeAsocjacje
AtrybutyAtrybuty
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
Asocjacjapochodna
Asocjacjapochodna
RolaRola
Asocjacja, która może być opisana w terminach innych asocjacji
Część asocjacji (nazwana), ustalająca semantykę klasy w ramach tej asocjacji
Atrybutpochodny
Atrybutpochodny Atrybut, który może być wyliczony z innych atrybutów
ObiektyObiekty Byty lub pojęcia wyróżnialne w rzeczywistości
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 9
Podsumowanie terminologii CAD (2)
AgregacjeAgregacje
OperacjeOperacje
Specyficzne asocjacje dla związków typu całość-część.
Przypisanie zachowania do obiektów.Zachowanie ustala powiązanie z modelem dynamicznym
OgraniczeniaOgraniczenia Nieformalne adnotacje tekstowe
MetodyMetody Implementacja operacji; zachowują sygnaturę operacji
Klasaabstrakcyjna
Klasaabstrakcyjna
Klasa, która nie posiada wystąpień; nie może być liściem wdrzewie hierarchii dziedziczenia klas.
Klasakonkretna
Klasakonkretna
Klasa, która posiada wystąpienia
DziedziczenieDziedziczeniePrzekazywanie atrybutów i operacji pomiędzy klasamioparte o hierarchię klas
GeneralizacjeGeneralizacje Podklasy dziedziczą wszystkie własności ich nad-klas, bez wyjątków
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 10
Podsumowanie notacji CAD (1)
Klasa: Nazwa klasy
Nazwa klasyatrybutatrybut: typ_danejatrybut: typ_danej=wartość_pocz...operacjaoperacja(lista_arg):typ_wyniku...
Asocjacja:
Klasa-1 Klasa-2Nazwa Asocjacjirola-1 rola-2
Asocjacja kwalifikowana:
Klasa-2Nazwa Asocjacji
rola-1 rola-2kwalifikatorKlasa-1
Generalizacja (dziedziczenie):
Superklasa
Podklasa-1 Podklasa-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
1+
1-2,4 Wyspecyfikowana liczbowo
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 11
Podsumowanie notacji CAD (2)
Agregacja:
Klasa zespołu
Klasa-części-1 Klasa-części-2
Agregacja (alternatywnie):
Klasa zespołu
Klasa-części-1 Klasa-części-2
Wystąpienia obiektów:
(Nazwa klasy) (Nazwa klasy)nazwa_atrybutu=wartość
Uporządkowanie:
Atrybuty powiązania:
Asocjacje ternarne:
Związek wystąpienia z klasą:
Klasa{uporządkowana}
Klasa-1 Klasa-2
atrybut powiązania...
Nazwa Asocjacji
Klasa-1 Klasa-2Nazwa Asocjacji
rola-1 rola-2
Klasa-3
rola-3
(Nazwa klasy) (Nazwa klasy)
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 abstrakcyjnaw ramach superklasy
Klasa-1 Klasa-2
Asocjacja jako klasa:
Nazwa Asocjacjiatrybut powiązania...operacja powiązania...
Więcej podklas:
Superklasa
Podklasa-1 Podklasa-2 . . .
Istnieje więcejpodklas
Superklasa
Podklasa-1 Podklasa-2
Podklasy mają niepuste przecięcie(zachodzą na siebie)
Niepuste przecięcie podklas:
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 13
Podsumowanie notacji CAD (4)
Wielokrotne dziedziczenie:
Podklasa
Superklasa-1 Superklasa-1
. . . . . .
Dyskryminator jestatrybutem, któregowartość pozwala rozróżnić podklasy
Superklasa
Podklasa-1 Podklasa-2
dyskryminator
Dyskryminator:
Atrybut klasy, operacja klasy:
Nazwa klasy$atrybut$operacja
Propagacja operacji:
Klasa-1
operacja
Klasa-2
operacjaoperacja
Ograniczeniana obiektach
Klasaatryb_1atryb_2
{atryb_1 >= 0}
Atrybut pochodny:
Nazwa klasy/atrybut
Klasa pochodna:
Nazwa klasy
Asocjacja pochodna:
Ograniczenie pomiędzy asocjacjami:
Klasa-1 Klasa-2
Klasa-1 Klasa-2A1
A2
{podzbiór}
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:
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 15
Przykład: (częściowy) modelsystemu transportu lotniczego
Miastonazwa
Linia lotniczanazwa
Pilotnazwiskokwalifikacje
Port lotniczynazwa
Lot datanr lotuzmień_lot
Samolotmodelnr seryjnyrok_produkcjigodziny_przelecianeczy_posiada_atest
Pasażernazwiskorezerwacjabilet
Miejscelokalizacja
odlot
przylot
posiada
przypisany
obsługuje
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
......
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.
K.Subieta. Projektowanie systemów informacyjnych, Wykład 6, Folia 18
Diagram klas - Ćwiczenie
urodziła się
mieszka w1+
Baza Danych UczelniBaza Danych Uczelni
MIASTONazwaWojewództwo
OSOBANazwiskoImięData_urNr_ewiden
STUDENTSemestr_stud
PROFESORSpecjalnośćTytuł
WYDZIAŁNazwaTelefon
jest_zatrudniony_na
DYPLOMANTTytuł_pracyData_obronyOcena_końcowa
opiekuje_się
PROF_KONTRAKTOWYPocz_kontraktuKon_kontraktu
WYKŁADIdent_wykładuNazwa_wykładu
prowadzony_przez1-3
plan_uczęszcza_uczęszczał
StatusSemestrOceny
SALAId_budynkuNr_sali
KALENDARZRokDzień
godz_poczgodz_kon
odbywa się