Domotica Si Cladiri Inteligente - Proiect

18
2010 DOMOTICĂ ȘI CLĂDIRI INTELIGENTE Managementul unui campionat de șah online Studenți: Burja Gyula József, Flueraș Enea Claudius Anul II, Master TM UNIVERSITATEA TEHNICĂ CLUJ – NAPOCA FACULTATEA DE ELECTRONICĂ, TELECOMUNICAŢII ŞI TEHNOLOGIA INFORMAŢIEI

Transcript of Domotica Si Cladiri Inteligente - Proiect

Page 1: Domotica Si Cladiri Inteligente - Proiect

2010

DOMOTICĂ ȘI CLĂDIRI INTELIGENTE

Managementul unui campionat de șah online

S tu denț i:

Bu rja G yu la József ,

F luera ș E nea Clau diu s

A nu l I I , Ma st er TM

U N I V E R S I T A T E A T E H N I C Ă C L U J – N A P O C A

F A C U L T A T E A D E E L E C T R O N I C Ă , T E L E C O M U N I C A Ţ I I Ş I T E H N O L O G I A I N F O R M A Ţ I E I

Page 2: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

Cuprins 1. Introducere ............................................................................................................................................................ 3

1.1. Ce este şahul? ............................................................................................................................................... 3

1.2. Cum se învaţă şahul?................................................................................................................................... 3

1.3. Obiectivele aplicației ................................................................................................................................... 3

2. Descriere generală ................................................................................................................................................ 3

2.1. Descrierea aplicației .................................................................................................................................... 3

2.2. Design-ul aplicației ...................................................................................................................................... 4

2.3. Planificarea dezvoltării aplicației ............................................................................................................... 6

2.4. Costurile aplicației ....................................................................................................................................... 6

2.4.1. Resurse umane .................................................................................................................................... 6

2.4.2. Resurse materiale................................................................................................................................ 6

3. Diagrame UML ..................................................................................................................................................... 6

3.1. Scenarii use-case .......................................................................................................................................... 6

3.1.1. Scenariul instalare aplicație ............................................................................................................... 7

3.1.2. Scenariul creare campionat business ............................................................................................... 7

3.1.3. Scenariul creare campionat private .................................................................................................. 8

3.1.4. Scenariul creare cont utilizator business ......................................................................................... 8

3.1.5. Scenariul creare cont utilizator private ........................................................................................... 9

3.1.6. Scenariul înscriere în campionat ...................................................................................................... 9

3.1.7. Scenariul partidă de șah..................................................................................................................... 9

3.1.8. Scenariul vizualizare rezultate ........................................................................................................10

3.2. Diagrama de pachete ................................................................................................................................10

3.3. Diagrama de clase .....................................................................................................................................11

3.3.1. Diagrama de clase din pachetul Site Sah Online .........................................................................11

3.3.2. Diagrama de clase din pachetul Aplicatie Sah Online ................................................................11

3.3.3. Diagrama de clase din pachetul Server .........................................................................................12

3.4. Diagrama de obiecte .................................................................................................................................12

3.5. Diagrame secvențiale ................................................................................................................................13

3.5.1. Diagrama de creare campionat ......................................................................................................13

3.5.2. Diagrama de creare cont .................................................................................................................13

3.5.3. Diagrama de jucare partidă .............................................................................................................14

3.6. Diagrama de deployment .........................................................................................................................14

4. Managementul riscului .......................................................................................................................................16

4.1. Tehnologia aleasă ......................................................................................................................................16

4.2. Nivelul de calificare al personalului ........................................................................................................17

4.3. Utilizabilitatea aplicației ............................................................................................................................17

4.4. Riscul de întrerupere al aplicației în timp real .......................................................................................17

4.5. Riscul de securitate ....................................................................................................................................17

5. Estimări de timp și costuri ................................................................................................................................18

Page 3: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

1. Introducere

1.1. Ce este şahul?

Şahul este o confruntare a două gândiri, cu elemente tactice şi strategice, ce îşi au evidente corespondenţe în arta militară. Aici armele armatelor sunt egale, şansele sunt de partea clarviziunii, pregătirii şi rezistenţei psihice, materializate prin disciplină, combativitate, creativitate. Şahul îşi ierarhizează printr-un sistem competitiv riguros, jucătorii împărţindu-i la final în categorii sportive şi coeficienţi.

