Differences

This shows you the differences between two versions of the page.

Link to this comparison view

mps:proiect:proiect-2 [2021/01/25 16:54]
andrei.brebu [Punctaj]
mps:proiect:proiect-2 [2021/12/13 11:37] (current)
mihai_lucian.voncila [Livrabile]
Line 1: Line 1:
 ====== Proiectul 2 ====== ====== Proiectul 2 ======
  
-**Nume proiect: ​Rezervă-mă**+**Nume proiect: ​Aplicație pentru gestionarea de jocuri tip party games**
  
-Într-o organizație, resursele sunt împărtășite între ​echipe sau indivizi. Ne propunem să realizăm o platformă web prin care utilizatorii (membri ai unei organizații) să poată rezerva această resursă pentru ​o perioadă nelimitată de timp atunci când ea este disponibilă, să poată ​verifica starea în orice moment și să fie notificați atunci când resursa devine disponibilă. +Jocurile de petrecere sunt un mod de interacțiune socială și relaxare ​între ​diverși membri din cadrul unui grup. Ne propunem să realizăm o platformă pentru ​gestionarea și jucarea acestora într-un mediu onlinefie în grupuri publice sau private, cu posibilitatea ca jocurile ​să poată ​fi urmărite de spectatori.
  
-Al doilea proiect la Managementul proiectelor software se desfășoară în perioada laboratoarelor 8, 9, 10, 11, 12. **Începutul laboratorului 12** este termenul limită pentru definitivat proiectul, moment în care va fi prezentat asistentului (25 29 ianuarie ​2021).+Al doilea proiect la Managementul proiectelor software se desfășoară în perioada laboratoarelor 8, 9, 10, 11, 12. Începutul laboratorului 12 este termenul limită pentru definitivat proiectul, moment în care va fi prezentat asistentului (24 28 ianuarie ​2022).
  
 ===== Întrebări și discuții ===== ===== Întrebări și discuții =====
  
