====== Serwis "Futsalteam" - Projekt konceptualny ====== ==== 1. Sformułowanie zadania projektowego ==== Przedmiotem naszego projektu jest stworzenie serwisu internetowego "futsalteam". Dzięki temu serwisowi, dowolny użytkownik będzie mógł w łatwy sposób założyć stronę własnej drużyny futsalowej. Futsal jest dziedziną sportu podobną do piłki nożnej, jednak ze znaczącymi różnicami, gdzie główną z nich jest rozgrywanie zawodów w hali sportowej. Jest to dziedzina sportu w ostatnich 10 latach bardzo szybko rozwijająca się w Polsce, a szczególnie w województwie małopolskim i na Śląsku. Bardzo wiele przedsiębiorstw decyduje się na wystawienie swojej drużyny w różnych organizowanych biznes ligach czy też ligach firm. Są one o tyle popularne, że pogoda nie jest wstanie zakłócić przebiegu rozgrywek i odebrać przyjemności z gry. W związku z taką sytuacją powstawania praktycznie co chwilę nowej drużyny, po przeprowadzeniu wstępnego wywiadu, nie jedna z nich chciałaby dokumentować gdzieś swoje dokonania, a wiadomo że najlepiej za pomocą strony internetowej drużyny. Stąd właśnie wypłynęła inicjatywa stworzenia takiego serwisu pozwalającego szybko i sprawnie utworzyć stronę internetową drużyny futsalowej z różnymi funkcjonalnościami dopasowanymi pod sport jakim jest futsal. Dla tego serwisu konieczne jest stworzenie obszernej bazy danych, z licznymi tabelami i polami, które będą przechowywać dane poszczególnych stron użytkowników, oraz inne konieczne dane. ==== 2. Analiza stanu wyjściowego ==== Jeżeli chodzi o istniejące rozwiązania to jedynym znanym podobnym rozwiązaniem jest serwis futbolowo.pl, jednak jest on zorientowany typowo na piłkę nożną trawiastą. Jest on często używany przez kluby piłkarskie w celach założenia serwisu informacyjnego o drużynach, w szczególności przez kluby z niskim budżetem. Jeżeli zaś mowa o serwisie dla drużyn w futsalu to nie spotkano się z takim rozwiązaniem na rynku Polskim, po dokonaniu przeglądu. Innowacyjnością jest wykonanie takiego projektu, a także dodanie kilku rozwiązań, które mogą być pomocne dla administratora tak założonego serwisu, czy też użytkownika będącego np. członkiem klubu. Finalny projekt oferować będzie elementy i funkcjonalności typowe i charakterystyczne dla futsalu, takie jak schematy w grze, w stałych fragmentach, taktyki itd. ==== 3. Analiza wymagań użytkownika ==== W projekcie wyróżnia się 4 rodzaje użytkowników: Administrator serwisu, administratorzy podstron, użytkownik zarejestrowany, gość. Administrator serwisu jest to osoba która będzie miała prawo do zarządzania i nadzorowania całego serwisu oraz bazy danych. Administratorzy podstron będą to osoby które założą stronę drużyny. Stronę może w rzeczywistości założyć każdy, prezes, zawodnik, trener itd. stąd ustalenie jednolitej nazwy. Użytkownicy zarejestrowani to osoby, które zarejestrują się w serwisie, a następnie poprzez zalogowanie się będą miały dostęp do stron i widoków dostępnych tyko dla nich, bądź komentowania artykułów czy udziału w lidze typerów. Dodatkowo zarejestrowana osoba otrzyma od administratora status odpowiedni do pełnionej funkcji w danym klubie (zawodnik, trener, kierownik itd.). Gość to każdy użytkownik, który zechce wejść na stronę drużyny. == Funkcjonalności serwisu: == Konieczne: Założenie strony własnej drużyny będzie bardzo łatwe, ponieważ: * będzie zaimplementowany gotowy formularz do wpisania niezbędnych elementów zawartych na stronie, * użytkownik będzie miał dostęp do systemu pomocy, * użytkownik (członek zespołu) w łatwy sposób będzie mógł zamieszczać zdjęcia z meczów swojej drużyny poprzez interfejs na stronie, * użytkownik będzie miał dostęp do automatycznie wyliczanych statystyk oraz bieżącej tabeli drużyn, po wprowadzeniu np. aktualnych wyników. Dodatkowo: * Ustalanie taktyki na mecz – widoczne tylko dla użytkowników należących do danej drużyny (trenera, piłkarzy), oraz rozpisane aktualne schematy rozgrywek. * do powyższego podpunktu edytor tworzenia taktyk. * Dla użytkowników zalogowanych jako kibic danej drużyny możliwość typowania wyników – liga typerów. * Chat dla zalogowanych użytkowników. * Intranet dla wszystkich drużyn, pomagający np. w organizacji turnieji. == Moduły do wykonania: == * projekt i stworzenie bazy danych, * konfiguracja i zarządzanie serwerem bazy danych, * moduł persystencji obiektów, * procedury Java Script, * walidacja formularzy, * projekt strony, CSS, HTML. ==== 4. Określenie scenariuszy użycia ==== Serwis „Futsalteam” ma być systemem, który będzie służył zarówno kibicom, jak i samym drużynom. „Futsalteam” ma pomóc w organizacji drużyny np. poprzez umieszczanie taktyki przez trenera na najbliższy mecz, informowanie zawodników o wynikach, spotkaniach. Jednocześnie strona ma służyć pomocą kibicom, aby mogli oni zobaczyć m.in. informacje o najbliższych meczach, statystyki, zdjęcia oraz dodawać komentarze. ==== 5. Identyfikacja funkcji ==== * Dodawanie nowych użytkowników * Logowanie * Dodawanie nowych drużyn * Wybór stylu strony danej drużyny * Dodawanie zawodników do drużyny * Dodawanie trenera do drużyny * Organizowanie rozgrywek * Ustalanie terminów meczów w rozgrywkach * Prowadzenie statystyk dla danych rozgrywek * Prowadzenie statystyk danej drużyny w danych rozgrywkach * Prowadzenie statystyk dla zawodnika (liczba bramek) * Dodawanie artykułów dla drużyny * Dodawanie komentarzy przez zalogowanych użytkowników * Modyfikacja profilu użytkownika ==== 6. Analiza hierarchii funkcji projektowanej aplikacji ==== - Rejestracja uczestnika - Aktywacja konta - Aktywacja konta trenera - Aktywacja konta zawodnika - Aktywacja konta kibica - Obsługa administratora: - Zakładanie strony nowej drużyny - Moderacja komentarzy - Zmiany informacji o drużynie - Obsługa trenera: - Logowanie trenera - Dodawanie i oglądanie zdjęć drużyny - Wprowadzanie wyników drużyny i innych danych - Dostęp do automatycznie wyliczanych statystyk - Rozpisywanie taktyki na mecz i aktualnych schematów rozgrywek - Możliwość dodawania komentarzy - Obsługa zawodnika: - Logowanie zawodnika - Dodawanie i oglądanie zdjęć drużyny - Dostęp do automatycznie wyliczanych statystyk - Wgląd do taktyki na mecz i aktualnych schematów rozgrywek - Możliwość dodawania komentarzy - Obsługa kibica: - Logowanie kibica - Oglądanie zdjęć drużyny - Dostęp do automatycznie wyliczanych statystyk - Możliwość dodawania komentarzy - Obsługa uczestnika niezarejestrowanego: - Rejestracja - Dostęp do automatycznie wyliczanych statystyk - Oglądanie: informacje o drużynie, najbliższych spotkaniach, zdjęcia itp. ==== 7. Budowa i analiza diagramu przepływu danych ==== [[http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:ztb:2011:projekty:futsalteam:start:projekt_konceptualny:dfd_diagrams|Diagramy DFD]] ==== 8. Wybór encji (obiektów) i ich atrybutów ==== * Uzytkownik * Uzytkownik_ID * Login * Hasło * Imie * Nazwisko * E-mail * Data_rejestracji * Data_ostaniego_zalogowania * Status * Druzyna * Druzyna_ID * Druzyna * Domena * Miejscowosc * Wojewodztwo * Powiat * Styl * Styl_ID * Druzyna_ID * Css_ID * Zawodnik * Zawodnik_ID * Imie_Z * Nazwisko_Z * Druzyna_ID * Numer * Bramki * Trener * Trener_ID * Imie_T * Nazwisko_T * Druzyna_ID * Rozgrywki * Rozgrywki_ID * Rozgrywki_Nazwa * Mecz * Mecz_ID * Rozgrywki_ID * Druzyna_Dom * Druzyna_Wyjazd * Bramki_Dom * Bramki_Wyjazd * Data_meczu * Strzelcy_bramek * Statystyki * Druzyna_ID * Rozgrywki_ID * Wygrane * Remisy * Porazki * Punkty * Artykuł * Artykul_ID * Login * Druzyna_ID * Tytul_A * Tekst_A * Data_A * Komentarz * Komentarz_ID * Login * Artykul_ID * Tekst_K * Data_K ==== 9. Projektowanie powiązań (relacji) pomiędzy encjami ==== [[http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:ztb:2011:projekty:futsalteam:start:projekt_konceptualny:schemat_bazy|Schemat bazy danych]] ==== 10. Projekt diagramów STD (State Transition Diagram) ==== [[http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:ztb:2011:projekty:futsalteam:start:projekt_konceptualny:std|Diagram STD]]