Analiza projektowanie i programowanie obiektowe II. Projekt systemu informatycznego wspomagającego zarządzanie rozgrywkami polskiej piłki nożnej. A. M. III semestr studiów niestacjonarnych na kierunku informatyka.
. System ligowy piłki nożnej Rozdział ten zawiera schemat ogólny systemu ligowego piłki nożnej w Polsce prezentujący pozycję zawodnika na tle ogólnej struktury. Diagram ogólny GRA Zawodnik KLUB Drużyna seniorska LIGA: Ekstra Klasa I Liga II Liga Grupa wschodnia Grupa zachodnia Drużyna juniorów młodszych Drużyna Drużyna Drużyna Drużyna Drużyna juniorów strszych Drużyna X Drużyna X Drużyna X Drużyna X Drużyna trampkarzy Drużyna 6 Drużyna 8 Drużyna 8 Drużyna 8 Drużyna młodzików III Liga Grupa Grupa 2 Grupa 3 Grupa 4 IV Liga Grupa Drużyna orlików Drużyna Drużyna Drużyna Drużyna Drużyna Drużyna żaków Drużyna 6 Drużyna 6 Drużyna 6 Drużyna 6 Grupa 2 Drużyna Klasa Grupa 5 Drużyna Grupa 6 Drużyna Grupa 7 Drużyna Grupa 8 Drużyna Województwo Grupa x Drużyna Województwo 2 Drużyna 6 Klasa okręgowa Drużyna 6 Drużyna 6 Drużyna 6 Województwo x Klasa A Grupa 20 Drużyna Klasa B Województwo 6 Klasa C Grupy Grupa Grupa 2 Grupa X
Powyższy diagram nie jest zgodny z UML zawiera jedynie ogólny schemat blokowy przedstawiający różne zależności w obecnym systemie ligowych. Przede wszystkim przedstawia on zawodnika przynależącego do danej drużyny, jak również drużynę piłkarska będącą częścią większej struktury. Na podstawie tego schematu zastanie zaprojektowany diagram klas, tak by w sposób obiektowy przenieść realną strukturę na właściwy dla programisty obraz kodu.
Diagram klas
Liga Ekstra Klasa I Liga II Liga Grupa Drużyna III Liga IV Liga Klasa okręgowa Województwo Klasa A Klasa B Klasa C Druzyna seniorska Drużyna juniorów młodszych Drużyna juniorów starszych Druzyna trampkarzy Klub Zawodnik Druzyna młodzików Druzyna orlików Druzyna żaków
Powyższy diagram jest klasa UML owską implementacją odzwierciedlającą rzeczywisty podział ligowy polskiej piłki nożnej. Jak możemy wyczytać z diagramu klasą nadrzędną jest klasa liga, która będzie zawierać poszczególne podgrupy takie jak: Ekstra klasa I liga II Liga III Liga IV Liga Klasa okręgowa Klasa A Klasa B Klasa C Ekstra klasa i pierwsza liga zawierają drużyny o rożnych podziałach wiekowych. Drużyny te należą do klubów. W składzie poszczególnych drużyn grają zawodnicy. II, III i IV liga są podzielone na grupy, które zawierają drużyny. Klasy: okręgowa, A, B i C są podzielone na województwa, które z kolei zawierają grupy podzielone na drużyny itp. Schemat bazy danych:
Powyższy schemat przedstawia bazę danych pozwalającą zarządzać schematem ligowym. Tabele zawierają na tym etapie jedynie podstawowe pola, które cechują ich wzajemne zależności. Dodatkowe kolumny dotyczące szczegółowych wartości zostaną dodane na dalszym etapie projektowania. 2. Zarządzanie klubem Przypadku użycia
Zgłaszanie zawodnika do rozgrywek Dodawanie drużyny Usuwanie drużyny Modyfikacja drużyny Zgłaszanie druzyny do rozgrywek Zgłaszanie druzyny do klasy, gruby, województwa Dodawanie klubu Edycja / usuwanie klubu Akceptowanie wniosku dodania/usuniecia zawodnika do klubu Ddawanie swojego profilu Edycja profilu Zawodnik Wnioskowanie o oddanie/usiniecie do klubu Tworzenie organizacji podzału ligowego Administrator Opis przypadków użycia: Aktor Nazwa Opis Zgłaszanie zawodnika do rozgrywek Dodawanie drużyny Usuwanie drużyny może dodać profil zawodnika do listy zawodników konkretnego klubu Dodawanie nowej drużyny do listy drużyn Usuwanie drużyny z list drużyn
Zawodnik Zawodnik Zawodnik Administrator (dziedziczy po prezesie klubu i zawodniku) Modyfikacja drużyny Zgłaszanie drużyny do klasy / kluby / województwa Zgłaszanie drużyny do rozgrywek Akceptowanie wniosku dodania/ usunięcia zawodnika z klubu Dodanie klubu Edycja / usuwanie klubu Dodawanie nowego profilu Edycja profilu Wnioskowanie o dodanie / usunięcie z klubu Tworzenie organizacji i podziały ligowego Modyfikacja danych o jakiejś drużynie Przyporządkowywanie danej drużyny do obiektu pod którą ta drużyna podlega - klasy, klubu lub województwa Zgłaszanie swoich drużyn do rozgrywek pałkarskich Kiedy dany zawodnik zgłosi, że podlega pod dany klub w systemie pojawia się tzw. wniosek o dodanie do klubu. Kiedy prezes klubu zaakceptuje dany wniosek, wtedy może umieścić profil zawodnika w którejś ze swoich drużyn. może dodać swój klub na listę klubów Edycja danych o klubie oraz usuwanie klubu z listy klubów Dodawanie swojego profilu i wypełnianie do niezbędnymi danymi imię, nazwisko, pesel itp. Zmiana swoich danych osobowych Zawodnik zgłasza chęć dodanie swojego profilu do danego klubu. Wniosek musi zostać zaakceptowany przez prezesa danego klubu Administrator może robić wszystko to, co dwóch poprzednich aktorów a dodatkowo tworzy organizacje i podział ligowy wg. przedstawionego wcześniej schematu
3. Zarządzanie meczami Przypadki użycia Zawodnik «extends» Wpisywanie składu drużyny Kierownik drużyny Akceptacja protokołu Sedzia pomocniczy Oglądanie historii spotkań «extends» «extends» Drukowanie protokołu Wypełnianie protokołu sędziowskiego Sędzia główny Publikacja protokołu sędziowskiego Aktor Nazwa Opis Wypełnianie protokołu Sędzia główny wypełnia Sędzia główny sędziowskiego protokół sędziowski.
Kierownik drużyny Kierownik drużyny Kierownik drużyny, sędzia główny Sędzia główny Sędzia główny Wpisywanie składu drużyny do protokołu sędziowskiego Akceptacja protokołu sędziowskiego Drukowanie protokołu sędziowskiego Publikacja protokołu sędziowskiego Oglądanie historii spotkań Protokół jest już częściowo wypełniony przez, kierownika drużyny, który wpisuje do protokoły skład swojej drużyny Kierownik wpisuje przed meczem skład swojej drużyny do protokołu sędziowskiego, tak aby sędzia mógł go tylko wypełnić. Kierownicy obu drużyn muszą zaakceptować protokół meczowy, zgadzając się z jego treścią. Kierownik drużyny i sędzia główny mogą wydrukować protokół meczowy. Sędzia może wydrukować protokół przed meczem, aby go wypełniać na kartce a następnie wprowadzić do systemu. Kierownicy drużyn drukują wypełnione protokoły by móc zostawić pod nimi swój odręczny podpis. Po zaakceptowaniu protokołów przez kierowników drużyn protokół może zostać upubliczniony w internecie. Oglądanie historii spotkań, które sędziował. 4. Zarządzanie systemem
a) Przypadki użycia Sprawdzanie poprawności danych System Wysylanie przypomień Aktor Nazwa Opis System System Sprawdzanie poprawności danych Wysłanie przypomnień System waliduje poprawność danych, nie tylko poprzez wyrażanie regularne, ale również pilnuje odpowiednich kategorii wiekowych, a także poziomu uprawnień. System wysyła o braku wypełnionych formularzy, o kończących się terminach zgłaszania zawodników itp. 5. Terminarz spotkań
Przypadki użycia Definiowanie terminów spotkań Administrator System Losowanie meczów <<include>> Uwzględnienie zdefioniowanych terminów spotkań Wysyłanie przypomień o meczach Pilnowanie terminów wypelniania dokumentów
Aktor Nazwa Opis Administrator System System System Definiowanie terminów spotkań Losowanie meczów Wysyłanie przypomnień o meczach Pilnowanie terminów wypełniania dokumentów Administrator podaje określoną ilość dat w których mogą odbyć się spotkania tak, by system mógł wylosować mecze i zaplanować rozgrywki uwzględniając podane przez administratora daty System losuje spotkania uwzględniając ogólne reguły i wyniki a także bazując na terminach dat podanych przez administratora systemu. System wysyła przypomnienia o mających się odbyć potkaniach wszystkim zainteresowanym (zawodnikom, sędziom, kierownikom itp.) System sprawdza, czy dokumenty wypełnione są na czas.