inz opr zal 2k12 ab rozwiazania

background image

Proszę oceniać stosując załączone kryteria.

Kryteria sprawdzamy sekwencyjnie zaczynając od 1, przyznając punkty za każde spełnione
kryterium. Gdy w zadaniu wystąpi błąd, przerywamy sprawdzanie. Np. w takim rozwiązaniu
zadania 1:

w klasie obiektu transferowego jest niedopuszczalna metoda. Nie jest spełnione kryterium nr 4,
pozostałych kryteriów już nie sprawdzamy. Liczba punktów za to zadanie to 3.

W takim rozwiązaniu zadania 3:

występuje nieprawidłowy symbol. Nie jest spełnione kryterium nr 1, pozostałych kryteriów już nie
sprawdzamy. Liczba punktów za to zadanie to 0.

Oceniając, proszę zaznaczać błędy, tak jak pokazano w przykładach.

Na pierwszej stronie proszę wpisać liczbę punktów za test i łączną sumę punktów za zadania.

ZamowienieDTO

#ID: int

#data_zł: date

#wartość: float

--------------

+getID()

+setID(id)

+wyświetl()

PozycjaZamowieniaDTO

#ID: int

#ilość: int

#cena: float

#zamowienie:ZamowienieDTO

#wyrob: WyrobDTO

--------------

+get...()

+set...(...)

1 posiada → 1..*

zamówienie pozycjaZamówienia

WyrobDTO

#ID: int

#nazwa: string

--------------

+get...()

+set...(...)

0..*

1 występuje na →

pozycjaZamówienia

wyrób

4

3 punkty

fasada

:KadryFasada

serwis

:KadrySerwis

usunPracownika(pracownik)

delete(pracownik)

pracownikDAO

:PracownikDAO

1

0 punktów

background image

Grupa A

Zadanie 1

Klasa WyrobDTO jest opcjonalna. Bez niej rozwiązanie jest prawidłowe.

Kryterium

punkty

1

Czy są 2 (lub 3) klasy?

1

2

Czy asocjacje są takie jak wyżej (nie patrzymy na nazwy, role, liczebności, typ)?

1

3

Czy pola są takie jak na rysunku? Może nie być typu pola (int, string), w klasie PozycjaZamowieniaDTO
może nie być pól zamowienie i wyrob.

1

4

Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie
PozycjaZamowieniaDTO. Metody inne niż get i set są niedopuszczalne

1

5

Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Zamówienie posiada pozycje
zamówienia)

1

6

Czy prawidłowo określono liczebność asocjacji?

1

7

Czy przy nazwie asocjacji jest strzałka pokazująca kierunek czytania?

1

8

Czy nazwa klasy jest rzeczownikiem w liczbie pojedynczej? (może nie być końcówki DTO)

1

9

Czy określono role asocjacji, tak że da się przeczytać zależność po polsku. Rola musi być rzeczownikiem.
Takie role jak na rysunku też mogą być.

1

10

Czy końcówka nazwy klasy to DTO lub TO?

1

Maks. Liczba punktów 10

Typ asocjacji jest nieistotny (romb może być zamalowany, lub może go nie być).

ZamowienieDTO

#ID: int

#data_zł: date

#wartość: float

--------------

+getID()

+setID(id)

+getWartosc()

+setWartosc(w)

....

PozycjaZamowieniaDTO

#ID: int

#ilość: int

#cena: float

#zamowienie:ZamowienieDTO

#wyrob: WyrobDTO

--------------

+get...()

+set...(...)

1 posiada → 1..*

zamówienie pozycjaZamówienia

WyrobDTO

#ID: int

#nazwa: string

--------------

+get...()

+set...(...)

0..*

1 występuje na →

pozycjaZamówienia

wyrób

background image

Zadanie 2

Tutaj są niestety 2 prawidłowe rozwiązania, chociaż rysunek nr 2 jest mocno naciągany.

Kryterium

punkty

1

Czy symbole są prawidłowe (ludzik, elipsy, strzałki, linie przerywane). Brak systemu (ramka woków PU) jest
dopuszczalny.

1

2

Czy zgadza się liczba przypadków użycia?

1

3

Czy zależności są dokładnie takie ja na rysunku?
Sprawdzamy kierunki strzałek, nazwy zależności, połączenia PU zależnościami. Zależność od aktora do PU
może mieć strzałkę w kierunku PU.

