Catálogo de requisitos

R01 Los usuarios se podrán registrar.
Descripción Los usuarios se podrán crear una cuenta en la plataforma web.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 1
R02 Inicio de sesión del usuario
Descripción Los usuarios una vez creada su cuenta, podrán iniciar sesión en la plataforma web.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 2
R03 Un usuario puede estar conectado solo en un ordenador
Descripción Un usuario sólo podrá iniciar sesión en un ordenador de manera simultánea.
Prioridad Opcional
Tipo Funcional
Complejidad Media
Entrega v3
Incidencia 3
R04 Cierre de sesión del usuario
Descripción Los usuarios, una vez terminadas las labores que hayan hecho en la página, pueden cerrar sesión.
Prioridad Opcional
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 4
R05 Cada usuario tendrá su propio perfil
Descripción Cada usuario tendrá un perfil propio en el que se reflejarán algunos de los datos especificados por el usuario.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 5
R06 Los usuarios registrados pueden modificar sus datos.
Descripción Los usuarios podrán cambiar sus datos si éste los necesita.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 6
R07 Los usuarios registrados pueden darse de baja.
Descripción Los usuarios podrán darse de baja si éstos lo desean
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 7
R08 Los usuarios registrados pueden subir animales de acogida a la plataforma.
Descripción Si el usuario se encuentra a un animal en necesidad de ser acogido, puede subirlo a la plataforma para poder llegar a ser adoptado por otro usuario de la página
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 8
R09 Los usuarios no pueden subir animales si no están registrados.
Descripción Para poder subir un animal a la plataforma será necesario que estén registrados en la web
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v2
Incidencia 9
R10 Los usuarios que quieran adoptar podrán buscar usuarios que sean asociaciones
Descripción Los usuarios pueden buscar asociaciones animalistas que tengan cerca para poder ver a todos los animales que estos tengan en adopción
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 10
R11 Asociar una factura a un animal
Descripción El usuario que haya tenido que mandar al animal a un veterinario para algún tratamiento u operación y no pueda afrontar los costes de la factura puede asociarla al animal para que usuarios registrado de la plataforma que sean generosos puedan colaborar económicamente.
Prioridad Importante
Tipo Funcional
Complejidad Media
Entrega v2
Incidencia 11
R12 En el perfil de los usuarios aparecerán los animales que éstos tengan o hayan tenido en adopción.
Descripción Los usuarios que consulten un perfil de otro usuario podrán ver tanto a los animales que éste usuario haya subido a la plataforma que estén tanto pendiente de adopción como los ya adoptados.
Prioridad Opcional
Tipo Funcional
Complejidad Media
Entrega v2
Incidencia 12
R13 Los usuarios que quieran adoptar animales no podrán hacerlo a no ser que estén registrados.
Descripción Para llevar a cabo la adopción de un animal que esté subido a la plataforma será necesario que el adoptante esté registrado en la web.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 13
R14 Las asociaciones animalistas registradas en la página pueden autenticarse.
Descripción Las asociaciones que usen la página con el objetivo de facilitar la adopción de los animales que tengan se pueden autenticar en la página con el objetivo de que sea una organización reconocida en la web, y éstas tendrán preferencia.
Prioridad Opcional
Tipo Funcional
Complejidad Media
Entrega v1
Incidencia 14
R15 Los animales dispuestos para adoptar se mostrarán por orden de proximidad por defecto
Descripción Si el usuario adoptante no especifica ningún criterio en su búsqueda el orden en el que aparecerás los animales será de mas cerca a mas lejos de donde se ubique el usuario.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v2
Incidencia 15
R16 Los animales subidos a la plataforma tendrán su propio perfil
Descripción Los animales que hayan sido subidos a la plataforma tendrán un perfil propio en el cual estarán todos los datos del animal.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 16
R17 Los animales tendrán etiquetas para catalogarlos
Descripción Los animales tendrán una serie de etiquetas para describir al animal. (Por ejemplo si el perro es un cachorro, se le atribuirá una etiqueta de “cachorro” o si el perro es ya un perro mayor, se le atribuiría la etiqueta de “senior”)
Prioridad Opcional
Tipo Funcional
Complejidad Media
Entrega v1
Incidencia 17
R18 Los usuarios podrán enviarse mensajes para preguntar por los animales que éstos tienen en adopción
Descripción Si el usuario adoptante necesita algún dato que no haya especificado el usuario registrado el usuario adoptante puede mandar un mensaje al usuario preguntando por datos que éste no haya especificado (Por ejemplo, si el perro por el que pregunta se lleva bien con gatos)
Prioridad Opcional
Tipo Funcional
Complejidad Media
Entrega v2
Incidencia 18
R19 Los usuarios no registrados en la pagina podrán ver a los animales
Descripción Los usuarios que no estén registrados pueden ver a los animales que estén disponibles para adoptar, pero el orden por defecto de los que aparecerán serán de los que provienen de una asociación animalista por defecto, una vez especificado el criterio de búsqueda ya se buscarán por lo que haya especificado el usuario.
Prioridad Opcional
Tipo Funcional
Complejidad Media
Entrega v1
Incidencia 19
R20 Se podrá buscar animales por tipo de animal
Descripción El usuario que quiera adoptar puede buscar qué tipo de mascota desea, ya sea un gato, un perro, o animales menos frecuentes como hurones, búhos, erizos, etc.
Prioridad Importante
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 20
R21 Los animales subidos a la plataforma pueden tener un historial médico
Descripción Cada animal tendrá un apartado en el perfil que sea los problemas de salud que tenga o haya tenido el animal.
Prioridad Opcional
Tipo Funcional
Complejidad Media
Entrega v2
Incidencia 21
R22 Se podrá buscar animales por raza
Descripción El usuario que quiera adoptar puede buscar por la raza de la que desee adoptar (Por ejemplo, si el usuario quiere adoptar un labrador)
Prioridad Opcional
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 22
R23 Los animales pueden tener facturas del veterinario asociadas
Descripción Para ayudar a los animales no solo es posible adoptando, sino también ayudando de forma económica mediante la factura que el animal tenga asociada, el usuario que quiera ayudar puede imprimir dicha factura y presentarla en el veterinario correspondiente y hacer un ingreso.
Prioridad Opcional
Tipo Funcional
Complejidad Difícil
Entrega v3
Incidencia 23
R24 Un animal es adoptado
Descripción Cuando un usuario se decide por un animal éste lo puede adoptar haciéndole llegar al usuario que subió al animal un mensaje en el que el animal ha sido adoptado junto a un formulario en el que tanto el adoptante como el usuario que subió el animal a la plataforma puedan ponerse de acuerdo para la entrega del animal
Prioridad Opcional
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 24
R25 Al subir un animal habrá opciones para poder compartir al animal por distintas redes sociales
Descripción A la hora de subir el animal se dispondrá de una serie de botones que el usuario podrá seleccionar y dependiendo de que botones haya seleccionado se podrá enviar una copia del anuncio a Twitter, Facebook e Instagram.
Prioridad Opcional
Tipo Funcional
Complejidad Fácil
Entrega v1
Incidencia 25
R26 Datos a guardar del usuario
Descripción Del usuario se tendrán que dar datos como un alias de cuenta, nombre real, localidad, provincia, foto del usuario, una descripción del usuario y un número de teléfono.
Prioridad Importante
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 26
R27 Datos a guardar del animal
Descripción Del animal se tendrán que dar datos como un nombre del animal, tipo de animal, edad, raza y una descripción detallada del animal.
Prioridad Opcional
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 27
R28 Datos a guardar de los mensajes entre usuarios
Descripción De los mensajes se guardarán tanto la fecha de envío como el origen como el destinatario.
Prioridad Opcional
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 28
R29 Datos a guardar de las facturas medicas que tenga el animal
Descripción Se deberán guardar tanto a qué animal está ligada la factura, además de la fecha de emisión de la factura, el centro veterinario en el que se ha tratado, el importe y una descripción de los tratamientos y/o operaciones por las que haya pasado el animal.
Prioridad Importante
Tipo Información
Complejidad Media
Entrega v2
Incidencia 29
R30 Datos a guardar de las adopciones
Descripción De las adopciones se querrán guardar tanto el usuario que subió al animal a la web como el usuario adoptante, además de el animal en sí junto a la fecha en la que se entregó el animal.
Prioridad Opcional
Tipo Información
Complejidad Fácil
Entrega v1
Incidencia 30
R31 Validación de los campos de los formularios
Descripción Todos los campos de los formularios serán validados.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 31
R32 Plugin para el manejo de etiquetas en los animales
Descripción Se usará un plugin de Javascript para que los características de los animales estén representados en forma de etiquetas.
Prioridad Mínimo
Tipo Técnico
Complejidad Media
Entrega v3
Incidencia 32
R33 Gestión de ventanas
Descripción Se crearán nuevas ventanas para la alta de los animales sin que interfiera con la que este el usuario en ese momento.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 33
R34 Majeno de eventos
Descripción
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 34
R35 Uso y manipulación del DOM
Descripción Se usará un plugin de Javascript para que los características de los animales estén representados en forma de etiquetas.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 35
R36 Uso de Jquery
Descripción Se usará Jquery en la aplicación
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 36
R37 Uso de AJAX
Descripción Se usará AJAX en la aplicación
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 37
R38 Uso de PHP 7.1
Descripción Se usará una versión de PHP de la 7.1 o superior
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 38
R39 Uso de Yii2
Descripción Se usará el framework Yii2 para la construcción de la aplicación
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 39
R40 Uso de PostgreSQL
Descripción Se usará PostgreSQL 9.6 o superior para el almacenamiento de datos de la plataforma web
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 40
R41 Plataforma desplegada en Heroku
Descripción La plataforma se desplegará en Heroku
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 41
R42 Pruebas funcionales con Codeception
Descripción Las pruebas funcionales se realizarán con Codeception
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 42
R43 Estilo y mantenibilidad del código
Descripción El estilo y la mantenibilidad del código fuente será validado por Code Climate para asegurarnos que el código sea fácilmente mantenible.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 43
R44 Escalabilidad de la aplicación
Descripción La aplicación tiene que ser escalable por si en el futuro queremos añadirle nuevas funciones.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 44
R45 Uso de HTML5
Descripción Se usarán etiquetas semánticas de HTML5 para la estructuración de la página.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 45
R46 Uso de CSS3
Descripción La presentación se trabajará mediante CSS3
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 46
R47 Validación del código HTML5 y CSS3
Descripción Se validará el código para que sea óptimo.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v1
Incidencia 47
R48 Prueba del seis
Descripción La aplicación tiene que pasar la prueba del seis.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v2
Incidencia 48
R49 La aplicación tendrá implementado el diseño tanto para resoluciones grandes como pequeñas.
Descripción Dependiendo del tamaño de la pantalla en la que el usuario use la aplicación los elementos de la web deberán tener una disposición u otra dependiendo del tamaño de ésta.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v3
Incidencia 49
R50 Comprobar que el diseño es correcto en navegadores
Descripción Se tiene que comprobar que el diseño de la web tiene que servir tanto en Google Chrome, como en Internet Explorer, Mozilla Firefox o en Opera.
Prioridad Mínimo
Tipo Técnico
Complejidad Fácil
Entrega v2
Incidencia 50

