Sázková kancelář Z pekla štěstí Řešitelský tým Michal Pfeifer, Martin Halamíček, Jan Blaško, Zdeněk Křepela, Jan Popelka, Jan Mach
Úvod Sázková kancelář Z pekla štěstí je malá společnost s několika malými pobočkami přijímající sázky na nejrůznější sportovní utkání. • menší společnost • centrála + několik poboček • nevyhovující systém • sázky přijímány pouze pracovníky poboček => zavedení nového systému (rozšíření)
Rozšíření • registrace zákazníků • sázky prostřednictvím internetu • sledování statistik pro vedení firmy • systém shromažďování informací o sportovních utkáních z daného okruhu sportu => snadnější zadávání kurzů pro bookmakery
Návrh řešení Cílem je vytvoření databáze.
Sportovní utkání (záznam) -
druh sportu start utkání aktuální kurz historie kurzů (vývoj od zadání až po ukončení sázky) konečný výsledek
Tyto informace budou v sytému po dobu 3 let a budou se statisticky zpracovávat pro potřeby společnosti.
Návrh řešení
Registrace zákazníků -
ID zákazníka jméno a příjmení rodné číslo přihlašovací jméno heslo aktuální sázky historie sázek
Sázka - utkání - vsazená částka - kurz v době uzavření sázky
Způsoby sázení • sázení prostřednictvím internetu • klasické sázení
Sázení prostřednictvím internetu • nutnost registrace při uzavírání sázek • sázka se stane aktivní až po obdržení platby, kterou je možno provést převodem na bankovní účet nebo hotově přímo na pobočce • při převodu se budou jednotlivé platby rozlišovat pomocí variabilního symbolu, který bude odpovídat identifikačnímu číslu zákazníka v databázi • úspěšný sázkař by měl mít možnost nechat si vyplatit výhru hotově na pobočce nebo převodem na jím zvolený účet
Klasické sázení • anonymní sázka podaná přímo na pobočce
Sázka - číslo tiketu - ID pracovníka - ID pobočky - ostatní položky jsou stejné jako u sázky registrovaného zákazníka
• vyplacení výhry je možné pouze přímo na pobočce po předložení výherního tiket
Obecné požadavky • • • • • •
systém by měl být řešen architekturou klient server řešení by nemělo vyžadovat nákup speciálního drahého HW měl by se maximálně využít stávající HW na pobočkách data budou zabezpečena a to zejména osobní údaje zákazníků a zaměstnanců systém bude mít správu přístupových oprávnění jednotlivých uživatelů řešení by se mělo obejít bez nákupu SW třetích stran
Specifické požadavky • •
•
přístup k utkáním a kursům přes WWW možnost sázek a prohlížení historie vlastních sázek pro registrované účastníky přes WWW (zabezpečený přístup) statistiky pro účely firmy (statistiky o utkáních určitých týmů, počtu sázek a zisku jednotlivých poboček, sázkách anonymních nebo jednotlivých registrovaných zákazníků)
Role uživatelů • • • • •
• •
Administrátor (evidence zaměstnanců) Manažer (přístup ke statistikám) Bookmaker (zadání utkání, zadání a změna kursů, přístup ke statistikám) Pracovník (přístup ke statistikám, možnost aktivace sázky u registrovaného zákazníka) Vedoucí pobočky (přístup ke statistikám, možnost odebírání utkání a rušení registrovaných zákazníků-např. při nedodržení stanovených podmínek) Pokladní na pobočce (zadávání anonymních sázek) Registrovaný zákazník (přístup ke statistikám svých sázek a možnost uzavírání sázek přes WWW)
Součásti řešení • •
návrh počítačové sítě potřebné k provozu tohoto systému HW vybavení (jen nezbytně nutné)
Kontextový diagram
Rozpočet Náklady na HW a SW - pořizovací náklady na HW s rezervou cca 20% 150 000,- (server, LCD 19“, klávesnice, myš) - pořizovací cena SW a služeb celkem (s rezervou) 20 000,- (server SUSE Linux, doména .cz) - odhadovaný nárůst měsíčních nákladů (s rezervou) 50 000,-(ve spojitosti s provozem nového serveru, plat systémového administrátora, roční udržovací poplatek za doménu)
Náklady na vývoj SW Odhad metodou COCOMO - po výpočtech metodou COCOMO jsou náklady 1 200 000,- (průměrný plat 4 programátorů 30 000,- měsíčně a vývoj systému bude trvat cca 10 měsíců )
Odhad dekompozicí - sestavením předběžného časového diagramu se došlo k závěru, že je s výhodou možné využít k řešení projektu pět specialistů, se zkrácením odhadované doby vývoje na 8 měsíců. Dekompozicí harmonogramu vycházejí z hodinových sazeb odhadované náklady na vývoj cca 1 110 000,-
Rozpočet – shrnutí Pokud budeme uvažovat metodu a) COCOMO – HW + SW + vývoj SW = 1 370 000,b) Dekompozice – HW + SW + vývoj SW = 1 280 000,-
Analytická studie
Scénáře základních případů použití
- Online registrace uživatele - Registrace zaměstnance - Online uzavření sázky - Uzavření anonymní sázky na pobočce - Online prohlížení statistik - Úprava kurzů Bookmakerem
Online registrace uživatele Návštěvník stránek sázkové kanceláře se zájmem o registraci • • • •
otevře žádost o registraci vyplní emailovou adresu a osobní údaje požadované společností vyplní požadované přihlašovací jméno a heslo potvrdí souhlas s podmínkami služby a ochrany osobních údajů
Server zkontroluje vyplněné údaje a jedinečnost přihlašovacího jména dotazem do databáze a • • • •
•
v případě chyby požádá uživatele o úpravu údajů jinak uloží nového uživatele do databáze systému žádost o registraci včetně přihlašovacích údajů je potvrzena emailem nedojde-li do týdne od žádosti k jejímu potvrzení uživatelem (odkaz v přijatém emailu) je uživatel z databáze opět vymazán jinak je účet uživatele aktivován a o úspěšné registraci je v systému zaveden záznam, který může prohlížet administrátor i vedoucí poboček.
Registrace zaměstnance Každému zaměstnanci je potřeba přidělit role v systému a vytvořit pro něj zaměstnanecký účet, aby se mohl do systému přihlašovat a provádět úkony, spojené s jeho prací. Registrace je iniciována požadavkem (email, osobně) na Administrátora. • • • • •
• •
Administrátor otevře formulář pro registraci zaměstnance vyplní emailovou adresu a profil zaměstnance (práva v systému apod.) přiřadí zaměstnanci přihlašovací jméno a počáteční heslo systém přidá zaměstnance do databáze a aktivuje jeho účet zaměstnanci je poslán email s přihlašovacími údaji a informací o registraci a případně je o tomto vyrozuměn i osobně písemnou formou zaměstnanec po přihlášení do systému může upravit svůj profil (heslo, kontaktní informace) přihlášený zaměstnanec v systému provádí činnosti, které mu náležejí dle jeho role (bookmaker vs. pokladní)
Online uzavření sázky
• •
• •
•
•
•
Registrovaný uživatel se přihlásí do systému uživatel provede výběr sázky, sázené částky, způsobu platby a případného vyplacení a odešle požadavek požadavek je uložen do databáze systému uživateli je zobrazeno potvrzení sázky a informace pro zaplacení (variabilní symbol pro bankovní převod, resp. identifikační číslo pro platbu na pobočce), taktéž potvrzeno emailem po obdržení platby na účet, resp. nebo po přijetí platby na pobočce je sázka zaměstnancem (pokladní) aktivována po skončení sportovního utkání a vyhodnocení sázky je uživatel o výsledku vyrozumněn emailem v případě výhry je sázka v systému zaevidována jako vyplacená až po bankovním převodu nebo osobním vyzvednutí na pobočce
Uzavření anonymní sázky na pobočce
• • • •
pokladní na pobočce vyplní žádost o anonymní sázku, dle požadavků sázejícího systém přidělí anonymní sázce identifikační číslo a uloží sázku do databáze sázejícímu je vytištěn a vydán tiket případná výhra je vyplacena proti tiketu v hotovosti na pobočce
Online prohlížení statistik Informace a statistiky, které může uživatel v systému prohlížet, závisí na jeho roli v systému. K prohlížení statistik se musí uživatel do systému přihlásit - tento krok odpadá jen při prohlížení veřejných statistik (výsledky utkání, kurzy), které může provádět i neregistrovaný uživatel. • • •
přihlášení do systému (není nutné pro přístup k veřejným statistikám) požadavek do databáze (parametry a formuláře závisí na druhu požadovaných informací) systém zpracuje požadavek, vrátí data a zformátuje je odpovídajícím způsobem
Úprava utkání a kurzů bookmakerem
• • • •
přihlášení uživatele v roli Bookmaker do systému požadavek na přidání, zrušení nebo úpravu kurzu utkání zpracování systémem, aktualizace v databázi potvrzení provedené změny
Návrh
Reprezentace dat Veškerá data, která bude využívat námi navrhovaný systém, budou uložena v databázi MySQL nebo PostgreSQL na hlavním serveru, ke kterému se budou připojovat jednotlivé pracovní stanice, popřípadě klienti pomocí webového rozhraní. Pobočka Atribut datový typ null (A/N) klíč (A/N) poznámka id INTEGER[9] N A identifikační číslo pobočky adresa VARCHAR[50] N N adresa pobočky
Návrh architektury Pro realizaci systému byla zvolena třívrstvá architektura, kde každá vrstva zajišťuje určitou část služeb. Rozdělení do vrstev by mělo snížit celkové vytížení systému a umožnit vytvoření více připojovacích bodů pro administraci. Administrátor si tedy bude moci zvolit na jaké úrovni a v jaké vrstvě chce se systémem komunikovat.
VRSTVA SERVERU (obsahuje funkce pro přístup k databázi) STŘEDNÍ VRSTVA (obsahuje hlavní funkce systému) KLIENTSKÁ VRSTVA (obsahuje funkce uživatelského rozhraní) Konektivitu mezi střední vrstvou a klientskou vrstvou bude zajišťovat webový server Apache.
Návrh grafického rozhraní
Systém pro sázkovou kancelář se skládá ze dvou odlišných částí
online webová aplikace interní firemní aplikace
- pro sázkaře - pro práci zaměstnanců
WWW stránky projektu http://www.team4ct.webz.cz