3

4

Czy nazwy PU są czasownikami? (dopuszczamy rzeczowniki odsłowne, tj. zarządzanie, prezentacja)

1

5

Czy ludzik z lewej strony to kadry?

1

6

Czy nazwy PU są jednoznaczne? (PU 'usuń' jest wieloznaczny, bo nie wiadomo co usunąć)

1

7

Czy określono system? (ramka wokół PU)

1

8

Czy jest ludzik 'system' lub 'baza danych' lub podobnie brzmiący z prawej strony?

1

Maks. Liczba punktów 10

Zarządzanie kadrami

Prezentuj

Listę pracowników

Edycja

pracownika

Usuń

pracownika

Dodaj

pracownika

Kadry

System

<<extend>>

<<extend>>

<<extend>>

Zarządzanie kadrami

Zarządzaj

pracownikami

Edycja

pracownika

Usuń

pracownika

Dodaj

pracownika

Kadry

System

<<extend>>

<<extend>>

<<extend>>

Prezentuj

Listę pracowników

<<include>>

<<include>>

<<include>>

background image

Zadanie 3

Kryterium

punkty

1

Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane)
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią
napisane <<create>>.

3

2

Czy sekwencja komunikatów jest prawidłowa? (fasada – serwis – DAO)

2

3

Czy prawidłowo opisano aktorów? (obiekt:Klasa, nazwy obiektów i klas muszą być takie jak wyżej)

2

4

Czy nazwy komunikatów są takie, jak na rysunku?

3

Maks. Liczba punktów 10

fasada

:KadryFasada

serwis

:KadrySerwis

usunPracownika(pracownik)

delete(pracownik)

pracownikDAO

:PracownikDAO

background image

Grupa B

Zadanie 1

Kryterium

punkty

1

Czy są 2 klasy?

1

2

Czy asocjacje są takie jak wyżej (nie patrzymy na nazwy, role, liczebności, typ)?

1

3

Czy pola są takie jak na rysunku? Może nie być typu pola (int, string), w klasie
PrzydzialPodwladnegoDTO może nie być pól szef i podwładny

1

4

Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie
PrzydzialPodwladnegoDTO. Metody inne niż get i set są niedopuszczalne

1

5

Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Pracownik posiada Przydział
podwładnego, Przydział podwładnego dotyczy pracownika)

1

6

Czy prawidłowo określono liczebność asocjacji?

1

7

Czy przy nazwie asocjacji jest strzałka pokazująca kierunek czytania?

1

8

Czy nazwa klasy jest rzeczownikiem w liczbie pojedynczej? (może nie być końcówki DTO)

1

9

Czy określono role asocjacji, tak że da się przeczytać zależnośc po polsku. Rola musi być
rzeczownikiem. Takie role jak na rysunku też mogą być.

1

10 Czy końcówka nazwy klasy to DTO lub TO?

1

Maks. Liczba punktów 10

Typ asocjacji jest nieistotny (romb może być zamalowany, lub może go nie być).

PracownikDTO

#ID: int

#imie: string

#nazwisko: string

#adres: string

#data_ur: date

--------------

+getID()

+setID(id)

+getImie()

+setImie(imie)

....

PrzydzialPodwladnegoDTO

#ID: int

#od: date

#do: date

#szef: PracownikDTO

#podwladny: PracownikDTO

--------------

+get...()

+set...(...)

1 posiada → 0..*

szef przydziałSzefa

1 ← dotyczy 0..*

podwładny przydziałPodwładnego

background image

Zadanie 2

Kryterium

punkty

1

Czy są 3 klasy?

1

2

Czy asocjacje są takie jak wyżej (nie patrzymy na nazwy, role, liczebności, typ)?

1

3

Czy pola są takie jak na rysunku? Może nie być typu pola (int, string). W klasie DaneOsoboweDTO
może być pole pracownik.

1

4

Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie
PrzydzialPodwladnegoDTO. Metody inne niż get i set są niedopuszczalne

1

5

Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Pracownik posiada Przydział
podwładnego, Przydział podwładnego dotyczy pracownika)

1

6

Czy prawidłowo określono liczebności asocjacji?

1

7

Czy przy nazwie asocjacji jest strzałka pokazująca kierunek czytania?

1

8

Czy nazwa klasy jest rzeczownikiem w liczbie pojedynczej? (może nie być końcówki DTO)

