1 / 16

Referat 3

Realizacja asocjacji. :Osoba Ewa. :Osoba Jasio. :Osoba Kasia. Anna Kuran Artur Jendrzejak. pracuje_w. pracuje_w. pracuje_w. :Firma Szewska. :Firma Krawiecka. Referat 3. Indeks zagadnień. Powiązania Liczności asocjacji 1-do-1 i 1-do-wiele

piper
Download Presentation

Referat 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Realizacja asocjacji :Osoba Ewa :Osoba Jasio :Osoba Kasia Anna Kuran Artur Jendrzejak pracuje_w pracuje_w pracuje_w :Firma Szewska :Firma Krawiecka Referat 3

  2. Indeks zagadnień • Powiązania • Liczności asocjacji 1-do-1 i 1-do-wiele (dla określonej i dla nieokreślonej maksymalnej liczności) • Typy asocjacji - jednokierunkowa - dwukierunkowa • Realizacja asocjacji w zależności od liczności - pole - tablica - wektor • Asocjacja rekurencyjna • Asocjacja z atrybutami i klasa asocjacji

  3. Klasyfikator • Jest to blok konstrukcyjny, który służy do opisania cech strukturalnych i czynnościowych; • Klasyfikatorami są klasy, interfejsy, typy danych, ...

  4. Powiązanie (1) • To związek strukturalny określający zbiór połączeń między obiektami • Związek znaczeniowy między co najmniej dwoma klasyfikatorami, który określa połączenia między ich egzemplarzami

  5. Powiązanie (2) • Specyfikacja asocjacji jest_w pomiędzy obiektami klasy Firma i obiektami klasy Miasto: jest_w Firma Miasto 1 1..* • Biały trójkącik określa kierunek czytania nazwy powiązania (w tym przypadku określa on, że firma znajduje się w mieście, a nie miasto w firmie) • „jest_w” to nazwa asocjacji, która wyznacza znaczenie tej asocjacji w modelu pojęciowym.

  6. Rodzaje powiązań (1) • Dwuargumentowe (binarne): pracuje_w Firma Osoba 1 1..* Diagram obiektów: :Osoba Kasia pracuje_w :Firma Krawiecka :Osoba Ewa pracuje_w

  7. Rodzaje powiązań (2) • Wieloargumentowe (n-arne): Rok sezon * * * Zespół Gracz bramkarz Zapis Mecz gole nasze gole ich

  8. 1 1 1 * Państwo Stolica Firma Pracownik 0..1 0..* Osoba Adres Liczności • Asocjacje mogą mieć oznaczenia liczności. Liczność oznacza, ile obiektów innej klasy może być powiązane z jednym obiektem danej klasy.

  9. ma Student Index 1 1 Asocjacja dwukierunkowa 1-do-1 class Student{ String nazwisko; Index nrAlbumu; public Student(String naz, String tryb){ nazwisko = naz; nrAlbumu = new Index(String tryb, this); } } class Index{ String trybStudiow; int numer; Student wlasciciel; static int kolejnyNumer; public Index(String tryb, Student wlas){ numer = kolejnyNumer; trybStudiow = tryb; wlasciciel = wlas; kolejnyNumer++; } }

  10. Asocjacja dwukierunkowa 1-do-wiele (tablica) class Osoba{ String imie; Firma pracodawca; public Osoba(String im){ imie = im; pracodawca = null; } public void zatrudnij(Firma f){ pracodawca = f; } } class Firma{ String nazwa; Osoba[] pracownicy; static int iluPracownikow = 10; public Firma(String naz, int iluPracownikow){ nazwa = naz; pracownicy = new Osoba[iluPracownikow]; } public void zatrudnij(Osoba nowa){ if (iloscPracownikow < iluPracownikow) { pracownicy[iloscPracownikow] = nowa; iloscPracownikow++; nowa.zatrudnij(this); } } } pracuje_w Firma Osoba 1 1..10

  11. Asocjacja dwukierunkowa 1-do-wiele (Vector) class Osoba{ String imie; Firma pracodawca; public Osoba(String im){ imie = im; pracodawca = null; } public void zatrudnij(Firma f){ pracodawca = f; } } class Firma{ String nazwa; Vector pracownicy; public Firma(String naz){ nazwa = naz; pracownicy = new Vector(); } public void zatrudnij(Osoba nowa){ pracownicy.add(nowa); nowa.zatrudnij(this); } } pracuje_w Firma Osoba 1 1..*

  12. podwładny * Pracownik 0..1 szef Asocjacja rekurencyjna Asocjacje mogą łączyć obiekty tej samej klasy. Stosuje się wtedy tzw. role asocjacji. Nazwy ról (np. szef ) umieszcza się przy odpo-wiednich końcach asocjacji. Określają one rodzaj nawigowania; specyfikują klasę „cel”. Pracownik w roli szefa ma od 0 do wielu podwładnych. Pracownik w roli podwładnego ma 0 lub 1 szefa.

  13. podwładny * Pracownik 0..1 szef Asocjacja rekurencyjna class Pracownik{ String nazwisko; Pracownik szef = null; Vector podwładni = new Vector; public Pracownik(String nazwisko, Pracownik szef){ this.nazwisko = nazwisko; this.szef = szef; } public dodajPodwładnego(Pracownik pr){ podwładni.add(pr); } }

  14. pracuje_w 1 1 Firma nazwa adres Firma nazwa adres Osoba nazwisko pesel adres Osoba nazwisko pesel adres 1..* * * 1..* Zatrudnienie zarobek stanowisko Zatrudnienie zarobek stanowisko Asocjacja z atrybutami • Asocjacje mogą być wyposażone w atrybuty lub klasy asocjacji. Wewnątrz klasy asocjacji można zdefiniować atrybuty, operacje i inne cechy asocjacji.

  15. Asocjacja z atrybutami class Osoba{ String nazwisko; String pesel; String adres; OsobaZatrudniona zatrudnienie; } class Firma { String nazwa; String adres; OsobaZatrudniona[] osobyZatrudnione; } class OsobaZatrudniona { int zarobek; int stanowisko; Firma firmaZatrudniajaca; Osoba osobaZatrudniona; }

  16. KONIEC Bibliografia • www.java.sun.com • Ewa Stemposz, Kazimiesz Subieta – Wykłady z PRI „Analiza i Projektowanie Systemów Informacyjnych” • Grady Booch, James Rumbaugh „UML przewodnik użytkownika” • Krzysztof Barteczko – „Podstawy programowania w JAVA” • Perdita Stevens, Rob Pooley „Using UML”

More Related