Proceso MDA y Scrum

27
© 2008-2009 Depto. Ciencia de la Computación e IA Arquitectura Dirigida por el Modelo (MDA) Sesión 2: Demo

description

Ejemplo de proceso de desarrollo utilizando una metodología de desarrollo dirigido por los modelos y Scrum.

Transcript of Proceso MDA y Scrum

Page 1: Proceso MDA y Scrum

© 2008-2009 Depto. Ciencia de la Computación e IA

Arquitectura Dirigida por el Modelo (MDA)

Sesión 2: Demo

Page 2: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Introducción

• El objetivo de la demo es realizar una aplicación funcional con MDA.

• Se intentará introducir manualmente el menor código posible.

• Se examinará como MDA nos ayuda en los cambios de requerimientos.

• Comprobaremos la velocidad de desarrollo de un sistema con MDA.

Page 3: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Pasos de la Demo

– Captura de Requerimientos para realizar el sistema.– Extracción de la pila de producto.– Planificación del proyecto.– Planificación del Sprint 1.– Realización del Sprint 1.– Revisión del Sprint 1(Demo del sistema).

Page 4: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Descripción del SistemaEl sistema a desarrollar se basa en la gestión de reservas de libros de una biblioteca.

La información de los libros es la siguiente: isbn, autor, número de páginas y fecha de alta. De los usuarios del sistema se quiere guardar la siguiente información: login, password, nombre, apellido1, apellido2, tipoUsuario.Los diferentes tipos de usuarios del sistema son: administrador, bibliotecario, socio, profesor.Correo electrónico.Datos referentes a su dirección, como son calle, número, piso, ciudad y código postal.

Un usuario administrador será el encargado de configurar la aplicación y gestionar los usuarios, mientras que un bibliotecario se encargará de la gestión depréstamos y libros, siendo el único tipo que pueda realizar préstamos.

Tanto los profesores como los socios van a poder realizar reservas sobre los libros, pero con diferentes permisos, tanto en número de libros como en duración del préstamo. Para realizar un préstamo, deberán personarse en la biblioteca, y el bibliotecario formalizará el préstamo en nombre del profesor o socio.

Page 5: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Descripción del Sistema

Los usuarios pueden tener diferentes estados: moroso y activo.Si el usuario que se logea es un administrador se tendrá que ir directamente a la gestión de usuarios y si es el bibliotecario a la gestión de libro.Cuando un usuario se retrase en la devolución de un libro, se le creará una multa, de la cual nos interesa saber la fecha de inicio y de finalización de la misma. Nos han comunicado que quieren mantener un histórico de las multas que ha tenido un usuario.

Respecto a los préstamos, tras muchas entrevistas deducimos que tanto las reservas, como los prestamos tienen características comunes, como son:• Fecha de inicio y finalización• Usuario de la operación• Libro de la operación

Page 6: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Pasos de la Demo

– Captura de Requerimientos para realizar el sistema.– Extracción de la pila de producto.– Planificación del proyecto.– Planificación del Sprint 1.– Realización del Sprint 1.– Revisión del Sprint 1(Demo del sistema).

Page 7: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Extracción Pila de Producto

La pila de producto contiene las historias de usuario (casos deuso) que tenemos que realizar.

– Gestionar Libros.– Gestionar Usuarios.– Realizar Operación (Reserva, prestamo o devolución).– Login del sistema.– Listado de libros– Listado de historico de operaciones.– Listado de reservas, préstamos de la biblioteca y multas.

Page 8: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Pasos de la Demo

– Captura de Requerimientos para realizar el sistema.– Extracción de la pila de producto.– Planificación del proyecto.– Planificación del Sprint 1.– Realización del Sprint 1.– Revisión del Sprint 1(Demo del sistema).

Page 9: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Planificación del Proyecto

– Gestionar Libros --> Sprint 1– Gestionar Usuarios --> Sprint 2– Gestionar Operaciónes --> Sprint 2– Login del sistema --> Sprint 3– Listado de libros --> Sprint 3– Listado de historico de operaciones. --> Sprint 4– Listado de reservas, préstamos de la biblioteca y