1

9

Czy określono role asocjacji, tak że da się przeczytać zależnośc po polsku. Rola musi być
rzeczownikiem. Takie role jak na rysunku też mogą być.

1

10

Czy końcówka nazwy klasy to DTO lub TO?

1

Maks. Liczba punktów 10

Typ asocjacji jest nieistotny (romb może być zamalowany, lub może go nie być).

PracownikDTO

#ID: int

#data_ur: date

--------------

+getID()

+setID(id)

+getImie()

+setImie(imie)

....

PrzydzialPodwladnegoDTO

#ID: int

#od: date

#do: date

#szef: PracownikDTO

#podwladny: PracownikDTO

--------------

+get...()

+set...(...)

1 posiada → 0..*

szef przydziałSzefa

1 ← dotyczy 0..*

podwładny przydziałPodwładnego

DaneOsoboweDTO

#ID: int

#imie: string

#nazwisko: string

#adres: string

#od: date

#do: date

--------------

+get...()

+set...(...)

1

1..*

posiada →

daneOsobowe

właściciel

background image

Zadanie 3

Kryterium

punkty

1

Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane).
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią
napisane <<create>>.

3

2

Czy sekwencja komunikatów jest prawidłowa? (użytkownik – form – seans - fasada)

2

3

Czy prawidłowo opisano aktorów? (obiekt:Klasa, nazwy klas muszą być takie jak wyżej, wyjątkiem jest
Fasada: może być dowolna nazwa z końcówką Fasada lub Facade)

2

4

Czy nazwy komunikatów są takie, jak na rysunku?

3

Maks. Liczba punktów 10

użytkownik

seansForm

:SeansForm

onClickOK()

fasada

:Fasada

dodajSeans(seans)

seans

:SeansDTO

seans(data,sala,filmID)

background image

Grupa C

Zadanie 1

Kryterium

punkty

1

Czy są 3 klasy?

1

2

Czy asocjacje są takie jak wyżej (nie patrzymy na nazwy, role, liczebności, typ)?

1

3

Czy pola są takie jak na rysunku? Może nie być typu pola (int, string), w klasie KlasyfikacjaDTO mogą
być dodatkowe pola o nazwach 'wyrob' i 'typ'

1

4

Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie
TypDTO. Metody inne niż get i set są niedopuszczalne

1

5

Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Wyrób posiada klasyfikację, typ
posiada klasyfikację)

1

6

Czy prawidłowo określono liczebność asocjacji?

1

7

Czy przy nazwie asocjacji jest strzałka pokazująca kierunek czytania?

1

8

Czy nazwa klasy jest rzeczownikiem w liczbie pojedynczej? (może nie być końcówki DTO)

1

9

Czy określono role asocjacji, tak że da się przeczytać zależnośc po polsku. Rola musi być
rzeczownikiem. Takie role jak na rysunku też mogą być.

1

10

Czy końcówka nazwy klasy to DTO lub TO?

1

Maks. Liczba punktów 10

Typ asocjacji jest nieistotny (romb może być zamalowany, lub może go nie być).

WyrobDTO

#ID: int

#nazwa: string
--------------

+getID()
+setID(id)

+getNazwa()
+setNazwa(n)

KlasyfikacjaDTO

#ID: int
#data_od: date

#data_do: date
--------------

+get...()
+set...(...)

TypDTO

#ID: int
#typ: string

--------------
+get...()

+set...(...)

1..* ←posiada 1

1 posiada → 1..*

wyrób klasyfikacja

klasyfikacja typ

background image

Zadanie 2

Tutaj są niestety 2 prawidłowe rozwiązania, chociaż rysunek nr 2 jest mocno naciągany.

Kryterium

punkty

1

Czy symbole są prawidłowe (ludzik, elipsy, strzałki, linie przerywane). Brak systemu (ramka woków PU) jest
dopuszczalny.

1

2

Czy zgadza się liczba przypadków użycia

1

3

Czy zależności są dokładnie takie ja na rysunku?
Sprawdzamy kierunki strzałek, nazwy zależności, połączenia PU zależnościami. Zależność od aktora do
PU może mieć strzałkę w kierunku PU.

3

4

Czy nazwy PU są czasownikami? (dopuszczamy rzeczowniki odsłowne, tj. zarządzanie, prezentacja)

1

5

Czy ludzik z lewej strony to pracownik?