1.2. Cum se învaţă şahul?

De la Şatrandj, un fel de străbunic al şahului, regulile de joc au suferit modificări substanţiale atât în ceea ce priveşte dinamica, cât şi însăşi ideatica confruntărilor. Aceasta a făcut ca popularitatea şahului să fie într-o continuă ascensiune, fiind considerat un puternic factor educativ, capabil să fortifice trăsăturile temperamentale şi de caracter, prin sistematizarea capacităţii intelectuale şi autoeducarea rezistenţei psihice la tensiuni. Şahul se învaţă prin relaţia dintre piese, scopul partidei fiind matul.

1.3. Obiectivele aplicației

Proiectul se numeste Şah Online şi se doreşte a fi o aplicaţie software care permite utilizatorilor să joace şah într-un campionat de şah online. Pe site-ul proiectului utilizatorii pot să-și creeze conturi și să descarce aplicația pentru desktop sau pentru telefonul mobil. Aplicația este descărcată sub forma unei arhive de tipul self-extract.

În funcţie de terminalele folosite pentru a accesa aplicaţia vom avea două tipuri de clienţi: desktop - cei care joacă şah folosind un PC conectat la Internet după instalarea aplicației Șah Online varianta desktop, şi clienţi de tip mobile - cei care joacă şah folosind un telefon mobil sau smartphone, conectat la Internet, după instalarea aplicației Șah Online varianta mobile. Aplicația permite utilizatorilor Șah Online să joace în campionat de pe PC sau de pe telefonul mobil. La adresa www.sahonline.com ceilalți jucători pot să consulte partidele jucate (câștigător, timpi de joc, lista mutărilor) sau partidele în desfășurare. Se poate vizualiza un fișier video cu o partidă de șah demo.

2. Descriere generală

2.1. Descrierea aplicației

Utilizatorii au la dispoziţie o aplicaţie software care permite jucătorilor să-şi creeze gratuit un cont de utilizator. Contul de utilizator poate fi de două tipuri: business şi private. Jucătorii de tip business sunt cei care aparţin de o anumită entitate(persoană juridică) şi

Page 4: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

beneficiază de o taxă de participare la un campionat de şah de 10% din valoarea premiului pus în joc. Jucătorii de tip private vor avea o taxă de participare de 10 €/campionat.

După autentificarea jucătorului există posibilitatea de a juca într-un anumit

campionat în funcţie de tipul utilizatorului şi nivelul acestuia la şah. Câştigătorul campionatului poate fi recompensat cu anumite premii în bani în funcţie de tipul campionatului. Campionatele pot fi de mai multe tipuri. Dacă acestea sunt cu premii în bani pot fi de tipuri business (cu premii în bani) sau private(fără premii). În funcţie de nivelul jucătorilor din campionat acestea pot fi de tip Grandmaster – pentru cei legitimaţi la cluburi de şah sau chiar cu o clasificare FIDE şi Candidate Master – pentru jucătorii neafiliaţi unui club, amatori . Utilizatorii aplicaţiei pot fi atât jucători profesionişti legitimaţi la cluburi de şah cât şi amatori.

Campionatele pot fi create atât de entități cât și de persoane fizice. De exemplu o firmă organizează campionatul de șah al angajaților dotat cu premiul de 1.000 de € pentru câștigătorul campionatului. O altă posibilitate ar fi ca un grup de prieteni să participe într-un campionat de șah. Dacă în prima situație am avea utilizatori de tip business (comision de 10% = 100 de €), în cel de-al doilea caz fiecare jucător plătește un comision de 10 €.

2.2. Design-ul aplicației

Aplicaţia dispune de o interfaţă grafică prietenoasă (user-friendly) . Grafica aplicaţiei este de tip 2D cu mai multe ferestre. O fereastră afişează cine sunt cei doi jucători (numele acestora, poză tip avatar a acestora, eventual clasificarea lor FIDE) și timpul rămas până la sfârșitul partidei.

Figura 1. O posibilă interfață de joc

Page 5: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

O altă fereastră arată în permanenţă tabla de joc cu evoluţia partidei și care este jucătorul care trebuie să mute, respectiv o altă fereastră care va conţine lista mutărilor fiecărui jucător, iar o altă listă conține piesele capturate.

