P. 1
aesm p3

aesm p3

|Views: 715|Likes:

More info:

Published by: martinmalagaalejandro on Mar 08, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/19/2013

pdf

text

original

Práctica 3 Otras metodologías ágiles

Ksenia Belova Alejandro Martín Málaga Kevin García Guilabert

16/02/2012

Índice

-

DSDM (Método de desarrollo de sistemas dinámicos) o o o o o Introducción Principios DSDM Etapas del proceso DSDM Roles y Responsabilidades en DSDM Artefactos

3 3 3 4 5 6 7 7 7 10 11 12 12 13 14 15 16 17 17 18 19 20 21

-

AUP (Proceso unificado ágil) o o o o Introducción Fases Roles Entregables

-

FDD (Desarrollo basado en las funcionalidades) o o o o Características Roles Artefactos Practicas

-

Ventajas y Desventajas Tablas comparativas o o o Tabla de artefactos Tabla de practicas Tabla de roles

-

Herramientas y Refinamientos Bibliografía

2

Método de desarrollo de sistemas dinámicos Introducción
El DSDM (Método de desarrollo de sistemas dinámicos) promueve una serie de características y criterios para el desarrollo ágil de software, apoyando un desarrollo iterativo y creciente, que sea apto para posibles cambios y ajustes según requiere el proyecto. Forma parte de la alianza ágil. La alianza ágil es un marco de trabajo conceptual de la ingeniaría de software que apoya las iteraciones en el desarrollo del ciclo de vida de un proyecto. Dentro de esta alianza se encuentran distintos métodos como XP, AUP, DSDM…

Principios DSDM
Existen 9 puntos que forman los pilares en el desarrollo mediante DSDM 1. Tanto el cliente como el desarrollador debe estar involucrados en el proyecto, juntos deben poder tomar las decisiones de una forma acertada y precisa. 2. El equipo debe poder tomar decisiones sin la necesidad de estar pidiendo la aprobación de los superiores, de esta forma no se paraliza el proyecto. 3. El método DSDM se basa en la entrega frecuente de productos. Entregando el producto de una forma continua según se vaya produciendo permite corregir errores y verificar que todo esta siendo realizado según lo establecido. 4. El principal objetivo en DSDM es entregar un producto que sin ser perfecto contenga todas las funcionalidades criticas establecidas en el proyecto. Mas adelante se mejoraran y añadirán otras funciones. 5. El desarrollo es iterativo e incremental. 6. Nada es fijo, todo puede cambiar durante la evolución del proyecto. 7. El alcance de alto nivel y los requerimientos deberían ser base-lined antes de que comience el proyecto. 8. Durante el ciclo de vida del proyecto, se realizaran evitar que un coste extra en mantenimiento y arreglos del sistema. 9. Es necesario que todas las partes del proyecto cooperen en el desarrollo de este.

3

Otros principios en los que también se apoya el DSDM son:        Ningún sistema es construido a la perfección en el primer intento. El proyecto debe ser entregado respetando el acuerdo establecido, tiempo calidad y presupuesto. Cada paso debe completarse lo suficiente como para continuar con el siguiente. DSDM se puede usar tanto en nuevos proyectos, como en mejoras de uno ya existente. La Evaluación de riesgos debiera centrarse en entregar función de negocio, no en el proceso de construcción. La gestión recompensa la entrega de productos más que la consecución de tareas. La Estimación debería estar basada en la funcionalidad del negocio en lugar de líneas de código.

Etapas del proceso DSDM
Pre-proyecto, esta etapa se realiza antes de que el proyecto comience de una forma oficial. Se da forma al proyecto y se toma la decisión de comenzarlo. Es una etapa que no esta estrictamente definida, pero puede existir. Estudio de viabilidad, en esta etapa es donde el equipo de trabajo se hace preguntas sobre si es posible realizar el proyecto con unos recursos y tiempo limitado. Es una fase que se realiza rápidamente ya que DSDM es el mejor método cuando existe poco tiempo para llevara acabo el proyecto. Estudio de negocio, se estudiando los aspectos comerciales del negocio. Por ejemplo dudas como si es un buen negocio, quienes son las partes que participan en el y cual puede ser el mejor plan de trabajo. Iteración de modelado funcional, esta formado por 4 sub-etapas. Identificar el prototipo funcional, determinar las funcionalidades que debe contener. Acuerdo de fechas, establecer como y cuando debe estar listo el prototipo Hacer prototipo funcional, crear un prototipo funcional con las características establecidas anteriormente. Revisar prototipos, comprobar que cumple toda la funcionalidad, se puede realizar por el usuario final o a través de documentación.

