6. Riesgos - Infraestructura Cliente
● Hay muchos proveedores de RFID pasivos.
● Hay muchos fabricantes que ofrecen
dispositivos parecidos. Sólo habría que
plantear pequeñas modificaciones.
● Se pueden encontrar dispositivos Android
baratos para hacer de centralita.
7. Riesgos - Infraestructura Servidor
● El entorno de despliegue del prototipo será
el PaaS Openshift de RedHat.
● El despliegue se realizará en infraestructura
propia del cliente adaptadas al nivel de
seguridad alto de LOPD.
● Existe la alternativa de desplegar en
CDmon.
11. De especificación a análisis
Caso de uso: Añadir nuevo cuidador
Actor primario: Administrador, Responsable.
Precondición: El usuario se ha logueado en el sistema.
Disparador: El Responsable y/o el Residente desean
añadir un nuevo cuidador a un servicio.
Escenario principal de éxito:
1. El usuario introduce los datos del cuidador.
[→ #004 NuevoCuidador]
1. El sistema valida los datos.
2. El sistema asocia al nuevo cuidador al servicio.
3. El sistema muestra al administrador un mensaje
indicando cambios realizados.
Extensiones:
2a. Los datos no son válidos.
2a1. El sistema muestra un mensaje al
administrador indicando cuáles son los
datos que no son válidos.
2a2. El sistema vuelve al paso 1.
...
Boundary-Control-Entity
Pattern
16. ● MVC Pull-Based
○ Vistas conscientes
○ Reusabilidad
● HTML, JavaScript y widgets KendoUI
○ Alta compatibilidad
○ Conocimientos adquiridos y facilidad de aprendizaje
○ Ajustado a nuestras necesidades
Sistema de Gestión
Presentación
17. ● Front Controller + Action Controller
○ Recepción, filtrado y procesamiento de peticiones
■ Bajo acoplamiento clientes-servicio
○ Delegación por acciones
■ Alta cohesión
● Server Session State
○ Identificación de usuario
○ Seguridad
● Data Transfer Object (DTO)
○ Desacoplamiento entre capas
○ JSON
Sistema de Gestión
Servicios
18. ● Domain Model + Data mapper
○ Independencia entre lógica y base de datos.
○ Persistencia automática
○ Doctrine
● Use Case Controller
○ Lógica por caso de uso
○ Estado
○ Bajo acoplamiento
● Otros patrones:
○ Abstract Factory
○ Template
○ Expert
○ Singleton
Sistema de Gestión
Dominio y Datos
20. ● Test unitarios
○ Buen funcionamiento de las clases
○ PHPUnit
● Tests de integridad y persistencia de BD
○ Consistencia tipo-dato
○ DB Sanity
Tests
21. Tests
● Test de rendimiento
○ Subsistema crítico
○ Herramientas de lenguaje
● Test de control de acceso
○ Seguridad en los contenidos
○ SeleniumHQ
22. Tests
● Test de usabilidad e interfaz
○ Test de humo
○ Persona-sistema
● Fácil uso y ayuda para el usuario
23. Modelo de datos
Base de datos relacional (PostgreSQL)
● Balance entre criterios
○ Eliminar la mayor cantidad de nulls posibles
■ Simplicidad, rendimiento
■ Concrete Table Inheritance, Association Table Mapping
○ Minimizar el espacio ocupado
■ Escalabilidad
■ Single Table Inheritance
24. Modelo de datos
○ Normalización
■ Cambiabilidad
■ Identity Field, Foreign Key Mapper, Class Table
Inheritance
○ Rendimiento
■ Conflicto con otros requisitos no funcionales
■ Uso de índices en atributos clave
■ Distribución de la base de datos en modelo de
despliegue
■ Generar consulta para el sistema de
notificaciones.
26. Método de despliegue
Seguridad
● Firewall, DMZ
● Backup de datos en distinta localización
Disponibilidad
● Reduplicación de servidores
Rendimiento
● Distribución de bases de datos