sistema m´ovil para la gesti´on de vehıculos
TRANSCRIPT
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
Sistema movil para la gestion de vehıculos
David Borrego GutierrezManuel Palomo Duarte
Lorena Gutierrez Madronal
22 de febrero de 2015
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
INDICE IINTRODUCCION
PLANIFICACION
Metodologıa de desarrolloOrganizacionEstimacion de tiemposEstimacion de costes
ANALISIS
Analisis funcionalRequisitos no funcionales
DISENO
Diseno fısicoDiseno logico
IMPLEMENTACION
InfraestructuraServidorServidor
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
INDICE IIClienteHerramientas
PRUEBAS
Pruebas unitariasPruebas de integracionPruebas de rendimientoIntegracion Continua
CalidadCalidad
ConclusionesConclusionesLecciones aprendidasTrabajo futuro
BibliografıaBibliografıa
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
INTRODUCCION
I ¿Que es?I Un sistema para la gestion de vehıculos
I ¿Para que sirve?I Almacenar historicoI Centralizar datosI Controlar el mantenimiento
I Diferencias con otros productosI SensillezI Portabilidad
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
INTRODUCCION
I ¿Que es?I Un sistema para la gestion de vehıculos
I ¿Para que sirve?I Almacenar historicoI Centralizar datosI Controlar el mantenimiento
I Diferencias con otros productosI SensillezI Portabilidad
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
INTRODUCCION
I ¿Que es?I Un sistema para la gestion de vehıculos
I ¿Para que sirve?I Almacenar historicoI Centralizar datosI Controlar el mantenimiento
I Diferencias con otros productosI SensillezI Portabilidad
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
METODOLOGIA
I Ciclo de desarrollo en espiral
I Fase de analisis
I Creacion de la arquitectura
I Fase de usuarios
I Fase de vehıculos
I Fase de rutas
I Fase de piezas
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
ORGANIZACION
I Analista: analisis, decision de tecnologıas a implementar ycreacion de la arquitectura.
I Programador Java: desarrollo del Servidor
I Programador Android: desarrollo de la aplicacion Cliente.
I Tecnico de Sistemas: busqueda e implementancion de laarquitectura mas idonea.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
ESTIMACION DE TIEMPOS
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
ESTIMACION DE COSTES
Tarea Analista P.J2EE P.Android Tec. Sistemas Total
S - Analisis 674,80e - - - 674,8e
S - Arquitectura base 1.383,34e - - - 1.383,34e
S - Usuarios - 354e - - 354e
S - Vehıculos - 330,4e - - 330,4e
S - Rutas - 495,60e - - 495,60e
S - Piezas - 590e - - 590e
S - Correccion bugs - 590e - - 590e
C - Arquitectura base 2.361,80e - - - 2.361,80e
C - Usuarios - - 873,20e - 873,20e
C - Vehıculos - - 967,60e - 967,60e
C - Rutas - - 1.014,80e - 1.014,80e
C - Piezas - - 1.864,40e - 1.864,40e
C - Correccion bugs - - 708e - 708e
Implantancion - - - 977,2e 977,2e
Total 4.419,94e 2.360e 5.428e 977.2e 13.185,14e
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
ANALISIS FUNCIONAL
I Diagramas de casos de uso
I Especificacion de los casos de uso
I Diagramas de interaccion
I Requisitos de informacion
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
REQUISITOS NO FUNCIONALES
I Alta disponibilidad: tolerancia a errores en una instanciaI Escalabilidad: facil escalado anadiendo instancias al
cluster.I Seguridad: seguridad ataques o perdida de informacion
(backup).I Facil comunicacion: acceso sencillo desde cualquier
plataforma.I Fiabilidad: Reducir al maximo la posibilidad de error.I Rendimiento: Bajo tiempo de respuestaI Coste ajustado: El coste lo mas ajustado posible.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
DISENO FISICO
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
DISENO LOGICO
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
INFRAESTRUCTURA
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR
I ¿Que lenguaje de programacion?I Java 1.7
I ¿Que base de datos?
I
I ¿Que sistema de comunicacion?I JSONI Servicios REST
I API y DTO
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR
I ¿Que lenguaje de programacion?I Java 1.7
I ¿Que base de datos?
I
I ¿Que sistema de comunicacion?I JSONI Servicios REST
I API y DTO
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR
I ¿Que lenguaje de programacion?I Java 1.7
I ¿Que base de datos?
I
I ¿Que sistema de comunicacion?I JSONI Servicios REST
I API y DTO
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR
I ¿Que lenguaje de programacion?I Java 1.7
I ¿Que base de datos?
I
I ¿Que sistema de comunicacion?I JSONI Servicios REST
I API y DTO
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR - FRAMEWORKS
I Base de datosI
I JPA
I Logica de negocioI Core
I Comunicacion RESTI SecurityI MVCI Dozer MapperI Jackson
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR - FRAMEWORKS
I Base de datosI
I JPA
I Logica de negocioI Core
I Comunicacion RESTI SecurityI MVCI Dozer MapperI Jackson
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR - FRAMEWORKS
I Base de datosI
I JPA
I Logica de negocioI Core
I Comunicacion RESTI SecurityI MVCI Dozer MapperI Jackson
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
SERVIDOR - FRAMEWORKS
I Base de datosI
I JPA
I Logica de negocioI Core
I Comunicacion RESTI SecurityI MVCI Dozer MapperI Jackson
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CLIENTE
I Cualquier cliente servicios REST
I
I SDK propio
I
I Frameworks y libreriasI GSONI MPAndroidChart
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CLIENTE
I Cualquier cliente servicios REST
I
I SDK propio
I
I Frameworks y libreriasI GSONI MPAndroidChart
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CLIENTE
I Cualquier cliente servicios REST
I
I SDK propio
I
I Frameworks y libreriasI GSONI MPAndroidChart
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CLIENTE
I Cualquier cliente servicios REST
I
I SDK propio
I
I Frameworks y libreriasI GSONI MPAndroidChart
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
HERRAMIENTASI
I
I
I TexMaker - LATEX
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
PRUEBAS UNITARIAS
I
I Cobertura superior al 80 %.I Automatizacion de pruebas.I 100 % test correctos para paso a produccion.
I
I Mock a otras clases o servicios.I Prueba unicamente el servicio en cuestion.
I EclEmma
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
PRUEBAS UNITARIAS
I
I Cobertura superior al 80 %.I Automatizacion de pruebas.I 100 % test correctos para paso a produccion.
I
I Mock a otras clases o servicios.I Prueba unicamente el servicio en cuestion.
I EclEmma
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
PRUEBAS UNITARIAS
I
I Cobertura superior al 80 %.I Automatizacion de pruebas.I 100 % test correctos para paso a produccion.
I
I Mock a otras clases o servicios.I Prueba unicamente el servicio en cuestion.
I EclEmma
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
PRUEBAS UNITARIAS
I
I Cobertura superior al 80 %.I Automatizacion de pruebas.I 100 % test correctos para paso a produccion.
I
I Mock a otras clases o servicios.I Prueba unicamente el servicio en cuestion.
I EclEmma
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
PRUEBAS DE INTEGRACION
I
I Grabacion de pruebas.I Automatizada la navegacion por pantallas con llamadas al
servidor.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
PRUEBAS DE INTEGRACION
I
I Grabacion de pruebas.I Automatizada la navegacion por pantallas con llamadas al
servidor.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
PRUEBAS DE RENDIMIENTO
I
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
INTEGRACION CONTINUA
I
I CompilacionI Ejecucion de test automaticamenteI Integracion con SonarQubeI Pasos a produccion
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CALIDAD -Servidor
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CALIDAD -Servidor
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CALIDAD -Servidor
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
CALIDAD -Servidor
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
OBJETIVOS
I CumplidosI Objetivos funcionales.I Estabilidad, seguridad, escalabilidad, etc.I Coste ajustado.I Aprendizaje.
I A mejorarI Plataformas disponibles.I Rendimiento de la plataforma.I Planificacion del tiempo.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
OBJETIVOS
I CumplidosI Objetivos funcionales.I Estabilidad, seguridad, escalabilidad, etc.I Coste ajustado.I Aprendizaje.
I A mejorarI Plataformas disponibles.I Rendimiento de la plataforma.I Planificacion del tiempo.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
LECCIONES APRENDIDAS
I Punto de encuentro de los conocimientos adquiridos.I Arquitectura propia.I Uso de API.I Uso de DTOI Evitar el acoplamiento.I Eleccion de tecnologıa adecuada.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
TRABAJO FUTURO
I Implementacion de sistemas de cache.
I Liberacion del codigo.
I Publicacion de la aplicacion.
INTRODUCCION PLANIFICACION ANALISIS DISENO IMPLEMENTACION PRUEBAS Calidad Conclusiones Bibliografıa
BIBLIOGRAFIAMockito, “Mocks para JUnit, Mockito.” http://mockito.org/, 2014.
Spring, “Spring documentation.” http://spring.io/guides, 2015.
Hibernate, “Hibernate documentation.”http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/, 2015.
Apache, “Tomcat 7.” http://tomcat.apache.org/tomcat-7.0-doc/, 2015.
Debian, “Raspbian, Debian + Raspberry Pi.” http://www.raspbian.org/RaspbianDocumentation,2015.
Jenkins, “Jenkins, CI.” https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins, 2015.
SonarQube, “SonarQube.” http://docs.sonarqube.org/display/SONAR/Documentation, 2015.
Google, “Android SDK.” https://developer.android.com/guide/index.html, 2015.
JUnit, “Test Unitarios Java, JUnit.” http://junit.org/project-info.html, 2014.
Robotium, “Test para Android.” http://robotium.com/pages/user-guide, 2014.
D. Felker, Android Appplication Development for Dummies.WILEY, 2011.
E. Finegan and R. Liguori, OCA Java SE 7.Mc Graw Hill, 2012.
J. C. Deepak Alur and D. Malks, J2EE Patterns, Best Practices and Design Strategies.Prentice Hall, 2008.
B. Cascales and P. Lucas, LaTeX, una imprenta en sus manos.A. D. I., 2000.