En esta etapa se devuelve un prototipo funcional. Iteración de diseño y desarrollo, compuesta por 4 sub-etapas. Identificación de los prototipos, con ayuda de los prototipos creados identificar los requisitos funcionales y no funcionales. Estos resultados se tendrán en cuenta en la siguiente iteración. Acuerdo de fechas, establecer como y cuando debe estar listo el prototipo 4

-

-

-

Crear prototipos de diseño, en esta etapa se diseña un prototipo que podrá ser entregado al usuario final y debe poder ser usado a diario o para propósitos de prueba. Revisión del prototipo del diseño, se comprueba que cumpla todo lo acordado, debe ser probado.

Implementación, compuesta por 4 sub-etapas. Aprobación y directrices de los usuarios, los usuarios finales prueba el producto y dan su aprobación o no. Formación de los usuarios. Implementación, probar el producto en la ubicación final. Revisión del negocio, estudiar los resultados finales ya probados en la empresa.

Post-desarrollo, futuras mejoras una vez entregado el proyecto.

Roles y Responsabilidades en DSDM
Entorno de desarrollador: Patrocinador Ejecutivo, es el encargado de asegurar que los resultados de las negociaciones sean adecuados. Debe resolver los problemas entre el desarrollo y la gestión. Principalmente se encarga de tratar las cuestiones financieras. Visionarios, revisa el plan de tareas, resuelve problemas entre los equipos de desarrollo y de gestión. Aprueba los cambios desde el punto de vista empresarial. Coordinador técnico, se asegura de que todas las directrices, normas, procesos y herramientas se aplican en todas las partes. Informa a todos los equipos de los

-

5

-

-

posibles problemas técnicos, de las decisiones y suposiciones. Trabaja junto a los equipos para asegurar que el software se ajustado a lo pedido. Jefe de equipo, trabaja en un solo lugar o bien gestión o bien en desarrollo. Esta conectado con los jefes de los distintos equipos para informar sobre los avances de su equipo y evitar posibles problemas. Asesor del usuario, comparte conocimientos y habilidades con los clientes y equipos de trabajo. Facilitador, encargado de acortar las diferencias culturales, de realizar talleres para mejorar el aprendizaje y estar pendiente de que todo se aprenda.

Entorno del cliente: Desarrollador embajador, representa a la organización. Representantes de apoyo y mantenimiento. Coordinador de pruebas, coordina las pruebas para evitar realizar varias veces las mismas, si se da el caso de que estas se realicen en distintas zonas. Se asegura de que los productos cumplan los requisitos.

Artefactos
Un artefacto es un producto tangible resultante del proceso de desarrollo de software. Algunos artefactos como los casos de uso, diagrama de clases u otros modelos UML ayudan a la descripción de la función, la arquitectura o el diseño del software. Otros se enfocan en el proceso de desarrollo en sí mismo, como planes de proyecto, casos de negocios o enfoque de riesgos. El código fuente compilado para el testeo se suele considerar un artefacto, ya que el ejecutable es necesario para el plan de testeo.

Algunos ejemplos: Modelo de casos de uso: Describe los requisitos funcionales y los no funcionales relacionados. Especificaciones suplementarias: Describe otros requisitos. Modelo de Implementació: Código fuente, ejecutables, bases de datos, otros. Modelo de Diseño: Diagramas descriptivos del diseño lógico, sin referencias al modo de implementación. Comprende los diagramas de clase del software, diagramas de interacción, diagrama de paquetes y otros. Documento de Arquitectura: Escribe la correlación entre los componentes de software y los requerimientos. Es un resumen de las ideas principales del diseño.

-

6

El proceso unificado ágil Introducción
El proceso unificado ágil es un refinamiento del proceso unificado utilizando las características de la mas metodologías agiles. Funciona aplicando una serie de disciplinas en cada una de las partes características del proceso unificado: Inicio, Elaboración, Construcción, Transición.