-<note warning>​** Cerinţa proiectului poate suferi modificări minore până în data de duminică, 13 decembrie. **</​note>​ +Pentru întrebări sau nelămuriri legate de proiect, folosiți [[https://​curs.upb.ro/2021/​mod/​forum/​view.php?​id=40373|forumul dedicat al proiectului]] sau [[https://​teams.microsoft.com/​l/​channel/​19%3a9529b5fede4441febd8878f8c6d16432%40thread.tacv2/​Proiect?​groupId=5af337ec-05da-411e-a4ed-b15784b85080&​tenantId=2d8cc8ba-8dda-4334-9e5c-fac2092e9bac|canalul de MS Teams dedicat proiectului ]].
- +
-Pentru întrebări sau nelămuriri legate de proiect, folosiți [[https://​curs.upb.ro/​mod/​forum/​view.php?​id=67501|forumul dedicat al proiectului]] sau [[https://​teams.microsoft.com/​l/​channel/​19%3a9fafa314d50c428198eb75fa7cfaf945%40thread.tacv2/​Proiect?​groupId=28fd1c23-eed8-4c51-a82a-d74089903205&​tenantId=2d8cc8ba-8dda-4334-9e5c-fac2092e9bac|canalul de MS Teams dedicat proiectului]].+
  
 ===== Scopul proiectului ===== ===== Scopul proiectului =====
  
-Se dorește construirea ​unui platforme web de rezervare de resurse la nivel de organizație. Unii dintre membri vor avea drept de rezervare a resurseialții vor avea doar drept de vizualizare a resursei. Informațiile resursei care vor fi afișate ​în interfață vor corespunde următoarelor nevoi:  +Se dorește construirea ​unei aplicații capabile să permită utilizatorilor crearea ​de diverse camere, fie private fie publice, pe un server, în cadrul ​rora se vor desfășura diverse jocuri cu tematică de petrecere. 
-  * Care este starea ei?  +Arhitectura soluției și tehnologiile folosite sunt la latitudinea studenților.
-  * Dacă este ocupată  +
-       * O descriere a resursei  +
-       * Cine a rezervat-o? ​  +
-       * Cât timp a estimat ​că va fi rezervată?  +
-       * De cât timp este rezervată?  +
-       * O descriere a motivului rezervării  +
-       * Un buton prin care utilizatorul ​se poate înscrie să fie notificat când resursa devine disponibilă  +
-  * Dacă este disponibilă  +
-      * O descriere a resursei  +
-      * Istoricul celor mai recente rezervări (cine, ​de când, până când) ​ +
-      * Un buton prin care utilizatorul poate rezerva resursa disponibilă ​+
  
 ===== Descrierea proiectului ===== ===== Descrierea proiectului =====
-Pentru implementarea acestui sistem sunt necesare ​următoarele:​  +Aplicația trebuie să aibă în vedere ​următoarele ​aspecte
-  * O bază de date în care se vor stoca informații despre organizațiiresurse ale unei organizații,​ membri ai unei organizații (și implicit ​utilizatorii), istoricul ​de rezervare al resurselorpermisiunile utilizatorilor ​ +  * Acomodare utilizatori 
-  * Un sistem ​de stări (de exempluo resursă poate avea una dintre stăriledisponibilă | ocupată | în curs de rezervare | sau orice altă stare intermediară) - se subînțelege aici că sunt necesare minim cele două stăridisponibil ​și rezervat ​ +    * **Registered**:​ utilizatorii vor putea să își creeze un nou cont în momentul ​în care intră pe sitesau pot folosi o altă metodă de autentificare populară 
-  Un timer care va contoriza cât timp a trecut ​de când resursa ​este în starea X  +    * **Guest**: ​utilizatorii ​pot alege să joace jocuri pe server pe baza unui guest account 
-  Un sistem ​de autentificare ​și autorizare în platformă (un utilizator va avea acces doar la informații despre resursele din organizația din care face parte) ​ +  * Crearea ​de diverse tipuri de camere 
-  * O interfață web/mobile prin care utilizatorul poate interacționa cu sistemul ​+    * **Public**: orice utilizator poate intraatâta timp cât mai sunt locuri disponibile 
 +    * **Private**:​ utilizatorii pot intra doar pe baza unei parole 
 +  * Roluri ​de utilizatori în cadrul unei camere 
 +    * **Admin**: utilizatorul care crează camera devine automat admin; dacă acesta părăsește camera se alege în mod automat un nou admindin cadrul utilizatorilor cu rol de player; modifică setări cameră și joc 
 +    * **Player**număr limitat de locuri ​în funcție ​de joc; participă la jocuri în mod activ, obține puncte, poate câștiga jocul individual ​sau cu alți jucători 
 +    * **Spectator**:​ participă la jocuri în mod pasiv, obține puncte și câștigă jocul cu alți spectatori, poate deveni player dacă sunt destule locuri 
 +  * Afișarea de informații despre cameră 
 +    * **Classic**pentru navigarea în cadrul server-ului  
 +      * numele ​și tipul camerei 
 +      numele admin-ului 
 +      * număr curent utilizatori în cameră/​număr maxim de utilizatori 
 +      * jocul ales și starea curentă a acestuia (în desfășurare,​ lobby, etc.) 
 +    * **Extended**:​ pentru ​când este selectată o cameră, se afișează ​în plus 
 +      listă cu utilizatori ​de tip player ​și punctajele acestora 
 +      * număr spectatori și punctajul asociat grupului lor 
 +  * Implementarea unui joc pentru demonstrarea conceptului
  
-===== Cazuri de utilizare ===== 
-Pentru această aplicație, s-au definit câteva cazuri de utilizare: ​ 
  
-**Instituțiile medicale – spitalele** – Într-o secție a unui spital există mai multe blocuri operatorii (li în care se fac operațiile). Una din problemele principale care se întâlnește în planificarea operațiilor dintr-zi este că durata unei operații nu poate fi estimată niciodată exact. Deși există o ordine în care operațiile vor decurge într-o zi (stabilită de medicul de gardă și ceilalți colegi ​de tură), nu poate fi determinat exact momentul în care operația se va sfârșsau când următoarea va începe. Această constrângere determină doctorii principali ​și ceilalți participanți (doctor 2asistenteanestezistai unei operații în așteptare ​să verifice regulat starea ​lilor din aceea secție/​departament de mai multe ori într-o zi. Această nevoie presupune deplasarea fiecăruia până la ușa blocului operator și verificarea (cu un participant la operație) ​care este starea ​lii și cât timp mai durează operația. Printr-un simplu calcul matematic făcut în minte înțelegem faptul că pentru o operație următoare, mai multe persoane verifică mai multe săli de mai multe ori într-un interval de timp al unei zile până când operația poate avea loc. Toată această interacțiune presupune timp pierdut ​și multă mișcare pentru obținerea unui singur răspuns. Ne dorim să oferim acest răspuns instant cu minimul ​de efort posibil. ​ +===== Propunere joc: Guess the password ===== 
-  +Jocul va fi jucat în felul următor: 
-De menționat, pe parcursul unei zi pot interveni ​și operații neplanificate (urgențe). În cazul unei urgențe, se știe că timpul este foarte important. Posibilitatea ​de a afla instant care sală este disponibilă acum poate avea un impact pozitiv enorm în realizarea intervenției cu succes. ​+  ​jucătorii încearcă să ghicească, fie individual fie pe echipe, ​frază/cuvânt descrisă de altă persoană 
 +  * pot fi alese aleator fraze de diverse dificultăți (ușormediudificil) și trimise un număr din fiecare categorie, urmând ca persoana care trebuie ​să descrie fraza să aleagă una dintre acestea 
 +  * persoana ​care descrie fraza nu are dreptul ​să folosească cuvinte din cadrul acesteia 
 +  * există un timp limită pentru ghicirea frazei 
 +  * se oferă puncte atât ghicitorului cât și persoanei ​care descrie în funcție de rapiditate și dificultatea frazei 
 +  * poate exista un chat special separat pentru scrierea descrierii ​și introducerea ​de răspunsuri
  
- 
-**Instituțiile de învățământ – universitățile** – Într-o universitate,​ mai multe facultăți împart săli de laborator, săli de conferințe. Prin analogie cu exemplul de mai sus, putem realiza faptul că posibilitatea de a verifica disponibilitatea unei săli în momentul prezent poate optimiza timpul și efortul profesorilor,​ asistenților și al studenților. Tot odată, poate elimina și eventualele neplăceri ale unei deplasări în plus. Ne dorim să oferim posibilitatea ca aceste resurse ale facultăților să poată fi utilizate optim. ​ 
-  
-Alte cazuri de utilizare care respectă raționamentul descris în enunț sunt acceptate. 
- 
-===== Recomandări ===== 
- 
-Pentru acest proiect se va lucra în echipe de câte 4-5-6 persoane și se recomandă următoarea componență:​ 
-  * Project Manager, care mai poate avea și un alt rol. 
-  * Cel puțin doi Dezvolatori 
-  * Cel puțin doi Testeri 
-  * Exact un Technical Writer 
- 
-Echipele sunt diferite față de proiectul anterior. ​ 
-Se recomanda ca **NICIUN** student sa nu aibă exact același rol (dintre cele menționate mai sus) ca la Proiectul 1. 
- 
- 
-===== Precizări ===== 
- 
-Modulele/​componentele aplicației sunt enunțate mai sus. Orice nu este specificat în cerință este la latitudinea echipelor (tehnologii,​ arhitectură,​ framework-uri,​ API-uri). 
-Cu toate aceste, ele pot fi propuse de către fiecare echipă în parte. Tot echipa este responsabilă cu împărțirea task-urilor,​ planificarea,​ implementarea și testarea aplicației. ​ 
 ===== Punctaj ===== ===== Punctaj =====
  
-70p implementarea sistemului. ​Din care+80p implementarea sistemului:  
 +  * 15p managementul utilizatorilor și al autentificării 
 +  * 25p crearea și configurarea camerelor de jocuri, cât și afișarea de informații despre acestea 
 +  * 10p managementul interfeței / layout-ului 
 +  * 30p implementare joc demo 
 +20p livrabile și documentație:​ 
 +  * 10p documentație 
 +  * 10p aplicarea metodologiei asignate 
 +===== Bonus ===== 
 +Se va acorda bonus de 10p pentru cea mai bună implementareCea mai bună implementare se va stabili prin vot în intervalul laboratorului în care se face prezentarea (fiecare echipă are dreptul la un vot și-l poate acorda doar unei alte echipe; pentru laboratoarele în care există un număr par de echipe, va vota și asistentul de laborator).
  
-  * 10p sistemul ​de autentificare/​autorizare ​+Se va acorda un punctaj bonus de 10p pentru implementarea unui al 2-lea joc demonstrativ împreună cu un mod de a schimba între cele două din cadrul aceleiași camere.
  
-  * 15p gestiunea și vizualizarea organizațiilor +Se va acorda un punctaj bonus de 10p pentru existența unui chat service.
  
-  * 45p gestiunea și vizualizarea resurselor +===== Livrabile ======
-  *   +
-     ​Starea resursei  +
-     ​Descrierea resursei  +
-     ​Istoricul celor mai recente rezervări  +
-     Cine a rezervat? Cât timp a rezervat? Până când a rezervat?  +
-     Buton pentru a rezerva o resursă disponibilă  +
-     De cât timp este rezervată acum?  +
-     ​Motivul pentru care a fost rezervată  +
-     Buton pentru anularea unei rezervări curente ​+
  
-30p prezentarea proiectului. Din care:  
  
-  * 10p prezentarea implementării (bază de date, sistem de stări, timer, sistem de autentificare,​ interfață web/​mobile) ​ 
- 
-  * 10p prezentarea membrilor de echipă și rolul fiecăruia în acest proiect ​ 
- 
-  * 10p se acordă de către asistent ​ 
-===== Bonus ===== 
-Se va acorda bonus de 20% pentru cea mai bună implementare. Cea mai bună implementare se va stabili prin vot în intervalul laboratorului în care se face prezentarea (fiecare echipă are dreptul la un vot și-l poate acorda doar unei alte echipe; pentru laboratoarele în care există un număr par de echipe, va vota și asistentul de laborator). ​ 
- 
-Se va acorda bonus de cel puțin 15% din punctajul obținut dacă implementarea constă într-o aplicație Android (30% pentru aplicații mobile pentru alte sisteme de operare). ​ 
- 
-Se va acorda bonus de 10% pentru implementarea sistemului pe un alt caz de utilizare decât cele indicate, bineînțeles,​ dacă respectă aceeași logică. Se poate verifica cu asistentul înainte de a începe lucrul la proiect. ​ 
- 
-Se poate acorda, la limita asistentului,​ un bonus de 5-10% pentru o interfață deosebită. ​ 
- 
-===== Livrabile ====== 
  
 Obligatorii și care trebuie prezentate: Obligatorii și care trebuie prezentate:
   - Demo al sistemului   - Demo al sistemului
   - Cod (pe Git)   - Cod (pe Git)
 +
  
 Alte livrabile la latitudinea evaluatorilor:​ Alte livrabile la latitudinea evaluatorilor:​
 +<note important>​Livrabilele și metodologiile utilizate în cadrul proiectelor vor fi updatate în curând.</​note>​
 +<​hidden>​
   - prezentarea sistemului   - prezentarea sistemului
   - meeting minutes   - meeting minutes
   - SDD   - SDD
-  - raport de testare ​+  - raport de testare 
 + 
 +Metodologii utilizate:​ 
 +  - [[https://​docs.google.com/​document/​d/​1dArsNrS0w7-w03aykw-qVKQqU6nOkv6mBj6Ejj4i0T8/​edit?​usp=sharing|Scrum]] 
 +  - [[https://​docs.google.com/​document/​d/​1yfYITpOOGr0xrc_itSsm2iXEPZoIAa6s/​edit?​usp=sharing&​ouid=103603622260988891377&​rtpof=true&​sd=true|Lean]] 
 +  - TODO: [[TODO|Kanban]] 
 +  - TODO: [[TODO|Extreme Programming]] 
 +  - TODO: [[TODO|Feature-Driven]] 
 +</​hidden>​  
 + 
  
  
mps/proiect/proiect-2.1611586461.txt.gz · Last modified: 2021/01/25 16:54 by andrei.brebu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0