Figura 2. Design-ul propus pentru fereastra principală a aplicației

Jucătorii pot să-şi personalizeze setul de piese de joc sau culorile pătratelor tablei de

joc. Utilizatorii au posibilitatea să verifice pe o adresa web care au fost partidele jucate, lista mutărilor din fiecare partidă, ce partide se joacă în momentul respectiv, si care e stadiul acestora.

Figura 3. Tabla principală cu lista mutărilor

Page 6: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

2.3. Planificarea dezvoltării aplicației

Aplicaţia necesită pentru realizare o echipa de 4 programatori, o persoană care se va ocupa cu partea financiară/business logic/marketing și un manager, care va trebui să gestioneze managementul aplicației, managementul timpului, și coordonarea între programatori. Se vor utiliza tehnologii free, open-source sau unde nu este posibil tehnologii cât mai puțin costisitoare atât pentru realizarea aplicaţiei în sine cât şi pentru gestionarea siteului (www.sahonline.com) unde partidele pot fi consultate. Se va merge pe folosirea tehnologiilor de tip Java SE şi Java EE pentru clienţii de tip desktop, J2ME Polish și Android pentru clienţii de tip mobile. Pentru baza de date se va folosi MySQL.

2.4. Costurile aplicației

2.4.1. Resurse umane

Realizarea aplicaţiei impune cheltuielile implicate de salarizare a celor patru

programatori + business manager + proiect manager. Se va avea în vedere şi păstrarea a cel puţin doi programatori pentru partea de mentenanţă şi îmbunătăţire a aplicaţiei.

2.4.2. Resurse materiale Din punctul de vedere al resurselor materiale, sunt necesare șase calculatoare de tip

PC/laptop timp de trei luni, si costurile de functionare a acestora.Costul estimat de realizare si implementare a aplicatiei se ridică în jurul a 10.000€.

Aplicația necesită cumpărarea unui domeniu (de exemplu www.sahonline.com) unde se pot vizualiza partidele jucate, sau cele aflate în desfășurare.

3. Diagrame UML

Tipurile de diagrame care vor fi prezentate sunt următoarele: diagrame use-case, diagrame de clase și de pachete, diagrame secvențiale și nu în ultimul rând diagrame de deployment.

3.1. Scenarii use-case

Page 7: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.1.1. Scenariul instalare aplicație

Utilizator mobile/desktop

Conectare site www.sahonline.com

-End1

*

-End2

*

Download aplicatie

Sah Online

«uses»

Autentificare si logare«uses»

Instalare aplicatie Sah Online

-End3

*

-End4

*Vizualizarea unei partide de sah demo

«uses»

3.1.2. Scenariul creare campionat business

Page 8: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.1.3. Scenariul creare campionat private

3.1.4. Scenariul creare cont utilizator business

Page 9: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.1.5. Scenariul creare cont utilizator private

3.1.6. Scenariul înscriere în campionat

3.1.7. Scenariul partidă de șah

Page 10: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.1.8. Scenariul vizualizare rezultate

3.2. Diagrama de pachete

Page 11: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.3. Diagrama de clase

3.3.1. Diagrama de clase din pachetul Site Sah Online

3.3.2. Diagrama de clase din pachetul Aplicatie Sah Online

Page 12: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.3.3. Diagrama de clase din pachetul Server

3.4. Diagrama de obiecte

Page 13: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.5. Diagrame secvențiale

3.5.1. Diagrama de creare campionat

3.5.2. Diagrama de creare cont

Page 14: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

3.5.3. Diagrama de jucare partidă

3.6. Diagrama de deployment

Page 15: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

Arhitectura sistemului arată în felul următor:

Page 16: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

4. Managementul riscului

4.1. Tehnologia aleasă

Pentru implementarea aplicației vom folosi următoarele platforme și tehnologii: 1. Java SE + EE – pentru clienții desktop

2. Java ME – pentru clienții cu terminale mobile care pot rula programe în limbajul Java

3. Android – pentru clienții având terminale mobile cu sistemul de operare Android

4. Symbian – clienții cu terminale mobile folosind sistemul de operare Symbian

5. Windows Mobile – clienții folosind terminale mobile de tipul Windows Mobile

