Projektowanie systemów informacyjnych

18
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

description

Projektowanie systemów informacyjnych. Wykład 6: OMT - Model obiektów, cz.3. Kazimierz Subieta Instytut Podstaw Informatyki PAN, Warszawa Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa. OMT - model obiektów. Ograniczenia Obiekty, powiązania i atrybuty pochodne - PowerPoint PPT Presentation

Transcript of Projektowanie systemów informacyjnych

Page 1: 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

Page 2: Projektowanie systemów informacyjnych

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

Page 3: Projektowanie systemów informacyjnych

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}

Page 4: Projektowanie systemów informacyjnych

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}

Page 5: Projektowanie systemów informacyjnych

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

Page 6: Projektowanie systemów informacyjnych

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.

Page 7: Projektowanie systemów informacyjnych

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.

Page 8: Projektowanie systemów informacyjnych

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

Page 9: Projektowanie systemów informacyjnych

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

Page 10: Projektowanie systemów informacyjnych

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

Page 11: Projektowanie systemów informacyjnych

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)

Page 12: Projektowanie systemów informacyjnych

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:

Page 13: Projektowanie systemów informacyjnych

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}

Page 14: Projektowanie systemów informacyjnych

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:

Page 15: Projektowanie systemów informacyjnych

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

Page 16: Projektowanie systemów informacyjnych

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

......

Page 17: Projektowanie systemów informacyjnych

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.

Page 18: Projektowanie systemów informacyjnych

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ę