Zpo-1-lab: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 2: | Linia 2: | ||
==Informacje wstępne== | ==Informacje wstępne== | ||
Przed przystąpieniem do realizacji ćwiczenia należy zapozanać się z wykładem oraz [http://alistair.cockburn.us/index.php/Using_CRC_cards | Przed przystąpieniem do realizacji ćwiczenia należy zapozanać się z wykładem oraz [http://alistair.cockburn.us/index.php/Using_CRC_cards artykułem A.Cockburna] dotyczącym wykorzystania kart CRC | ||
Celem ćwiczenia jest zastosowanie w praktyce metody projektowania obiektowego z użyciem kart CRC. | Celem ćwiczenia jest zastosowanie w praktyce metody projektowania obiektowego z użyciem kart CRC. | ||
Aktualna wersja na dzień 13:18, 1 wrz 2006
Ćwiczenie 1: Wprowadzenie do przedmiotu
Informacje wstępne
Przed przystąpieniem do realizacji ćwiczenia należy zapozanać się z wykładem oraz artykułem A.Cockburna dotyczącym wykorzystania kart CRC Celem ćwiczenia jest zastosowanie w praktyce metody projektowania obiektowego z użyciem kart CRC.
Zadanie
Należy zaprojektować system obiektowy dla obsługi rozgrywek Ligi Światowej, zgodnie z załączonym opisem. Sugerowaną metodą jest wykorzystanie kart CRC w powiązaniu z wiedzą przypomnianą podczas wykładu.
Zadanie polega na wyodrębnieniu klas, przydzieleniu im odpowiedzialności, określeniu ich powiązań pomiędzy sobą. Należy uwzględnić następujące ograniczenia:
- liczba grup w rundzie międzykontynentalnej jest zmienna
- mechanizm ustalania kolejności wewnątrz grup w obu rundach jest identyczny, ale zmienny
- liczba zespołów awansujących z rundy międzykontynentalnej do finałowej z każdej grupy może ulec zmianie
- liczebność grup w rundzie finałowej jest zmienna
Zaprojektowany system powinien umożliwić śledzenie i zapisywanie wyników rozgrywek niezależnie od zmian zachodzących w ww. zakresie.
Kolejnym krokiem jest zaimplementowanie wyników w postaci biblioteki klas języka Java. Należy dobrać właściwe struktury danych i skorzystać z możliwości oferowanych przez język do zaimplementowania rozwiązania.
Pytania do dyskusji
- W jakich sytuacjach zastosowanie dziedziczenia klas jest efektywniejsze niż zastosowanie interfejsów i ich implementacji?
- Które obiekty w projekcie systemu dla Ligi Światowej powinny być obiektami-referencjami, a jakie obiektami-wartościami?
- Jak zapewnić niezmienność wyników meczu po jego zakończeniu (utworzeniu obiekty reprezentującego mecz)?