Pentru bazele de date web folosim: 1. JSP (Java Servlet Pages) + Tomcat – pentru utilizatorii având terminale mobile

2. MqSQL Server 2008 – Professional Edition – pentru utilizatorii desktop

Pentru implementarea paginii web folosim tehnologia ASP.NET împreună cu componente Silverlight integrate. Pe serverul aplicației va rula sistemul de operare Windows

Page 17: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

Server 2008, iar calculatoarele dedicate dezvoltării vor avea instalate următoarele platforme și tehnologii: Microsoft Windows 7, Microsoft Office 2010, Visual Studio 2010 (pentru realizarea paginii web), Microsoft SQL Server 2008 (pentru baza de date), Java JDK+JRE+Eclipse/NetBeans (pentru implementarea aplicației folosind mediul Java), Android SDK, Symbian SDK. Avem nevoie și de web hosting și înregistrarea domain name-ului folosit pentru aplicație (www.sahonline.com).

Sistemul poate fi extins pe direcția orizontală foarte ușor, ceea ce înseamnă că se pot conecta utilizatori într-un număr foarte mare, fără modificarea arhitecturii. Costurile de mentenanță sunt destul de ridicate, deoarece o parte dintre programele soft folosite (Windows 7, Windows Server 2008, Microsoft Office 2010) necesită licențe.

4.2. Nivelul de calificare al personalului

Aplicația va rula atât pe terminale mobile cât și pe terminale de tip desktop, iar pentru aceasta este nevoie de persoane calificate (cu cel puțin un an de experiență) în următoarele domenii:

Tehnologii Java: SE, EE, ME, Android – 2 persoane

Symbian – 1 persoană

Windows Mobile – 1 persoană

ASP.NET + Silverlight, ADO.NET, SQL Server 2008 + Windows Server 2008 – 2

persoane

4.3. Utilizabilitatea aplicației

Aplicația poate fi folosită cu succes mai ales de către firme și companii, care pot oferi astfel angajaților șansa de participare într-un campionat de șah online, doar în cadrul firmei. Aplicația va fi disponibilă însă și pe internet, pentru utilizatorii unici, atât la nivel amator, cât și la nivel profesional. În cazul în care clientul/utilizatorul are întrebări, poate consulta pe pagina web a aplicației manualul de utilizare al programului, respectiv manualul de învățare al șahului, iar în cazul în care vor să ne trimită un mesaj, sau mai au întrebări suplimentare, poate să ne trimite mail direct de pe pagina web.

4.4. Riscul de întrerupere al aplicației în timp real

Se poate întămpla din diferite motive (întreruperea curentului, sau pierderea semnalului în cazul terminalelor mobile) ca aplicația să fie întreruptă. De aceea pentru evitarea cazului în care întreaga partida se pierde, se înregistrează toate partidele, astfel reluarea jocului se va putea face fără probleme, pentru că utilizatorii vor avea la dispozitie fișierul care conține lista mutărilor și timpii de joc.

4.5. Riscul de securitate

Datele private ale utilizatorilor (nume, prenume, parolă, cnp, serial card bancar, avatar) vor fi stocate în mod criptat, de aceea trebuie să asigurăm o legătură securizată, prin intermediul unui firewall și a unui server web folosind conexiune SSL.

Page 18: Domotica Si Cladiri Inteligente - Proiect

Managementul unui campionat de șah online

5. Estimări de timp și costuri

Fazele implementarii proiectului vor fi urmatoarele: Studiu de piata, definirea conceptului: 1 săptămână Planificarea proiectului si a design-ului: 2 săptămâni Stagiul de implementare si dezvoltare practica: 6 săptămâni Testarea programului la nivel de tester/client și modificări eventuale: 2 săptămâni Furnizarea produsului final clientilor (persoane fizice/persoanelor juridice): 1

săptămână

În total dezvoltarea aplicației necesită aproximativ 12 săptămâni. În ceea ce privește costurile, se estimează un cost de aproximativ 18.000 de euro pentru salariile angajaților pe trei luni (pe o lună: 1000 de euro x 4 + 1500 de euro x 2), și se mai adaugă costurile pentru hardware, licențe software, chirie, și cheltuielile corespunzătoare pentru trei luni, adică aproximativ 5000 de euro. În total costurile se ridică undeva în jur de 23000 de euro.