1

6

Czy nazwy PU są jednoznaczne? (PU 'usuń' jest wieloznaczny, bo nie wiadomo co usunąć)

1

7

Czy określono system? (ramka wokół PU)

1

8

Czy jest ludzik 'system' lub 'baza danych' lub podobnie brzmiący z prawej strony?

1

Maks. Liczba punktów 10

Zarządzanie wyrobami

Prezentuj

Listę wyrobów

Edycja

wyrobu

Usuń

wyrób

Dodaj

wyrób

Pracownicy

System

<<extend>>

<<extend>>

<<extend>>

Zarządzanie wyrobami

Zarządzaj

wyrobami

Edycja

wyrobu

Usuń

wyrób

Dodaj

wyrób

Pracownicy

System

<<extend>>

<<extend>>

<<extend>>

Prezentuj

Listę wyrobów

<<include>>

<<include>>

<<include>>

background image

Zadanie 3

Kryterium

punkty

1

Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane).
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią
napisane <<create>>.

2

2

Czy sekwencja komunikatów jest prawidłowa? (onClick – fasada – serwis – dao; OnClick - gui)

2

3

Czy z klasy DAO zwracany jest komunikat?
Nazwa komunikatu zwrotnego musi być taka sama, jak nazwa obiektu tworzonego przez DAO. Na
rysunku jest to listaWyrobow.

2

4

Czy prawidłowo opisano aktorów?
Schemat nazwy: obiekt:Klasa. Nazwy klas i obiektów mogą być trochę inne, np. WyrobyFacade,
WyrobyService, ale klasy muszą mieć końcówki Facade, Service, DAO. Nazwa klasy komunikatu
zwrotnego może być List<WyrobDTO>, ListaWyrobowDTO, ListaWyrobow.

2

5

Czy nazwy komunikatów jednoznacznie sugerują pobieranie listy wyrobów?
np. komunikat 'pobierz()' lub 'getLista()' lub 'pobierzDane()' jest dyskwalifikujący

1

6

Czy do obiektu gui wysłany jest komunikat o nazwie show(x)? x – obiekt zwrócony z fasady

1

Maks. Liczba punktów

10

onClickWyroby

:MenuCommand

facade

:Facade

getWyroby()

service

:Service

getWyroby()

dao

:WyrobyDAO

getWyroby()

listaWyrobow

:WyrobDTO

listaWyrobow

listaWyrobow

listaWyrobow

gui

:GUI

show(listaWyrobow)

onClickWyroby

:MenuCommand

facade

:Facade

getWyroby()

service

:Service

getWyroby()

dao

:WyrobyDAO

getWyroby()

listaWyrobow

:WyrobDTO

listaWyrobow

listaWyrobow

listaWyrobow

gui

:GUI

show(listaWyrobow)

background image

Grupa D

Zadanie 1

Kryterium

punkty

1

Czy są 3 klasy?

1

2

Czy asocjacje są takie jak wyżej (nie patrzymy na nazwy, role, liczebności, typ)?

1

3

Czy pola są takie jak na rysunku? Może nie być typu pola (int, string), w klasie
WłaścicielNieruchomościDTO może nie być pól osoba i nieruchomość.

1

4

Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie
NieruchomoscDTO. Metody inne niż get i set są niedopuszczalne

1

5

Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (nieruchomość posiada właściciela
nieruchomości)

1

6

Czy prawidłowo określono liczebność asocjacji?

1

7

Czy przy nazwie asocjacji jest strzałka pokazująca kierunek czytania?

1

8

Czy nazwa klasy jest rzeczownikiem w liczbie pojedynczej? (może nie być końcówki DTO)

1

9

Czy określono role asocjacji, tak że da się przeczytać zależność po polsku. Rola musi być
rzeczownikiem. Takie role jak na rysunku też mogą być.

1

10 Czy końcówka nazwy klasy to DTO lub TO?

1

Maks. Liczba punktów 10

Typ asocjacji jest nieistotny (romb może być zamalowany, lub może go nie być).

OsobaDTO

#ID: int

#osoba: string

--------------

+getID()

+setID(id)

+getOsoba()

+setOsoba(os)

....

WłaścicielNieruchomościDTO

#ID: int

#data_od: date

#data_do: date

#osoba: OsobaDTO

#nieruchomość: NieruchomoscDTO

--------------

+get...()

+set...(...)