Fases
En la fase de inicio definiremos el alcance del proyecto estimando costes y el calendario, definiendo los distintos riesgos. Determinaremos la factibilidad del proyecto y prepararemos el entorno del proyecto. La meta de la fase de inicio es identificar el alcance inicial del proyecto, generando una arquitectura inicial del sistema y obtener un presupuesto para la aceptación de los involucrados. El hito marcado es conseguir el Ciclo de Vida que se basa en llegar a un acuerdo con los contratistas, definir unos requisitos iniciales. En la fase de elaboración es probar la arquitectura del sistema a desarrollar. El punto es asegurar que el equipo puede desarrollar un sistema que satisfaga los requisitos, y la mejor manera de hacerlo que es la construcción de extremo a extremo del esqueleto de trabajo del sistema conocido como "prototipo de la arquitectura". Esto es en realidad un concepto pobre porque mucha gente piensa en deshacerse de los prototipos. En cambio, su significado es software funcional de alto nivel, el cual incluye varias casos de uso de alto riegos (a partir de un punto de vista técnico) para demostrar que el sistema es técnicamente factible. Durante la Elaboración, el equipo también se está preparando para la Fase de Construcción. Como el equipo gana una mano en la arquitectura del sistema, ellos comienzan con la creación del ambiente propicio para la Construcción mediante la compra de hardware, software y herramientas. Las personas son dirigidas desde la perspectiva de la Administración del Proyecto; los recursos son solicitados o contratados. Los planes de comunicación y la colaboración se finalizan (especialmente importantes si el equipo debe estar físicamente separado). La meta de esta fase es probar la arquitectura del sistema. El hito marcado es la consecución de la arquitectura del Ciclo de Vida que se basa en estabilizar la visión y la arquitectura del proyecto. El objetivo de la fase de Construcción consiste en desarrollar el sistema hasta el punto en que está listo para la pre-producción de pruebas. En las etapas anteriores, la mayoría de los requisitos han sido identificados y la arquitectura del sistema se ha establecido. El énfasis es priorizar y comprender los requerimientos, modelado que ataca una solución y, a luego, la codificación y las pruebas del software. Si es necesario, las primeras versiones del sistema se desarrollan, ya sea interna o externamente, para obtener los comentarios de los usuarios. La meta de esta fase es construir un software funcional sobre una base regular e incremental. El hito marcado es conseguir la capacidad operacional inicial que se basa en conseguir la estabilidad del sistema e involucrar a todas las partes en el desarrollo del producto aceptando los riesgos.

7

La fase de Transición se enfoca en liberar el sistema a producción. Deben hacerse pruebas extensivas a lo largo de esta fase, incluyendo las pruebas beta. Una buena afinación del proyecto tiene lugar aquí incluyendo el trabajo dirigido a los defectos significantes (su usuario puede escoger aceptar la existencia de algunos defectos conocidos en la versión actual). Las metas de esta fase son validar y desplegar es sistema en su ambiente de producción. El hito de esta fase es la liberación del producto que se basa en la aceptación del resultado, y ver la adecuación del pre proyecto al trabajo final. Las disciplinas utilizadas son: Modelado: entender el problema que genera y buscar las posibles soluciones. Implementación: transformar el modelo en un código ejecutable. Pruebas: realizar pruebas sobre el código anteriormente realizado. Despliegue: plan para la entrega del sistema y para ejecutar el plan Administración de la Configuración: administrar el acceso a los artefactos del proyecto. Administración de Proyecto: dirige las actividades que se realizan dentro del proyecto. Ambiente: apoyar el resto del esfuerzo, garantizando que el proceso de orientación es adecuado, y las herramientas están disponibles según sea necesario.

Modelado en las distintas fases Inicio: modelado de los requerimientos a alto nivel y modelado de la arquitectura a alto nivel. Elaboración: identifica los riesgos técnicos, produce prototipos de interfaces de usuario y un modelado de la arquitectura. Construcción: aborda el análisis del modelado, diseña por medio de una lluvia de ideas y documenta. Transición: finaliza la documentación general del sistema. Implementación en las distintas fases Inicio: efectúa un prototipito técnico y un prototipito de interfaces de usuario. Elaboración: prueba la arquitectura del sistema. Construcción: efectúa las primeras pruebas efectuando una evolución de la lógica del dominio, las interfaces de usuario y el esquema de datos. Desarrolla interfaces de activos legados y genera el script de conversión de datos. Transición: corrige los defectos.