multas --> Sprint 4

Page 10: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Pasos de la Demo

– Captura de Requerimientos para realizar el sistema.– Extracción de la pila de producto.– Planificación del proyecto.– Planificación del Sprint 1.– Realización del Sprint 1.– Revisión del Sprint 1(Demo del sistema).

Page 11: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Planificación del Sprint 1

Tareas a realizar durante el sprint para completar las pilas deproducto.3. Creación de los proyectos

• Creación del proyecto andromda. • Creación del proyecto servidor. • Creación del proyecto de test del servidor. • Creación del proyecto cliente.

4. Gestionar libros. • Modelado de la solución.• Logica de acceso. • Test de lógica. • UI para la gestión.

5. Construcción y Despligue de la versión 0.1.0.1. Compilar y realizar la distribución (war y/o ear).2. Despliegue de la aplicación.

Page 12: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Pasos de la Demo

– Captura de Requerimientos para realizar el sistema.– Extracción de la pila de producto.– Planificación del proyecto.– Planificación del Sprint 1.– Realización del Sprint 1.– Revisión del Sprint 1(Demo del sistema).

Page 13: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 1.1 Creación proyecto Andromda

Creación del proyecto con las características técnicas requeridas.

Page 14: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 1.2 Creación proyecto Servidor

Creación del proyecto servidor donde se implementará la lógica de negocio y estará nuestro acceso a la Base de Datos.

Page 15: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 1.3 Creación proyecto TestCreación del proyecto de test del servidor para poder realizar los test necesarios en la lógica

Page 16: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 1.4 Creación proyecto RCPCreación del proyecto cliente donde se creará la UI en RCP para el acceso a los datos.

Page 17: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 2.1 CRUD libro - Modelado

Modelado de la solución en la pizarra con todo el equipo y pasar el modelo al Magic Draw.

Page 18: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 2.2 Lógica de acceso

– Generamos el codigo modelado.– Copiamos el cógido.– Implementamos.

Page 19: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 2.3 Test de la lógica– Implementamos el código de los test de la lógica.– Probamos el correcto funcionamiento de la lógica.– Podemos analizar los informes de cobertura y de

análisis estático de código

Page 20: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 2.4 UI para la gestión– Generamos la capa delegate encargada de atacar en

romoto o en local.– Creamos la pantallas necesarias con SWT sobre RCP.

Page 21: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 3.1 Compilación del proyecto

1. Compilamos el proyecto y generamos el war y el ear con las tareas de ant.

Page 22: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - 3.2 Despliegue del proyecto

1. Desplegamos el proyecto en JBoss

Page 23: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Pasos de la Demo

– Captura de Requerimientos para realizar el sistema.– Extracción de la pila de producto.– Planificación del proyecto.– Planificación del Sprint 1.– Realización del Sprint 1.– Revisión del Sprint 1(Demo del sistema).

Page 24: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint 1 - Revisión del Sprint

– Ya tenemos la primera version de la aplicación.– Realizamos una demo al propietario del producto y a

los demás interesados en el producto (stakeholders).– Obtenemos el feedback necesario para preparar el

siguiente sprint.

Page 25: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Sprint N - Reunión Planificación de Sprint

Una nueva pila del producto de un nuevo Sprint lo realizaremos en

directo.

Page 26: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Para Saber Más

• Bibliografíao Scrum y XP desde las trincheras.o Flexibilidad con Scrum.o Continuous Integration Improving Software Quality and

Reducing Risk.o Beyond Software Architecture: Creating and Sustaining

Winning Solutions.

• Enlaceso http://www.navegapolis.net/o http://www.presionblogosferica.com/o http://www.mountaingoatsoftware.com/o http://www.andromda.org/o http://code.google.com/webtoolkit/

Page 27: Proceso MDA y Scrum

MDA © 2008-2009 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

¿Preguntas...?