Zpo-1-lab

From Studia Informatyczne

Spis treści

Ć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:

  1. liczba grup w rundzie międzykontynentalnej jest zmienna
  2. mechanizm ustalania kolejności wewnątrz grup w obu rundach jest identyczny, ale zmienny
  3. liczba zespołów awansujących z rundy międzykontynentalnej do finałowej z każdej grupy może ulec zmianie
  4. 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

  1. W jakich sytuacjach zastosowanie dziedziczenia klas jest efektywniejsze niż zastosowanie interfejsów i ich implementacji?
  2. Które obiekty w projekcie systemu dla Ligi Światowej powinny być obiektami-referencjami, a jakie obiektami-wartościami?
  3. Jak zapewnić niezmienność wyników meczu po jego zakończeniu (utworzeniu obiekty reprezentującego mecz)?