pyt. 1 - 0-10 punktów
pyt. 2-15 0-3 punktów
1 Dla podanych założeń skonstruuj diagram klas (nie redukując liczności).
Nowoczesny hodowca świń
Z uwagi na zbliżający' się moment przyjęcia Polski do Unii Europejskiej, wszyscy hodowcy świń posiadający co najmniej 50 sztuk zwierząt mogą (a powyżej 100 - muszą) wprowadzić ich komputerową ewidencję. System ma ułatwić kontrolę liczebności i stanu stada oraz warunków,' sanitarnych w których przebywają zwierzęta.
Każda świrua ma unikalny numer ewidencyjny. W systemie przechowuje się informacje o dacie i wyniku jej ostatniego ważenia, wieku oraz wartości trzech ostatnich przyrostów wagi ciała. Ważenia świni nie mogą następować częściej niż co miesiąc i rzadziej niż co trzy niesiące.
Każde ze zwierząt jest zaliczane do jednej z trzech kategorii: prosiak, maciora lub tucznik. Zazwyczaj, po zakupie (lub urodzeniu się), Świnia jest prosiakiem i pozostaje takim aż do określonego wieku. Prosiak przechodzi szereg szczepień ochronnych (m. in. przed chorobą szalonych świń). System ma umożliwić sprawdzenie dat i rodzaju szczepień dla każdego prosiaka. Oprócz personelu, do funkcji tej mają dostęp kontrolerzy' sanitarni, dokonujący' inspekcji hodowli.
Maciora może karmie prosiaki {należy wtedy zapamiętać ich liczbę) lub spodziewać się potomstwa (zapamiętuje się wtedy przewidywaną datę prosienia). Po wykarmieniu maciora staje się zwykłym tucznikiem.
Z punktu widzenia hodowcy, najważniejszą informacją o świni jest jej przydatność na mięso. Macioi z założenia nie przeznacza się na rzeź, natomiast algorytm oceny przydatności na rzeź dla prosiaków i tuczników jest inny.
Świnie mieszkają w chlewach. Każdy z nich otrzymuje od inspektoratu sanitarnego klasę, wynikającą ze spełnienia określonych przepisów. Chlew, po kontroli, może zostać czasowo zamknięty. Należy' wówczas zapamiętać datę zamknięcia, opis przyczyn oraz opis warunków które muszą zostać spełnione by było możliwe jego ponowne otwarcie.
Chlewy podzielone są na boksy, o określonej pojemności w sztukach. Każda Świnia jest przydzielona do jednego boksu, przy' czym przy próbie przeniesienia świni do boksu pełnego system ma generować ostrzeżenie. W boksie z maciorą i prosiakami nie mogą przebywać inne świnie (nawet gdy boks nie jest zapełniony).
Oprócz aktualnej dyslokacji świń, w systemie ma być przechowywana historia o przydziałach świń do boksów z ostatniego półrocza (w celu m.in. określenia ewentualnego określenia styczności świń i rozprzestrzeniania się tą drogą chorób zakaźnych).
2. Dla przykładu z punktu 1 narysuj diagram przedstawiający (wybrane) dwa przypadki użycia powiązane ze sobą jedną ze znanych Ci relacji.
3. Wyjaśnij pojęcie polimorfizmu metod i wskaż przykład jego zastosowania w diagramie klas z punktu 1.
4. Dla wybranej asocjacji wiele do wielu z diagramu 1 (posiadającą atrybut i niesymetryczne liczności) wykonaj redukcję liczności.
5. Objaśnij zasadę zamienialności. Wskaż na diagramie z punktu 1 klasy, do których zasada ta może być zastosowana.
6. Wyjaśnij różnicę pomiędzy metodą klasy a metodą obiektu. Dla diagramu z punktu 1 wskaż (bądź dopisz o ile nie ma) przykład metody o zasięgu klasowym i atrybutu klasy.
7. Asocjację wiele do wielu z diagramu z punktu 1 (posiadającą atrybut i niesymetryczne liczności) zamień na asocjację
Jcwalifikowaną. ~~ '
8. Na diagramie z punktu 1 wskaż przykład ograniczenia statycznego i ograniczenia dynamicznego. Podaj, czego dotyczy każde z tych ograniczeń: atrybutu, obiektuTkTasy, ekstensji, powiązania czy asocjacji?
9. Wskaż na diagramie z punktu 1 asocjację, która w' naturalny sposób kwalifikuje się do zamiany na kompozycję lub agregację (być może już taką umieściłeś). Uzasadnij swój wybór (dlaczego agregacja0 dlaczego kompozycja?).
10. Z diagramu klas z punktu 1 wybierz dwie klasy połączone asocjacją wiele-do-wielu i wprowadź własne modyfikacje wymagań (np. dołącz nową klasę), tak by asocjację tę zamienić na temamą (3-amą). Narysuj zmieniony fragment
___ diagramu klas.
(T\) Dla dowolnego przypadku użycia systemu dla wymagań z punktu 1 narysuj diagram interakcji. Diagram ten musi przedstawiać interakcje między obiektami co najmniej 2 klas.
12. Z diagramu klas z punktu 1 wybierz klasę posiadającą przynajmniej dwie podkłasy (w' razie potrzeby dorysuj brakującą podklasę). Zamodeluj ten fragment diagramu w systemie relacyjnym na dwa różne sposoby.
13. Dla dowolnej klasy z punktu 1 wskaż dwa stany w jakich mogą się znajdować obiekty tej klasy'. Przedstaw diagram Stanów, zawierający te stany wraz z przejściem pomiędzy' nimi.
14 Objaśnij różnicę między następującymi strategiami rozwoju systemu: top-down i inside-out.
15. Krótko scharakteryzuj modele aktywów ponownego użycia.