POLITECHNIKA CZĘSTOCHOWSKA Analiza, projektowanie i programowanie obiektowe II Dr inż. Krzysztof Kaczmarek TEMAT : PROJEKT SYSTEMU INFORMATYCZNEGO EKSTRANET. D. R., nr indeksu xxx Inżynieria Oprogramowania Stopień II, Rok II, Semestr III
1. Wstęp W Polsce mamy wiele dyscyplin sportowych które cieszą się dużym zainteresowaniem. Jednak największą popularnością cieszy się od lat piłka nożna. Piłkarska reprezentacja polski od lat nie odnosi znaczących sukcesów jednak mamy kilku zawodników klasy światowej, którzy grają w znanych klubach. Mamy wiele klubów piłkarskich, szczególnie dużo jest ich na najniższych szczeblach rozgrywkowych. Zarządzanie całą infrastrukturą bez dobrze zorganizowanego systemu informatycznego wymagałoby ogromnych nakładów ludzkich i finansowych. Dodatkowo wszelkie operacje jak np. przekazywanie raportów dotyczących odbytych meczy, wymagałoby określonych procedur dających gwarant spójności i prawdziwości przekazywanych informacji a z tym wiążą się dodatkowe nakłady czasu. Spójny system informatyczny zapewnia bardzo sprawne zarządzanie całą infrastrukturą piłkarską, dba o bezpieczeństwo danych i gwarantuje szybkość przekazu informacji. 2. Treść zadania projektowego Poniższa praca zawiera szczegółowy projekt systemu informatycznego służącego do obsługi infrastruktury piłkarskiej w Polsce. Idąc za Wikipedią : Ekstranet - (ang. extranet) to rozwiązanie sieciowe polegające na połączeniu dwóch lub większej liczby intranetów za pomocą protokołów sieciowych. Celem tworzenia ekstranetów jest udostępnienie własnych zasobów wzajemnie między organizacjami (przedsiębiorstwami) lub między nimi i ich klientami, przy zabronieniu powszechnego dostępu z sieci Internet. Przeważnie sieć taka występuje w firmach. W ten sposób klienci mogą się lepiej i szybciej zapoznać z ofertą danej firmy, a firmy mogą między sobą lepiej współpracować. Nasz system daje nam właśnie takie możliwości. Za pomocą przedstawionego systemu informatycznego działacze PZPN bądź osoby uprawnione mogą sprawować nadzór nad przebiegiem rozgrywek piłkarskich w Polsce, ustalać terminy spotkań piłkarskich, obsadzać spotkania wybranymi sędziami, przeglądać szczegółowe raporty z poszczególnych meczy, weryfikować składy drużyn zgłoszonych do rozgrywek, kontrolować przebieg rozgrywek na poszczególnych szczeblach zaczynając od ekstraklasy a kończąc na najniższym szczeblu rozgrywkowym. Sędziowie piłkarscy mają możliwość akceptowania przydzielonych im spotkań do arbitrowania, a także dobierania sobie pozostałych sędziów spotkania. Ponadto mają powinność szczegółowego raportowania przebiegu poszczególnych spotkań. Działacze sportowi
w poszczególnych klubach mają możliwość zgłaszania zawodników do rozgrywek, rejestrowania nowych zawodników. Zawodnicy grający w klubach mogą modyfikować swoje dane. To pokrótce ważniejsze funkcje projektowanego systemu. Każdy użytkownik posiada swój login i hasło, za pomocą których może dostać się do funkcji systemu. Funkcje do których ma dostęp zależą od nadanych mu uprawnień. Przykładowo szeregowy zawodnik grający w klubie ma o wiele mniejsze możliwości manipulowania niż wysoko postawiony działacz PZPN odpowiadający np. za ustalenie terminarza spotkań. 3. Cel budowy systemu Celem budowy systemu jest zaprojektowanie systemu zarządzającego infrastrukturą piłkarską na niższych szczeblach rozgrywkowych w Polsce. Jako że nie mam pełnego i swobodnego dostępu do systemu Ekstranet PZPN zaprojektowałem system który jest podobny do tegoż systemu ale nie pokrywa się z nim we wszystkich aspektach. System składa się z interfejsu sieciowego pełniącego funkcje użytkowe, informacyjne i reklamowe a także z bazy danych przechowującej wszelkie informacje. 4. Zakres systemu System ułatwia organizację całej infrastruktury piłkarskiej w Polsce. Upraszcza procedury planowania terminarza rozgrywek, nadzoru nad przebiegiem rozgrywek, zgłaszania zawodników i drużyn do poszczególnych klas rozgrywkowych i grup wiekowych, raportowania przebiegów spotkań, uzyskiwania interesujących nas informacji z bazy danych, ustalania sędziów, składów, miejsc i terminów poszczególnych spotkań. 5. Korzyści z wdrożenia zaprojektowanego systemu Jak już wcześniej napisałem system ułatwia zarządzanie całą infrastrukturą piłkarską w Polsce na najniższych szczeblach rozgrywkowych. Znacznie przyspieszy on wszelkie procedury związane z zarządzaniem tą infrastrukturą. Każdy użytkownik
posiadający urządzenie umożliwiające przeglądanie zasobów sieci Internet i połączenie z siecią Internet może z dowolnego miejsca korzystać z funkcji interfejsu, przeglądając zasoby bazy danych bądź w dowolny sposób je modyfikując, oczywiście w takim stopniu na jakie pozwalają mu uprawnienia nadane mu przez system bądź jednego z administratorów. 6. Perspektywa przypadków użycia 6.1 Diagram przypadków użycia Diagram przypadków użycia (pot. z ang. use case) graficzne przedstawienie przypadków użycia, aktorów oraz związków między nimi, występujących w danej dziedzinie przedmiotowej. Diagram przypadków użycia w języku UML służy do modelowania funkcjonalności systemu. Tworzony jest zazwyczaj w początkowych fazach modelowania. Diagram ten stanowi tylko przegląd możliwych działań w systemie, szczegóły ich przebiegu są modelowane za pomocą innych technik (np. diagramów stanu lub aktywności). Diagram przypadków użycia przedstawia usługi, które system świadczy aktorom, lecz bez wskazywania konkretnych rozwiązań technicznych. Na poniższym diagramie przedstawieni zostali wszyscy możliwi użytkownicy aktorzy, zaczynając na zwykłym użytkowniku przeglądającym zasoby Internetu aż po wysoko postawionego działacza PZPN posiadającego największe uprawnienia.
6.2 Opis poszczególnych aktorów USER to zwykły użytkownik sieci Internet przeglądający jej zasoby. Nie ma dostępu do żadnych funkcji systemu informatycznego Ekstranet. Może mieć dostęp do danych pochodzących z tegoż systemu pod warunkiem że publicznie zostaną one opublikowane przez zweryfikowanego użytkownika systemu. Ma możliwość zarejestrowania się w systemie, co będzie skutkowało otrzymaniem loginu i hasła. ZAWODNIK jest to użytkownik posiadający login i hasło, a więc dysponujący możliwością zalogowania się do systemu. Może przeglądać zasoby bazy danych jednak z pewnymi ograniczeniami. Ma wgląd w swoje dane i może je modyfikować. Nie ma uprawnień do modyfikowania innych danych np. składu swej drużyny na następny mecz. DZIAŁACZ KLUBU jest to użytkownik posiadający login, hasło i mogący zalogować się do systemu. Posiada większe uprawnienia od ZAWODNIKA jednocześnie dziedzicząc jego uprawnienia. Fizycznie aktorem ten jest człowiek posiadający funkcje związaną z zarządzaniem infrastrukturą klubową. Może to być np. prezes bądź trener. Ma możliwość zgłoszenia zawodnika do rozgrywek i modyfikowania jego danych. Jeśli tego nie zrobi zawodnikowi nie będzie przysługiwało prawo uczestnictwa na określonych rozgrywkach i jeśli zagra, klubowi grozi walkower bądź też dyskwalifikacja. DZIAŁACZ KLUBU posiada też funkcje zgłaszania klubu do rozgrywek i ustalania składu podstawowego klubu a także takiego który wystąpi w najbliższym spotkaniu. Może dodać dane stadionu swego klubu do bazy danych a także ustalać bądź akceptować ustalone godziny spotkań. Ma dostęp do platformy pozwalającej na wymianę wiadomości z innymi działaczami klubów. Na skrzynkę odbiorczą może dostawać także wiadomości generowane przez system bądź też redagowane przez osoby z większymi uprawnieniami a mające dotrzeć do większej liczby odbiorców w charakterze np. wiadomości informacyjnej z przypomnieniem że w wyznaczonym dniu mija termin zgłaszania do rozgrywek zawodników. Posiada uprawnienia do przeglądania raportów meczowych tj. statystyk i informacji dotyczących określonego spotkania, jednakże nie posiada uprawnień do redagowania ich. DZIAŁACZ KLUBU może także wydrukować interesujące go informacje z bazy danych a także raporty meczowe. Może także modyfikować wszystkie wprowadzone przez siebie dane. SĘDZIA - jest to użytkownik posiadający login, hasło i mogący zalogować się do systemu. Nie dziedziczy wszystkich uprawnień po DZIAŁACZU KLUBU aczkolwiek niektóre posiadają takie same. Fizycznie aktorem tym jest sędzia piłkarski. Posiada uprawnienia do odczytu i redagowania wiadomości podobnie jak DZIAŁACZ KLUBU. Może również przeglądać raporty, prowadzić wydruk danych i modyfikować wprowadzane przez siebie dane. Dodatkowo ma obowiązek a co za tym idzie możliwość ze skorzystania z funkcji redagowania raportów meczowych. Dostaje też informacje z wyznaczonym terminem spotkania, w którym ma pełnić funkcję sędziego. Może zaakceptować dane spotkanie do sędziowania bądź też je odrzucić. Jeśli zaakceptuje określone spotkanie ma możliwość dobrania sobie sędziów pomocniczych. Może wystąpić też sytuacja odwrotna że dany sędzia piłkarski może
otrzymać informację od innego sędziego który wyznaczył go jako sędziego pomocniczego. PROUSER - to użytkownik posiadający login, hasło i mogący zalogować się do systemu. Posiada wszystkie uprawnienia opisanych wcześniej aktorów. Fizycznie jest to osoba ściśle związana z centralą PZPN bądź pracownik PZPN posiadający rozszerzone uprawnienia ze względu na pełnione funkcje. Może on układać terminarz rozgrywek a co za tym idzie zajmować się planowaniem rozgrywek. Ze względu na swe bardzo wysokie uprawnienia posiada wgląd do wszystkich zasobów bazy danych a dodatkowo ma możliwość modyfikowania ich. Posiada możliwość do rozsyłania korespondencji grupowej w tym reklam firm sponsorujących w różnym stopniu ruch piłkarski w Polsce. ADMIN jest to osoba zajmująca się utrzymaniem zdrowego stanu całego systemu a także jego konserwacją. Musi także regularnie przeprowadzać proces tworzenia backup u bazy danych a także ustawień konfiguracyjnych serwera by w przypadku poważnej awarii sprzętowej bądź błędu krytycznego systemu informatycznego Ekstarnet jak najsprawniej i najszybciej przywrócić funkcjonalność całego systemu a także uniknąć uszkodzenia danych. 6.3 Opisy poszczególnych przypadków użycia PRZEGLĄDANIE UDOSTĘPNIONYCH ZASOBÓW użytkownik niezalogowany do systemu może przeglądać zasoby bazy danych udostępnione przez zalogowanych użytkowników. Są to np. statystyki z raportów meczowych, bardziej szczegółowe informacje dotyczące zawodnika danego klubu. LOGOWANIE użytkownik po dokonaniu rejestracji otrzymuje login i hasło, dzięki którym może zalogować się do systemu i uzyskać dostęp do jego funkcjonalności. ZMIANA DANYCH użytkownik zalogowany może wprowadzać dane a także może modyfikować wprowadzone przez siebie dane. Ma możliwość modyfikacji danych wprowadzonych przez innych użytkowników aczkolwiek wszystko zależy od posiadanych przez niego uprawnień. USTALANIE SKŁADU użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość ustalenia składu wyjściowego drużyny nad którą sprawuje pieczę. Ma obowiązek wystawienia tylu zawodników podstawowych i rezerwowych na ilu pozwalają przepisy to regulujące. Posiada także możliwość przyporządkowania zawodnika do określonej pozycji np. zawodnika X na pozycję prawego obrońcy. MODYFIKOWANIE SKŁADU - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość zmiany składu wyjściowego drużyny który został już wcześniej ustalony. Jednak modyfikacja składu drużyny bądź jej ustawienia może nastąpić do określonego czasu do rozpoczęcia spotkania o którym to czasie jest mowa w odpowiednich przepisach.
ZGŁASZANIE ZAWODNIKA - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość zgłoszenia zawodnika do odpowiedniej drużyny, szczebla rozgrywkowego, grupy wiekowej itd. Pod tym pojęciem kryje się również zagadnienie zgłaszania zawodnika do systemu czyli procesu rejestracji nowego zawodnika który ma zagrać w drużynie. Zgłoszenie polega na wypełnieniu odpowiedniego typu formularza i przesłanie go poprzez system w celu weryfikacji. Po zweryfikowaniu wysyłane jest potwierdzenie weryfikacji. ZGŁASZANIE KLUBU DO ROZGRYWEK - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość zgłoszenia klubu do rozgrywek. Może być to odpowiednia klasa rozgrywkowa bądź też puchar. Jeśli klub uczestniczył już w rozgrywkach wymagane jest potwierdzenie jego uczestnictwa w określonym typie rozgrywek. DODANIE STATDIONU - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość dodania do bazy danych informacji o stadionie klubu na którym mogą być rozgrywane spotkania. Jednak by został dodany musi zostać zweryfikowany pod kątem spełniania odpowiednich standardów. W zależności od standardu stadionu otrzymuje on odpowiednią klasę. USTALANIE GODZINY SPOTKANIA - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość ustalenia godziny nadchodzących spotkań bądź też akceptacji już ustalonej godziny przez drugą stronę. ODBIERANIE, ODCZYT I REDAGOWANIE WIADOMOŚCI system Ekstranet oferuje zalogowanym użytkownikom kontaktowanie się ze sobą wewnątrz systemu za pomocą specjalnie dla tego celu stworzonemu modułowi. Użytkownik może wysyłać informacje tekstowe do innych użytkowników, odbierać wiadomości i przechowywać je w skrzynce odbiorczej. AKCEPTOWANIE MECZU - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość zaakceptowania przydzielonego mu do sędziowania spotkania. Otrzymuje on wiadomość informacyjną że został wybrany do sędziowania spotkania między określonymi drużynami, na określonym stadionie, w określonym terminie. Może zaakceptować bądź odrzucić propozycję. DODANIE SĘDZIÓW - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość, po uprzednim zaakceptowaniu propozycji bycia głównym sędzią spotkania na dobranie sobie pozostałej obsady sędziowskiej. Wybrani sędziowie mogą zaakceptować bądź odrzucić tą propozycję. TWORZENIE RAPORTU MECZU - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia, w tym przypadku sędzia, ma możliwość stworzenia raportu meczu. Pod tym pojęciem kryje się elektroniczny dokument przybliżający ważniejsze wydarzenia meczowe. Tj. strzelone bramki, strzelców bramek, faule, zmiany zawodników, przerwy w przebiegu spotkania i wiele innych. Raport ten potrzebny jest m.in. do tworzenia statystyk meczowych, do automatycznego wypełnienia określonych rekordów w bazie danych np. przypisanie liczby bramek zawodnikowi, a także jako dokumentacja przebiegu spotkania w przypadku protestu co do nieprawidłowego przebiegu spotkania przez jedną z drużyn. OGLĄDANIE RAPORTU MECZU - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia może przeglądać raport meczowy. Ma możliwość
przeglądania bieżących raportów meczowych a także wcześniejszych np. ze spotkania które odbyło się rok wcześniej. WYDRUK DANYCH - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość wydruku wybranych danych z bazy danych bądź też raportów meczowych. W zależności od swych uprawnień ma dostęp do większych bądź mniejszych zasobów bazy danych. UKŁADANIE TERMINARZA ROZGRYWEK - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość zajmowania się planowaniem przebiegu rozgrywek i układaniem terminarza spotkań. AKCEPTACJA, MODYFIKACJA DANYCH, ROZSYŁANIE KOMUNIKATÓW GRUPOWYCH - użytkownik zalogowany posiadający odpowiednie ku temu uprawnienia ma możliwość akceptowania danych, formularzy itd przesyłanych przez innych użytkowników a także modyfikacji danych umieszczonych w bazie danych już umieszczonych w bazie danych przez użytkowników. Ma dostęp do funkcji wysyłania wiadomości masowych do określonej grupy odbiorców. Przykładowo mogą wysłać komunikat do działaczy klubowych o mijającym terminie zgłaszania zawodników którzy mają być uprawnieni do udziału w spotkaniach piłkarskich swego klubu. BACKUP osoba zajmująca się konserwacją całego systemu posiada funkcję robienia backup u bazy danych i ustawień konfiguracyjnych. Częste wykonywanie backup u uchroni cały system przed nieodwracalnym uszkodzeniem danych a także w sprawnym przywróceniu właściwej konfiguracji programowej. 7 Perspektywa logiczna 7.1 Diagram klas wraz z odwołaniami do poszczególnych tabel bazy danych Diagram klas pokazuje określony fragment struktury systemu. Diagramów klas używa się do modelowania statycznych aspektów perspektywy projektowej. Wiąże się z tym silnie modelowanie słownictwa systemu, kooperacji lub schematów. Diagramy klas pozwalają na sformalizowanie specyfikacji danych i metod. Mogą także pełnić rolę graficznego środka pokazującego szczegóły implementacji klas. W naszym przypadku wszyscy zdefiniowani aktorzy są klasami. Najniższe uprawnienia posiada klasa USER natomiast największe klasa PROUSER.
7.2 Lista klas wraz z ich opisem i opisem atrybutów Klasa USER Klasa reprezentująca w systemie zwykłego użytkownika nie posiadającego loginu i hasła nazwa unikalny identyfikator użytkownika w systemie, w tym przypadku jest to numer ip przegladaj() funkcja odpowiada za możliwość przeglądania przez użytkownika niezalogowanego zasobów udostępnionych przez użytkownika zalogowanego loguj() uwierzytelnia użytkownika w systemie, po zalogowaniu użytkownikowi zostaje przyznany dostęp do funkcji programu ograniczony jedynie jego uprawnieniami rejestruj() po wypełnieniu formularza rejestracji użytkownik otrzymuje login i hasło Klasa ZAWODNIK Klasa reprezentująca w systemie użytkownika posiadającego login i hasło będącego zawodnikiem określonego klubu nazwa - unikalny identyfikator użytkownika w systemie uzupełnij_dane() funkcja pozwalająca na uzupełnienie danych zawodnika np. danych kontaktowych modyfikuj_dane() funkcja pozwalająca na zmodyfikowanie wcześniej już wprowadzonych danych Klasa DZIAŁACZ_KLUBU Klasa reprezentująca w systemie użytkownika posiadającego login i hasło będącego działaczem określonego klubu. nazwa - unikalny identyfikator użytkownika w systemie ustal_sklad() funkcja pozwala na ustalenie składu drużyny na bieżące spotkanie. Daje możliwość przyporządkowania zawodnika do określonej pozycji, ustawienia taktycznego, przypisania zawodnikowi funkcji kapitana itd modyfikuj_sklad() funkcja pozwala na modyfikację wcześniej wprowadzonego już schematu drużyny zglos_sklad() pozwala na zgłoszenie określonego składu do wybranego typu rozgrywek zglos_klub_do_rozgrywek() pozwala na zgłoszenie klubu do odpowiedniej klasy rozgrywkowej, bądź potwierdzenie uczestnictwa w określonym typie rozgrywek. Przykładowo jeśli klub uzyskał awans z klasy B do klasy A, działacz klubu winien potwierdzić uczestnictwo drużyny w tej klasie rozgrywkowej
zglos_zawodnika() pozwala na zarejestrowanie nowego zawodnika klubu, bądź zgłoszenie już należącego do drużyny zawodnika do odpowiedniej klasy rozgrywkowej bądź innej drużyny tegoż klubu np. zawodnika grającego w drużynie juniorskiej do drużyny seniorskiej dodaj_stadion() pozwala na dodanie własnego stadionu do bazy danych jeśli klub posiada takowy i spełnia on wymagane standardy ustal_godzine_spotkania() pozwala na ustalenie godziny rozpoczęcia bieżącego spotkania redaguj_wiadomosc() pozwala na operacje na wiadomościach tj. odczyt, redagowanie i wysyłanie wiadomości ogladaj_raport() pozwala na przeglądanie raportów meczowych drukuj() pozwala na drukowanie wybranych danych umieszczonych w bazie danych Klasa SEDZIA Klasa reprezentująca w systemie użytkownika posiadającego login i hasło będącego sędzią piłkarskim nazwa - unikalny identyfikator użytkownika w systemie akceptuj_mecz() pozwala na akceptowanie propozycji sędziowania określonego meczu dodaj_sedziow_spotkania() pozwala na dobranie przez sędziego pozostałej obsady sędziowskiej spotkania poprzez rozesłanie propozycji do wybranych sędziów tworz_raport() pozwala na stworzenie raportu meczowego zwierającego m.in. nazwiska strzelców bramek i czas w którym padły, faule popełnione przez zawodników, opis nieprzewidzianych przerw w przebiegu spotkania i wiele innych ogladaj_raport() - pozwala na przeglądanie raportów meczowych redaguj_wiadomosc() - pozwala na operacje na wiadomościach tj. odczyt, redagowanie i wysyłanie wiadomości drukuj_raport() - pozwala na drukowanie wybranych danych umieszczonych w bazie danych Klasa PROUSER Klasa reprezentująca w systemie użytkownika posiadającego login i hasło który z określonych względów posiada rozszerzone uprawnienia nazwa - unikalny identyfikator użytkownika w systemie funkcja unikalny identyfikator określający funkcję użytkownika w systemie, w zależności od wagi identyfikatora użytkownikowi mogą przysługiwać większe bądź mniejsze prawa, aczkolwiek zawsze są one większe od uprawnień zwykłych użytkowników organizuj_rozgrywki() funkcja a jednocześnie moduł pozwalająca na przeprowadzenie planowania i organizacji rozgrywek tj. stworzenie terminarza
spotkań, przydzielenie sędziów do spotkań itd tworz_korespondencje() pozwala na wysłanie korespondencji grupowej do wybranej grupy odbiorców bądź materiałów reklamowych weryfikuj_dane() funkcja pozwala na weryfikację i akceptację danych przesyłanych przez użytkowników systemu modyfikuj_wszystkie_dane() funkcja daje możliwość ręcznej modyfikacji danych znajdujących się w bazie danych a należących do innych użytkowników Klasa ADMIN Klasa reprezentująca w systemie użytkownika posiadającego login i hasło będącego administratorem nazwa - unikalny identyfikator użytkownika w systemie rob_backup() funkcja pozwalająca na zrobienie backup u danych z bazy danych bądź ustawień konfiguracyjnych 7.3 Opis tabel bazy danych Tabela ZAWODNIK Zawiera informację o każdym zawodniku. Każdy zawodnik posiada swój unikalny identyfikator. Przechowuje również informacje o liczbie zdobytych bramek przez zawodnika. Tabela DANE Zawiera dane każdego zawodnika włączając w to dane zamieszkania, historię klubową, aktualny klub i czas od którego jest w nim, a także pozycję podstawową. Tabela KLUB Zawiera informację o każdym klubie uczestniczącym w rozgrywkach. Każdy klub posiada swój unikalny identyfikator. Jeden klub może posiadać więcej niż jedną drużynę. W tabeli zapisane są informacje o zawodnikach, prezesie, danych kontaktowych, szczeblu rozgrywkowym na którym występuje a także o barwach.
Tabela KLASA_ROZGRYWKOWA Zawiera informacje o dostępnych klasach rozgrywkowych w danym regionie Tabela GRUPA_WIEKOWA Jest to tabela mająca za zadanie identyfikować daną drużynę w ramach klubu. Zawiera informacje o grupie wiekowej określonej drużyny, jej zawodnikach, nazwie, trenerze, a także o aktualnie posiadanych punktach za rozegrane spotkania i bilansie bramek. Tabela MECZ Zawiera informacje o meczu. Przechowywane są tu dane dotyczące boiska na którym mecz jest rozgrywany, terminie, drużynach uczestniczących w rywalizacji, informacji czy mecz odbył się, gdyż może się zdarzyć że mecz został przerwany i dokończony w innym terminie, dodatkowo więc wymagana jest informacja na której minucie spotkania zostało ono zakończone, do tabeli jest wpisywany oczywiście wynik spotkania oraz doliczony czas spotkania jeśli istniał. Tabela STAN_MECZU Stanowi ona bardziej szczegółową wersję tabeli MECZ. Zawiera referencję do tabeli MECZ oraz szczegółowe informacje dotyczące zawodników występujących np. zdobyte bramki, faule, zmianę na innego zawodnika. Wpisany jest również do niej bilans bramkowy. Tabela TRENER Zawiera informację o trenerze. Każdy trener posiada unikalny identyfikator, jest utożsamiany z danym klubem. Ponadto tabela zawiera jego dane. Tabela SEDZIA Zawiera informację o sędzi. Każdy sędzia posiada unikalny identyfikator. Ponadto tabela zawiera jego dane a także informacje o meczu w którym będzie sędziował. Rekord ten pozwala prześledzić historię prowadzenia spotkań przez danego sędziego
Zaproponowana struktura bazy danych powinna być wystarczająca. Została zaprojektowana w taki sposób by zawierała jak największą liczbę informacji jednocześnie nie posiadając bardzo skomplikowanej struktury. Mogłoby to powodować niepotrzebne problemy w przypadku przebudowy jej struktury. 8 Propozycja rozwiązań technologicznych Serwer może być wyposażony w technologię programową LAMP. Czyli system operacyjny Linux, serwer www Apache, baza danych MySQL, rozszerzenia języka stron internetowych PHP. Jest to najprostsza konfiguracja serwera która zapewni stabilność systemu. Oczywiście można użyć innej bazy danych, innego serwera www itd. Różna może być także fizyczna konfiguracja sprzętowa serwera. W naszym przypadku fizycznie można użyć większej liczby serwerów by w sposób zadowalający obsłużyć wiele zapytań.