Cuadro resumen

Requisito Prioridad Tipo Complejidad Entrega Incidencia
(R01) Los usuarios se podrán registrar. Importante Funcional Fácil v1 1
(R02) Inicio de sesión del usuario Importante Funcional Fácil v1 2
(R03) Un usuario puede estar conectado solo en un ordenador Opcional Funcional Media v3 3
(R04) Cierre de sesión del usuario Opcional Funcional Fácil v1 4
(R05) Cada usuario tendrá su propio perfil Importante Funcional Fácil v1 5
(R06) Los usuarios registrados pueden modificar sus datos. Importante Funcional Fácil v1 6
(R07) Los usuarios registrados pueden darse de baja. Importante Funcional Fácil v1 7
(R08) Los usuarios registrados pueden subir animales de acogida a la plataforma. Importante Funcional Fácil v1 8
(R09) Los usuarios no pueden subir animales si no están registrados. Importante Funcional Fácil v2 9
(R10) Los usuarios que quieran adoptar podrán buscar usuarios que sean asociaciones Importante Funcional Fácil v1 10
(R11) Asociar una factura a un animal Importante Funcional Media v2 11
(R12) En el perfil de los usuarios aparecerán los animales que éstos tengan o hayan tenido en adopción. Opcional Funcional Media v2 12
(R13) Los usuarios que quieran adoptar animales no podrán hacerlo a no ser que estén registrados. Importante Funcional Fácil v1 13
(R14) Las asociaciones animalistas registradas en la página pueden autenticarse. Opcional Funcional Media v1 14
(R15) Los animales dispuestos para adoptar se mostrarán por orden de proximidad por defecto Opcional Funcional Difícil v2 15
(R16) Los animales subidos a la plataforma tendrán su propio perfil Importante Funcional Fácil v1 16
(R17) Los animales tendrán etiquetas para catalogarlos Opcional Funcional Media v1 17
(R18) Los usuarios podrán enviarse mensajes para preguntar por los animales que éstos tienen en adopción Opcional Funcional Media v2 18
(R19) Los usuarios no registrados en la pagina podrán ver a los animales Opcional Funcional Media v1 19
(R20) Se podrá buscar animales por tipo de animal Importante Funcional Fácil v1 20
(R21) Los animales subidos a la plataforma pueden tener un historial médico Opcional Funcional Media v2 21
(R22) Se podrá buscar animales por raza Opcional Funcional Fácil v1 22
(R23) Los animales pueden tener facturas del veterinario asociadas Opcional Funcional Difícil v3 23
(R24) Un animal es adoptado Opcional Funcional Fácil v1 24
(R25) Al subir un animal habrá opciones para poder compartir al animal por distintas redes sociales Opcional Funcional Fácil v1 25
(R26) Datos a guardar del usuario Importante Información Fácil v1 26
(R27) Datos a guardar del animal Opcional Información Fácil v1 27
(R28) Datos a guardar de los mensajes entre usuarios Opcional Información Fácil v1 28
(R29) Datos a guardar de las facturas medicas que tenga el animal Importante Información Media v2 29
(R30) Datos a guardar de las adopciones Opcional Información Fácil v1 30
(R31) Validación de los campos de los formularios Mínimo Técnico Fácil v1 31
(R32) Plugin para el manejo de etiquetas en los animales Mínimo Técnico Media v3 32
(R33) Gestión de ventanas Mínimo Técnico Fácil v1 33
(R34) Majeno de eventos Mínimo Técnico Fácil v1 34
(R35) Uso y manipulación del DOM Mínimo Técnico Fácil v1 35
(R36) Uso de Jquery Mínimo Técnico Fácil v1 36
(R37) Uso de AJAX Mínimo Técnico Fácil v1 37
(R38) Uso de PHP 7.1 Mínimo Técnico Fácil v1 38
(R39) Uso de Yii2 Mínimo Técnico Fácil v1 39
(R40) Uso de PostgreSQL Mínimo Técnico Fácil v1 40
(R41) Plataforma desplegada en Heroku Mínimo Técnico Fácil v1 41
(R42) Pruebas funcionales con Codeception Mínimo Técnico Fácil v1 42
(R43) Estilo y mantenibilidad del código Mínimo Técnico Fácil v1 43
(R44) Escalabilidad de la aplicación Mínimo Técnico Fácil v1 44
(R45) Uso de HTML5 Mínimo Técnico Fácil v1 45
(R46) Uso de CSS3 Mínimo Técnico Fácil v1 46
(R47) Validación del código HTML5 y CSS3 Mínimo Técnico Fácil v1 47
(R48) Prueba del seis Mínimo Técnico Fácil v2 48
(R49) La aplicación tendrá implementado el diseño tanto para resoluciones grandes como pequeñas. Mínimo Técnico Fácil v3 49
(R50) Comprobar que el diseño es correcto en navegadores Mínimo Técnico Fácil v2 50