Fitness Klub Autor Dokumentu: Karolina Abram Michał Apanowicz Maciej Banasiewicz Właściciele j.w. Dokumentu: Wersja Dokumentu: 0.5 Status Dokumentu: Roboczy Data utworzenia: 27.10.2011 r. Data ostatniej 20.11.2011 r. modyfikacji: Nazwa pliku: Dokument2.doc Strona 1 z 27
Historia Data Autor Podsumowanie Wersja Zaznaczanie 06.11.2011 Karolina Abram Dodanie informacji o wymaganiach. 0.1 KRYTYCZNE 13.11.2011 Karolina Abram Dodanie przypadków użycia. 0.2 ZASADNICZE 20.11.2011 Karolina Abram 20.11.2011 Maciej Banasiewicz 29.11.2011 Karolina Abram 04.12.2011 Maciej Banasiewicz Wprowadzenie do przypadków użycia. Dodanie szkicowego diagramu bazy danych. Wprowadzenie do przypadków użycia. Wprowadzenie do diagramu bazy danych. 0.2 NORMALNE 0.3 ZASADNICZE 0.4 NORMALNE 0.5 ZASADNICZE Strona 2 z 27
Wstęp Cel i przeznaczenie dokumentu Niniejszy dokument ma na celu przedstawienie specyfikacji projektu systemu informatycznego zarządzania fitness klubem Fit by step. Dokumenty powiązane. LP Dokument Data ostatniej modyfikacji Autor (Imię i nazwisko) 1 IO_Abram_Apanowicz_Banasiewicz.doc 19.10.2011 Maciej Banasiewicz 2 diagram_przypadkow_uzycia.vsd 13.11.2011 Karolina Abram 3 diagram_bazy_danych.vsd 20.11.2011 Maciej Banasiewicz Słownik użytych skrótów. UC W Skrót/pojęcie Use Case przypadek użycia Wymaganie Opis Kontekst rozwiązania Źródło wymagań Źródłem wymagań jest dokument IO_Abram_Apanowicz_Banasiewicz.doc który utworzyliśmy podczas rozmowy z klientem(właścicielką klubu Fit by step ). Rozmowa odbyła się 18.10.11 r. w siedzibie klubu przy ulicy Królewskiej. W dokumencie tym znajdują się wytyczne dotyczące specyfikacji projektowanego systemu. Lista wymagań Identyfikator Nazwa Opis Realizacja (identyfikatory UC) W_01 Ewidencja Automatyczna UC_18_sprawdzanie_stanu_m Strona 3 z 27
Identyfikator Nazwa Opis Realizacja (identyfikatory UC) sprzedaży aktualizacja stanu agazynu produktów ze magazynu. Lista sklepu klubowego klientów z długiem. Wyświetlenie ostrzeżenia o małej ilości produktów w W_02 W_03 W_04 W_05 Zarządzanie karnetem przez Internet. Zintegrowany grafik zajęć Zarządzanie zajęciami online. System powiadomień magazynie. Możliwość sprawdzenia stanu karnetu oraz prolongaty karnetu przez Internet za pomocą płatności internetowych Możliwość przeglądania grafiku, opisu zajęć dostępności miejsc. Zdalne zapisywanie się na zajęcia. Odwoływanie zajęć. System powiadomień sms/email o ach w grafiku oraz zniżkach lub promocjach W_06 System statystyk System statystyk najpopularniejsze zajęcia, ilość treningów, również statystyki poszczególnych klientów W_07 W_08 System raportowania Co się dzieje w klubie. System raportowania tworzenie raportów na podstawie systemów statystyk (raporty dzienne, miesięczne itd.) Pełna informacja o tym, co się dzieje Strona 4 z 27 UC_05_zasilenie_karnetu, UC_06_sprawdzenie _karnetu UC_02_wyświetlenie_grafiku UC_14_tworzenie_zajęć UC_15_Edycja_zajęć UC_16_usuwanie_zajęć UC_17_odwoływanie_zajęć UC_03_rezerwowanie_zajęć UC_04_odwolywanie_zajęć UC_19_rozsyłanie_wiadomosci UC_08_informacje_o_promocja ch UC_27_generowanie_statystyk UC_13_generowanie_raportu UC_23_wyświetlenie_stanu_os obowego
Identyfikator Nazwa Opis Realizacja (identyfikatory UC) w klubie z każdego miejsca niezależnie od godziny W_09 Wystawianie faktur Możliwość UC_12_wystawanie_faktury wystawienia faktury dla klienta. W_10 Backup danych Automatyczne zapisywanie stanu bazy danych do kopii zapasowej. UC_28_backup_bazy_danych Model systemowych przypadków użycia Zidentyfikowane przypadki użycia Model UseCase bazuje na UC zidentyfikowanych w trakcie wymyślania koncepcji systemu. Na przedstawionych poniżej diagramach UC przyjęto następującą konwencję kolorowania UC: Szary UC niezmieniany Zielony UC modyfikowany Czerwony nowy UC Diagramy przypadków użycia Strona 5 z 27
Kontrola Klubu Pobranie danych z karnetu Generowanie statystyk Wyświetlenie informacji nt. osób znajdujących się na terenie klubu Drukowanie dokumentu Generowanie raportu Wystawianie faktury Właściciel sprawdzanie stanu magazynu «extends» Generowanie informacji statystycznych Tworzenie zajęć Edytowanie zajęć Recepcjonistka Wylogowanie logowanie Odwoływanie zajęć usuwanie zajęć Wyświetlenie grafiku Trener Rozsyłanie inforacji do członków grup Strona 6 z 27
Zarządzanie kontem Odwoływanie zajęć «extends» Logowanie Wyświetlenie grafiku «extends» Rezerwowanie zajęć Zasilenie karnetu Sprawdzenie stanu karnetu Wyświetlenie informacji o trenerach Klient Wyświetlenie informacji o promocjach Edytowanie danych osobowych Wylogowanie Strona 7 z 27
Zarządzanie systemem Logowanie Dodanie konta użytkownika Administrator «extends» Usuwanie konta użytkownika Edytowanie konta użytkownika Właściciel Wylogowywanie Funkcje systemowe Automatyczny backup danych Weryfikacja danych System Automatyczne rozsyłanie wiadomości Rozporzadzenie zwolnionym miejscem Strona 8 z 27
Lista przypadków użycia UC_01_logowanie Identyfikator Nazwa Rodzaj Opis UC_02_wyświetlenie_grafiku UC_03_rezerwowanie_zajęć UC_04_odwolywanie_ rezerwacji UC_05_zasilenie_karnetu Weryfikacja hasła i loginu Wyświetlenie grafiku Rezerwowanie zajęć Odwołanie rezerwacji na zajęcia Zasilenie karnetu UC_06_sprawdzenie _karnetu Sprawdzenie stanu karnetu UC_07_informacje_o_trenerach Wyświetlenie informacji o trenerach UC_08_informacje_o_promocja Wyświetlenie ch informacji o promocjach UC_09_edycja_danych Edytowanie danych osobowych UC_10_wylogowanie Wylogowanie UC_11_rejestracja_użytkownik a się z systemu. Rejestracja użytkownika w systemie Strona 9 z 27 Exten ds UC_0 2 Exten ds UC_0 2 Wprowadzony (login i hasło) przez użytkownika próbującego się zalogować do systemu poddawane są weryfikacji (czy istnieje taki user i czy hasło jest poprawne). Wyświetlenie tabeli zawierającej rozkład zajęć oraz ich opisu(kto prowadzi, specyfikacja zajęć, grupa docelowa, czy są wolne miejsca). Rezerwacja miejsc na zajęciach wybranych z uprzednio wyświetlonego grafiku jeżeli nie został osiągnięty limit miejsc. Odwołanie uprzednio zarezerwowanego miejsca na zajęciach. Zasilenie karnetu o określoną kwotę(przedłużenie ważności karnetu aby można było uczestniczyć w zajęciach). Wyświetlenie informacji o stanie karnetu(na ile zajęć można jeszcze przyjść) Wyświetlenie informacji o kadrze szkoleniowej(imię, nazwisko, prowadzone zajęcia). Wyświetlenie informacji o aktualnych promocjach dostępnych w klubie(informacje o rabatach, darmowych wejściówkach). Wprowadzenie dotyczących danych osobowych klienta. Zakończenie autoryzowanej sesji. Zebranie informacji na temat nowego użytkownika i dodanie go do bazy danych jeżeli podane informacje są prawidłowe. Wygenerowanie w postaci pliku faktury dla klienta Wygenerowanie raportu w postaci pliku do podglądu. Dodanie nowych zajęć do grafiku. UC_12_wystawanie_faktury Wystawianie faktury UC_13_generowanie_raportu Generowanie raportu UC_14_tworzenie_zajęć Tworzenie zajęć UC_15_Edycja_zajęć Edycja zajęć Wprowadzenie do określonych zajęć. UC_16_usuwanie_zajęć Usuwanie Usuwanie zajęć z grafiku. zajęć UC_17_odwoływanie_zajęć Odwoływanie Odwołanie pojedynczych zajęć w zajęć konkretnym terminie. UC_18_sprawdzanie_stanu_ma Sprawdzanie Wyświetlanie informacji na temat ilości
Identyfikator Nazwa Rodzaj Opis gazynu stanu magazynu UC_19_rozsyłanie_wiadomosci Rozsyłanie informacji do członków grup UC_20_dodanie_konta Dodanie konta użytkownika UC_21_usuwanie_konta Usuwanie konta użytkownika UC_22_edytowanie_konta Edytowanie konta użytkownika UC_23_wyświetlenie_stanu_os Wyświetlenie obowego informacji nt. osób znajdujących się na terenie UC_24_wyświetlnie_informacji_ o_ofercie UC_25_drukowanie_dokument u UC_26_pobranie_danych_z_ka rnetu klubu. Wyświetlenie informacji o ofercie klubu. Drukowanie dokumentu Pobranie danych z karnetu. UC_27_generowanie_statystyk Generowanie statystyk UC_28_backup_bazy_danych UC_29_weryfikacja_danych UC_30_rozporzadzenie_zwolni onym_miejscem Backup bazy danych Weryfikacja danych Rozporządzeni e zwolnionym miejscem produktów znajdujących się w danej chwili w magazynie. Powiadamianie poprzez email albo sms członków grupy. Dodanie do systemu nowego użytkownika. Usuwanie konta danego użytkownika z systemu. Edytowanie konta danego użytkownika. Wyświetlanie informacji o ilości osób przebywających na terenie klubu oraz szczegółów na ich temat. Wyświetlanie informacji o dostępnej ofercie. Możliwość wydrukowania informacji z systemu. Odnotowanie faktu że klient przyszedł na zajęcia i pobranie należności z jego karnetu. Wyświetlenie informacji o aktywności klientów(najpopularniejsze zajęcia, trenerzy, najaktywniejsi użytkownicy) Automatyczne zapisanie stanu bazy danych do kopii zapasowej wykonywane o określonej porze lub na żądanie. Sprawdzenie poprawności wprowadzonych danych. W przypadku kiedy klient odwołuje rezerwacje na zajęcia, zostaje wygenerowana automatyczna wiadomość (UC_19_rozsyłanie_wiadomosci) do osób z listy rezerwowej w celu zapełnienia wolnego miejsca. UC_31_dodanie_oferty Dodanie oferty Dodanie oferty do listy ofert dostępnych dla klientów klubu (promocje etc.) Strona 10 z 27
Identyfikator Nazwa Rodzaj Opis UC_32_wyswietlenie_listy_ofert Wyświetlenie listy ofert Wyświetlenie listy obecnie dostępnych promocji, zniżek. UC_33_edycja_oferty Edycja oferty Wyświetlenie formularza do edycji oferty uzupełnionego o dane już istniejące w bazie danych. UC_34_usuniecie_oferty Usunięcie oferty Usunięcie oferty z bazy danych. UC_35_rozsylanie_wiadomosci _system Rozesłanie wiadomości przez system. System automatycznie generuje wiadomość i ją wysyła. UC_36_automatyczny_backup_ bazy_danych Automatyczny Backup bazy danych Automatyczne zapisanie stanu bazy danych do kopii zapasowej wykonywane o określonej porze lub na żądanie. Lista aktorów Nazwa Opis Rodzaj Administrator Systemu Recepcjonistka Klient Administrator nadrzędny, jedyne takie konto w całym systemie. Może tworzyć konta użytkowników każdego rodzaju, zarządzać kontami oraz przyznawać i odbierać uprawnienia. Może dodawać nowych użytkowników oraz ich usuwać(klientów), edytować informacje na ich temat. Generować faktury i raporty oraz sprzedawać rzeczy ze sklepu. Może przeglądać grafik, rezerwować i odwoływać zajęcia doładowywać karnet. Przeglądać informacje o trenerach. Strona 11 z 27 Osoba Osoba Osoba
Nazwa Opis Rodzaj Właściciel extends Recepcjonistka Trener System Może dodatkowo przeglądać informacje nt. stanu finansowego klubu pogląd informacji o osobach przebywających obecnie na terenie klubu. Możliwość zarządzania kontami pracowników. Możliwość kontaktu z uczestnikami zajęć i przeglądania grafiku. Odpowiada za czynności które nie wymagają ingerencji użytkownika (zautomatyzowane funkcje). Lista przypadków, dokładne działanie. Przypadek użycia UC_01_logowanie Osoba Osoba System komputerowy A bez UC_01_logowanie Weryfikacja loginu i hasła Wprowadzony (login i hasło) przez użytkownika próbującego się zalogować do systemu poddawane są weryfikacji (czy istnieje taki user i czy hasło jest poprawne). 1. Wyświetlenie formularza 2. Wprowadzenie przez użytkownika hasła i loginu 3. Weryfikacja danych 4. Uwierzytelnienie 5. Przekierowanie do strony głównej systemu Scenariusz 1: Wprowadzone dane są nie poprawne, użytkownik proszony jest o wprowadzenie danych ponownie. 3. a) Weryfikacja danych wprowadzone dane są niepoprawne! 4. Ponowne wyświetlanie formularza Scenariusz 2: Użytkownik zapomniał hasła 2. a) Kliknięcie w przycisk Przypomnij hasło 3. Wyświetlenie formularza, gdzie użytkownik wprowadza adres email, na który rejestrował konto (w miarę potrzeby mogą być nałożone dodatkowe zabezpieczenia). 4. Weryfikacja danych mail istnieje w bazie danych 5. Zostaje wysłane nowe hasło na adres e-mail, wraz z instrukcjami jak uzyskać dostęp do konta. Scenariusz 3: Użytkownik zapomniał hasła i podał zły e-mail w formularzu odzyskiwania hasła. 2. b) Kliknięcie w przycisk Przypomnij hasło 3. Wyświetlenie formularza, gdzie użytkownik wprowadza adres email, na który rejestrował konto (w miarę potrzeby mogą być nałożone dodatkowe Strona 12 z 27
zabezpieczenia). 4. Weryfikacja danych mail nie istnieje w bazie danych 5. Wyświetlenie powiadomienia o nie istnieniu takiego adresu w bazie danych. 6. Prośba o ponowne wpisanie maila. Przypadek użycia UC_02_wyświetlenie_grafiku UC_02_wyświetlenie_grafiku Wyświetlenie grafiku Wyświetlenie tabeli zawierającej rozkład zajęć oraz ich opisu, (kto prowadzi, specyfikacja zajęć, grupa docelowa, czy są wolne miejsca). 1. Kliknięcie przycisku wyświetl grafik. 2. Wyświetlenie tabeli z rozkładem zajęć. Przypadek użycia UC_03_rezerwowanie_zajęć UC_03_rezerwowanie_zajęć Rezerwowanie zajęć Rezerwacja miejsc na zajęciach wybranych z uprzednio wyświetlonego grafiku jeżeli nie został osiągnięty limit miejsc. Spełnione są warunki: - karnet jest ważny - są miejsca na zajęcia 1. Kliknięcie w przycisk rezerwacji znajdujący się obok wybranych zajęć. 2. Sprawdzenie warunków wynik pozytywny. 3. Dodanie klienta do listy uczestników danych zajęć. 4. Wyświetlenie powiadomienia o dokonaniu rezerwacji. A bez Scenariusz 1: Nie spełniono warunku ważności karnetu. 2. a) Sprawdzenie warunków wynik negatywny dla ważności karnetu. 3. Wyświetlenie informacji o prośbie doładowania karnetu wraz z przyciskiem przekierowującym do UC_05_zasilenie_karnetu. Scenariusz 2: Brak wolnych miejsc na zajęciach. 2. b) Sprawdzenie warunków wynik negatywny dla wolnych miejsc. 3. Wyświetlenie informacji o braku miejsc na zajęcia i dopisanie użytkownika do listy oczekujących. Strona 13 z 27
Scenariusz 3: Nie spełniono obu warunków. 2. c) Sprawdzenie warunków wynik negatywny dla obu warunków. 3. Wyświetlenie informacji o konieczności doładowania karnetu oraz braku wolnych miejsc na zajęcia wraz z przyciskiem przekierowującym do UC_05_zasilenie_karnetu. Przypadek użycia UC_04_odwolywanie_rezerwacji UC_04_odwolywanie_rezerwacji Odwołanie rezerwacji na zajęcia Odwołanie uprzednio zarezerwowanego miejsca na zajęciach. Spełnione są warunki: - klient posiada rezerwację na dane zajęcia - próbuje odwołać rezerwację w ustalonym czasie przed zajęciami 1. Kliknięcie w przycisk Odwołaj rezerwację. 2. Pozytywne sprawdzenie minimalnego terminu dla odwołania zajęć. 3. Użytkownik zostaje wykreślony z listy osób zapisanych na zajęcia. 4. Wyświetlone zostaje powiadomienie o odwołaniu rezerwacji. 5. Jeżeli są osoby, oczekujące na zwolnienie miejsca. Zostaje im wysłanie powiadomienie z UC_19_rozsyłanie_wiadomości A bez Nie spełniono warunku odwołania rezerwacji w ustalonym czasie przed zajęciami. 2. Sprawdzenie minimalnego terminu potrzebnego do odwołania zajęć daje wynik negatywny. 3. Wyświetlone zostaje powiadomienie o niemożliwości odwołania rezerwacji na zajęcia. Przypadek użycia UC_05_zasilenie_karnetu UC_05_zasilenie_karnetu Zasilenie karnetu Zasilenie karnetu o określoną kwotę(przedłużenie ważności karnetu aby można było uczestniczyć w zajęciach). (Pola formularza: kwota doładowania/termin, forma płatności) Spełniony jest warunek posiadania karnetu. Strona 14 z 27
A bez 1. Kliknięcie w opcję zasil karnet. 2. Wyświetlenie formularza doładowania karnetu. 3. Wybranie formy płatności oraz kwoty. 4. Kliknięcie w przycisk doładuj. 5. Przekierowanie na stronę instytucji finansowej. 6. Weryfikacja dokonania płatności pozytywna. 7. Zasilenie karnetu odpowiednią kwotą. Brak pozytywnej weryfikacji płatności. 6. a) Weryfikacja dokonania płatności negatywna. 7. Kontakt z klientem w celu wyjaśnienia zaistniałej sytuacji. Przypadek użycia UC_06_sprawdzenie_karnetu A bez UC_06_sprawdzenie_karnetu Sprawdzenie stanu karnetu Wyświetlenie informacji o stanie karnetu(na ile zajęć można jeszcze przyjść). Wyświetlone zostają informacje o stanie karnetu i jego dacie ważności. 1. Kliknięcie w przycisk wyświetl stan karnetu. 2. Wyświetlenie informacji o stanie karnetu i jego dacie ważności. Informacja o tym że dany karnet wygasł i należy go przedłużyć jeżeli nadal chce się uczęszczać na zajęcia. 2. a) Wyświetlenie informacji o wygaśnięciu karnetu oraz przycisku przekierowującego do doładowania karnetu UC_05_zasilenie_karnetu. Przypadek użycia UC_07_informacje_o_trenerach A bez UC_07_informacje_o_trenerach Wyświetlenie informacji o trenerach Wyświetlenie informacji o kadrze szkoleniowej(imię, nazwisko, prowadzone zajęcia). Wyświetlone zostaje zestawienie imienia i nazwiska trenera wraz z prowadzonymi przez niego zajęciami. 1. Kliknięcie w przycisk Informacje o trenerach. 2. Wyświetlenie imienia i nazwiska, krótkiej biografii oraz prowadzonych zajęć. Brak. Przypadek użycia UC_08_informacje_o_promocjach UC_08_informacje_o_promocjach Wyświetlenie informacji o promocjach Strona 15 z 27
A bez Wyświetlenie informacji o aktualnych promocjach dostępnych w klubie(informacje o rabatach, darmowych wejściówkach). Wyświetlone zostanie zestawienie promocji wraz z terminami, w jakich obowiązują. 1. Kliknięcie w przycisk informacje o promocjach. 2. Odczytanie statystyk dotyczących aktywności danego użytkownika i wygenerowania na tej podstawie promocji indywidualnej. 3. Wyświetlenie promocji indywidualnej oraz ofert ogólnodostępnych. Brak promocji. Przypadek użycia UC_09_edycja_danych A bez UC_09_edycja_danych Edytowanie danych osobowych Wprowadzenie dotyczących danych osobowych klienta. (Pola formularza: nr telefonu,ulica, miasto, email, login, hasło) 1. Kliknięcie przycisku edycja danych osobowych. 2. Wyświetlenie formularza z danymi osobowymi. 3. Wprowadzenie w odpowiednie pola. 4. Walidacja. 5. Zapisanie. 4. a) Walidacja wynik negatywny. 5. Prośba o poprawienie złych wpisów. Przypadek użycia UC_10_wylogowanie A bez UC_10_wylogowanie Wylogowanie się z systemu. Zakończenie autoryzowanej sesji. 1. Kliknięcie przycisku wyloguj. 2. Zakończenie autoryzowanej sesji wraz z komunikatem o poprawnym wylogowaniu. 3. Przekierowanie do strony głównej. 2. a) Wyświetlenie komunikatu, że użytkownik został już wylogowany. 3. Przekierowanie do strony głównej. Przypadek użycia UC_11_rejestracja_użytkownika UC_11_rejestracja_użytkownika Rejestracja użytkownika w systemie Zebranie informacji na temat nowego użytkownika i dodanie go do bazy danych jeżeli podane informacje są prawidłowe. (Pola formularza: imie, nazwisko, data, urodzenia, zdjęcie,płeć,nr telefonu,ulica, miasto, email, login, hasło) 1. Kliknięcie przycisku zarejestruj. 2. Wyświetlenie formularza rejestracji. Strona 16 z 27
3. Walidacja danych 4. Wyświetlenie komunikatu o poprawnej rejestracji wraz z prośbą o aktywowanie konta poprzez odczytanie emaila, który został do niego wysłany. A bez 3. Walidacja danych wynik negatywny 4. Wyświetlenie komunikatu o niepoprawnych danych. Prośba o wprowadzenie. Przypadek użycia UC_12_wystawanie_faktury A bez UC_12_wystawanie_faktury Wystawianie faktury Wygenerowanie w postaci pliku faktury dla klienta (Pola formularza: data, dane klienta, usługa, wartość) 1. Kliknięcie przycisku wystaw fakturę. 2. Wyświetlenie formularza. 3. Wprowadzenie danych. 4. Wygenerowania faktury do pliku (lub wydrukowanie UC_25_wydrukowanie_dokumentu). Brak Przypadek użycia UC_13_generowanie_raportu A bez UC_13_generowanie_raportu Generowanie raportu Wygenerowanie raportu w postaci pliku do podglądu. Na podstawie danych zebranych na dany temat zostaje wygenerowany raport. 1. Kliknięcie przycisku generuj raport. 2. Wybranie, jakiego typu ma być ten raport. 3. Wygenerowanie raportu. 4. Wygenerowania raportu do pliku (lub wydrukowanie UC_25_wydrukowanie_dokumentu). Brak. Przypadek użycia UC_14_tworzenie_zajęć UC_14_tworzenie_zajęć Tworzenie zajęć Dodanie nowych zajęć do grafiku. (Pola formularza: nazwa,trener,sala,termin,opis,zdjęcia) Użytkownik może, ale nie musi umieścić ich w grafiku. Strona 17 z 27
A bez 1. Kliknięcie przycisku Utwórz zajęcia. 2. Wybranie typu zajęć, trenera, terminu, opisu (opcjonalne). 3. Dodanie do bazy danych. 4. Wyświetlenie informacji o poprawnym dodaniu. Brak. Przypadek użycia UC_15_Edycja_zajęć A bez UC_15_Edycja_zajęć Edycja zajęć Wprowadzenie do określonych zajęć. (Pola formularza: nazwa,trener,sala,termin,opis,zdjęcia) 1. Kliknięcie przycisku Edytuj zajęcia. 2. Wyświetlenie formularza uzupełnionego o poprawne dane. 3. Wprowadzenie, co do typu zajęć, trenera, terminu, opisu (opcjonalne). 4. Sprawdzenie czy nie występuje kolizja danych. 5. Uaktualnienie. 6. Wyświetlenie informacji o poprawnej edycji. 4. a) Kolizja danych z już istniejącymi zajęciami (np. ten sam termin w tej samej sali) 5. Wyświetlenie komunikatu o kolizji danych. Przypadek użycia UC_16_usuwanie_zajęć A bez UC_16_usuwanie_zajęć Usuwanie zajęć Usuwanie zajęć z grafiku. 1. Wciśnięcie przycisku usuń zajęcia. 2. Usunięcie zajęć z bazy danych i wykreślenie z grafiku. 3. Zapisane. Brak. Przypadek użycia UC_17_odwoływanie_zajęć UC_17_odwoływanie_zajęć Odwoływanie zajęć Odwołanie pojedynczych zajęć w konkretnym terminie. 1. Kliknięcie przycisku odwołaj zajęcia znajdującego się obok danych zajęć w grafiku. 2. Rozesłanie wiadomości do osób mających rezerwacje na dane zajęcia - UC_19_rozsyłanie_wiadomosci. (Dodatkowo zapewnienie o nieobciążeniu karnetu w treści wiadomości). Brak. Strona 18 z 27
A bez Przypadek użycia UC_18_sprawdzanie_stanu_magazynu A bez UC_18_sprawdzanie_stanu_magazynu Sprawdzanie stanu magazynu Wyświetlanie informacji na temat ilości produktów znajdujących się w danej chwili w magazynie. 1. Kliknięcie przycisku sprawdź stan magazynu. 2. Wyświetlenie zestawienia wszystkich produktów wraz z ich aktualną ilością oraz wyszczególnieniem produktów będących na wyczerpaniu. 2. a) Wyświetlenie informacji o tym, że na magazynie nie znajdują się żadne produkty. Przypadek użycia UC_19_rozsyłanie_wiadomosci A bez UC_19_rozsyłanie_wiadomosci Rozsyłanie informacji do członków grup Powiadamianie poprzez email albo sms członków grupy. (Pola formularza: odbiorcy, treść) Scenariusz 1: 1. Kliknięcie przycisku utwórz wiadomość. 2. Wprowadzenie treści wiadomości i określenie odbiorców. 3. Kliknięcie przycisku wyślij wiadomość. 4. Wyświetlenie powiadomienia o wysłanej wiadomości. 3. a) Brak określonych odbiorców. 4. Kliknięcie przycisku wyślij wiadomość. 5. Wyświetlenie powiadomienia o niemożliwości wysłania wiadomości. Przypadek użycia UC_20_dodanie_konta UC_20_dodanie_konta Dodanie konta użytkownika Dodanie do systemu nowego użytkownika. (Pola formularza: typ, płeć, nr telefonu email, ulica, miasto, data urodzenia, kod pocztowy, w zależności od typu: prawa dostępu,stanowisko, nip) 1. Kliknięcie przycisku Dodaj konto. 2. Wyświetlenie formularza nowego użytkownika. 3. Wprowadzenie danych. 4. Walidacja. 5. Dodanie konta do bazy danych i powiadomienie o Strona 19 z 27
A bez sukcesie. 4. a) Walidacja wynik negatywny 5. Wyświetlenie informacji o niepoprawnych danych. Przypadek użycia UC_21_usuwanie_konta A bez UC_21_usuwanie_konta Usuwanie konta użytkownika Usuwanie konta danego użytkownika z systemu. 1. Kliknięcie przycisku Usuń konto. 2. Oznaczenie konta użytkownika, jako konta nieaktywnego (taki użytkownik nie może logować się do systemu). Brak Przypadek użycia UC_22_edytowanie_konta A bez UC_22_edytowanie_konta Edytowanie konta użytkownika Edytowanie konta danego użytkownika. (Pola formularza: typ, płeć, nr telefonu email, ulica, miasto, data urodzenia, kod pocztowy, w zależności od typu: prawa dostępu,stanowisko, nip) 1. Kliknięcie przycisku edytuj konto. 2. Wyświetlenie formularza. 3. Wprowadzenie w formularzu. 4. Walidacja danych. 5. Zapisanie. 4. a) Walidacja danych wynik negatywny. 5. Wyświetlenie powiadomienia o niepoprawnych danych. Przypadek użycia UC_23_wyświetlenie_stanu_osobowego A bez UC_23_wyświetlenie_stanu_osobowego Wyświetlenie informacji nt. osób znajdujących się na terenie klubu. Wyświetlanie informacji o ilości osób przebywających na terenie klubu oraz szczegółów na ich temat. 1. Kliknięcie przycisku Wyświetl stan osobowy. 2. Wyświetlenie informacji o ilości osób aktualnie znajdujących się na terenie klubu. Dodatkowo zawarta jest informacja czy osoby posiadają długi i co aktualnie robią. 2. a) Wyświetlenie informacji o tym, że nikogo nie ma aktualnie w klubie. Przypadek użycia UC_24_wyświetlnie_informacji_o_ofercie UC_24_wyświetlnie_informacji_o_ofercie Strona 20 z 27
A bez Wyświetlenie informacji o ofercie klubu. Wyświetlanie informacji o dostępnej ofercie. 1. Kliknięcie przycisku Pokaż ofertę. 2. Wyświetlenie oferty skierowanej indywidualnie do klienta na podstawie zebranych danych o jego aktywności w klubie 2. a) Wyświetlenie informacji o promocjach ogólnych. Przypadek użycia UC_25_drukowanie_dokumentu A bez UC_25_drukowanie_dokumentu Drukowanie dokumentu Możliwość wydrukowania informacji z systemu. 1. Kliknięcie przycisku drukuj. 2. Przekazanie dokumentu do drukarki. 2. a) Wyświetlenie powiadomienia o braku drukarki. Przypadek użycia UC_26_pobranie_danych_z_karnetu A bez UC_26_pobranie_danych_z_karnetu Pobranie danych z karnetu. Odnotowanie faktu że klient przyszedł na zajęcia i pobranie należności z jego karnetu. 1. Odczytanie danych z karty przyłożonej do czytnika. 2. Uaktualnienie bazy danych.(obecności na zajęciach oraz odjęcie należności za zajęcia) 3. Otwarcie bramki. Brak. Przypadek użycia UC_27_generowanie_statystyk A bez UC_27_generowanie_statystyk Generowanie statystyk Wyświetlenie informacji o aktywności klientów (Pola formularza: zajęcia, trenerzy, użytkownicy, data od, data do, godzina od, godzina do) 1. Kliknięcie przycisku Generuj statystyki. 2. Wyświetlenie statystyki aktywności klienta w formie graficzno-tekstowej. 2. a) Wyświetlenie informacji o niewystarczającej ilości danych do wygenerowania statystyki. Strona 21 z 27
Przypadek użycia UC_28_backup_bazy_danych A bez UC_28_backup_bazy_danych Backup bazy danych Zapisanie stanu bazy danych do kopii zapasowej wykonywane na żądanie. Na żądanie wykonywany jest zapis bazy danych do kopii zapasowej. 1. Kliknięcie przycisku Zapisz aktualny stan bazy danych. 2. Utworzenie kopii zapasowej. Brak. Przypadek użycia UC_29_weryfikacja_danych A bez UC_29_weryfikacja_danych Weryfikacja danych. Sprawdzenie poprawności wprowadzonych danych. 1. System otrzymuje dane do sprawdzenia. 2. Wysłanie zapytania do bazy danych. 3. Zwrócenie informacji o poprawnej weryfikacji 3. a) Zwrócenie informacji o niepoprawnej weryfikacji Przypadek użycia UC_30_rozporzadzenie_zwolnionym_miejscem A bez UC_30_rozporzadzenie_zwolnionym_miejscem Rozporządzenie zwolnionym miejscem. W przypadku kiedy klient odwołuje rezerwacje na zajęcia, zostaje wygenerowana automatyczna wiadomość (UC_19_rozsyłanie_wiadomosci) do osób z listy rezerwowej w celu zapełnienia wolnego miejsca. Scenariusz 1(Zostaje spełniony warunek istnienia listy osób oczekujących): 1. Jeden z użytkowników odwołuje rezerwacje(uc_04_odwolywanie_rezerwacji). 2. Zostaje wygenerowana automatyczna wiadomość (UC_19_rozsyłanie_wiadomosci) do osób z listy rezerwowej. 3. Osoba która jako pierwsza potwierdzi chęć uczestnictwa w zajęciach otrzymuje rezerwacje na zwolnione miejsce(uc_03_rezerwowanie_zajęć). Scenariusz 1(Zostaje spełniony warunek istnienia listy osób oczekujących): 3. a) Żadna z osób nie wyraziła chęci uczestnictwa w zajęciach Strona 22 z 27
Scenariusz 2(Nie zostaje spełniony warunek istnienia listy osób oczekujących): 2. a) W grafiku w odpowiednim miejscu wyświetlona zostaje informacja o wolnym miejscu. Przypadek użycia UC_31_dodanie_oferty A bez UC_31_dodanie_oferty Dodanie oferty. Dodanie oferty do listy ofert dostępnych dla klientów klubu (promocje etc.) (Pola formularza: nazwa oferty, treść, odbiorcy, data waznosci) Scenariusz 1: 1. Wyświetlenie formularza. 2. Uzupełnienie formularza odpowiednimi danymi, oraz określenie czy oferta jest skierowana do jednej osoby czy jest ogólnodostępna. 3. Kliknięcie w przycisk Dodaj ofertę. Scenariusz 1(Formularz zostaje uzupełniony nieodpowiednimi danymi): 4. Wyświetlenie informacji o niepoprawności wprowadzonych informacji 5. Ponowne wyświetlenie formularza. Przypadek użycia UC_32_wyswietlenie_listy_ofert A bez UC_32_wyswietlenie_listy_ofert Wyświetlenie listy ofert Wyświetlenie listy obecnie obowiązujących promocji etc. Scenariusz 1: 1. Kliknięcie w przycisk wyświetl oferty. 2. Wyświetlenie listy wszystkich aktualnych ofert. Scenariusz 1(Brak ofert): 2. a) Wyświetlenie informacji o braku ofert w bazie danych. Przypadek użycia UC_33_edycja_oferty UC_33_edycja_oferty Edycja oferty Wyświetlenie formularza do edycji oferty uzupełnionego o dane już istniejące w bazie danych. (Pola formularza: nazwa oferty, treść, odbiorcy, data waznosci) Scenariusz 1: 1. Kliknięcie w przycisk edytuj znajdującego się obok interesującej nas oferty. 2. Wyświetlenie formularza do edycji oferty uzupełnionego o dane już istniejące w bazie danych. Strona 23 z 27
A bez 3. Wprowadzenie. 4. Kliknięcie w przycisk Zatwierdź y Scenariusz 1(y nie są poprawne): 5. Wyświetlenie informacji o niepoprawności wprowadzonych. 6. Ponowne wyświetlenie formularza z pkt 2. Przypadek użycia UC_34_usuniecie_oferty A bez UC_34_usuniecie_oferty Usunięcie Usunięcie oferty z bazy danych. Scenariusz 1: 1. Kliknięcie w przycisk usuń znajdującego się obok interesującej nas oferty. 2. Wyświetlenie informacji o poprawnym usunięciu oferty. Brak Przypadek użycia UC_35_rozsylanie_wiadomosci_system A bez UC_35_rozsylanie_wiadomosci_system Rozsyłanie wiadomości przez system. Automatycznie wygenerowana wiadomość zostaje wysłana przez system. Scenariusz 1: 1. Zostaje utworzona automatyczna wiadomość (wywołana przez odpowiednie zdarzenie w systemie). 2. Wiadomość zostaje wysłana. Brak Przypadek użycia UC_36_automatyczny_backup_bazy_danych UC_36_automatyczny_backup_bazy_danych Automatyczny Backup bazy danych Automatyczne zapisanie stanu bazy danych do kopii zapasowej wykonywane o określonej porze lub na żądanie. Scenariusz 1: O danej porze wykonywany jest automatyczny zapis bazy danych do kopii zapasowej. 1. Porównanie aktualnej godziny z zaplanowanych czasem utworzenia kopii zapasowej. 2. Utworzenie kopii zapasowej. Brak. Strona 24 z 27
A bez Diagram baz danych ERD message PK id PK FK1 offert id description type id_client PK,FK1 FK1 CLIENT id name surname phone_number gender picture pesel street city id_card email debt login password PK,FK1 card id id_client status exp_date type PK employee id name surname FK1 id_occupation phone_number email street city nip pesel rights login password occupation PK content FK1 id_employee receivers id name who_in_club PK id gym FK1 id_client is_still_inside FK2 id_statistic id FK1 storage id_product quantity id PK product id name price PK statistic id FK1 id_cliient FK2 id_activity quantity date PK reservation id FK1 id_client FK2 id_activity timestamp PK activity id name FK1 id_employee FK2 id_gym day_of_week time is_active description people_limit description size number Model systemowego konceptualnego diagramu klas. Zidentyfikowane klasy Strona 25 z 27
Diagram klas systemu Hipokrates. uc hiporkates Uzytkownik + use_birthdate: int # use_email: string + use_id: int + use_name: string + use_phone: int + use_sex: string + usr_active: string + usr_lastactive: string # usr_password: int + usr_role: string 1 1..* Adres + adr_country: string + adr_id: int + adr_localnumber: string + adr_postalcode: int + adr_state: string + adr_street: string + getuseradress() : void + pac_id: int Pacjent + login() : void + logout() : void + modyfiuserdatabyuser() : void + setactiveuser() : void + setlastactivity() : void + showuserdata() : void + userdataveryfication() : void + userroleveryfication() : void Admin + adm_id: int - new_password: string - old_password: string + add_admin() : void # adduser() : void # changepassword() : void + modyfiuserdatabyadmin() : void + addpacjent() : void + przeglądajhistorieleczenia() : void + rejestrujnawizyte() : void +Pacjent 1 Rejestruje Doctor + doc_graphtime: string + doc_id: int + doc_identyfier: string + doc_speciality: int + adddoktor() : void + pokazgrafik() : void + pokazhistoriechorobypacjeta() : void + przegladajrejestracje() : void + ustawgrafik() : void +Doktor 1..* przegląda + asy_id: int Asystent + addasystent() : void + wykonajzabiegi() : void +Asystent 1 wykonuje +Zabiegi 0..* Zabiegi + ope_comment: string + ope_datedone: string + ope_description: string + ope_id: int +Wizyta 1..* PobierzDocId + getdocid() : void +Rejestracje 1 Wizyta 1..* + dodajkomentarzzabigu() : void + sprawdzzabiegiperuser() : void + zakonczzabieg() : void + vis_id: int Rejestracja + checkavaiabledatetime() : void + getdoctor() : void + gettimetable() : void PobierzVisId + vis_date: int + vis_description: string + dodajkomentarzwizty() : void + dodajrecepte() : void + dodajzabieg() : void + sprawdzwizyteperuser() : void + zakonczwizyte() : void + getvisid() : void 1..* 1 1 Recepta + med_description: string + med_id: int + med_name: string + dodajkomentarzrecepty() : void Lista klas, dokładne działanie. Klasa UZYTKOWNIK Pola UZYTKOWNIK Użytkownik. Klas definiuje podstawowe metody i pola funkcjonalności systemu dotyczące użytkowników. Z poziomu tej klasy istnieje także możliwość modyfikowania istniejących kont użytkowników oraz. Umiejscowione zostały metody umożliwiające przeglądanie danych osobowych po wcześniejszym zalogowaniu. use_birthdate int use_email string Protected use_id int Strona 26 z 27
use_name string use_phone int use_sex string usr_active string usr_lastactive string usr_password int Protected usr_role string Metody modyfiuserdatabyuser() void Modyfikacja wprowadzonych danych z poziomu użytkownika systemu nie adm. setactiveuser() void Aktywowanie / dezaktywowanie usera. setlastactivity() void Data ostatniego logowania. showuserdata() void Przeglądanie podstawowych danych osobowych (po zalogowaniu) opcjonalne wywołanie funkcji modyfiuserdatabyuser userdataveryfication() void Weryfikacja wprowadzonych danych podczas logowania userroleveryfication() void Weryfikacja roli użytkownika w systemie login () void Logowanie do systemu logout () void Wylogowanie z systemu Plan implementacji, architektura i wybór technologii Strona 27 z 27