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.

Grupa A

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ć).

Zadanie 2

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

Zadanie 3

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

Grupa B

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ć).

Zadanie 2

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ć).

Zadanie 3

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

Grupa C

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ć).

Zadanie 2

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

Zadanie 3

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

Grupa D

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ć).

Zadanie 2

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

Zadanie 3

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

Document Outline

  • Grupa A
    • Zadanie 1
    • Zadanie 2
    • Zadanie 3
  • Grupa B
    • Zadanie 1
    • Zadanie 2
    • Zadanie 3
  • Grupa C
    • Zadanie 1
    • Zadanie 2
    • Zadanie 3
  • Grupa D
    • Zadanie 1
    • Zadanie 2
    • Zadanie 3