8

Pruebas en las distintas fases Inicio: efectúa el plan de pruebas iniciales y revisión inicial del proyecto y de los modelos. Elaboración: valida la arquitectura y evoluciona su modelo de pruebas. Construcción: efectúa pruebas de software y evoluciona su modelo de pruebas. Transición: valida el sistema y la documentación, finaliza su modelo de pruebas. Despliegue en las distintas fases Inicio: identifica la ventana potencial de liberación, inicia el plan de despliegue de alto nivel. Elaboración: actualiza su plan de desarrollo. Construcción: despliega el script de instalación, las notas publicadas y la documentación inicial. Actualiza el plan y despliega el sistema en un ambiente de pre-producción. Transición: finaliza la documentación y el paquete de entrega. Anuncia el despliegue y capacita al personal. Finalmente libare el sistema de producción. Administración de la Configuración en las distintas fases Inicio: establece la configuración del entorno y coloca todos los productos bajo el control de la configuración. Elaboración: poner todos los productos bajo el control de administración de la configuración. Construcción: poner todos los productos bajo el CM control. Transición: poner todos los productos bajo el CM control. Administración del Proyecto en las distintas fases Inicio: inicia la creación del equipo, crea las relaciones con los interesados del proyecto y determina la factibilidad del proyecto, un cronograma de alto nivel y un plan de iteraciones. Administra el riesgo y obtiene el apoyo y financiamiento de los interesados. Elaboración: construye y protege el equipo, obtiene los recursos, maneja el riesgo y actualiza su plan de proyecto. Construcción: administra el equipo del proyecto, manejando el riesgo y actualiza su plan de proyecto. Transición: administra el cierre del proyecto, cierra esta fase e inicia el próximo ciclo del proyecto.

9

Ambiente en las distintas fases Inicio: establece el entorno de trabajo e identifica la categoría del proyecto. Elaboración: evoluciona el entorno del trabajo y ajusta los materiales a los procesos. Construcción: apoya al equipo, evoluciona el entorno de trabajo y establece el ambiente de capacitación. Transición: establece las operaciones y / o el ambiente de soporte. Recupera las licencias del software.

Roles del AUP
Los distintos roles pueden ser asumidos por varias personas y Una persona puede tomar varios roles. Los distintos roles a interpretar en la metodología son:
DBA Ágil: es el encargado del diseño de la base de datos. Modelador Ágil: es aquel que crea y desarrolla los modelos de manera colaborativa y evolutiva. Administrador de la configuración: proporciona la infraestructura y crea el medio ambiente para el equipo de desarrollo. Implementador: es el responsable de poner en disposición el sistema en los ambientes de preproducción y producción. Desarrollador: es aquel que escribe código, realiza pruebas y construye el software. Especialista del proceso: desarrolla, adapta y apoya el material de los procesos de la organización. Administrador del proyecto: administra los miembros de los equipos de trabajo, crea relaciones con los involucrados, coordina las interacciones con los involucrados, planea, administra y dispone recursos, enmarca prioridades y mantiene el equipo enfocado. Examinador: evalúa los productos resultantes del proyecto, inclusive el trabajo en progreso resultante de cada iteración. Involucrado: es cualquiera que sea usuario directo, usuario indirecto, administrador de usuarios, administrador, miembro de equipo de operación o soporte, desarrolladores que trabajan en otros sistemas que se integran o interactúan con el sistema implementado, en fin todo aquel que se vea afectado de una u otra forma con el proyecto. Documentador técnico: es el responsable de producir documentación para los involucrados, tal como: materiales de capacitación, documentación de operaciones, documentación de

-

-

-

mantenimiento, y documentación de usuario. Administrador de pruebas: es el responsable del éxito de las pruebas, las planifica y testea su calidad. Equipo de pruebas: ejecutan las pruebas y las documentan. Especialista en herramientas: es el responsable de seleccionar, adquirir, configurar y brindar mantenimiento al equipo requerido.

10

-

Cualquiera: cualquier otra persona en un rol distinto.

