Wojskowa Akademia Techniczna
Wydział Cybernetyki
Laboratorium Inżynierii Oprogramowania
System informatyczny wspomagający obsługę firmy prowadzącej gry losowe
Prowadzący: dr inż. Grzegorz Bliźniuk
Grupa laboratoryjna: I0Y3S1
Zespół wytwórczy 18/2012/GB
Nazwa roli |
Nazwisko i imię |
Zamawiający / Kierownik projektu |
Skłodowski Radosław |
Analityk / Projektant |
Stuczyński Robert |
Analityk / Tester akceptacyjny |
Sobczak Michał |
Projektant / Tester wewnętrzny |
Sokołowski Michał |
Tester akceptacyjny / Metodolog |
Rudalski Rafał |
Zadanie: System informatyczny wspomagający obsługę firmy prowadzącej gry losowe
Przydział zadań:
Skłodowski Radosław |
Przedstawienie wymagań, nadzór nad wykonywaniem projektu |
Stuczyński Robert |
Diagram przypadków użycia (UML), specyficzne wymagania |
Sobczak Michał |
Wywiad z klientem, redagowanie zawartości dokumentu |
Sokołowski Michał |
Diagram przypadków użycia (UML) , specyficzne wymagania |
Rudalski Rafał |
Nadzór nad zawartością merytoryczną |
Spis treści
Wstęp
Poniższy dokument zawiera specyfikację wymagań dla systemu informatycznego obsługi firmy prowadzącej gry losowe. Powstał jako wynik rozmowy przeprowadzonej między klientem, a analitykami. Klient okazał się bardzo wymagający, każdy szczegół musiał być bardzo dopracowany.
Klient okazał się właścicielem kasyna, a system ma umożliwić wspomaganie oraz ogólne zarządzanie jego przedsiębiorstwem. Z wywiadu wynika, że system musi być łatwy w obsłudze. Właściciel ma mieć dostęp do wszystkich właściwości i danych. Na ten projekt przeznacza dość pokaźny budżet, więc dane muszą być wyjątkowo dobrze zabezpieczone. Niższy poziom dostępu będzie dostępny dla kierownika, który ma mieć dostęp do danych pracowników. Będzie on odpowiedzialny za zatrudnianie i zwalnianie pracowników. Wszystkie te operacje będą dostępne z poziomu systemu. Kolejną opcją dla kierownika będzie dostęp do danych finansowych. Kierownik ma być prawą ręką właściciela, będzie odpowiedzialny za wszelkie operacje finansowe, począwszy od wypłat dla pracowników, a kończąc na codziennym rozliczaniu wszystkich operacji zawartych w danym dniu w kasynie. Następną osobą mającą dostęp do systemu będzie zwykły pracownik, który ma dostęp do zarządzania kartą gracza ...
Celem dokumentu jest jasne i jednoznaczne określenie wymagań klienta względem tworzonego systemu oraz opisanie sposobu działania poszczególnych elementów tego systemu.
Po rozmowie z zamawiającym okazało się, iż oczekuje on systemu wspomagającego obsługę jego kasyna. Wynikiem przeprowadzonej rozmowy jest zbiór wymagań względem projektu, co pozwala na podział obowiązków w grupie wykonawczej.
Cel
Celem jest utworzenie aplikacji odpowiadającej za obsługę kasyna. System ma za zadanie ułatwienie pracy i pomoc w zarządzaniu firmą. Głównym celem jest zminimalizowanie ilości pracy wykonywanej przez pracowników ręcznie oraz czasu potrzebnego na wykonanie poszczególnych zadań, które zostaną zautomatyzowane przez aplikację.
Zakres
System ma obejmować sprawy związane z obsługą klienta, takie jak : zarządzanie indywidualną kartą gracza (umożliwiającą granie w kasynie, bez niej nie można grać). Do karty gracza przypisany jest unikalny numer ID, pozwalający rozpoznawać gracza w systemie kasyna. Karta gracza jest również potrzebna do uczestnictwa w grach na terenie kasyna i to na niej zapisywane są informacje o wygranych i porażkach(zajmuję się tym inny system załadowany na każdą z maszyn w kasynie). Karta doładowywana jest poprzez przelew, lub w kasie kasyna. Potrzebna jest również do pobrania wygranych środków.
System ma ponadto umożliwiać zarządzanie naszymi pracownikami (kontrola obecności, płace, podział obowiązków, ...)
Kolejnym elementem naszego systemu będzie ewidencja wszelkich urządzeń dostepnych w naszym kasynie (autmaty, stoły, itd.). Informacje o usterkach technicznych i naprawach są również zawarte w tym module.
Następny moduł odpowiadał będzie za sferę finansów kasyna. Wszelkie wpływy oraz wydatki zostają wpisane do systemu, dzięki czemu możliwe staje się zarządzanie raportami, statystykami, a także wygodny podgląd sytuacji finansowej.
Ostatnim, a zarazem najciekawszym modułem naszego systemu będzie generowanie raportów, zestawień i innych informacjii na temat zagranych gier. W skład tego modułu wchodzi także zarządzanie ryzykiem.
Całkowite wykonanie projektu przewidziane jest na czerwiec 2012 i zamyka się w kwocie 7mln Euro.
Definicje
Dane klienta : ID karty, opcjonalnie: imię, nazwisko
Ewidencja sprzętu : nr elementu
Dane pracownika : ID pracownika, imię, numer konta
Dane raportu : nr raportu, data początkowa, data końcowa
Krótki przegląd
Tworzenie przypadków użycia to technika stosowana w inżynierii oprogramowania w celu opisania wymagań tworzonego systemu informatycznego. Przypadek użycia przedstawia interakcję pomiędzy aktorami (użytkownikami systemu), którzy inicjują zdarzenia oraz samym systemem jako sekwencję prostych kroków. W naszym przypadku system posiada czterech aktorów, każdy z odpowiednim zakresem uprawnień i możliwościami używania funkcji systemu. Na czele hierarchii uprawnień stoi kierownik kasyna mający dostęp do wszystkich możliwych funkcjonalności. Odpowiedni aktorzy o niższym zakresie uprawnień mają dostęp do właściwych sobie funkcjonalności. W kilku przypadkach użyliśmy funkcji ogólnej, dla której dodaliśmy funkcje uszczegóławiające. Funkcja pomoc jest z kolei dostępna dla różnych aktorów. Jedyną funkcjonalnością dostępna wyłącznie dla kierownika kasyna jest "Podgląd raportu", w którym zawarte są dane statystyczne z danego okresu. Każdy z aktorów identyfikuję się w procesie logowania (przy użyciu karty gracza lub pracownika).
Ogólny opis
Walory użytkowe i przydatność projektowanego systemu
System łatwy w obsłudze. Zaprojektowany z myślą, o użytkowniku posiadającym sporą wiedzę na temat zarządzania kasynem, jednak w znacznym stopniu ograniczająca czas wykonania róznych czynności. System będzie umożliwiał łatwy dostęp do bazy klientów, bazy pracowników i sprzętu znajdującego się w kasynie, a także finansów kasyna. Ponadto jego użyteczność rozszerza możliwość generowania rzeczowych raportów. Każde wyświetalne dane, możemy filtrować wg wszystkich dostępnych atrybutów.
Ogólne możliwości projetkowanego systemu
System umożliwia tworzenie raportów i zestawień, z których możemy się dowiedzieć, które gry przynoszą nam największe zyski.
Ogólne ograniczenia
Dostęp do systemu odbywa się wyłącznie z komputerów znajdujących się na terenie kasyna, ze względu na kwestie bezpieczeństwa dostępnych w nim danych.
Sieć kasyna jest szyfrowana 256-bitowym algorytmem AES.
Hasło do systemu zawiera małe i duże znaki alfanumeryczne oraz znaki specjalne. Zostaje zmieniane co 7 dni.
Gracz z zablokowaną kartą gracza nie może korzystać z żadnych funkcjonalności systemu.
Operacje finansowe nie mogą być realizowane w okresie 23:50-00:00 każdego dnia, w celu podsumowania dnia.
Charakterystyka użytkowników
Właściciel kasyna - dostęp do wszystkich funkcjonalności i danych
Pracownik - dostęp do danych finansowych, generowania raportów
Kierownik - dostęp do danych pracowników, danych finansowych
Gracz - dostęp do możliwości ładowania i pobierania środków na kartę gracza (realizowane poprzez pracownika), uwierzytelnianie do gier poprzez kartę gracza(funkcja logowania/wylogowania)
Środowisko operacyjne
Komputery klasy PC pracujące pod kontrolą systemów z rodziny Windows połączone w wewnętrzną sieć oraz posiadające dostęp do internetu.
Specyficzne wymagania
Wymagania funkcjonalne (funkcje systemu)
Nazwa funkcji: |
Zarządzanie kartą gracza |
Opis: |
Uruchamia funkcje zarządzające kartą. |
Dane wejściowe: |
Nazwa funkcji do uruchomienia. |
Źródło danych wejściowych: |
Wybór z klawiatury funkcji z listy. |
Wynik: |
Uruchomienie wybranej funkcji. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Potwierdzenie wyboru. |
Nazwa funkcji: |
Utworzenie karty gracza. |
Opis: |
Dodaje nowa kartę gracza do bazy danych. |
Dane wejściowe: |
ID karty, Imię, Nazwisko gracza. |
Źródło danych wejściowych: |
Klawiatura. |
Wynik: |
Zapis do bazy danych graczy. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Edytowanie karty gracza. |
Opis: |
Funkcja pozwala na modyfikowanie danych dotyczących poszczególnych kart gracza. |
Dane wejściowe: |
Nowe i stare dane karty gracza. |
Źródło danych wejściowych: |
Stare dane pobierane z bazy danych, nowe dane wprowadzane za pomocą klawiatury. |
Wynik: |
Zapis nowych danych do bazy danych graczy. |
Warunek wstępny: |
Odczyt danych zapisanych w bazie danych. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Usuwanie karty gracza. |
Opis: |
Usuwanie karty gracza z bazy danych. |
Dane wejściowe: |
Dane dotyczące karty gracza. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Usunięcie karty gracza z bazy. |
Warunek wstępny: |
Wybór karty gracza, którego dane mają zostać usunięte. |
Warunek końcowy: |
Potwierdzenie usunięcia danych. |
Nazwa funkcji: |
Przeglądanie kart graczy. |
Opis: |
Podgląd informacji na temat graczy. |
Dane wejściowe: |
Dane dotyczące karty gracza. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Podgląd danych gracza. |
Warunek wstępny: |
Wybór karty gracza, którego dane mają zostać odczytane. |
Warunek końcowy: |
Zasygnalizowanie przez użytkownika chęci zakończenia przeglądania danych. |
Nazwa funkcji: |
Doładowanie karty gracza. |
Opis: |
Dodanie środków na kartę gracza. |
Dane wejściowe: |
Dane dotyczące karty gracza oraz dane o wysokości doładowania. |
Źródło danych wejściowych: |
Dane karty gracza pobierane są z bazy danych, wysokość doładowania jest wprowadzana za pomocą klawiatury. |
Wynik: |
Dodanie środków na podana kartę gracza. |
Warunek wstępny: |
Wybór karty gracza, którego karta ma zostać zasilona oraz podanie wielkości doładowania. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Zablokowanie karty gracza. |
Opis: |
Zablokowanie środków na karcie gracza. |
Dane wejściowe: |
Dane dotyczące karty gracza oraz powód i czas blokady. |
Źródło danych wejściowych: |
Dane karty gracza pobierane są z bazy danych, powód i czas blokady jest wprowadzany za pomocą klawiatury. |
Wynik: |
Zablokowanie środków na podana kartę gracza. |
Warunek wstępny: |
Wybór karty gracza, którego karta ma zostać zablokowana. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, potwierdzenie blokady. |
Nazwa funkcji: |
Pobór środków z karty gracza. |
Opis: |
Odbiór środków z karty gracza. |
Dane wejściowe: |
Dane dotyczące karty gracza oraz wysokość wypłaty. |
Źródło danych wejściowych: |
Karta gracza, klawiatura. |
Wynik: |
Wypłata środków z karty gracza. |
Warunek wstępny: |
Ilość środków na karcie większa od zera. |
Warunek końcowy: |
Zatwierdzenie poboru środków przez osobę obsługującą kasę. |
Nazwa funkcji: |
Zarządzanie pracownikami. |
Opis: |
Uruchamia funkcje zarządzające pracownikami. |
Dane wejściowe: |
Nazwa funkcji do uruchomienia. |
Źródło danych wejściowych: |
Wybór z klawiatury funkcji z listy. |
Wynik: |
Uruchomienie wybranej funkcji. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Potwierdzenie wyboru. |
Nazwa funkcji: |
Utworzenie pracownika. |
Opis: |
Dodaje nowego pracownika do bazy danych. |
Dane wejściowe: |
ID pracownika, Imię,Nazwisko, Numer konta. |
Źródło danych wejściowych: |
Klawiatura. |
Wynik: |
Zapis do bazy danych pracowników. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Edytowanie informacji o pracowniku. |
Opis: |
Funkcja pozwala na modyfikowanie danych dotyczących poszczególnych pracowników. |
Dane wejściowe: |
Nowe i stare dane pracownika. |
Źródło danych wejściowych: |
Stare dane pobierane z bazy danych, nowe dane wprowadzane za pomocą klawiatury. |
Wynik: |
Zapis nowych danych do bazy danych pracowników. |
Warunek wstępny: |
Odczyt danych zapisanych w bazie danych. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Usunięcie pracownika. |
Opis: |
Usunięcie pracownika z bazy danych. |
Dane wejściowe: |
Dane dotyczące pracownika. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Usunięcie pracownika z bazy. |
Warunek wstępny: |
Wybór pracownika, którego dane mają zostać usunięte. |
Warunek końcowy: |
Potwierdzenie usunięcia danych. |
Nazwa funkcji: |
Zapis obecności. |
Opis: |
Monitoruje obecność pracowników w zakładzie |
Dane wejściowe: |
Data, Czas, ID pracownika, Imię,Nazwisko. |
Źródło danych wejściowych: |
Klawiatura, czytnik kart pracowniczych. |
Wynik: |
Zapis danych do bazy danych obecności. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Przeglądanie pracowników. |
Opis: |
Podgląd informacji na temat pracowników. |
Dane wejściowe: |
Dane dotyczące pracowników. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Podgląd danych pracownika. |
Warunek wstępny: |
Wybór pracownika, którego dane mają zostać odczytane. |
Warunek końcowy: |
Zasygnalizowanie przez użytkownika chęci zakończenia przeglądania danych. |
Nazwa funkcji: |
Zarządzanie urządzeniami. |
Opis: |
Uruchamia funkcje zarządzające urządzeniami. |
Dane wejściowe: |
Nazwa funkcji do uruchomienia. |
Źródło danych wejściowych: |
Wybór z klawiatury funkcji z listy. |
Wynik: |
Uruchomienie wybranej funkcji. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Potwierdzenie wyboru. |
Nazwa funkcji: |
Dodanie urządzenia. |
Opis: |
Dodaje nowe urządzenia do bazy danych. |
Dane wejściowe: |
Dane urządzenia, data. |
Źródło danych wejściowych: |
Nr elementu. |
Wynik: |
Zapis do bazy danych urządzeń. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Edytowanie informacji o urządzeniu. |
Opis: |
Funkcja pozwala na modyfikowanie danych dotyczących poszczególnych urządzeń. |
Dane wejściowe: |
Nowe i stare dane urządzenia. |
Źródło danych wejściowych: |
Stare dane pobierane z bazy danych, nowe dane wprowadzane za pomocą klawiatury. |
Wynik: |
Zapis nowych danych do bazy danych urządzeń. |
Warunek wstępny: |
Odczyt danych zapisanych w bazie danych. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Usunięcie urządzenia. |
Opis: |
Usunięcie urządzenia z bazy danych. |
Dane wejściowe: |
Dane dotyczące urządzenia. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Usunięcie urządzenia z bazy. |
Warunek wstępny: |
Wybór urządzenia, którego dane mają zostać usunięte. |
Warunek końcowy: |
Potwierdzenie usunięcia danych. |
Nazwa funkcji: |
Przeglądanie urządzeń. |
Opis: |
Podgląd informacji na temat urządzeń. |
Dane wejściowe: |
Dane dotyczące urządzenia. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Podgląd danych urządzenia. |
Warunek wstępny: |
Wybór urządzenia, którego dane mają zostać odczytane. |
Warunek końcowy: |
Zasygnalizowanie przez użytkownika chęci zakończenia przeglądania danych. |
Nazwa funkcji: |
Podgląd kapitału. |
Opis: |
Podgląd bieżącego stanu konta kasyna. |
Dane wejściowe: |
Brak. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Podgląd kapitału. |
Warunek wstępny: |
Odczyt danych zapisanych w bazie danych. |
Warunek końcowy: |
Zasygnalizowanie przez użytkownika chęci zakończenia przeglądania danych. |
Nazwa funkcji: |
Zestawienie zysków. |
Opis: |
Podgląd zestawienia statystycznego zysków na dany dzień, miesiąc lub rok. |
Dane wejściowe: |
Data zestawienia i zakres. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Podgląd zestawienia zysków. |
Warunek wstępny: |
Odczyt danych zapisanych w bazie danych. |
Warunek końcowy: |
Zasygnalizowanie przez użytkownika chęci zakończenia przeglądania danych. |
Nazwa funkcji: |
Podgląd raportu. |
Opis: |
Podgląd raportu z danego dnia. |
Dane wejściowe: |
Data raportu. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Podgląd raportu. |
Warunek wstępny: |
Odczyt danych zapisanych w bazie danych. |
Warunek końcowy: |
Zasygnalizowanie przez użytkownika chęci zakończenia przeglądania danych. |
Nazwa funkcji: |
Dodanie salda. |
Opis: |
Dodanie salda z danego dnia do kapitału. |
Dane wejściowe: |
Saldo. |
Źródło danych wejściowych: |
Baza danych lub klawiatura. |
Wynik: |
Dodanie salda do obecnego kapitału. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Wszystkie wymagane pola są uzupełnione, a wprowadzone dane są poprawne. |
Nazwa funkcji: |
Generacja raportu. |
Opis: |
Generowanie raportu na podstawie danych z innych baz. |
Dane wejściowe: |
Informacje zawarte w bazach. |
Źródło danych wejściowych: |
Baza danych. |
Wynik: |
Wygenerowanie raportu na dany dzień. |
Warunek wstępny: |
Odczyt danych zapisanych w bazach danych. |
Warunek końcowy: |
Poprawne wygenerowanie raportu. |
Nazwa funkcji: |
Logowanie. |
Opis: |
Identyfikacja aktualnego użytkownika systemu. |
Dane wejściowe: |
ID pracownika/ID Gracza hasło. |
Źródło danych wejściowych: |
Dane wpisane przez użytkownika z klawiatury. |
Wynik: |
Zalogowanie. Zalogowany użytkownik ma prawo do korzystania z funkcji systemu. |
Warunek wstępny: |
Dane wejściowe muszą być zweryfikowane przez system za poprawne. |
Warunek końcowy: |
Jak wyżej. |
Efekty uboczne: |
Brak. |
Powód: |
Kluczowa funkcja zapewniająca bezpieczeństwo danych i systemu. Pozwala stwierdzić, kto dokonał konkretnej zmiany w systemie. |
Nazwa funkcji: |
Wylogowanie |
Opis: |
Funkcja służąca do wylogowania się z systemu. |
Dane wejściowe: |
Brak. |
Źródło danych wejściowych: |
Brak. |
Wynik: |
Użytkownik wylogowany z systemu nie może skorzystać z żadnych funkcji systemowych dopóki się ponownie nie zaloguje. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Brak. |
Efekty uboczne: |
Brak. |
Powód: |
Umożliwienie zmiany użytkownika systemu. |
Nazwa funkcji: |
Pomoc |
Opis: |
Funkcja wyświetlająca pomoc na temat konkretnej funkcji systemu. |
Dane wejściowe: |
Nazwa funkcji. |
Źródło danych wejściowych: |
Użytkownik wybiera za pomocą myszy lub klawiatury nazwę funkcji z listy. |
Wynik: |
Otworzenie okna pomocy wyświetlającego informacje na temat użytkowania wybranej przez użytkownika funkcji systemu. |
Warunek wstępny: |
Brak. |
Warunek końcowy: |
Brak. |
Efekty uboczne: |
Brak. |
Powód: |
Ułatwienie w korzystaniu z systemu. |
Wymagania niefunkcjonalne (ograniczenia)
Wydajność |
Czas odpowiedzi systemu nie powinien być dłuższy niż 10 sekund. |
Łatwość użytkowania |
System powinien być prosty w nauce dla użytkownika. Osoba obsługująca system powinna nauczyć się nim sprawnie posługiwać w ciągu 1-4 dni. System powinien posiadać graficzny interfejs użytkownika. system powinien zawierać system pomocy opisujący każdą z funkcji (jedno okno). |
Ergonomia |
Każdą czynność powinno dać się wykonać z klawiatury, bez pomocy myszki. |
Przenośność |
W przewidywalnej przyszłości system będzie pracował pod kontrolą 32-bitowego systemu operacyjnego Windows XP. |