1 jest → 0..*

właściciel własność

NieruchomoscDTO

#ID: int

#nieruchomosc: string

--------------

+get...()

+set...(...)

1..*

1 posiada →

wlaściciel

własność

background image

Zadanie 2

Tutaj są niestety 2 prawidłowe rozwiązania, chociaż rysunek nr 2 jest mocno naciągany.

Kryterium

punkty

1

Czy symbole są prawidłowe (ludzik, elipsy, strzałki, linie przerywane). Brak systemu (ramka woków PU) jest
dopuszczalny.

1

2

Czy zgadza się liczba przypadków użycia

1

3

Czy zależności są dokładnie takie ja na rysunku?
Sprawdzamy kierunki strzałek, nazwy zależności, połączenia PU zależnościami. Zależność od aktora do
PU może mieć strzałkę w kierunku PU.

3

4

Czy nazwy PU są czasownikami? (dopuszczamy rzeczowniki odsłowne, tj. zarządzanie, prezentacja)

1

5

Czy ludzik z lewej strony to pracownik lub pracownicy?

1

6

Czy nazwy PU są jednoznaczne? (PU 'usuń' jest wieloznaczny, bo nie wiadomo co usunąć)

1

7

Czy określono system? (ramka wokół PU)

1

8

Czy jest ludzik 'system' lub 'baza danych' lub podobnie brzmiący z prawej strony?

1

Maks. Liczba punktów 10

Zarządzanie nieruchomościami

Prezentuj

Listę nieruchomości

Edycja

nieruchomości

Usuń

nieruchomość

Dodaj

nieruchomość

Pracownik

System

<<extend>>

<<extend>>

<<extend>>

Prezentuj

historię własności

<<extend>>

Zarządzanie nieruchomościami

Zarządzaj

nieruchomościami

Edycja

nieruchomości

Usuń

nieruchomość

Dodaj

nieruchomość

Pracownik

System

<<extend>>

<<extend>>

<<extend>>

Prezentuj

historię własności

<<extend>>

Prezentuj

Listę nieruchomości

<<include>>

<<include>>

<<include>>

<<include>>

background image

Zadanie 3

Kryterium

punkty

1

Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane).
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią
napisane <<create>>.

2

2

Czy sekwencja komunikatów jest prawidłowa? (onClick – fasada – serwis – dao; OnClick - gui)

2

3

Czy z klasy DAO zwracany jest komunikat?
Nazwa komunikatu zwrotnego musi być taka sama, jak nazwa obiektu tworzonego przez DAO. Na
rysunku jest to listaNieruchomosci.

2

4

Czy prawidłowo opisano aktorów?
Schemat nazwy: obiekt:Klasa. Nazwy klas i obiektów mogą być trochę inne, np. NieruchomosciFacade,
NieruchomosciService, ale klasy muszą mieć końcówki Facade, Service, DAO. Nazwa klasy
komunikatu zwrotnego może być List<NieruchomoscDTO>, ListaNieruchomosciDTO,
ListaNieruchomosci.

2

5

Czy nazwy komunikatów jednoznacznie sugerują pobieranie listy nieruchomości?
np. komunikat 'pobierz()' lub 'getLista()' lub 'pobierzDane()' jest dyskwalifikujący

1

6

Czy do obiektu gui wysłany jest komunikat o nazwie show(x)? x – obiekt zwrócony z fasady

1

Maks. Liczba punktów 10

onClickNieruchomości

:MenuCommand

facade

:Facade

getNieruchomosci()

service

:Service

dao

:NieruchomosciDAO

listaNieruchomosci

:NieruchomoscDTO

listaNieruchomosci

listaNieruchomosci

listaNieruchomosci

gui

:GUI

show(listaNieruchomosci)

getNieruchomosci()

getNieruchomosci()


Document Outline


Wyszukiwarka

Podobne podstrony:
inz opr zal 2k12 ab rozwiazania
inz opr zal 2k12 a
inz opr zal 2k12 termin2 id 219 Nieznany
inz opr zal 2k12 termin3
inz opr zal 2k12 termin4
inz opr zal 2k12 termin3
inz opr zal 2k12 b
inz opr zal 2k12 termin4
inz opr zal 2k11 b
inz opr zal 2k10 e
inz opr zal 2k09 d
inz opr zal 2k11 b
inz opr zal 2k09 c

więcej podobnych podstron