Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Obiektowe bazy danych
2
Wprowadzenie Era stosowania ogólnego, jednorodnego podejścia przy tworzeniu systemów przetwarzania danych dobiega końca. Jest wiele różnych sposobów specyfikowania i programowania systemów. Różne zadania mogą mieć różne charakterystyki, wymagające różnych podejść. Wyzwanie polega na wybieraniu i łączeniu tych podejść. Tradycyjne podejście JEŚLI … TO, DOPÓKI WYKONUJ jest popularne w wielu sytuacjach (nie jest jednak ani jedyne, ani najlepsze). Przykładowo: system stawiania diagnoz medycznych najlepiej daje się zaprogramować za pomocą reguł i mechanizmu wnioskującego. W innej sytuacji posłużenie się siecią neuronową lub algorytmem genetycznym może wydajnie doprowadzić do pożądanego wyniku. Kiedy indziej logika predykatów lub wyrażenie funkcyjne będzie najlepszą metodą określenia programu. Zezwolenie twórcy na wybór tych podejść, które najlepiej rozwiązują dany problem jest właściwe. We współczesnej informatyce pojęcie obiektowość ma wiele różnych znaczeń. Termin ten był po raz pierwszy zastosowany w odniesieniu do grupy języków programowania wywodzących się z języka będącego odkryciem pochodzenia skandynawskiego, znanego jako Simula. Język Simula był pierwszym językiem, który wprowadził pojęcie abstrakcyjnego typu danych jako zintegrowanego pakietu struktur danych i procedur.
3
Zasady podejścia obiektowego
Obiekty Hermetyzacja Klasy Dziedziczenie Polimorfizm Przekazywanie komunikatów
4
Zasady podejścia obiektowego
Obiekty – są to podstawowe elementy, z których składa się modelowany świat rzeczywisty. Każdy obiekt ma tożsamość, która pozwala odróżnić jeden obiekt od drugiego. Dwa obiekty o tych samych wartościach atrybutów są różne i rozróżnialne. W obiektowy systemach programowania tożsamość obiektów jest realizowana przez identyfikatory przydzielane przez system obiektom podczas ich tworzenia. Takie identyfikatory są niezmienne i niepowtarzalne. Obiektowi jest przypisany typ, który wyznacza jego budowę, oraz zachowanie, czyli zbiór operacji (zw. metodami), które można wykonać na obiekcie. Obiekt może być powiązany z innymi obiektami. Obiekt zawsze znajduje się w określonym stanie, wyznaczonym przez wartość jego atrybutów i powiązań z innymi obiektami.
5
Zasady podejścia obiektowego
Hermetyzacja – oznacza, że obiekt nie ujawnia otoczeniu swojej budowy, udostępniając jedynie operacje zdefiniowane na swoim interfejsie. Hermetyzacja jest przejawem modularności, czyli oddzielenia zewnętrznych aspektów obiektu, dostępnych dla innych obiektów, od szczegółów jego wewnętrznej realizacji, niedostępnych z zewnątrz. Konsekwentne stosowanie hermetyzacji prowadzi do uniezależnienia programu od zmian implementacji obiektów, większej niezależności od siebie poszczególnych części systemu, a tym samym zwiększa odporność na błędy powodowane w trakcie dokonywania modyfikacji.
6
Zasady podejścia obiektowego
Klasy – obiekty, które mają ten sam typ i zachowanie należą do tej samej klasy. Klasa jest pojęciem, które pozwala analitykowi na ograniczenie złożoności analizowanego wycinka rzeczywistości przez rozważanie grupy podobnych do siebie obiektów – czyli klasy – zamiast pojedynczych obiektów. W systemach wykonawczych obiektowych języków programowania klasa jest też generatorem („fabryką”) obiektów: wywołując określoną operację klasy, potrafimy utworzyć nowy obiekt należący do tej klasy. Klasyfikowanie obiektów jest przykładem zastosowania bardziej ogólnej zasady abstrakcji, przejawiającej się w ignorowaniu szczegółów, którymi różnią się obiekty, na rzecz wydobywania istotnych dla danej aplikacji podobieństw.
7
Zasady podejścia obiektowego
Dziedziczenie – klasy tworzą hierarchie dziedziczenia, w których klasy podrzędne, zw. Podklasami przejmują (czyli dziedziczą) wszystkie właściwości (atrybuty i operacje) klas nadrzędnych, zw. Nadklasami, a ponadto mają właściwości specyficzne dla siebie, których nie mają nadklasy. Każdy obiekt należący do danej klasy (a więc generowany przez daną klasę) może pełnić rolę obiektu (jest wystąpieniem) każdej nadklasy tej klasy, gdyż ma wszystkie cechy (budowę i zachowanie) obiektu nadklasy.
8
Zasady podejścia obiektowego
Polimorfizm – w systemie obiektowym ta sama nazwa może oznaczać różne elementy systemu, w zależności od tego, do jakiego obiektu się odnosi. Polimorfizm (czyli wielopostaciowość) może w zależności od kontekstu odnosić się zarówno do atrybutów, jak i (częściej) do metod. Przykładowo operacja wyświetl() może być zrealizowana przez różne obiekty. To obiekt „wie”, jak wykonać konkretną, adresowaną do niego operację wyświetl(). W programie napisanym w obiektowym języku programowania nie zawsze z góry (tzn. na etapie kompilacji wiadomo, do obiektu jakiej klasy będzie adresowana dana operacja. W związku z tym polimorfizm metod wymaga stosowania późnego wiązania, czyli mechanizmu kojarzenia wywołania metody z odpowiednim fragmentem programu (procedurą) na etapie wykonywania programu, a nie na etapie kompilacji programu.
9
Zasady podejścia obiektowego
Przekazywanie komunikatów – w podejściu obiektowym system informatyczny traktujemy jako zbiór niezależnie od siebie istniejących obiektów, które porozumiewają się ze sobą za pośrednictwem komunikatów. Komunikat jest wyrażeniem językowym skierowanym do obiektu i wywołującym jedną z metod, które są związane z obiektem. Komunikat zwykle niesie ze sobą dane, które stają się parametrami wywoływanej przezeń metody obiektu. Komunikaty mogą być synchroniczne lub asynchroniczne. Po wysłaniu komunikatu asynchronicznego obiekt nie czeka na odpowiedź, lecz kontynuuje działanie.
10
Zasady podejścia obiektowego
Tworzenie SI zgodnie z paradygmatem obiektowym polega na utworzeniu szeregu modeli wizualnych na diagramach UML. Modele te dotyczą: wymiaru funkcjonalnego – model przypadków użycia, wymiaru strukturalnego – model statyczny, wymiaru dynamicznego – model behawioralny.
11
Obiektowość w systemach komputerowych
Obiektowość jest jednym ze sposobów osiągnięcia spójności. Jest to technika organizowania i jako taka jest bardzo użytecznym narzędziem integrującym. W szerokim rozumieniu obiektowość oznacza sposób organizowania naszych sądów o naszym świecie. To organizowanie bazuje na typach rzeczy – lub typach obiektowych – w naszym świecie. W ten sposób możemy definiować atrybuty tych typów obiektowych, operacje przeprowadzane na typach obiektowych, reguły oparte na typach obiektowych, maszynowe uczenie się oparte na typach obiektowych itp. Zamiast pojedynczej fizycznej jednostki zawierającej zmienne i metody, ogólniejsze podejście obiektowe dostarcza metody organizowania naszej wiedzy na poziomie koncepcyjnym. Obiektowość zatem dostarcza skorowidza dla naszej wiedzy -niezależnie od tego, czy ta wiedza jest wyrażona w kategoriach reguł, logiki, funkcji, języków relacyjnych, sieci neuronowych itd. Obiektowość można używać jako podejścia do organizowania i łączenia wielu różnych technik programistycznych, włączając w to bazy wiedzy, obliczenia równoległe, restrukturyzację procesów przedsiębiorstwa i szybkie tworzenie programów. Obiektowość nie ogranicza się do systemów informatycznych.
12
Obiektowość systemów w ogólności
Obiektowość powstała z potrzeby łatwiejszego sposobu symulowania systemów – nie tylko symulowania systemów informatycznych, lecz dowolnych rodzajów systemów. Obiektowość dostarcza metodę do tworzenia dowolnych systemów – niezależnie od tego, jak te systemy będą implementowane. Ponadto tej samej obiektowej specyfikacji można użyć w wielu innych dziedzinach, niezależnie od tego czy dotyczą one ludzi, maszyn lub komputerów.
13
Podejście obiektowe Podejście obiektowe modeluje sposób w jaki ludzie rozumieją i przetwarzają rzeczywistość (podkreśla się rolę ludzi, ponieważ to oni tworzą systemy). Jeśli chcemy budować systemy działające poprawnie i spójnie, nasze specyfikacje powinny być jasne, zwięzłe i jednoznaczne. Takie specyfikacje są możliwe jedynie wówczas, gdy używa się formalnych podstaw. Te reprezentacje mogą mieć postać tekstową lub graficzną. Mogą pod określić strukturę i zachowanie systemu względem koncepcyjnym lub implementacyjnym. Mogą być implementacjami wyrażonymi w językach programowania, językach definiowania baz danych (DDL) i językami manipulowania danymi (DML). Takie implementacje można by jeszcze rozszerzyć tak, by zawierały inne zautomatyzowane podejścia, takie jak jednostki sterujące, robotykę i układy komputerowe.
14
Pojęcia i rzeczywistość
Tworzenie pojęć ułatwia nam porządkowanie naszego życia. Pojęcie jest wyobrażeniem lub oznaczeniem, które stosujemy do rzeczy lub obiektów w naszej świadomości. Wiemy, że posiedliśmy pojęcie, kiedy możemy je z powodzeniem zastosować do rzeczy wokół nas. Pojęcia są środkiem służącym do rozpoznawania. Używane przez nas pojęcia mogą być bardzo różnorodne, ponieważ sami je wybieramy.
15
Przykłady pojęć Materialne Niematerialne Role Opinie Osoba Ołówek
Samochód Czas Jakość Firma Doktor Pacjent Właściciel Wydajna praca Wysoka zapłata Dobry przykład Relacyjne Zdarzenia Inne typy pojęć Małżeństwo Partnerstwo Posiadanie Sprzedaż Zakup Załamanie rynku Zestaw Liczba Ikona Obraz Sygnał Proces
16
Intensja i ekstensja Intensja jest pełną definicją pojęcia i testu określającego, czy to pojęcie odnosi się do danego obiektu. Ekstensja jest zbiorem wszystkich obiektów, do których stosuje się to pojęcie. Intensja i ekstensja są dwiema stronami tej samej monety – termin „pojęcie” zawiera obie.
17
Pojęcie Instrument muzyczny można traktować jako jednostkowy element mający instensje i ekstensje
Dowolne urządzenie zdolne do wydawania melodyjnych i harmonijnych dźwięków
18
Symbolizowanie intensji i ekstensji
Symbole są zwięzłym sposobem odwoływania się do obiektów. Są szczególnie pomocne wtedy, gdy chcemy przekazywać informacje o pojęciach nie używając ich definicji. Symbolem pojęcia instrument muzyczny jest prostokąt z etykietą instrument muzyczny. Na kolejnym slajdzie pojęcie jest symbolizowane słowami Instrument muzyczny zawartymi w prostokącie. Jego intensja jest wyrażona przez opisową definicję, a jego ekstensją jest zbiór egzemplarzy Instrumentów muzycznych. W ten sposób, kiedykolwiek pojęcie zostanie zidentyfikowane podczas analizy, może zostać przedyskutowane w kategoriach nazwy, definicji i obiektów do których się stosuje.
19
Trójka pojęciowa dla Instrumentu muzycznego
Instrument muzyczny (Symbolizuje) Dowolne urządzenie zdolne do wydawania melodyjnych i harmonijnych dźwięków Instrument muzyczny Pojęcie (Intensja) (Ekstensja) Wzięte razem, dwustronna natura pojęcia i jego symboliczna reprezentacja, wspomagają analityka obiektowego w rozumieniu i przekazywaniu pojęć związanych z dziedziną zastosowań. Trójka pojęciowa z rysunku ilustruje sposób myślenia o tych trzech aspektach. Na samej górze jest symbol pojęcia. Lewa strona przedstawia intensję, definicję, pomysł lub wytłumaczenie pojęcia. Prawa strona przedstawia przykłady elementów ekstensji lub zbioru obiektów, do których stosuje się to pojęcie.
20
Niepełna trójka pojęciowa, w które pojęcie nie ma ani nazwy, ani symbolu
Pojęcia bez nazwy Brak Prowizja od zakupu, sprzedaży lub dostarczania towarów lub usług 48291 Używanie trójki pojęciowej jest ważne podczas analizy obiektowej. Pod pewnymi warunkami można pominąć jeden lub więcej aspektów trójki pojęciowej. Przykładowo ktoś może zdefiniować pojęcie bez symbolizującej je nazwy. Pojęcia i odpowiadające im obiekty nie wymagają istnienia nazw. Jednak ludzie wydajniej się porozumiewają, używając nazw do wyrażania pojęć. Odwoływanie się wyłącznie do definicji pojęcia spowalnia proces komunikowania się (ciągłe cytowanie definicji byłoby długie i nudne. Wybranie symbolu takiego jak np. Zamówienie do oznaczenia pojęcia umożliwia wprowadzanie skrótów do porozumiewania się.
21
Niepełna trójka pojęciowa, w które pojęcie nie ma żadnych egzemplarzy
Pojęcia bez egzemplarzy Sabotażysta w korporacji Osoba niszcząca własność z intencją zaszkodzenia korporacji Brak Przykład niepełnej trójki, z symbolem pojęcia i definicją, lecz bez obiektów w zbiorze egzemplarzy. Możemy mieć np. pojęcie Sabotażysty w korporacji, lecz jednocześnie mieć nadzieję, iż unikniemy jego egzemplarzy. Wprowadzenie pojęcia Sabotażysty w korporacji pozwoliłoby tej organizacji wykryć rzeczy niespodziewane. Bez tego pojęcia wykrycie nie byłoby możliwe. Idealny produkt mógłby być następnym przykładem pojęcia nie mającego egzemplarzy. Jednak jak można by oceniać produkty bez pojęcia produktu idealnego. Nowa firma może mieć pojęcie Zamówienia i Klienta, lecz jeszcze nie mieć żadnych klientów ani zamówień.
22
Niepełna trójka pojęciowa, w które pojęcie nie ma definicji
Pojęcia bez definicji P-CD-X99 Brak „X17”, „Z42”. … Uwaga: Należy wystrzegać się sytuacji, w której nie można ustalić żadnej definicji pojęcia, a wydaje się jednak, że udało się określić odpowiadający mu zbiór obiektów. Przykładowo przedstawiono zbiór zawierający „X17”, „Z42”, … i nie mający żadnej udokumentowanej definicji odnoszącego się do tych obiektów pojęcia P-CD-X99. Ten rodzaj problemów jest widoczny w organizacjach, które budują systemy bez dokumentacji. Analityk powinien zadbać o zdefiniowanie definicji każdego pojęcia w systemie. Pojęcie bez definicji nie jest pojęciem. Jest dosłownie bez znaczenia.
23
Pojęcia z synonimami Klient, Interesant
Osoba lub organizacja kupująca dobra lub usługi „IBM”, „Jan Kowalski” Zdarzają się sytuacje, w których dla danego pojęcia występuje więcej niż jeden symbol lub definicja. Przykładowo Klient i Interesant mogłyby być dwiema nazwami tego samego pojęcia. Czyli pojęcie może mieć jedną definicję i kilka nazw. To zjawisko jest czasami nazywane synonimem lub aliasem. Sprawia ono kłopot wielu administratorom danych, ponieważ chcieliby mieć proste i uporządkowane środowisko, w którym wszystko ma jedną standardową nazwę. O ile standaryzacja jest użyteczna, o tyle wymuszanie jednej nazwy jest niepraktyczne. W jednej firmie może istnieć kilka standardowych nazw jakiegoś pojęcia.
24
Sfinalizowana sprzedaż
Pojęcia z homonimami Sfinalizowana sprzedaż Sprzedaż zatwierdzona podaniem rąk 48291 Sprzedaż zatwierdzona podpisaniem kontraktu 48291 Zdarzają się sytuacje, w których trójka z homonimem ma, zamiast definicji z wieloma nazwami, nazwę z wieloma definicjami. Przykładowo większość firm ma dwie różne definicje Sformalizowanej sprzedaży. Dla sprzedawcy sprzedaż jest potwierdzana podaniem rąk i potwierdzającym skinieniem głowy. Dla księgowości sprzedaż istnieje dopiero po zatwierdzeniu i podpisaniu kontraktu sprzedaży. Wprawdzie jest możliwe, że ten sam obiekt jest egzemplarzem spełniającym obie definicje, jednak podstawowy problem pojawia się wtedy, kiedy te dwa zbiory są różne. Większość repozytoriów nie potrafi efektywnie obsługiwać homonimów. Obecnie ten kto rejestruje nazwę pojęcia jako pierwszy dostaje pełne prawa do tego słowa. W ten sposób, jeśli księgowość jako pierwsza użyje nazwy Sprzedaż, to dział sprzedaży będzie musiał wybrać inne słowo.
25
Dziedziny Dziedzina jest wybranym obszarem zainteresowań, który zawiera kolekcje obiektów będących egzemplarzami specyfikacji dziedziny. Specyfikacja dziedziny jest kolekcją pojęć odnoszących się do dziedziny. Dziedziny mogą być konkretne, tak jak zapas części, abstrakcyjne jak zamówienie lub złożone, w których nie zachodzi żadne przetwarzanie. Jednak systemy zwykle mają zarówno składniki strukturalne, jak i odnoszące się do zachowań. Dziedzina jest „sferą … aktywności i oddziaływania”, umożliwiającą zdefiniowanie perspektywy lub kontekstu. Bez perspektywy czy kontekstu nasze umysły mogą źle zrozumieć zawartość przekazu. Dla analityka oznacza to, że może być zagrożona koncepcyjna ścisłość. Dziedziny określają zakres, który formalnie ogranicza i koncentruje nasze wysiłki związane ze specyfikowaniem. Ograniczenie naszych wysiłków pomaga nam koncentrować się na tym co jest naszym obszarem zainteresowań. Zatem zdefiniowanie dziedziny wspomaga analityka przez umożliwienie mu dotarcia do sedna analizowanych zagadnień. Dziedzina systemu jest analizowanym przez analityka rzeczywistym światem; specyfikacja dziedziny jest produktem analizy systemu. Specyfikacja dziedziny zatem definiuje zbiór pojęć (tak strukturalnych, jak i odnoszących się do zachowań) dla konkretnej dziedziny.
26
Obiekt Obiekt jest to coś, do czego da się zastosować jakieś pojęcie. Obiekt jest egzemplarzem pojęcia. Terminy obiekt i egzemplarz można stosować wymiennie. Większość obiektów istnieje tylko przez pewien okres. Dla tych obiektów można sensownie zdefiniować momenty początkowy i końcowy. O ile obiekty są pojedynczymi, niezależnymi egzemplarzami, to zbiór jest pewną kolekcją (klasą) obiektów. Należenie do zbioru jest całkowicie określone przez pełną definicję (instensję) związanego z nim pojęcia. Ta definicja działa jak filtr, który przesiewa wszystkie obiekty, przepuszczając do zbioru tylko te, które przejdą test należenia do zbioru. Zbiór jest inną nazwą ekstensji pojęcia. Zbiór może zawierać wiele obiektów, a każdy obiekt może być elementem wielu zbiorów. Każdy zbiór jest kolekcją tych obiektów, które pomyślnie przeszły test przynależności określony przez pojęcie. Gdy stwierdzamy, że pojęcie stosuje się do konkretnego obiektu, ten obiekt jest sklasyfikowany jako element pewnego zbioru. Obiekt może w dowolnym momencie należeć do wielu zbiorów. To zjawisko nazywamy wielokrotną klasyfikacją. Ponadto, wraz z upływem czasu, obiekt może należeć do różnych zbiorów – to zjawisko nazywamy dynamiczną klasyfikacją.
27
Pojęcie a typ obiektowy
Typ obiektowy jest powszechnie stosowanym terminem na określenie pojęcia w środowisku osób zajmujących się standardami analizy obiektowej (niektórzy używają terminu klasa).
28
Powiązanie obiektów Powiązania umożliwiają łączenie w sensowny sposób obiektów różnych typów (dwa typy obiektowe Organizacja i Osoba są ze sobą powiązane).
29
Powiązanie dwóch typów obiektowych (klas)
Typy obiektowe są oznaczone prostokątnymi węzłami, linia oznacza powiązanie. Węzły są użytecznym mechanizmem prezentacji, gdyż graficznie odróżniają typy obiektowe od związanych z nimi struktur. O ile typy obiektowe dotyczą zbiorów obiektów, o tyle powiązania dotyczą połączeń obiektów między zbiorami.
30
Model statyczny Model obrazujący wymiar strukturalny systemu, przedstawiany jest na diagramach klas i diagramach obiektów. Podstawowe elementy występujące na diagramach klas to klasy (class) i związki (association). W klasie zdefiniowana jest struktura obiektów (wyznaczona przez typ klasy) i ich zachowanie (wyznaczone przez zbiór operacji (metod) klasy). Atrybuty i operacje nazywamy właściwościami klasy i jej obiektów. Zazwyczaj każda właściwość klasy występuje we wszystkich obiektach należących do tej klasy. Mówimy, że taka właściwość ma zasięg lokalny: odnosi się zawsze do jednego, konkretnego obiektu. Klasa może mieć również właściwości o zasięgu globalnym, czyli takie, które dotyczą wszystkich obiektów należących do tej klasy, a nie są bezpośrednio właściwościami żadnego z tych obiektów. Przykładem atrybutu globalnego może być liczba obiektów należących do danej klasy. Przykładem metody globalnej może być metoda podająca liczbę obiektów należących do klasy. Przechowywanie atrybutów globalnych w każdym obiekcie klasy byłoby niecelowe i bardzo kosztowne, w związku z czym są one zazwyczaj przechowywane w wyróżnionym obiekcie reprezentującym klasę jako całość (tzw. obiekcie kontenerowym).
31
Prosty diagram klas: Samochody i ich właściciele
Rysunek przedstawia prosty diagram klas dla systemu przechowującego informacje o samochodach i ich właścicielach. Występują na nim dwie klasy: Osoba i Samochód. Klasa Osoba, poza atrybutami o zasięgu obiektu (pesel, nazwisko i adres), ma też atrybut liczebność, o zasięgu klasy. Ma jedną metodę o zasięgu obiektu, podaj_opis() oraz jedną metodę o zasięgu klasy, podaj_liczebność(). Właściwości globalne są podkreślone. Klasa Samochód ma również właściwości lokalne: nr_rej, rok_produkcji, marka, podaj_opis() oraz globalne: liczebność, podaj_liczebność(), podaj_średni_wiek(). Klasy Osoba i Samochód nie są od siebie niezależne; są powiązane ze sobą związkiem o nazwie jest właścicielem.
32
Przykładowe wystąpienie diagramu klas
Na rysunku zamieszczono diagram obiektów będący jednym z niezliczonych możliwych wystąpień diagramu klas. Z tego diagramu wynika, że wymieniona na nim osoba (Jan Kowalski z Gdańska) jest właścicielem dwóch samochodów, których szczegóły podano jako wartości ich atrybutów. Obiekty klas Osoba i Samochód zostały tu wyróżnione poprzez ich nazwy (identyfikatory) poprzedzające nazwę klasy. Użycie nazwy obiektu jest nieobowiązkowe; konieczne jest natomiast umieszczenie (po znaku dwukropka) nazwy klasy, do której należy dany obiekt.
33
Związek jako klasa Celowe jest utworzenie klasy reprezentującej ten związek, czyli klasy Zatrudnienie. Klasa ta zawiera również metody potrzebne do zarządzania związkiem, np. metodę umożliwiającą zmianę stanowiska czy zmianę płacy. W takim rozwiązaniu nie ma potrzeby przechowywania w strukturze obiektu informacji o jego powiązaniach z innymi obiektami, gdyż wszystkie informacje mogą być przechowywane w obiektach reprezentujących te powiązania. Mamy tu 3 klasy: Osoba, Firma i Zatrudnienie. Związek pomiędzy klasą Osoba i klasą Firma reprezentuje powiązania pomiędzy poszczególnymi osobami i firmami, w których te osoby pracują. Ten związek nie został na diagramie nazwany; zamiast tego przy ikonach reprezentujących klasy umieszczono nazwy ról, jakie pełnią obiekty danej klasy w tym związku. I tak każda osoba pełni rolę „pracuje_w”, a każda firma rolę „zatrudnia”. Z umieszczonych na diagramie oznaczeń liczebności wynika, że każda osoba może pracować w jednej lub więcej firmach, a każda firma może zatrudniać jedną lub więcej osób. Z uwagi na przyjętą liczność związku ważne informacje dotyczące zatrudnienia danej osoby w danej firmie, takie jak: stanowisko, okres umowy, płaca itp., nie są atrybutami ani osoby, ani firmy, ale atrybutami pary (osoba, firma), a więc atrybutami powiązań pomiędzy konkretnymi obiektami klasy Osoba i Firma.
34
Związek stopnia 3 pomiędzy wykładowcami, studentami i przedmiotami
Stopień (degree lub arity) związku jest to liczba klas, pomiędzy którymi zachodzi dany związek. W związku podwójnym obiekty związanych ze sobą klas są powiązane ze sobą w pary, w związku potrójnym w trójki itp. Na diagramie przedstawiono przykład związku potrójnego, zachodzącego pomiędzy przedmiotami, wykładowcami i studentami pewnej szkoły. Przyjmijmy założenie, że wszystkie podwójne między parami (Wykładowca, Przedmiot), (Wykładowca, Student), (Przedmiot, Student) mają liczebność typu „wiele do wielu”. Aby dowiedzieć się, do którego wykładowcy dany student uczęszczał na dany przedmiot, nie wystarczy żaden zestaw par (w,s), (w,p) i (s,p). Musimy mieć do dyspozycji trójki (w,s,p). Potrzebne są więc wystąpienia związku potrójnego zachodzącego pomiędzy tymi klasami, nazwanego tu nauka.
35
Zadanie Przedstaw diagram klas odpowiadający następującym wymaganiom: System ma za zadanie przechowywać informacje o pracownikach (w tym profesorach), studentach oraz przeprowadzonych kursach. Kurs może być poprzedzony innym kursem; sam także może poprzedzać inne kursy. Każdy kurs składa się z co najmniej jednego wykładu. Wykład wchodzi w skład tylko jednego kursu. Należy pamiętać informacje o tym, na które wykłady był zapisany każdy ze studentów. Student może być zapisany na wiele wykładów (co najmniej jeden). Na jeden wykład może być zapisanych wielu studentów (co najmniej jeden). Wykład jest prowadzony przez jednego profesora. Profesor może prowadzić wiele wykładów; może też nie prowadzić żadnego wykładu.
36
Przykład agregacji: Zadanie: W skład grupy wchodzi od jednego do piętnastu studentów, przy czym student może należeć do dowolnej liczby grup; dla każdego studenta przechowywana jest informacja o tym, w jakim okresie należał do danej grupy.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.