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 artykułem] dotyczącym wykorzystania kart CRC | 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] 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. | ||
Linia 8: | Linia 8: | ||
Należy zaprojektować system obiektowy dla obsługi rozgrywek Ligi Światowej, zgodnie z załączonym [[Liga Światowa|opisem]]. Sugerowaną metodą jest wykorzystanie kart CRC w powiązaniu z wiedzą przypomnianą podczas wykładu. | Należy zaprojektować system obiektowy dla obsługi rozgrywek Ligi Światowej, zgodnie z załączonym [[Liga Światowa|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 | 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: | Należy uwzględnić następujące ograniczenia: | ||
# liczba grup w rundzie międzykontynentalnej jest zmienna | # liczba grup w rundzie międzykontynentalnej jest zmienna | ||
Linia 17: | Linia 17: | ||
Zaprojektowany system powinien umożliwić śledzenie i zapisywanie wyników rozgrywek niezależnie od zmian zachodzących w ww. zakresie. | 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. | 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== | ==Pytania do dyskusji== | ||
# W jakich sytuacjach zastosowanie dziedziczenia klas jest efektywniejsze niż zastosowanie interfejsów i ich implementacji? | # 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? | # 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? | # Jak zapewnić niezmienność wyników meczu po jego zakończeniu (utworzeniu obiekty reprezentującego mecz)? |
Wersja z 13:17, 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 [1] 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)?