Proceso MDA y Scrum v2

28
MDA en i2e - 1 © 2009-2010 Depto. Ciencia de la Computación e IA Arquitectura Dirigida por el Modelo (MDA) Sesión 2: Demo

description

Proceso de desarrollo de software seguido en I2E utilizando MDD y Scrum.

Transcript of Proceso MDA y Scrum v2

Page 1: Proceso MDA y Scrum v2

MDA en i2e - 1© 2009-2010 Depto. Ciencia de la Computación e IA

Arquitectura Dirigida por el Modelo (MDA)

Sesión 2: Demo

Page 2: Proceso MDA y Scrum v2

MDA en i2e - 2MDA © 2009-2010 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 v2

MDA en i2e - 3MDA © 2009-2010 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 v2

MDA en i2e - 4MDA © 2009-2010 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Descripción del Sistema• Respecto a un usuario, nos interesa almacenar:

• Nombre y apellidos• Login y password• Tipo de usuario / Rol: administrador, bibliotecario, profesor, socio

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 de pré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.

• Estado de un usuario: activo o morosoLos usuarios, al crearlos tendrá un estado activo. Cuando un usuario se retrase en la devolución de un libro pasará a un estado de moroso, mediante el cual se le impide la reserva y préstamo de más libros.

• Correo electrónico• Datos referentes a su dirección, como son calle, número, piso, ciudad y código postal.

• 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.

Page 5: Proceso MDA y Scrum v2

MDA en i2e - 5MDA © 2009-2010 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Descripción del Sistema

• Respecto a un libro, nos interesa almacenar:• Título y autor• ISBN• Número de Páginas• Fecha de alta del libro

• 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

Además, nos informan que desean mantener un histórico con las reservas y préstamos realizados tanto por los profesores como por lo socios.

Page 6: Proceso MDA y Scrum v2

MDA en i2e - 6MDA © 2009-2010 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 v2

MDA en i2e - 7MDA © 2009-2010 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, préstamo o devolución).– Login del sistema.– Listado de libros– Listado de histórico de operaciones.– Listado de reservas, préstamos de la biblioteca y multas.

Page 8: Proceso MDA y Scrum v2

MDA en i2e - 8MDA © 2009-2010 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

Extracción Pila de Producto

na vez extraídas las pilas del producto se insertan en Jira para realizar la planificación.

Page 9: Proceso MDA y Scrum v2

MDA en i2e - 9MDA © 2009-2010 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 10: Proceso MDA y Scrum v2

MDA en i2e - 10MDA © 2009-2010 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 Operaciones --> Sprint 2– Login del sistema --> Sprint 3– Listado de libros --> Sprint 3– Listado de histórico de operaciones. --> Sprint 4– Listado de reservas, préstamos de la biblioteca y

multas --> Sprint 4

Page 11: Proceso MDA y Scrum v2

MDA en i2e - 11MDA © 2009-2010 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 12: Proceso MDA y Scrum v2

MDA en i2e - 12MDA © 2009-2010 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.• Lógica de acceso. • Test de lógica. • UI para la gestión.

5. Construcción y Despliegue 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 13: Proceso MDA y Scrum v2

MDA en i2e - 13MDA © 2009-2010 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 14: Proceso MDA y Scrum v2

MDA en i2e - 14MDA © 2009-2010 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 15: Proceso MDA y Scrum v2

MDA en i2e - 15MDA © 2009-2010 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 16: Proceso MDA y Scrum v2

MDA en i2e - 16MDA © 2009-2010 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 17: Proceso MDA y Scrum v2

MDA en i2e - 17MDA © 2009-2010 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 18: Proceso MDA y Scrum v2

MDA en i2e - 18MDA © 2009-2010 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 19: Proceso MDA y Scrum v2

MDA en i2e - 19MDA © 2009-2010 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 20: Proceso MDA y Scrum v2

MDA en i2e - 20MDA © 2009-2010 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 21: Proceso MDA y Scrum v2

MDA en i2e - 21MDA © 2009-2010 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 22: Proceso MDA y Scrum v2

MDA en i2e - 22MDA © 2009-2010 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 23: Proceso MDA y Scrum v2

MDA en i2e - 23MDA © 2009-2010 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 24: Proceso MDA y Scrum v2

MDA en i2e - 24MDA © 2009-2010 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 25: Proceso MDA y Scrum v2

MDA en i2e - 25MDA © 2009-2010 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 26: Proceso MDA y Scrum v2

MDA en i2e - 26MDA © 2009-2010 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 27: Proceso MDA y Scrum v2

MDA en i2e - 27MDA © 2009-2010 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 28: Proceso MDA y Scrum v2

MDA en i2e - 28MDA © 2009-2010 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise

¿Preguntas...?