Projekt konceptualny
Przedmiotem niniejszego projektu jest stworzenie systemu który pozwala na grę w Word Champion (zasady jak w grze Scrabble®) w czasie rzeczywistym z innymi użytkownikami. Użytkownik po zalogowaniu będzie mógł wybrać jeden z dostępnych pokojów do gry lub tworzyć własne pokoje. Gra możliwa będzie zarówno z innymi użytkownikami, jak i z „komputerem” (sztuczna inteligencja zaimplementowana w systemie). Dzięki funkcjonalności wiadomości publicznych oraz prywatnych, użytkownicy będą mogli cały czas się komunikować. Na bieżąco tworzone będą rankingi graczy które użytkownik będzie mógł w każdej chwili obejrzeć.
2. Analiza stanu wyjściowego
Istnieje obecnie kilka serwisów pozwalających na grę w Scrabble pomiędzy użytkownikami. Najpopularniejsze w Polsce są literaki . Żaden z istniejących serwisów nie udostępnia jednak funkcjonalności rozgrywki ze sztuczną inteligencją. Możliwa jest jedynie gra pomiędzy użytkownikami systemu.
Tworzony system będzie posiadał podobny sposób rozgrywki jak dostępne już rozwiązania. Ułatwi to użytkownikom szybką zmianę serwisu. Użytkownicy będą także mieli dostęp do rankingów graczy oraz historii własnych gier.
Niewątpliwą zaletą tworzonego przez nas projektu będzie możliwość rozgrywki z udostępnioną sztuczną inteligencją. Dzięki temu użytkownicy nigdy nie będą zmuszeni do oczekiwania na pojawienie się nowych użytkowników, oraz możliwe będzie zagwarantowanie użytkownikom dobrego poziomu gry.
3. Analiza wymagań użytkownika
3.1 Profile użytkowników
3.2 Pokoje do gry
Tworzenie nowego pokoju
Rozpoczęcie rozgrywki w pokoju
Dodawanie graczy komputerowych
Blokowanie pokoju
Zamykanie pokoju
Dołączanie do istniejącego pokoju
3.3 Gracz komputerowy (sztuczna inteligencja)
3.4 Historia rozgrywek
3.5 Wiadomośći
Wysyłanie wiadomości prywatnych
Wysyłanie wiadomości publicznych (czat)
Wiadomosći na poziomie pokoju do gry
Archiwizacja wiadomości prywatnych
3.6 Gra
4.Określenie scenariuszy użycia
WS - warunki wstępne
WK - warunki końcowe
4.1 Utwórz konto
CEL: utworzenie konta w systemie
WS: uruchomienie programu
WK: pojawienie się konta użytkownika w systemie
PRZEBIEG:
1. Wyświetlenie formularza tworzenia konta.
2. Wprowadzenie nazwy użytkownika.
3. Wprowadzenie hasła.
4. Naciśnięcie przycisku wysyłającego żądanie do serwera.
5. Wyświetlenie komunikatu potwierdzającego utworzenie konta.
PRZEBIEG ALTERNATYWNY:
5a. System odrzuca wprowadzoną nazwę użytkownika
5a1. Wyświetlenie komunikatu o niedostępności wybranej nazwy
5a2. Powrót do kroku 1.
4.2 Zaloguj
CEL: zalogowanie do systemu
WS: uruchomienie programu, posiadanie konta w systemie
WK: użytkownik został zalogowany w systemie
PRZEBIEG:
1. Wyświetlenie widoku logowania.
2. Wprowadzenie nazwy użytkownika.
3. Wprowadzenie hasła.
4. Naciśnięcie przycisku ‘zaloguj’.
5. Przejście do widoku dostępnych pokoi do gry.
PRZEBIEG ALTERNATYWNY:
5a. System odrzuca wprowadzone dane
5a1. Wyświetlenie komunikatu o niepoprawności nazwy lub hasła.
5a2. Przejście do punktu 1.
4.3 Utwórz nową grę
CEL: utworzenie nowego pokoju do gry z innymi graczami lub komputerem
WS: zalogowanie w systemie
WK: w systemie został utworzony pokój do gry, inni użytkownicy mogą wejść do pokoju
PRZEBIEG
1. Naciśnięcie przycisku ‘utwórz pokój do gry’.
2. Wyświetlenie formularza wprowadzania parametrów gry.
3. Wybranie ilości miejsc w pokoju.
4. Wybranie tytułu pokoju.
5. Wybranie języka w jakim prowadzona będzie gra.
6. Wyświetlenie widoku gry.
7. Opcjonalnie: dodanie gracza komputerowego.
8. Opcjonalnie: oczekiwanie na innych graczy.
9. Naciśnięcie przycisku rozpoczynającego grę.
4.4 Dołącz do gry
CEL: wejście do pokoju utworzonego przez innego gracza
WS: zalogowanie w systemie, istnieje przynajmniej jeden utworzony pokój
WK: zajęcie jednego z miejsc w pokoju
PRZEBIEG:
1. Wyświetlenie widoku dostępnych pokoi.
2. Wybór pokoju z listy dostępnych pokoi.
3. Naciśnięcie na wybrany element listy.
4. Wyświetlenie widoku gry.
PRZEBIEG ALTERNATYWNY:
3a. W wybranym pokoju nie ma już wolnego miejsca.
3a1. Przejście do punktu 1.
3b. Wybrany pokój został zablokowany przez twórcę.
3b1. Przejście do punktu 1.
4.5 Graj
CEL: umożliwienie przeprowadzenia gry
WS: użytkownik znajduje się w pokoju do gry, gra została rozpoczęta przez twórcę pokoju
WK: zakończenie gry zwycięstwem jednego z graczy.
PRZEBIEG
1. Oczekiwanie na nadejście tury.
2. Nadejście tury użytkownika
3.
3a. Wstawienie słowa na planszę.
3b. Wybór liter do wymiany.
3c. Wybór opuszczenia tury.
4. Naciśnięcie przycisku zakończenia tury.
5. Przejście do punktu 1.
5a. Zakończenie gry.
PRZEBIEG ALTERNATYWNY
1a. Twórca pokoju zamknął pokój w czasie gry.
1a2. Wyświetlenie widoku listy pokoi do gry.
3d. Upłynięcie czasu przeznaczonego na grę dla gracza
3d2. Przejście do punktu 5.
4.6 Wyślij wiadomość
PRZEBIEG:
1. Opcjonalnie: użytkownik wybiera odbiorcę z listy dostępnych użytkowników
2. Użytkownik wprowadza wiadomość w odpowiednim oknie.
3. Użytkownik naciska przycisk wysyłający wiadomość.
4.7 Przeglądaj historię rozgrywek
CEL: umożliwienie przeglądania listy rozgrywek i śledzenia przebiegu gry
WS: zalogowanie w systemie
WK: zamknięcie okna przeglądania listy gier użytkownika
PRZEBIEG:
1. Wybór użytkownika z listy zalogowanych użytkowników
2. Kliknięcie przycisku ‘Przeglądaj rozegrane gry’
3. Wybór konkretnej rozgrywki z listy gier użytkownika
4. Kliknięcie przycisku ‘Odtwórz przebieg gry’
5.
5a.Kliknięcie przycisku ‘Następny ruch’
5b.Zamknięcie okna odtwarzania przebiegu gry
6.
6a.Przejście do punktu 3
6b.Zamknięcie okna przeglądania listy gier użytkownika
5. Identyfikacja funkcji realizowanych przez bazę danych
Przechowywanie informacji o użytkownikach - login, hasło, ranking
Przechowywanie informacji o rozegranych partiach - data rozegrania, ruchy wszystkich użytkowników oraz zdobyte przez nich punkty
Przechowywanie wiadomości prywatnych wysyłanych przez użytkowników
Przechowywanie informacji o listach przyjaciół użytkowników
6. Analiza hierarchii funkcji projektowanej aplikacji
Function Hierarchy Diagram
7. Budowa i analiza diagramu przepływu danych
Diagram kontekstowy - poziom 0
Diagram DFD - poziom 1
Diagram DFD - konta użytkowników
Diagram DFD - komunikacja między użytkownikami
Diagram DFD - Przeglądanie rozgrywek
8. Wybór encji (obiektów) i ich atrybutów
Użytkownik
login
haslo
ranking
id uzytkownika
lista przyjaciól
Rozgrywka
id rozgrywki
data rozgrywki
Ruch
id partii
id uzytkownika
wspolrzedna x
wspolrzedna y
slowo
punkty
nr ruchu
rodzaj ruchu
Wiadomosc
nadawca
odbiorca
data wyslania
tresc
9. Projektowanie powiązań (relacji) pomiędzy encjami
Entity-Relationship Diagram
10. Projekt diagramów STD
State Transition Diagram