Your SlideShare is downloading. ×
Proceso MDA y Scrum
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Proceso MDA y Scrum

1,840
views

Published on

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

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

Published in: Technology, Education

5 Comments
1 Like
Statistics
Notes
  • ¡Hola!
    WebRatio ha cambiado bastante los últimos años, y además ahora es gratis para uso personal, por lo que puedes usarla probarla o para tus proyectos personales que no sean comerciales.

    Respecto a '¿Como validas de forma automática que el programa generado realmente hace lo que se especifico?', no tiene mucho sentido, model-checking es validar tu programa, y tu programa haría lo que el modelo dice, ni más ni menos.
    Seguro que este link te parece muy interesante, y las traspas que lleva:
    http://www.theenterprisearchitect.eu/archive/2010/11/03/model-driven-development-the-end-of-the-test-profession
    Saludos.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hola,

    En la traspa 18 no esta bien explicado el proceso :-(. La herramienta no genera código de forma incremental, si no que genera todo el código cada vez, tenemos un proceso automático que solo copia el código que ha cambiado respecto de la generación anterior, no es un copia/pega manual :-D.

    Conocemos WebRatio, y lo probamos hace unos años (4 o 5). En nuestro caso no modelamos la interfaz de usuario, no hemos encotrado una herramienta para modelar la interfaz de usuario que sea lo suficientemente flexible y que se adapte a los cambios tan rápidos que esta sufriendo el desarrollo de interfaces de usuario en los últimos años.

    Aunque la herramienta te valide que el modelo es correcto y que el software generado se ejecuta correctamente, ¿Como validas de forma automática que el programa generado realmente hace lo que se especifico?

    Saludos.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • En la traspa 18 me da la impresión que copias un cacho de código generado a otro sitio. Tampoco conozco exactamente tu proceso, pero si hay que copiar algo, parece un poco lento (más aún si buscas agilidad), no sé.

    Por cierto prueba WebML y su entorno WebRatio, para hacer sistemas de información por web es una pasada. Hace model-checking y generación completa, no hace falta meterse en el código. La página de Acer fue hecha con este sistema y el lenguaje está siendo estandarizado por la OMG.
    Lo único malo que veo es que la curva de aprendizaje puede ser complicada, pero ya sabes como va esto de los modelos, es lo normal.

    Saludos.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hola Ricardo,

    En nuestro caso solo modelamos la parte estática del sistema, Trabajamos a nivel de PSM. El comportamiento lo implementamos mediante código y necesitamos validar su correcto funcionamiento. .
    Aunque uses model-checking, ¿Como validas que el modelo cumple lo que se especificó?, podrías recomendarnos alguna herramienta.

    ¿copia/pega? realmente no se de donde has podido extraer que hacemos copia/pega.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ¿Qué sentido tiene usar una prueba/test de lógica cuando estás usando un desarrollo dirigido por modelos, y por tanto puedes validarlo (es decir, hacer model-checking)?
    Lo pregunto sin conocer las tecnologías concretas que estáis usando. También me ha chocado el copia/pega de código.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,840
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
90
Comments
5
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Arquitectura Dirigida por el Modelo (MDA) Sesión 2: Demo © 2008-2009 Depto. Ciencia de la Computación e IA
  • 2. 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.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 3. 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).
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 4. Descripción del Sistema El 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. MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 5. 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 MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 6. 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).
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 7. Extracción Pila de Producto
      • La pila de producto contiene las historias de usuario (casos de
      • uso) 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.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 8. 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).
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 9. 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
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 10. 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).
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 11. Planificación del Sprint 1
      • Tareas a realizar durante el sprint para completar las pilas de
      • producto.
      • 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.
      • Gestionar libros.
        • Modelado de la solución.
        • Logica  de acceso.
        • Test de lógica.
        • UI para la gestión.
      • Construcción y Despligue de la versión 0.1.0.
        • Compilar y realizar la distribución (war y/o ear).
        • Despliegue de la aplicación.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 12. 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).
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 13. Sprint 1 - 1.1 Creación proyecto Andromda Creación del proyecto con las características técnicas requeridas. MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 14. 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. MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 15. Sprint 1 - 1.3 Creación proyecto Test MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise Creación del proyecto de test del servidor para poder realizar los test necesarios en la lógica
  • 16. Sprint 1 - 1.4 Creación proyecto RCP MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise Creación del proyecto cliente  donde se creará la UI en RCP para el acceso a los datos.
  • 17. 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. MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 18. Sprint 1 - 2.2 Lógica de acceso
      • Generamos el codigo modelado.
      • Copiamos el cógido.
      • Implementamos.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 19. 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
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 20. 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.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 21. Sprint 1 - 3.1 Compilación del proyecto
      • Compilamos el proyecto y generamos el war y el ear con las tareas de ant.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 22. Sprint 1 - 3.2 Despliegue del proyecto
      • Desplegamos el proyecto en JBoss
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 23. 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).
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 24. 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.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 25. Sprint N - Reunión Planificación de Sprint Una nueva pila del producto de un nuevo Sprint lo realizaremos en directo. MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
  • 26. Para Saber Más
      • Bibliografía
        • Scrum y XP desde las trincheras.
        • Flexibilidad con Scrum.
        • Continuous Integration Improving Software Quality and Reducing Risk.
        • Beyond Software Architecture: Creating and Sustaining Winning Solutions.
    MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise
      • Enlaces
        • http://www.navegapolis.net/
        • http://www.presionblogosferica.com/
        • http://www.mountaingoatsoftware.com/
        • http://www.andromda.org/
        • http://code.google.com/webtoolkit/
  • 27. MDA © 2008-2009 Depto. Ciencia de la Computación e IA Especialista Universitario Java Enterprise ¿Preguntas...?