Projecte Gestor de projectes SCRUM AMS
La revisió el 16:13, 15 gen 2019 per Lzabala (discussió | contribucions) (→M7: Disseny d'interficíes)
Introducció
Gestor de projectes Scrum
Product Backlog
Especificacions funcionals
M6: Accès a dades
- Dissenyar una base de dades per gestionar: Usuaris, grups d'usuaris, projectes, especificacions, sprints
- Heu de fer servir JPA/Hibernate per l'accès a la base de dades remota
- Els usuaris poden ser de tipus: Developer( només pot visualitzar les dades), Product Owner(pot visualitzar les dades i afegir/modificar/esborrar especificacions), Scrum Master(pot visualitzar les dades, crear projectes, crear sprints, temporitza especificacions i sprints, assignar especifiacions a sprints), Administrador d'usuaris(pot crear usuaris)
- El projecte ha de tenir una página de login única per tots els usuaris
- Quan inicia l'aplicació ha d'intentar trobar la base de dades remota en aquest cas ho indicarà amb un texte (ONLINE)
- Totes les accions a la base de dades remota es replicaràn a la base de dades embeguda
- Si al iniciar l'aplicació no troba la base de dades remota només treballarà amb la base de dades embeguda i ho indicarà amb un texte (OFFLINE)
- Si estem OFFLINE totes les accions a la base de dades han de quedar enregistrades per poder replicar-les a la base de dades remota quan es recuperi la conexió
- Quan s'inicia l'aplicació s'ha de comprobar si han hagut accions OFFLINE, en aquest cas replicar les accions a la base de dades remota
- Per crear usuaris nous heu de fer servir una Store Procedure (tant a la base de dades remota com a la embeguda)
M7: Disseny d'interficíes
- Totes les finestres internes ( FinternalFrames ) es poden tancar i redimensionar.
- El projecte ha de tenir un JInternalFrame de login única per tots els usuaris. Apareix al obrir l’aplicació. Fins que no està logueat, no estan actius els menús.
- Al clicar ENTER ha de intentar validar l’usuari.
- Ha de tenir un JInternalFrame per inscriure usuaris al programa.
- Generar password genera password aleatori de 6 caràters, ho mostra per un JOptionPane i ho afegeix a un formulari per ser guardat.
- El nom del loguin es genera automàticament a partir de la inicial del nom de pila i primer cognom sencer.
- Es comprova que el password coincideix amb la seva repetició. Si no és així, es mostra un label al costat del camp del text indicant el problema en vermell.
- S’ha de confirmar el format de mail.
- Ha de tenir un JInternalFrame per afegir projectes.
- Si el nom del projecte ja existeix, no es crea i s’avisa a l’usuari amb un label sota el JTextField de Nom de projecte.
- Els ComboBox d’usuaris es carreguen amb els usuaris de la base de dades que poden fer la respectiva tasca, scrum master o product owner.
- Sempre es veurà a la part dreta superior el nom de l’usuari amb el que estem logueixats i un botó per tancar la sessió.
- Al JDecktop pane hi haurà un menú amb els següents menús principals:
- Usuaris. Submenus:
- Nou usuari.
- Buscar usuari ( veurem les dades i les podrem modificar ) )
- Projectes Submenus:
- Nou projecte
- Mostrar tots els projectes
- Usuaris. Submenus:
- Hi haurà un JInternalFrame on es veurà la llista de projectes i quan cliquem en un d’ells, es veurà a la seva dreta les dades del projecte.
- Al JInternalFrame on es veuen els projectes , hi ha un botó per mostrar les especificacions.
- Hi ha un JInernalFrame on veurem les especificacions del projecte seleccionat i allà podrem veure/modificar les hores dedicades i l’sprint a la que *pertanyen i podrem afegir-ne. ( tot depenent del permís d’usuari).
Especifiacions no funcionals
- S'ha d'implementar el patró de diseny DAO per accès a les dades
- El projecte farà servir una base de dades remota (el servidor de base de dades es trobarà al PC del profe)
- Al PC del profe hi haurà un servidor de base de dades però cada grup haurà de crear la seva base de dades
- El projecte farà servir una base de dades embeguda
- L'únic tipus d'usuari que pot veure tots els projectes son els Scrum Masters
Definition of Done (DOD)
- Tasca implementada
- Tasca testejada (en al menys 2 navegadors, firefox i google Chrome)
- Tasca comitejada
- Tasca pujada a producció