Entregables mínimos en el AUP
Sistema: es el software de trabajo, el hardware y la documentación para ser liberada a producción. Código fuente: el código de programa para su sistema. Suite de pruebas de regresión: una colección de casos de prueba, y el código para correrlas en un orden adecuado. El suite de pruebas de regresión incluirá un gran rango de pruebas, tomando en cuenta pruebas de aceptación, unidades de pruebas, pruebas de sistema y muchas otras. Scripts de instalación: código para instalar su sistema en un ambiente de preproducción. Documentación del sistema: la documentación liberada como una parte del sistema para ayudar al usuario a trabajar con él. Notas: deben resumir las buenas cosas a saber acerca de las versiones actuales que se están construyendo. Modelado de requerimientos: describe los requisitos que su sistema debe cumplir. Modelo de diseño: describe el diseño del sistema.

-

11

Desarrollo basado en las funcionalidades Características
Es un método iterativo y adaptativo. Se centra más en las fases de construcción y diseño. Está pensado para los proyectos con poco tiempo de realización. Ayuda a prevenir el exceso en el presupuesto o fallas en el programa. Se requiere definir los procesos de una manera simple y seguir un orden lógico para facilitar el trabajo y aumentar la calidad. Éste método está formado por ciclos cortos basados en las funcionalidades, pequeñas partes significativas del software para el cliente. Los resultados obtenidos son tangibles y se presentan periódicamente. Esta metodología ágil está compuesta por los siguientes procesos: Primero. Desarrollar un modelo global, se construye un modelo de desarrollo respetando la visión, los requerimientos y el contexto que debe tener el sistema. Elaborando diagramas de los paquetes con las clases esenciales y sus responsabilidades. También se aporta un documento con los objetivos definidos del proyecto, más la arquitectura de las opciones de modelado. Segundo. Construir una lista de rasgos, se desarrolla una lista que resume las funcionalidades que posteriormente será evaluada por el cliente. Se agrupan estructuradamente para llevar a cabo el trabajo de desarrollo. Tercero. Planear por rasgo, se establecen los tiempos para cada iteración. El líder del proyecto junto con el líder de desarrollo planifican los hitos de finalización de las iteraciones construidos por conjuntos de funcionalidades. Los programadores jefes ordenan las funciones conforme a su prioridad y dependencia. Cuarto. Diseñar por rasgo, se selecciona un conjunto y se implementa mediante un proceso iterativo decidiendo qué funcionalidad se va a realizar en cada iteración. Se diseñan las clases, atributos y métodos incluyendo codificación e integración de código. Quinto. Construir por rasgo, es la última etapa que consiste en la construcción total de la aplicación de manera incremental. Cada programador implementa los métodos de las clases que se le asignan extendiendo las clases base de prueba para construir las pruebas unitarias e inspeccionar el código.

12

Las fases de FDD

Roles
Los roles de FDD se dividen en tres tipos. Roles claves: • Administrador del proyecto, el que se ocupa de la asignación del personal y la última revisión. Arquitecto jefe, realiza el diseño global del sistema y ejecuta todas las etapas. Manager de desarrollo, su función consiste en evitar conflictos entre los miembros del equipo y resolver problemas de recursos. Programador jefe, participa en el análisis de requisitos y selecciona rasgos para la siguiente iteración. Propietarios de clases, los súbditos del programador jefe, sus tareas son el diseño, la codificación, pruebas y documentación. Experto de dominio, cliente, usuario o analista de negocios, poseen el conocimiento de los requisitos del sistema y lo pasan a los desarrolladores para asegurar la entrega completada.

• •

Roles de soporte: • Administrador de entrega, supervisa el proceso revisando los reportes del programador jefe e informa al manager del proyecto. Abogado de lenguaje, conoce el lenguaje y la tecnología perfectamente. Ingeniero de construcción, responsable de preparar y mantener el proceso de construcción.

• •

13

• •

Herramientista, construye herramientas ad hoc, mantiene las bases de datos. Administrador del sistema, controla el ambiente de trabajo, configura, administra y repara los servidores y equipos de desarrollo.

Roles adicionales: • Verificadores, comprueban que el sistema creado cumple todos los requerimientos del cliente. Encargados del despliegue, convierten la información existente requerida por el nuevo sistema, también participan en el lanzamiento de los nuevos productos. Escritores técnicos, preparan la documentación para los usuarios.

