proyecto kura kura - presentación técnica
TRANSCRIPT
Kura-kuraGrupo 2 Lorena Bes
Christian MartinezMarc MauriMayte PavónAntonio Suárez
Visión
RUP
I E C T C T
4/3/201313/2/2013
Cambios - Planificación Original
26/10/2012 9/1/2013
Cambios - Nueva Planificación
I E C T
9/1/2013 4/3/201326/10/2012 13/2/2013
Se han incluido reviews a la planificación de cada iteración.
Herramientas de gestión
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.
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.
Organización, consistencia, visión global, intuitividad y prevención de errores y familiaridad
Storyboards
Storyboards
Casos de uso
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
Boundary-Control-Entity Pattern
VOPC
Sequence Diagram
Domain Model
Diseño
Subsistema de Gestión
Cambiabilidad Mantenibilidad
Subsistema de NotificaciónFiabilidad
Alto rendimiento
Disponibilidad
Notificar AlertaNotificar Avisos InformativosIniciar Llamada a Cuidador
Gestionar ServiciosGestionar CuidadoresGestionar ResidentesGestionar Alertas
Sistema de Gestión
● 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ónPresentación
● 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ónServicios
● 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ónDominio y Datos
Sistema de Notificación
● Test unitarios○ Buen funcionamiento de las clases○ PHPUnit
● Tests de integridad y persistencia de BD○ Consistencia tipo-dato○ DB Sanity
Tests
Tests
● Test de rendimiento○ Subsistema crítico○ Herramientas de lenguaje
● Test de control de acceso○ Seguridad en los contenidos○ SeleniumHQ
Tests
● Test de usabilidad e interfaz○ Test de humo○ Persona-sistema
● Fácil uso y ayuda para el usuario
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
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.
Modelo de despliegue
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
Gracias por su atención