Rubik s Manager - Use Case Sebastian Chojniak, Łukasz Krupa, Grzegorz Łuczyna 21 marca 2007 1
Spis treści 1 Terning poczatkuj acego użytkownika 4 1.1 Skrócony opis.................................... 4 1.2 Aktorzy....................................... 4 1.3 Warunki wstępne.................................. 4 1.4 Czynności...................................... 4 1.4.1 Czynności podstawowe........................... 4 1.4.2 Czynności alternatywne.......................... 5 2 Trening speedcubera 7 2.1 Skrócony opis.................................... 7 2.2 Aktorzy....................................... 7 2.3 Warunki wstępne.................................. 7 2.4 Czynności...................................... 7 2.4.1 Czynności podstawowe........................... 7 2.4.2 Czynności alternatywne.......................... 9 3 Organizowanie zawodów internetowych 11 3.1 Skrócony opis.................................... 11 3.2 Aktorzy....................................... 11 3.3 Warunki wstępne.................................. 11 3.4 Czynności...................................... 11 3.4.1 Czynności podstawowe........................... 11 3.4.2 Czynności alternatywne.......................... 12 4 Uczestniczenie w zawodach internetowych 16 4.1 Skrócony opis.................................... 16 4.2 Aktorzy....................................... 16 4.3 Warunki wstępne.................................. 16 4.4 Czynności...................................... 16 4.4.1 Czynności podstawowe........................... 16 4.4.2 Czynności alternatywne.......................... 17 5 Kibicowanie w zawodach 19 5.1 Skrócony opis.................................... 19 5.2 Aktorzy....................................... 19 5.3 Warunki wstępne.................................. 19 5.4 Czynności...................................... 19 5.4.1 Czynności podstawowe........................... 19 5.4.2 Czynności alternatywne.......................... 20 2
6 Zawody stacjonarne 22 6.1 Skrócony opis.................................... 22 6.2 Aktorzy....................................... 22 6.3 Warunki wstępne.................................. 22 6.4 Czynności...................................... 22 6.4.1 Czynności podstawowe........................... 22 6.4.2 Czynności alternatywne.......................... 23 7 Historia zmian 24 3
1 Terning poczatkuj acego użytkownika 1.1 Skrócony opis Początkujący użytkownik chce zdobyć podstawowe umiejętności w zakresie speedcubingu, poprzez trening z programem RM. 1.2 Aktorzy Poczatkuj acy speedcuber - posiada niewielką wiedzę i umiejętności w zakresie speedcubingu. Chce nauczyć się rozwiązywania standardowych problemów, poznając najbardziej popularne metody układania kostki. 1.3 Warunki wstępne Program został już zainstalowany i użytkownik wprowadził do swojego profilu informacje na temat swoich umiejętności dotyczących speedcubingu. Użytkownik wybrał tryb działania z inteligentnym system nauczania. Na podstawie danych system zaklasyfikował użytkownika jako początkującego. 1.4 Czynności 1.4.1 Czynności podstawowe 1. Użytkownik uruchamia bazę danych technik układania kostki. 2. System pracując w tle dokonuje aktualizacji bazy danych łącząc się z odpowiednim serwerem. 3. System wybrał listę najpopularniejszych podstawowych technik i zaproponował użytkownikowi wybór treningu jednej z nich. 4. Użytkownik wybiera chęć nauki metody Fridrich 5. Program przedstawia animacje demonstrujące metodę. 6. Użytkownik stwierdza że zna teorię wystarczająco dobrze i przechodzi do trybu praktyki. 7. System generuje permutację kostki. 8. Użytkownik zaczyna układać kostkę. 9. Pojawia się problem, którego użytkownik nie potrafi rozwiązać. 10. Użytkownik uruchamia solver i wprowadza dane o kostce. 4
11. System pokazuje możliwe rozwiązania, zaczynając od tych wymagających najmniejszych umiejętności od użytkownika. 12. Użytkownik zakończył układanie kostki.kontynuuje trening od początku. 13. W czasie wielokrotnego układania kostki system aktualizuje dane o postępach użytkownika. 14. Użytkownik stwierdza, że opanował już technikę której chciał się nauczyć i wychodzi z programu. 1.4.2 Czynności alternatywne 1a Użytkownik może mieć na pasku szybkiego uruchamiania linki do najczęściej oglądanych przez niego artykułów w encyklopedii. 1b Ta faza może zostać pominięta, i speedcuber może przejść od razu do praktyki. 2a Opcja automatycznej aktualizacji może być wyłączona. 3a Użytkownik może wyłączyć system inteligentnej pomocy i wybierać techniki samemu, korzystając z wyszukiwarki. Kryteria według których posortowane są informacje, np. łatwość techniki czy popularność. 3b System może sugerować naukę technik, których użytkownik jeszcze nie opanował. 4a System umożliwia otwarcie kilku prezenterów technik jednocześnie. 4b System udostępnia możliwość przedstawienia porównawczego zestawu kilku technik. 5a System może wyświetlać oprócz animacji także diagramy. 5b Podczas wizualizacji techniki użytkownik może dowolnie obracać prezentowaną kostkę, by dokładnie zapoznać się z wszystkim aspektami. 5c Pokazywana technika może być uogólnieniem lub szczególnym przypadkiem innej. Wtedy użytkownik ma szybki dostęp do podobnych technik. 6a Jeśli użytkownik nie dysponuje kostką Rubika, to może trenować układanie wykorzystując do tego kostkę wirtualną. 7a Użytkownik może wybrać z archiwum kombinację, której nie był w stanie rozwiązać wcześniej. 7b System może generować permutacje o odpowiednim stopniu trudności ustawionym przez użytkownika. 8a Użytkownik może włączyć opcję mierzenia czasu. 5
9a W trybie wirtualnej kostki możliwe jest automatyczne generowanie podpowiedzi i wskazówek na ekranie, jeśli użytkownik nie jest w stanie rozwiązać problemu przez określony czas. 9b Użytkownik może ułożyć kostkę bez problemów. Wtedy przechodzi do punktu 12. 10a Solver może mieć ustawione priorytety używania rozwiązań. Dzięki temu zawsze będzie próbował rozwiązywać problem metodą wybraną przez użytkownika jako domyślna. Rozwiązanie zostanie zaprezentowane na ekranie. 11a Podczas wyświetlania rozwiązań system udostępnia szybkie linki do bazy danych - do opisów technik których użył. 12a Program może wyświetlić użytkownikowi listę tematów które powinien przeczytać w encyklopedii, aby uniknąć błędów, które popełnił w tej sesji. 13a Użytkownik modyfikuje system zbierania danych. (a) Tryb zapisywanie statystyk może być wyłączony. (b) Użytkownik może modyfikować swoje statystyki. (c) Użytkownik może modyfikować poziomy istotności statystyk, uwzględnianych przy liczeniu jego poziomu zaawansowania. 14a System może powiadamiać użytkownika przed wyjściem z programu, jakie poczynił postępy w trakcie tej sesji treningu i ile szacunkowo powinien trenować w tym tempie, by osiągnąć wysoki poziom zaawansowania. 6
2 Trening speedcubera 2.1 Skrócony opis Speedcuber przeprowadza swój systematyczny trening szybkości i techniki. 2.2 Aktorzy Speedcuber - wykonuje badanie swoich umiejętności i przeprowadza trening mający na celu poprawę swoich osiągnięć. 2.3 Warunki wstępne System RM działa i jest odpowiednio skonfigurowany. Speedcuber ma swoje konto. Speedcuber posiada ułożona kostkę. 2.4 Czynności 2.4.1 Czynności podstawowe 1. System prosi speedcubera o zalogowanie się. 2. Speedcuber loguje się i uzyskuje dostęp do swojego profilu. 3. Speedcuber wybiera opcję treningową, a następnie pomiar umiejętności. 4. Speedcuber dokonuje pomiaru czasu układania. (a) Permutowanie kostki. i. System wybiera permutację kostki według ustawionych kryteriów, następnie generuje sekwencję ruchów, po której ułożona kostka znajdzie się w wybranej permutacji. ii. Speedcuber, na wcześniej ułożonej kostce, wykonuje wygenerowaną przez system sekwencję ruchów. iii. System przedstawia jak powinna wyglądać pomieszana kostka. iv. Speedcuber porównuje stan kostki trzymanej w ręku z modelem wygenerowanym przez system. v. Speedcuber potwierdza poprawność spermutowania kostki, jeśli wcześniej popełnił błąd, ponownie dokonuje permutacji według podanej sekwencji. (b) Właściwe układanie i. Speedcuber potwierdza swoją gotowość. ii. System zezwala na oglądanie kostki, odliczając czas. 7
iii. Speedcuber ogląda kostke w celu obmyślenia pierwszych ruchów, od których rozpocznie układanie kostki (tzw. preinspekcja). iv. System za pomocą dźwięku daje znać, że czas dobiega końca (krótkie sygnały standardowo na dwie sekundy przed końcem czasu przeznaczonego na preinspekcję). v. Speedcuber odkłada kostkę i kładzie obie ręce na stackmatę (urządzenie działające na dotyk). vi. System daje znak rozpoczęcia układania. vii. Speedcuber zdejmuje ręce ze stackmaty. viii. System rozpoczyna mierzenie czasu. ix. Speedcuber od razu po zdjęciu rąk ze stackmaty rozpoczyna układanie. x. Speedcuber po wykonaniu ostatniego ruchu odkłada ręce na stackmatę (równocześnie odkładając kostkę). xi. System kończy odmierzanie czasu. xii. Speedcuber podnosi kostkę i sprawdza czy została poprawnie ułożona i: A. Kostka jest poprawnie ułożona - speedcuber potwierdza ułożenie. B. Brakuje jednego ruchu do kompletnego ułożenia - speedcuber wybiera opcję 2 sekundowej kary. C. Kostka podczas układania uległa uszkodzeniu (np. rozsypała się) - speedcuber wybiera opcję POP. D. Kostka nie została poprawie ułożona - speedcuber wybiera opcję DNF. E. Podczas układania nastąpiło jakieś zdarzenie losowe (wyraźnie uniemożliwiające ułożenie kostki) - speedcuber odrzuca wykonany pomiar. xiii. System zapisuje dokonany pomiar do bazy wyników. (c) Speedcuber może zakończyć proces układania (d) Następuje kolejny pomiar, rozpoczynający się od spermutowania kostki. 5. System przedstawia zebrane rezulaty w postaci wykresów i diagramów, a także porównuje, ze wcześniejszymi wynikami. 6. Speedcuber widzi możliwość poprawy swojej formy. Wybiera doskonalenie techniki. 7. System wie, jakie algorytmy zna speedcuber. Proponuje mu nowe sytuacje i algorytmy je rozwiązujące. 8. Speedcuber wybiera interesujący go przypadek. 9. System podaje różne algorytmy rozwiązujące wybrany problem. 10. Speedcuber sprawdza, który algorytm bardziej mu odpowiada. Powiadamia system, że zamierza się go nauczyć. 11. Speedcuber wylogowuje się z systemu. 8
2.4.2 Czynności alternatywne 2a Speedcuber nie posiada konta w systemie. (a) Speedcuber prosi system o utworzenie konta. (b) System tworzy nowe konto i automatycznie loguje speedcubera. 3a Speedcuber nie miał dostępu do systemu, a dokonał treningu. (a) Speedcuber wybiera ręczną modyfikację wyników. (b) System prosi o ręczne podanie wyników treningu. (c) Speedcuber ręcznie wprowadza uzyskane rezultaty. 4a Wszystkie kostki speedcubera uległy zepsuciu. (a) Speedcuber uaktywnia moduł kostek wirtualnych. 4b Speedcuber potrzebuje zmienić bieżąca konfigurację modułu treningowego. (a) Speedcuber wybiera rodzaj permutowania kostki: i. Standardowa permutacja losowa. ii. Permutacja wymuszająca przypadki, które speedcuber postanowił poprawić. iii. Permutacja składająca się z określonej liczby ruchów. iv. Samodzielna permutacja (speedcuber sam wymyśla permutację). (b) Speedcuber ustala sposób przedstawienia permutacji: i. Za pomocą animacji. ii. Lista kodów ruchów w standardowej notacji. (c) Sposób mierzenia czasu. i. Speedcuber ustala czas preinspekcji lub jej brak. ii. Speedcuber wybiera rodzaj urządzenia dotykowego: A. Stackmata B. Klawiatura (wybierany jest aktywny klawisz) C. Start na znak dźwiękowy, zakończenie jak wyżej. iii. Speedcuber określa iluetapowy jest pomiar (np. przy układaniu bez patrzenia mierzony jest czas zapamiętywania kostki i czas właściwego układania). (d) Rodzaj używanej kostki. i. Kostka rzeczywista A. Speedcuber ustala rodzaj posiadanej kostki, a także jej rozmiar. ii. Kostka wirtualna A. Speedcuber wybiera jedną z dostepnych wirtualnych kostek. 9
5a Speedcuber postanawia opublikować swoje najlepsze rezultaty. (a) Speedcuber loguje się do głównej bazy danych. (b) Speedcuber wybiera, które kategorie pomiarów pragnie udostępnić. (c) System przetransferowuje wybrane osiągnięcia do głównej bazy danych. 10
3 Organizowanie zawodów internetowych 3.1 Skrócony opis Jeden z użytkowników programu Rubik s Manager (niekoniecznie speedcuber) organizuje i przeprowadza za pośrednictwem Internetu zawody w speedcubingu. 3.2 Aktorzy Organizator zawodów - użytkownik, który zdecydował się przeprowadzić zawody. Zawodnik - bierze udział w zawodach. Kibic - obserwuje aktualny stan zawodów - wyniki, statystyki i ewentualne transmisje wideo. Administrator systemu - nadaje organizatorowi odpowiednie uprawnienia. 3.3 Warunki wstępne Organizator zawodów posiada uprawnienia do organizowania zawodów (poprosił wcześniej administratora systemu o ich nadanie). Program Rubik s Manager jest włączony. Organizator zawodów wprowadził wcześniej do systemu domyślny schemat przebiegu organizowanych zawodów i domyślne kryteria przyjmowania zgłoszeń. 3.4 Czynności 3.4.1 Czynności podstawowe 1. Organizator zawodów loguje się do systemu. 2. Organizator zawodów ustala dokładną datę i godzinę rozpoczęcia zawodów oraz wybiera schemat przebiegu organizowanych zawodów. Dodatkowo określa zasady, wedle których będą rozpatrywane zgłoszenia zawodników (limit zawodników, priorytety, ostateczny termin zgłaszania się). 3. Zawodnicy zgłaszają chęć udziału w zawodach. W tym czasie system po stronie organizatora zawodów nie musi być stale włączony. 4. Zbliża się termin rozpoczęcia zawodów. Organizator zawodów oraz zawodnicy, którzy biorą udział w zawodach logują się i zgłaszają swoją obecność. 5. Termin rozpoczęcia zawodów jest wypełniony. System rozpoczyna zawody. 6. Organizator zawodów podejmuje decyzję o przeprowadzeniu kolejnej rundy i wybiera zawodników, którzy będą brali w niej udział. 11
7. Wybrani zawodnicy biorą udział w przeprowadzanej rundzie. 8. Organizator zawodów akceptuje wyniki przeprowadzonej rundy. Organizator zawodów powtarza czynności 6-8 zgodnie z realizowanym schematem przebiegu zawodów. 9. Organizator zawodów zakańcza zawody. 10. Organizator zawodów oraz zawodnicy wylogowują się z systemu. 3.4.2 Czynności alternatywne *a Następuje awaria centralnej bazy danych. (a) Dane przechowywane w bazie pozostają spójne i są zgodne z ostatnim zaakceptowanym stanem. (b) Tymczasowo przechowywane są niezaakceptowane, acz otrzymane dane. (c) Po naprawieniu awarii możliwe jest pełne wznowienie systemu po stronie organizatora zawodów i zawodników. 1a Organizator zawodów nie posiada (lub utracił) uprawnienia do organizowania zawodów. (a) Organizator zawodów przesyła za pomocą programu do administratora systemu prośbę o nadanie odpowiednich uprawnień. (b) Administrator systemu akceptuje lub odrzuca prośbę. 2a Organizator zawodów nie podał dokładnej daty i godziny rozpoczęcia zawodów. (a) System prosi organizatora zawodów o uzupełnienie informacji. 2b Organizator zawodów nie wybrał schematu przebiegu organizowanych zawodów. (a) System wczytuje domyślny schemat przebiegu zawodów i prosi organizatora zawodów o potwierdzenie. (b) Organizator zawodów zatwierdza domyślny schemat lub odrzuca i powraca do definiowania. 2c Organizator zawodów nie określił zasad, wedle których będą rozpatrywane zgłoszenia zawodników. (a) System wczytuje domyśle kryteria i prosi organizatora zawodów o potwierdzenie. (b) Organizator zawodów zatwierdza domyślne kryteria lub odrzuca i powraca do definiowania. 12
3a Organizator zawodów przesyła jednemu z zawodników zaproszenie do udziału w organizowanych zawodach. 3b Opis czynności alternatywnych w przypadku użycia "Uczestniczenie w zawodach internetowych". 4-9a Organizator podejmuje decyzję o zbanowaniu jednego (lub więcej) z kibiców (np. za niestosowne wypowiedzi na chacie). (a) System prosi organizatora zawodów o potwierdzenie zamiaru zbanowania kibica. (b) Organizator zawodów podaje uzasadnienie decyzji. (c) Banowany kibic otrzymuje informację zawierającą podane przez organizatora uzasadnienie. (d) System nadaje kibicowi ostrzeżenie. (e) System kibica uniemożliwia mu ponowne podłączenie się do zawodów. 4a Organizator zawodów lub zawodnik nie zgłasza swojej obecności pomimo bycia zalogowanym i zbliżającego się terminu rozpoczęcia zawodów. (a) System powiadamia niezgłaszającego się użytkownika o zbliżającym się terminie zawodów, które dany użytkownik organizuje, lub w których bierze udział. 5a Termin rozpoczęcia zawodów został wypełniony, jednakże organizator zawodów nie zgłosił swojej obecności. (a) System wysyła do oczekujących zawodników informację o odwołaniu zawodów. (b) System wysyła do administratora systemu informację o niewywiązaniu się organizatora zawodów z zaplanowanej organizacji. (c) Administrator przy najbliższym logowaniu odbiera informację o zaistniałej sytuacji. (d) Administrator systemu podejmuje decyzję o ewentualnym usunięciu uprawnień do organizowania zawodów organizatorowi zawodów. (e) Organizator zawodów przy najbliższym logowaniu odbiera informację o otrzymanym ostrzeżeniu i ewentualnej utracie uprawnień. 5b Termin rozpoczęcia zawodów został wypełniony, jednakże jeden (lub więcej) z zawodników nie zgłosił swojej obecności. (a) System wysyła do organizatora zawodów informację o zaistniałęj sytuacji. (b) Organizator zawodów podejmuje decyzję o ewentualnym odwołaniu zawodów. (c) System wysyła do zawodników informację o decyzji organizatora zawodów. (d) System rozpoczyna lub anuluje zawody. (e) System dodaje nieobecnemu zawodnikowi automatyczne ostrzeżenie. 13
(f) Nieobecny użytkownik przy najbliższym logowaniu odbiera informację o otrzymanym ostrzeżeniu. 6-8a Następuje awaria systemu organizatora zawodów. (a) Jeżeli dla organizowanych zawodów został określony czas oczekiwania na powrót organizatora, to zostaje podjęte oczekiwanie. (b) System wysyła do zawodników informację o podjętej akcji. (c) Jeżeli organizator zawodów nie powróci do końca okresu oczekiwania, to zawody zostają przerwane. (d) Organizator zawodów przy najbliższym logowaniu odbiera informację o możliwości powrotu lub przerwaniu zawodów. (e) System wysyła do zawodników informację o przerwaniu zawodów lub powrocie organizatora zawodów. (f) System wysyła do administratora systemu informację o zaistniałej sytuacji. 6-8b Następuje awaria systemu jednego z zawodników. (a) Organizator zawodów odbiera informację o zaistniałej sytuacji. (b) Organizator zawodów decyduje, czy podjąć oczekiwanie na powrót zawodnika, czy kontynuować zawody (równoznaczne odrzuceniu zawodnika z zawodów). (c) System wysyła do pozostałych zawodników informację o podjętej akcji lub zaistniałej sytuacji. (d) Odłączony zawodnik przy najbliższym logowaniu odbiera informację o możliwości powrotu do zawodów lub odrzuceniu z zawodów. 6-8c Organizator zawodów podejmuje decyzję o odrzuceniu jednego z zawodników z zawodów (np. w skutek nieprawidłowości w nadsyłanych wynikach lub nagannego zachowania). (a) Organizator zawodów potwierdza zamiar odrzucenia zawodnika. (b) System prosi organizatora o podanie uzasadnienia decyzji. (c) System wysyła do odrzuconego zawodnika odpowiednią informację zawierającą podane przez organizatora zawodów uzasadnienie. (d) System nadaje ostrzeżenie odrzuconemu zawodnikowi. (e) Odrzucony zawodnik ma możliwość podłączenia się do zawodów jako kibic. 6a Organizator zawodów nie wybrał zawodników, którzy mają brać udział w kolejnej rundzie. (a) System selekcjonuje zawodników według zasad określonych w realizowanym schemacie przebiegu zawodów i prosi organizatora zawodów o potwierdzenie. (b) Organizator zawodów zatwierdza wybór automatyczny lub powraca do wyboru. 14
7 Opis czynności alternatywnych w przypadku użycia "Uczestniczenie w zawodach internetowych". 8a Organizator zawodów anuluje wyniki jednego (lub więcej) z zawodników w danej rundzie. (a) System prosi organizatora zawodów o podanie uzasadnienia. (b) System wysyła do zawodnika informację zawierającą podane przez organizatora zawodów uzasadnienie. (c) System zwraca dla zawodnika wynik DSQ (disqualification). 8b Organizator zawodów anuluje wszystkie wyniki w danej rundzie. (a) System prosi organizatora zawodów o podanie uzasadnienie. (b) Organizator zawodów podejmuje decyzję, czy runda ma być powtórzona. (c) System wysyła do zawodników informację o podjętej decyzji zawierającą podane przez organizatora zawodów uzasadnienie. (d) W przypadku nie powtarzania danej rundy wszyscy zawodnicy otrzymują wynik DSQ (disqualification). 15
4 Uczestniczenie w zawodach internetowych 4.1 Skrócony opis Speedcuber zgłasza swoją chęć udziału i następnie bierze udział w zawodach internetowych organizowanych przez jednego z użytkowników. 4.2 Aktorzy Zawodnik - bierze udział w zawodach. Organizator zawodów - użytkownik, który zdecydował się przeprowadzić zawody. Kibic - obserwuje aktualny stan zawodów - wyniki, statystyki i ewentualne transmisje wideo. Administrator systemu - nadaje użytkownikom prawo udziału w zawodach. 4.3 Warunki wstępne Zawodnik nie ma zablokowanej możliwości udziału w zawodach. Program Rubik s Manager jest włączony. 4.4 Czynności 4.4.1 Czynności podstawowe 1. Zawodnik loguje się do systemu. 2. Zawodnik przegląda listę organizowanych zawodów, które jeszcze się nie odbyły. 3. Zawodnik zgłasza chęć udziału w wybranych zawodach. 4. Zbliża się termin rozpoczęcia zawodów. Zawodnik zgłasza swoją obecność. 5. Zawodnik włącza własną transmisję video. 6. Termin rozpoczęcia zawodów jest wypełniony. System rozpoczyna zawody. 7. Zawodnik bierze udział w kolejnej rundzie, do której został wytypowany. 8. Użytkownik odbiera informację o akceptacji uzyskanego wyniku. Zawodnik powtarza czynności 6-7 przez wszystkie rundy, do których został wytypowany aż do zakończenia zawodów. 9. Zawody zostają zakańczone. 10. Zawodnik wylogowuje się z systemu. 16
4.4.2 Czynności alternatywne 1a Zawodnik nie posiada (lub utracił) uprawnienia do brania udziału w zawodach. (a) Zawodnik przesyła za pomocą programu do administratora systemu prośbę o nadanie odpowiednich uprawnień. (b) Administrator systemu akceptuje lub odrzuca prośbę. 2a Zawodnik otrzymuje zaproszenie do udziału w jednych z zawodów. (a) System prosi zawodnika o zaakceptowanie lub odrzucenie zaproszenia. (b) W przypadku odrzucenia zaproszenia system prosi o podanie uzasadnienia. (c) Organizator zawodów, do udziału w których został zaproszony zawodnik otrzymuje informację zawierającą podane przez zawodnika uzasadnienie. 3a Zawodnik nie spełnia kryteriów zgłaszania w momencie zgłaszania się. (a) System informuje zawodnika o zaistniałej niezgodności. (b) Zawodnik przesyła za pomocą proramu do organizatora zawodów prośbę o rozszerzenie kryteriów. (c) Organizator zawodów przy najbliższym logowaniu odbiera prośbę zawodnika i zmienia ewentualne kryteria lub pozostawia istniejące. (d) Zawodnik przy najbliższym logowaniu odbiera informację o nowym stanie swojego zgłoszenia. 3b Zawodnik spełniał kryteria zgłaszania w momencie zgłaszania się, lecz w wyniku nowych zgłoszeń innych zawodników lub zmian kryteriów zgłaszania przez organizatora zawodów przestał je spełniać. (a) Zawodnik przy najbliższym logowaniu odbiera informację o nowym stanie swojego zgłoszenia. (b) Zawodnik przesyła za pomocą proramu do organizatora zawodów prośbę o rozszerzenie kryteriów. (c) Organizator zawodów przy najbliższym logowaniu odbiera prośbę zawodnika i zmienia ewentualne kryteria lub pozostawia istniejące. (d) Zawodnik przy najbliższym logowaniu odbiera informację o nowym stanie swojego zgłoszenia. 3c Zawodnik jest zainteresowany zawodami, które jeszcze się nie odbyły, lecz na które możliwość zgłaszania się została zamknięta. (a) Zawodnik przesyła za pomocą programu do organizatora zawodów prośbę o przyjęcie jego dodatkowego zgłoszenia. 17
(b) Organizator zawodów przy najbliższym logowaniu odbiera prośbę zawodnika i wyraża zgodę na dodatkowe zgłoszenie lub odrzuca prośbę. (c) Zawodnik przy najbliższym logowaniu odbiera informację o stanie swojej prośby o dodatkowe zgłoszenie. 3d Zawodnik jest zgłoszony na inne zawody w tym samym lub zbliżonym terminie. (a) System informuje zawodnika o spodziewanym konflikcie. 5a Zawodnik nie posiada kamery internetowej. 5b Zawodnik selekcjonuje zawodników i kibiców, którym udostępnia swoją transmisję video. (a) System pozwala zawodnikowi wybrać spośród zawodników i kibiców tych użytkowników, którzy będą mogli oglądać jego transmisję. (b) Zawodnik decyduje, czy nowo pojawiający się użytkownicy będą otrzymywali domyślny dostęp do jego transmisji. 5-9a Zawodnik podejmuje decyzję o udostępnieniu lub odcięciu swojej transmisji jednemu z użytkowników. (a) W przypadku odcięcia transmisji system prosi o uzasadnienie decyzji. (b) Odcięty użytkownik otrzymuje informację zawierającą podane przez zawodnika uzasadnienie. 7a Zawodnik biorący udział w danej rundzie rezygnuje z ułożenia. (a) System zwraca dla zawodnika wynik DNS (did not start). 7b Zawodnik biorący udział w danej rundzie przekroczył maksymalny czas na ułożenie określony dla tej rundy. (a) System zwraca dla zawodnika wynik DNF (did not finish). 18
5 Kibicowanie w zawodach 5.1 Skrócony opis Fani speedcubingu kibicują zawodnikom podczas odbywających się zawodów. 5.2 Aktorzy Kibic - chce obejrzeć ciekawe pojedynki w speedcubingu i zapoznać się z ostatnimi wynikami z turniejach. Organizator - zorganizował zawody, które właśnie się odbywają. Zawodnik - bierze udział w pojedynku, z którego udostępnia transmisję video. 5.3 Warunki wstępne Grupa użytkowników zorganizowała zawody. Zawody zostały już rozpoczęte. Odbywają się pojedynki między uczestnikami. Kibic ma dostęp do Internetu i szybkie łącze do odbierania transmisji video. Program RM jest włączony. Kibic wprowadził wcześniej do systemu swoje preferencje dotyczące typów konkurencji, które szczególnie lubi oglądać. 5.4 Czynności 5.4.1 Czynności podstawowe 1. Kibic przegląda listę aktualnie odbywających się zawodów. 2. Kibic wybiera zawody które chce oglądać. 3. System prosi kibica o zalogowanie się. 4. Kibic loguje się i uzyskuje dostęp do szczegółowych informacji na temat zawodów. 5. Kibic przegląda statystyki zawodników aktualnie uczestniczących w pojedynkach, poszukując najciekawszych pojedynków. 6. System na podstawie wyników zawodników znajduje pojedynek najlepszych zawodników. 7. Kibic uruchamia transmisję video z tego pojedynku. 8. Kibic ogląda transmisję video. 9. Po zakończeniu pojedynku system kończy transmisję. 10. Kibic szuka kolejnych ciekawych pojedynków. 19
Kibic powtarza czynności 5-8. 11. Kibic wylogowuje się z systemu obserwowania zawodów. 5.4.2 Czynności alternatywne 1a Kibic dostał wiadomość z zaproszeniem do oglądania zawodów od swojego kolegi. Jeśli je przyjmie przechodzi automatycznie do punktu 4. 1b Kibic wybiera zakładkę, w której znajdują się zawody, które już kiedyś oglądał, a które nie zostały jeszcze zakończone. 2a Możliwie są dodatkowe sposoby wyszukiwania. (a) System losowo wybiera zawody, jeżeli kibic nie ma specjalnych wymagań. (b) Turnieje na liście mogą być posortowane według kryteriów: popularność wśród kibiców, suma prestiżu zawodników w nich uczestniczących, typ turnieju, rozgrywane konkurencje. (c) Kibic szuka zawodnika w bazie danych i przechodzi do turnieju, w którym ten zawodnik aktualnie uczestniczy (jeśli taki jest). 3a Zawody są powszechnie dostępne i nie wymagają zalogowania się. 4a Kibicowi nie udało się zalogować. System informuje go, że zawody, które chce oglądać, mogą być prywatne i dostępne tylko dla użytkowników wybranych przez organizatorów. (a) Kibic może wysłać prośbę do organizatorów o uzyskanie dostępu. 5a Możliwe są różne tryby wyszukiwania ciekawych pojedynków. (a) Kibic wybiera pojedynki zawodników o największej liczbie punktów prestiżu (lub innej statystyce). (b) Kibic wybiera określoną konkurencję (np. układanie jedną ręką). (c) Kibic wybiera najpopularniejszą wśród innych użytkowników transmisję. 6a Kibic może skorzystać z listy swoich preferencji dotyczących pojedynków. Wtedy system automatycznie znajdzie pojedynek najbardziej odpowiadający preferencjom kibica. 7a Nie udało się odebrać transmisji video. (a) Pojawiły się problemy na łączu. System poinformuje użytkownika o problemie i zaproponuje mu automatycznie ponowne wybieranie transmisji. (b) Liczba osób oglądająca dany pojedynek jest znacznie większa niż przewidywane możliwości serwera. System poinformuje klienta, jeśli liczba użytkowników spadnie do akceptowalnego poziomu. 20
(c) Transmisja video ma dodatkowe zabezpieczenia wymagające autoryzacji. Kibic zostanie poproszony i zidentyfikowanie się. Jego dane zostaną zweryfikowane przez system. Użytkownik może zrezygnować z oglądania tego pojedynku i wrócić do wyszukiwania. 8a W czasie oglądania transmisji pojawiają się problemy na łączu. (a) Transmisja została zerwana po stronie nadawcy. System informuje o tym użytkownika. i. Kibic rezygnuje z oglądania transmisji i wraca do wyszukiwania pojedynków. ii. Kibic prosi system o poinformowanie, jeśli transmisja zostanie wznowiona, a potem szuka innych pojedynków. iii. Kibic czeka na wznowienie transmisji. Jeśli po jakimś czasie transmisja nie została przywrócona, przechodzi do wyszukiwania pojedynków. (b) Transmisja została przerwana po stronie odbiorcy. System prosi użytkownika o sprawdzenie łącza i ewentualnie przywraca oglądaną wcześniej transmisję, jeśli łącze na to pozwala. 9a System może zapisywać zakończone transmisje na dysku. (a) Wszystkie transmisje. (b) Tymczasowo wszystkie transmisje. Przed wyjściem z programu kibic zostanie zapytany, które z nich chce zachować. 11a Kibic przechodzi do innych części programu (np. codzienny trening). 21
6 Zawody stacjonarne 6.1 Skrócony opis Grupa speedcuberów spotyka się i rywalizuje między sobą. 6.2 Aktorzy Speedcuberzy - rywalizują miedzy sobą w wybranych konkurencjach speedcubingu. Sędzia - wybrany przez grupę speedcuber, który czuwa nad prawidłowym przebiegiem spotkania. Kibic - osoba biorąca bierny udział w turnieju (istnieje możliwość udostępnienia aktualnych wyników zdalnie). 6.3 Warunki wstępne Spotkało się przynajmniej dwóch speedcuberów. System RM jest uruchomiony. 6.4 Czynności 6.4.1 Czynności podstawowe 1. Speedcuberzy wybierają sędziego. 2. Sędzia wybiera opcje zawody stacjonarne. 3. Sędzia ustala z resztą grupy zasady turnieju, tj. rodzaje kostek, zasady punktacji. 4. Sędzia wprowadza do systemu wszelkie parametry. 5. Pojedynczy etap zawodów: (a) Speedcuberzy permutują kostkę (według schematu przedstawionego przy treningu). (b) System pyta o gotowość wszystkich speedcuberów. (c) System dokonuje pomiaru czasów. i. Równolegle - każdy speedcuber posiada własną stackmatę. ii. Sekwencyjnie - speedcuberzy kolejno podchodzą do urządzenia mierzącego. (d) System podaje aktualny ranking. (e) System wysyła do kibiców bieżące wyniki. (f) Jeżeli speedcuberzy nie zadecydują inaczej, sędzia rozpoczyna kolejny etap zawodów. 22
6. Sędzia zakańcza turniej. 7. System podaje ostateczny ranking, statystyki zmagań. 8. System udostępnia wyniki speedcuberów tak, aby mogli zapisać je do swoich baz danych. 9. Jeżeli podczas spotkania padły jakieś nowe rekordy system proponuje przesłanie ich do głównej bazy danych. 10. System kończy pracę. 6.4.2 Czynności alternatywne 3a Speedcuberzy chcą udostepnić transmisję z turnieju. (a) Sędzia przekazuje kibicowi adres komputera z uruchomionym systemem. (b) Kibic loguje się w systemie. (c) Kibic ma dostęp do aktualnych wyników. 4a Sędzia korzysta z profilów turniejów. (a) Sędzia może utworzyć nowy profil zawodów (parametry). (b) System proponuje jeden z zapamiętanych profili. (c) Sędzia wybiera gotowy profil. 5a Jeden ze speedcuberów rezygnuje z dalszej rywalizacji. (a) Sędzia wybiera odpowiednią opcję w systemie. (b) System pomija od tej pory tego speedcubera w rozgrywkach. 5b Speedcuberzy nie posiadają odpowiedniej ilości urządzeń pomiarowych. (a) Sędzia wybiera opcję sekwencyjną. (b) System podczas rozgrywki kolejno wywołuje speedcuberów do odpowiednich urządzeń. 23
7 Historia zmian Data Osoba Opis zmian 16.03.2007 Łukasz Krupa Wprowadzono przypadek kibica. 17.03.2007 Łukasz Krupa Wprowadzono przypadek początkującego użytkownika. 18.03.2007 Sebastian Chojniak Wprowadzono przypadek treningu speedcubera. 18.03.2007 Łukasz Krupa Uzupełnienie kilku alternatywnych scenariuszy. 19.03.2007 Grzegorz Łuczyna Przypadek: Organizowanie zawodów internetowych. 19.03.2007 Łukasz Krupa Wprowadzono modyfikacje standaryzacyjne. 19.03.2007 Sebastian Chojniak Rozbudowa przypadku treningu speedcubera. 19.03.2007 Grzegorz Łuczyna Przypadek: Uczestniczenie w zawodach internetowych. 20.03.2007 Sebastian Chojniak Dodanie przypadku organizowania zawodów stacjonarnych. 21.03.2007 Sebastian Chojniak Wprowadzenie poprawek do treningu speedcubera i organizowania zawodów stacjonarnych. 21.03.2007 Sebastian Chojniak, Złożenie dokumentu. Grzegorz Łuczyna 21.03.2007 Grzegorz Łuczyna Korekta dokumentu. 24