La implementación de cada proceso se realiza en grupo, por cada uno de ellos hay un responsable que tendrá la última palabra en caso de no llegar a un acuerdo. Todos forman parte del proyecto los inexpertos aprenden de las discusiones de los más involucrados. Las funcionalidades se reparten entre distintos subgrupos del equipo y se procede a la implementación. Los propietarios de las clases son los únicos quienes las crean por tanto pueden cambiarlas. Debido a esto, en cada equipo deben estar todos los dominantes de las clases, además de un programador en varios grupos implementando distintas funciones. Posteriormente, se preparan y se ejecutan las pruebas, se revisa el código e integración de las partes compuestas del software. Se definen métricas para seguir el proceso de desarrollo de la aplicación, con el fin de conocer el estado actual de desarrollo, realizar mejores estimaciones en proyectos futuros.

Artefactos
La FDD se estructura definiendo unas funciones features de corto alcance, que representan la funcionalidad que debe contener el sistema. Existe una jerarquía de las mismas que consta de feature set que agrupa un conjunto de features relacionadas con aspectos en común de negocio. Finalmente, el major feature set es el nivel más alto de agrupación de los conjuntos de funciones que contribuyen a proveer valor al cliente en relación a un subdominio dentro del dominio completo de la aplicación. Tiene los siguientes formatos: Para features: <acción> el <resultado> <de | para | sobre | por> un <objeto> Para feature sets: <acción><-endo> un <objeto> Para major feature sets: administración de <acción>

14

Algunos artefactos característicos del método FDD son: - Planificación del proyecto. Es un documento que contiene la información de gestión, es realizado por el líder del proyecto. Se añaden cronogramas explicativas que definen las tareas del proyecto. Se inicia con la primera fase y se va actualizando hasta el fin del proyecto. - El repositorio del proyecto. Cubre la disciplina de Administración de la Configuración, se almacenan todas las versiones de los archivos y directorios del proyecto para poder modificarlas posteriormente y generar ramas de desarrollo paralelo. El programador jefe es el responsable de la creación y mantenimiento del repositorio. - Nota de entrega. Es un documento donde se especifica toda la información sobre el proyecto acabado que se entregará al cliente. Se incluyen el número de la versión, los cambios efectuados y las posibles mejoras.

Prácticas
En la práctica este método se aplica a los proyectos largos de un tiempo de desarrollo corto. La duración de cada iteración abarca dos semanas de forma incremental. Se requiere una reunión semanal entre el líder del proyecto y los programadores jefe. Se permite explorar y explicar el dominio del problema. Se desarrolla el progreso a través de una lista de funcionalidades. Cada clase tiene una persona responsable de la consistencia, integridad conceptual y rendimiento de la clase. El equipo de características. El equipo de características se forman de una manera dinámica. Los inspectores detectan los defectos. Sobre los builds, construcciones se van agregando las nuevas características. La administración de configuración a través del tiempo de la última versión de cada parte de código completada. El progreso se reporta basándose en el trabajo completo.

15

Ventajas y Desventajas
Ventajas AUP Hace mas liviana a la metodologia rup debido a que usa elementos de metodologias ágiles. Esta diseñada para grandes grupos de trabajo.

Ventajas y Desventajas DSDM Ventajas: La calidad del producto es mejorada gracias a la ayuda de los usuarios a lo largo del ciclo de vida del proyecto y la naturaleza iterativa del desarrollo. DSDM asegura desarrollos rápidos y funcionales. Reduce los costos de proyectos a través de las ventajas mencionadas anteriormente. Permite realizar cambios de forma fácil. Permite la reutilización de aplicación a través de los módulos existentes.

Desventajas: Se necesita una alta participación de los usuarios en elmdesarrollo, para evitar que los desarrolladores asuman criterios que no son ciertos. No es una metodología de desarrollo común. El proceso es un tanto difícil de comprender.

Ventajas y Desventajas FDD Ventajas El objetivo es la entrega concreta, desarrollo de software en repetidas ocasiones, en el momento oportuno. Provee estrategias de planteamiento para el líder del proyecto. Una de las ventajas de centrarse en las features del software es el poder formar un vocabulario común que fomente que los desarrolladores tengan un diálogo fluido con los clientes, desarrollando entre ambos un modelo común del negocio.

