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:
1 posiada → 1. *
ZamowienieDTO
PozycjaZamowieniaDTO
3 punkty
#ID: int
zamówienie pozycjaZamówienia
#ID: int
#data_zł: date
#ilość: int
#wartość: float
#cena: float
--------------
#zamowienie:ZamowienieDTO
+getID()
#wyrob: WyrobDTO
4
+setID(id)
--------------
+wyświetl()
+get...()
+set...(...)
WyrobDTO
0. *
#ID: int
1 występuje na →
#nazwa: string
--------------
pozycjaZamówienia
wyrób
+get...()
+set...(...)
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:
fasada
serwis
:KadryFasada
:KadrySerwis
1
0 punktów
usunPracownika(pracownik)
pracownikDAO
:PracownikDAO
delete(pracownik)
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.
Zadanie 1
1 posiada → 1. *
ZamowienieDTO
PozycjaZamowieniaDTO
#ID: int
zamówienie pozycjaZamówienia
#ID: int
#data_zł: date
#ilość: int
#wartość: float
#cena: float
--------------
#zamowienie:ZamowienieDTO
+getID()
#wyrob: WyrobDTO
+setID(id)
--------------
+getWartosc()
+get...()
+setWartosc(w)
+set...(...)
WyrobDTO
....
0. *
#ID: int
1 występuje na →
#nazwa: string
--------------
pozycjaZamówienia
wyrób
+get...()
+set...(...)
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
1
może nie być pól zamowienie i wyrob.
4
Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie 1
PozycjaZamowieniaDTO. Metody inne niż get i set są niedopuszczalne 5
Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Zamówienie posiada pozycje 1
zamówienia)
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. 1
Takie role jak na rysunku też mogą być.
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ć).
Tutaj są niestety 2 prawidłowe rozwiązania, chociaż rysunek nr 2 jest mocno naciągany.
Zarządzanie kadrami
Prezentuj
Listę pracowników
<<extend>>
<<extend>>
<<extend>>
Kadry
System
Edycja
Usuń
Dodaj
pracownika
pracownika
pracownika
Zarządzanie kadrami
Zarządzaj
pracownikami
<<extend>>
<<extend>>
<<extend>>
Kadry
System
Edycja
Usuń
Dodaj
pracownika
pracownika
pracownika
<<include>>
<<include>>
<<include>>
Prezentuj
Listę pracowników
Kryterium
punkty
1
Czy symbole są prawidłowe (ludzik, elipsy, strzałki, linie przerywane). Brak systemu (ramka woków PU) jest 1
dopuszczalny.
2
Czy zgadza się liczba przypadków użycia?
1
3
Czy zależności są dokładnie takie ja na rysunku?
3
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.
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
fasada
serwis
:KadryFasada
:KadrySerwis
usunPracownika(pracownik)
pracownikDAO
:PracownikDAO
delete(pracownik)
Kryterium
punkty
1
Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane) 3
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią napisane <<create>>.
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
Zadanie 1
1 posiada → 0. *
PracownikDTO
PrzydzialPodwladnegoDTO
#ID: int
szef przydziałSzefa
#ID: int
#imie: string
#od: date
#nazwisko: string
#do: date
#adres: string
#szef: PracownikDTO
1 ← dotyczy 0. *
#data_ur: date
#podwladny: PracownikDTO
--------------
--------------
+getID()
podwładny przydziałPodwładnego
+get...()
+setID(id)
+set...(...)
+getImie()
+setImie(imie)
....
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 1
PrzydzialPodwladnegoDTO może nie być pól szef i podwładny 4
Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie 1
PrzydzialPodwladnegoDTO. Metody inne niż get i set są niedopuszczalne 5
Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Pracownik posiada Przydział
1
podwładnego, Przydział podwładnego dotyczy pracownika) 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ć 1
rzeczownikiem. Takie role jak na rysunku też mogą być.
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ć).
1 posiada → 0. *
PracownikDTO
PrzydzialPodwladnegoDTO
#ID: int
szef przydziałSzefa
#ID: int
#data_ur: date
#od: date
#do: date
--------------
#szef: PracownikDTO
1 ← dotyczy 0. *
+getID()
#podwladny: PracownikDTO
+setID(id)
--------------
+getImie()
podwładny przydziałPodwładnego
+get...()
+setImie(imie)
+set...(...)
....
1
posiada →
DaneOsoboweDTO
właściciel
#ID: int
#imie: string
1..* #nazwisko: string
#adres: string
daneOsobowe
#od: date
#do: date
--------------
+get...()
+set...(...)
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
1
może być pole pracownik.
4
Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie 1
PrzydzialPodwladnegoDTO. Metody inne niż get i set są niedopuszczalne 5
Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Pracownik posiada Przydział
1
podwładnego, Przydział podwładnego dotyczy pracownika) 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ć 1
rzeczownikiem. Takie role jak na rysunku też mogą być.
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ć).
użytkownik
seansForm
fasada
:SeansForm
:Fasada
onClickOK()
seans(data,sala,filmID)
seans
:SeansDTO
dodajSeans(seans)
Kryterium
punkty
1
Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane).
3
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią napisane <<create>>.
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 2
Fasada: może być dowolna nazwa z końcówką Fasada lub Facade) 4
Czy nazwy komunikatów są takie, jak na rysunku?
3
Maks. Liczba punktów 10
Zadanie 1
WyrobDTO
KlasyfikacjaDTO
TypDTO
#ID: int
#ID: int
#ID: int
#nazwa: string
#data_od: date
#typ: string
1 posiada → 1..*
1. * ←posiada 1
--------------
#data_do: date
--------------
+getID()
--------------
+get...()
+setID(id)
wyrób klasyfikacja +get...()
klasyfikacja typ
+set...(...)
+getNazwa()
+set...(...)
+setNazwa(n)
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ą 1
być dodatkowe pola o nazwach 'wyrob' i 'typ'
4
Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie 1
TypDTO. Metody inne niż get i set są niedopuszczalne 5
Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (Wyrób posiada klasyfikację, typ 1
posiada klasyfikację)
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ć 1
rzeczownikiem. Takie role jak na rysunku też mogą być.
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ć).
Tutaj są niestety 2 prawidłowe rozwiązania, chociaż rysunek nr 2 jest mocno naciągany.
Zarządzanie wyrobami
Prezentuj
Listę wyrobów
<<extend>>
<<extend>>
<<extend>>
Pracownicy
System
Edycja
Usuń
Dodaj
wyrobu
wyrób
wyrób
Zarządzanie wyrobami
Zarządzaj
wyrobami
<<extend>>
<<extend>>
<<extend>>
Pracownicy
System
Edycja
Usuń
Dodaj
wyrobu
wyrób
wyrób
<<include>>
<<include>>
<<include>>
Prezentuj
Listę wyrobów
Kryterium
punkty
1
Czy symbole są prawidłowe (ludzik, elipsy, strzałki, linie przerywane). Brak systemu (ramka woków PU) jest 1
dopuszczalny.
2
Czy zgadza się liczba przypadków użycia
1
3
Czy zależności są dokładnie takie ja na rysunku?
3
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.
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
onClickWyroby
facade
service
dao
gui
:MenuCommand
:Facade
:Service
:WyrobyDAO
:GUI
getWyroby()
getWyroby()
getWyroby()
listaWyrobow
listaWyrobow
listaWyrobow listaWyrobow
:WyrobDTO
show(listaWyrobow)
onClickWyroby
gui
facade
service
dao
:MenuCommand
:GUI
:Facade
:Service
:WyrobyDAO
getWyroby()
getWyroby()
getWyroby()
listaWyrobow
listaWyrobow
listaWyrobow
listaWyrobow
:WyrobDTO
show(listaWyrobow)
Kryterium
punkty
1
Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane).
2
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią napisane <<create>>.
2
Czy sekwencja komunikatów jest prawidłowa? (onClick – fasada – serwis – dao; OnClick - gui) 2
3
Czy z klasy DAO zwracany jest komunikat?
2
Nazwa komunikatu zwrotnego musi być taka sama, jak nazwa obiektu tworzonego przez DAO. Na rysunku jest to listaWyrobow.
4
Czy prawidłowo opisano aktorów?
2
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.
5
Czy nazwy komunikatów jednoznacznie sugerują pobieranie listy wyrobów?
1
np. komunikat 'pobierz()' lub 'getLista()' lub 'pobierzDane()' jest dyskwalifikujący 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
Zadanie 1
1 jest → 0. *
OsobaDTO
WłaścicielNieruchomościDTO
#ID: int
właściciel własność
#ID: int
#osoba: string
#data_od: date
--------------
#data_do: date
+getID()
#osoba: OsobaDTO
+setID(id)
#nieruchomość: NieruchomoscDTO
+getOsoba()
--------------
+setOsoba(os)
+get...()
....
+set...(...)
NieruchomoscDTO
1. * wlaściciel
#ID: int
1 posiada →
#nieruchomosc: string
--------------
własność
+get...()
+set...(...)
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 1
WłaścicielNieruchomościDTO może nie być pól osoba i nieruchomość.
4
Czy metody są takie jak na rysunku? Metody mogą być specyfikowane skrótowo, jak np. w klasie 1
NieruchomoscDTO. Metody inne niż get i set są niedopuszczalne 5
Czy asocjacje mają nazwy, takie, że da się przeczytać po polsku? (nieruchomość posiada właściciela 1
nieruchomości)
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ć 1
rzeczownikiem. Takie role jak na rysunku też mogą być.
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ć).
Tutaj są niestety 2 prawidłowe rozwiązania, chociaż rysunek nr 2 jest mocno naciągany.
Zarządzanie nieruchomościami
Prezentuj
Listę nieruchomości
<<extend>>
<<extend>>
<<extend>>
<<extend>>
Pracownik
System
Edycja
Usuń
Dodaj
Prezentuj
nieruchomości
nieruchomość
nieruchomość
historię własności
Zarządzanie nieruchomościami
Zarządzaj
nieruchomościami
<<extend>>
<<extend>>
<<extend>>
<<extend>>
Pracownik
System
Edycja
Usuń
Dodaj
Prezentuj
nieruchomości
nieruchomość
nieruchomość
historię własności
<<include>>
<<include>>
<<include>>
<<include>>
Prezentuj
Listę nieruchomości
Kryterium
punkty
1
Czy symbole są prawidłowe (ludzik, elipsy, strzałki, linie przerywane). Brak systemu (ramka woków PU) jest 1
dopuszczalny.
2
Czy zgadza się liczba przypadków użycia
1
3
Czy zależności są dokładnie takie ja na rysunku?
3
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.
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
onClickNieruchomości
facade
service
dao
gui
:MenuCommand
:Facade
:Service
:NieruchomosciDAO
:GUI
getNieruchomosci() getNieruchomosci()
getNieruchomosci()
listaNieruchomosci
listaNieruchomosci
listaNieruchomosci
listaNieruchomosci
:NieruchomoscDTO
show(listaNieruchomosci)
Kryterium
punkty
1
Czy symbole są prawidłowe (obiekty, linie życia, strzałki, linie ciągłe i przerywane).
2
Wywołanie konstruktora może być narysowane linią ciągłą, ale wtedy musi być nad nią lub pod nią napisane <<create>>.
2
Czy sekwencja komunikatów jest prawidłowa? (onClick – fasada – serwis – dao; OnClick - gui) 2
3
Czy z klasy DAO zwracany jest komunikat?
2
Nazwa komunikatu zwrotnego musi być taka sama, jak nazwa obiektu tworzonego przez DAO. Na rysunku jest to listaNieruchomosci.
4
Czy prawidłowo opisano aktorów?
2
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.
5
Czy nazwy komunikatów jednoznacznie sugerują pobieranie listy nieruchomości?
1
np. komunikat 'pobierz()' lub 'getLista()' lub 'pobierzDane()' jest dyskwalifikujący 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