Desventajas Demasiado jerárquico, demanda un programador jefe quien manda sobre los propietarios de clases quienes dirigen los equipos de rasgos. Necesita un equipo de miembros con experiencia que definan los pasos a seguir a lo largo del proyecto. Pocos detalles sobre las pruebas.

16

Tabla de Comparativas

Tabla comparativa de artefactos

Artefactos / Metodología Caso del negocio Documento de arquitectura del Software Especificaciones suplementarias Modelo de análisis Modelo de casos de uso Modelo de diseño Modelo de implementación Plan de gestión de riesgo Plan de implantación Plan de iteración Plan de pruebas Planificación del proyecto Producto Visión del sistema

AUP x x x x x x x x x

FDD

DSDM x x x

x

x x

x x x x x x x x x x

17

Tabla comparativa de practicas

Practica / Metodología Adaptar el proceso de desarrollo Alto nivel de Abstracción Fomento del aprendizaje de experiencias Centrarse en la arquitectura Interacción continua con el cliente Enfoque continuo en la calidad Colaboración entre equipo Demostración de los resultados Modelar el software Enfoque en los riesgos Permanecer ágil y esperar cambios Dirigido por casos de uso Para pequeños grupos Para grandes grupos

AUP x x x x x x x x x x x x

FDD x

DSDM x x

x x x x x x x

x

x

x x

x

18

Tabla comparativa de Roles

Roles / Metodología Analista de calidad Analista de productos Arquitecto Desarrollador Involucrados Líder en proyecto Probador Otros roles

AUP x x x x x x x x

FDD

DSDM x

x x

x x x

x x x

x x x

19

Herramientas y Refinamientos
UMT - (UML Model Transformation Tool) - Herramienta para la trasformación de modelos y la generación de código basada en especificaciones UML/XMI . VisualWADE, una herramienta desarrollada por el grupo de Ingeniería Web de la Universidad de Alicante. VisualWADE permite el diseño y generación automática de aplicaciones web siguiendo una aproximación MDD. Combina diagramas de dominio UML con nuevos modelos para representar la interacción con el usuario sobre un entorno hipermedia. El código intermedio generado es XML. En la versión actual, se proporciona un compilador de modelos que produce entregables en PHP a partir del código intermedio XML. Kermeta, es un lenguaje específico de dominio que cuenta con un entorno de trabajo integrado en Eclipse. Por ser un lenguaje de metamodelado, Kermeta brinda soporte a la especificación de lenguajes específicos de dominio, capacidades para la simulación y prototipado de modelos y metamodelos, y la transformación de modelos. Rational Method Composer, es una plataforma para la gestión de procesos que se usa para gestionar, por ejemplo, rup. La herramienta no es gratuita pero la versión de prueba permite generar el sitio web con toda la información disponible del rup en sus versiones classic, médium y small, además incluye guías, plantillas, ejemplos, etc. Que te ayudan a realizar un seguimiento del rup. Eclipse process framework, es el equivalente libre del rational method composer, siendo muy similares incluso sus interfaces. Incluye como refinamiento del proceso unificado el openup.

20

Bibliografía:
http://www.google.es http://es.wikipedia.org http://es.kioskea.net http://www.navegapolis.net http://es.scribd.com/doc/62931905/48/Figura-13-Ciclo-de-desarrollo-de-DSDM http://es.scribd.com/doc/61648265/dsdm http://www.slideshare.net/kiberley/merinde-altec http://metagiles.alumnos.exa.unicen.edu.ar/Home/programa http://www.slideshare.net/Cris20/metodologia-dsdm http://cgi.una.ac.cr/AUP/index.html http://es.scribd.com/doc/41616347/Libro-Analisis-Disenio1 http://www.slideshare.net/kiberley/merinde-altec http://seccperu.org/files/Metodologias%20Agiles.pdf http://pisis.unalmed.edu.co/cursos/material/3004582/1/PresentacionFDD.ppt http://www.willydev.net/descargas/Articulos/General/cualxpfddrup.PDF http://materias.fi.uba.ar/7500/schenone-tesisdegradoingenieriainformatica.pdf http://www.ecured.cu/index.php/Metodolog%C3%ADa_FDD

21

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->