Curso UML Emilio Avilés Ávila http://www.techmi.es
Workshop (20 horas) Workshop UML y Proceso Unificad para empresas y profesionales
Temario Introducción Diagramas  Proceso Unificado Modelo de proceso de desarrollo Proceso unificado
Tema 3 Proceso Unificado de desarrollo software
Objetivos Introducción Diagramas  Proceso Unificado Modelo de proceso de desarrollo Proceso unificado Introducción al Proceso unificado. Dirigido por casos de usos. Orientado a Arquitectura. Iterativo e incremental. Fases proceso iterativo: Definición. Elaboración. Construcción. Transición.
Tema 3.2 Proceso unificado
3.2 Proceso Unificado. Recordando el Proceso Unificado ¿Qué es? Los sistemas son cada día más grandes, existe una tendencia generalizada, esto hace que los procesos iterativos e incrementales sean imprescindibles.
3.2 Proceso Unificado. Recordando el Proceso Unificado Es necesario un proceso común, un método que integre: Guía para  ordenar las actividades de un equipo . Dirección de las tareas de cada desarrollador  por separado y del equipo como un todo. Especificación de los artefactos  que deben ser desarrollados. Criterios para el control y la medición de los productos  y actividades del proyecto.
3.2 Proceso Unificado. El proceso Unificado Características
3.2 Proceso Unificado. Dirigido por Casos de Uso Un  caso de uso  es una parte de la funcionalidad del sistema. El  modelo de casos de usos  describe la funcionalidad completa del sistema. Reemplaza  ` qué debe hacer el sistema'   por   `qué debe hacer el sistema para cada usuario ‘ Los casos de usos guían por el diseño, implementación y test del proceso software.
3.2 Proceso Unificado. Dirigido por Casos de Uso Luego, como  use case driven   entendemos  un proceso software cuyo flujo deriva de los caso de uso. Los  casos de usos  no se seleccionan de forma aislada sino que se desarrollan en  paralelo  con la  arquitectura  del sistema. Y la  arquitectura  influirá en la selección de los  casos de usos . Tanto los CU como la arquitectura  madurarán  lo largo de las iteraciones del ciclo de vida.
3.2 Proceso Unificado. Centrado en Arquitectura Los CU por si sólo no son suficientes. Se necesita una  arquitectura del sistema . “ Visión común que todos los participantes del proyecto deben compartir y aceptar” Se describe en función de las diferentes vistas del sistema a construir. El concepto de  arquitectura software  engloba los aspectos dinámicos y estático más importantes del sistema.
3.2 Proceso Unificado. Arquitectura: Elementos Plataformas del software Arquitectura de la máquina. S.O. Sistemas de Gestión de bases de datos. Protocolos de comunicación. Bloques reusable (frameworks). Consideraciones de desarrollo. Requisitos no funcionales.
3.2 Proceso Unificado. Arquitecto: La arquitectura es una visión global del sistema pero sin detalles. El arquitecto debería tener como objetivos: La comprensión del sistema Capacidad de adaptación a cambios futuros Reutilización (Evolución) Debe trabajar con la comprensión general de las  funciones claves  (10% Casos de Uso) Aquellos CU que forman en  núcleo de las funciones  del sistema.
3.2 Proceso Unificado. Arquitecto:  Responsabilidades Crear  arquitectura inicial  que no es específica de los casos de uso basándose en un conocimiento de la  funcionalidad básica  del sistema. Trabajar con un subconjunto de los  CU núcleo . Cada uno de estos  CU  se especifica en  detalle  y se realiza en base a subsistemas. A medida que los casos de uso se especifican y  maduran  se descubre más acerca de la arquitectura. Este  proceso continua  hasta que la arquitectura es estable.
3.2 Proceso Unificado. Iterativo e Incremental Los proyectos son largos    Dividir en miniproyectos (MP). Cada MP es una iteración que resulta en un incremento. Iteración : Pasos en el flujo de trabajo. Incremento : Crecimiento del producto. Las iteraciones deben ser controladas. Las iteraciones manejan un grupo de CU. Y tratan con los riesgos más altos.
3.2 Proceso Unificado. Iterativo e Incremental:  Beneficios Reduce costes : Si hay error solo repetimos la iteración y no el proyecto entero. Reduce el riesgo : De no tener el producto en el mercado en fecha de entrega. Mediante planificación de riesgos al principio. Acelera el ritmo de esfuerzo:  Mas eficiencia cuando ha objetivos a corto plazo. Acepta un realidad a menudo ignorada:  Los requisitos y necesidades no se pueden definir todos al principio. Adaptable a cambios.
3.2 Proceso Unificado. Dimensiones del Proceso  Dimensión temporal. Ciclos. Fases. Iteraciones. Hitos. Dimensión de contenidos. Actividades. Artefactos. Participantes. Flujos de Trabajo.
3.2 Proceso Unificado. El proceso Unificado:  Estructura
3.2 Proceso Unificado. Dimensión Temporal Proceso formado por  ciclos . Cada ciclo trabaja en una nueva generación del producto. El proceso divida un ciclo de desarrollo en cuatro fases consecutivas. Fases: Definición. Elaboración. Construcción. Transición. Cada fase termina con un hito bien definido.
3.2 Proceso Unificado. Dimensión Temporal:  Definición Caso de Negocio: Criterios de éxito. Estudio de riesgos. Estimación de recursos. Plan de fases incluyendo hitos. Alcance del Proyecto: Identificación de todas las entidades externas que interaccionan con el sistema. Definición de esta interacción a alto nivel. Esto implica la identificación de todos los casos de uso y la descripción de algunos que sean significativos.
3.2 Proceso Unificado. Dimensión Temporal:  Definición Resultados: Documento de visión: Principales requisitos, características clave y principales restricciones. Modelo de casos de uso inicial (10%-20%). Glosario de proyecto inicial. Caso de negocio inicial. Estudio de riesgos inicial. Plan de proyecto con fases e iteraciones. Modelo de negocio (sólo si es necesario). Prototipos.
3.2 Proceso Unificado. Dimensión Temporal:  Definición Criterios de evaluación: Disponibilidad del cliente en la definición del alcance y las estimaciones de coste y calendario. Comprensión de los requisitos dada por la fidelidad de los casos de uso principales. Credibilidad de las estimaciones, prioridades, riesgos. Profundidad y extensión de los prototipos. Gastos actuales con respecto a gastos planificados. Si se fracasa en este hito se puede cancelar y volver a pensar en el proyecto.
3.2 Proceso Unificado. Dimensión Temporal:  Elaboración Propósitos: Analizar el dominio del problema. Establecer una sólida base de la arquitectura. Desarrollar un plan de proyecto. Eliminar los elementos de mayor riesgo. Visión del sistema en toda su extensión con mínima profundidad. Al final de esta fase se debe tomar la decisión de si se debe continuar o no con el proyecto.
3.2 Proceso Unificado. Dimensión Temporal:  Elaboración Resultados: Modelo de casos de uso (80%). Requisitos suplementarios. Descripción de la Arquitectura Software. Prototipo ejecutable de la arquitectura. Lista de riesgos y caso de negocio revisados. Plan de desarrollo global. Definición del proceso de desarrollo. Un manual de usuario preliminar.
3.2 Proceso Unificado. Dimensión Temporal:  Elaboración Criterios de evaluación: ¿Es la visión del producto estable? ¿Es la arquitectura estable? ¿Demuestra el ejecutable que se han atacado y resuelto los riesgos más importantes? ¿Es el plan de la fase de construcción suficientemente detallado? ¿Se apoya en una base creíble de estimaciones? ¿Está el propietario de acuerdo con que se pueden lograr los objetivos si se ejecuta el plan con la arquitectura actual? ¿Es aceptable la relación entre gasto real y gasto planificado? Si se fracasa en este hito se puede cancelar y volver a pensar en el proyecto.
3.2 Proceso Unificado. Dimensión Temporal:  Construcción  Durante esta fase: Se desarrollan e integran el resto de los componentes y características. Se prueban concienzudamente todas las prestaciones. El resultado de esta fase es un producto preparado para ser puesto en manos de los usuarios finales. El resultado se suele conocer como versión “beta”.
3.2 Proceso Unificado. Dimensión Temporal:  Construcción  Resultados: El producto software está integrado en las plataformas adecuadas. Manuales de usuario. Descripción de la versión actual.
3.2 Proceso Unificado. Dimensión Temporal:  Construcción  Criterios de evaluación: ¿Es esta versión del producto suficientemente estable y madura como para desplegarla entre los usuarios? ¿Está el propietario del sistema preparado para la transición en la comunidad de usuarios? ¿Siguen siendo aceptables los gastos reales frente a los gastos planificados? Si no se cumple puede que haya que posponer la transición a la siguiente versión.
3.2 Proceso Unificado. Dimensión Temporal:  Transición  Propósito: Transición del producto software a la comunidad de usuarios. Desarrollo de nuevas versiones. Corrección de problemas. Finalización de prestaciones pospuestas.
3.2 Proceso Unificado. Dimensión Temporal:  Transición  Acciones: Pruebas “beta” para validar el nuevo sistema frente a las expectativas del usuario. Operación en paralelo con el sistema delegado a remplazar. Conversión de las bases de datos de operación. Formación de los usuarios y el personal de mantenimiento. Despliegue del producto a los equipos de marketing, distribución y ventas.
3.2 Proceso Unificado. Dimensión Temporal:  Transición  Criterios de evaluación: ¿Está satisfecho el usuario? ¿Siguen siendo aceptables los gastos reales frente a los gastos planificados? Se decide si se debe iniciar otro ciclo. El final de esta fase puede coincidir con el inicio de la fase de definición del siguiente ciclo.
Conclusiones Introducción Diagramas  Proceso Unificado Modelo de proceso de desarrollo Proceso unificado Introducción al Proceso unificado. Dirigido por casos de usos. Orientado a Arquitectura. Iterativo e incremental. Fases proceso iterativo: Definición. Elaboración. Construcción. Transición.
Referencias Guía Básica de UML. Wikipedia http://es.wikipedia.org/wiki/Proceso_Unificado JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James. El Proceso Unificado de Desarrollo de Software

Curso Uml 3.2 Proceso Unificado

  • 1.
    Curso UML EmilioAvilés Ávila http://www.techmi.es
  • 2.
    Workshop (20 horas)Workshop UML y Proceso Unificad para empresas y profesionales
  • 3.
    Temario Introducción Diagramas Proceso Unificado Modelo de proceso de desarrollo Proceso unificado
  • 4.
    Tema 3 ProcesoUnificado de desarrollo software
  • 5.
    Objetivos Introducción Diagramas Proceso Unificado Modelo de proceso de desarrollo Proceso unificado Introducción al Proceso unificado. Dirigido por casos de usos. Orientado a Arquitectura. Iterativo e incremental. Fases proceso iterativo: Definición. Elaboración. Construcción. Transición.
  • 6.
  • 7.
    3.2 Proceso Unificado.Recordando el Proceso Unificado ¿Qué es? Los sistemas son cada día más grandes, existe una tendencia generalizada, esto hace que los procesos iterativos e incrementales sean imprescindibles.
  • 8.
    3.2 Proceso Unificado.Recordando el Proceso Unificado Es necesario un proceso común, un método que integre: Guía para ordenar las actividades de un equipo . Dirección de las tareas de cada desarrollador por separado y del equipo como un todo. Especificación de los artefactos que deben ser desarrollados. Criterios para el control y la medición de los productos y actividades del proyecto.
  • 9.
    3.2 Proceso Unificado.El proceso Unificado Características
  • 10.
    3.2 Proceso Unificado.Dirigido por Casos de Uso Un caso de uso es una parte de la funcionalidad del sistema. El modelo de casos de usos describe la funcionalidad completa del sistema. Reemplaza ` qué debe hacer el sistema' por `qué debe hacer el sistema para cada usuario ‘ Los casos de usos guían por el diseño, implementación y test del proceso software.
  • 11.
    3.2 Proceso Unificado.Dirigido por Casos de Uso Luego, como use case driven entendemos un proceso software cuyo flujo deriva de los caso de uso. Los casos de usos no se seleccionan de forma aislada sino que se desarrollan en paralelo con la arquitectura del sistema. Y la arquitectura influirá en la selección de los casos de usos . Tanto los CU como la arquitectura madurarán lo largo de las iteraciones del ciclo de vida.
  • 12.
    3.2 Proceso Unificado.Centrado en Arquitectura Los CU por si sólo no son suficientes. Se necesita una arquitectura del sistema . “ Visión común que todos los participantes del proyecto deben compartir y aceptar” Se describe en función de las diferentes vistas del sistema a construir. El concepto de arquitectura software engloba los aspectos dinámicos y estático más importantes del sistema.
  • 13.
    3.2 Proceso Unificado.Arquitectura: Elementos Plataformas del software Arquitectura de la máquina. S.O. Sistemas de Gestión de bases de datos. Protocolos de comunicación. Bloques reusable (frameworks). Consideraciones de desarrollo. Requisitos no funcionales.
  • 14.
    3.2 Proceso Unificado.Arquitecto: La arquitectura es una visión global del sistema pero sin detalles. El arquitecto debería tener como objetivos: La comprensión del sistema Capacidad de adaptación a cambios futuros Reutilización (Evolución) Debe trabajar con la comprensión general de las funciones claves (10% Casos de Uso) Aquellos CU que forman en núcleo de las funciones del sistema.
  • 15.
    3.2 Proceso Unificado.Arquitecto: Responsabilidades Crear arquitectura inicial que no es específica de los casos de uso basándose en un conocimiento de la funcionalidad básica del sistema. Trabajar con un subconjunto de los CU núcleo . Cada uno de estos CU se especifica en detalle y se realiza en base a subsistemas. A medida que los casos de uso se especifican y maduran se descubre más acerca de la arquitectura. Este proceso continua hasta que la arquitectura es estable.
  • 16.
    3.2 Proceso Unificado.Iterativo e Incremental Los proyectos son largos  Dividir en miniproyectos (MP). Cada MP es una iteración que resulta en un incremento. Iteración : Pasos en el flujo de trabajo. Incremento : Crecimiento del producto. Las iteraciones deben ser controladas. Las iteraciones manejan un grupo de CU. Y tratan con los riesgos más altos.
  • 17.
    3.2 Proceso Unificado.Iterativo e Incremental: Beneficios Reduce costes : Si hay error solo repetimos la iteración y no el proyecto entero. Reduce el riesgo : De no tener el producto en el mercado en fecha de entrega. Mediante planificación de riesgos al principio. Acelera el ritmo de esfuerzo: Mas eficiencia cuando ha objetivos a corto plazo. Acepta un realidad a menudo ignorada: Los requisitos y necesidades no se pueden definir todos al principio. Adaptable a cambios.
  • 18.
    3.2 Proceso Unificado.Dimensiones del Proceso Dimensión temporal. Ciclos. Fases. Iteraciones. Hitos. Dimensión de contenidos. Actividades. Artefactos. Participantes. Flujos de Trabajo.
  • 19.
    3.2 Proceso Unificado.El proceso Unificado: Estructura
  • 20.
    3.2 Proceso Unificado.Dimensión Temporal Proceso formado por ciclos . Cada ciclo trabaja en una nueva generación del producto. El proceso divida un ciclo de desarrollo en cuatro fases consecutivas. Fases: Definición. Elaboración. Construcción. Transición. Cada fase termina con un hito bien definido.
  • 21.
    3.2 Proceso Unificado.Dimensión Temporal: Definición Caso de Negocio: Criterios de éxito. Estudio de riesgos. Estimación de recursos. Plan de fases incluyendo hitos. Alcance del Proyecto: Identificación de todas las entidades externas que interaccionan con el sistema. Definición de esta interacción a alto nivel. Esto implica la identificación de todos los casos de uso y la descripción de algunos que sean significativos.
  • 22.
    3.2 Proceso Unificado.Dimensión Temporal: Definición Resultados: Documento de visión: Principales requisitos, características clave y principales restricciones. Modelo de casos de uso inicial (10%-20%). Glosario de proyecto inicial. Caso de negocio inicial. Estudio de riesgos inicial. Plan de proyecto con fases e iteraciones. Modelo de negocio (sólo si es necesario). Prototipos.
  • 23.
    3.2 Proceso Unificado.Dimensión Temporal: Definición Criterios de evaluación: Disponibilidad del cliente en la definición del alcance y las estimaciones de coste y calendario. Comprensión de los requisitos dada por la fidelidad de los casos de uso principales. Credibilidad de las estimaciones, prioridades, riesgos. Profundidad y extensión de los prototipos. Gastos actuales con respecto a gastos planificados. Si se fracasa en este hito se puede cancelar y volver a pensar en el proyecto.
  • 24.
    3.2 Proceso Unificado.Dimensión Temporal: Elaboración Propósitos: Analizar el dominio del problema. Establecer una sólida base de la arquitectura. Desarrollar un plan de proyecto. Eliminar los elementos de mayor riesgo. Visión del sistema en toda su extensión con mínima profundidad. Al final de esta fase se debe tomar la decisión de si se debe continuar o no con el proyecto.
  • 25.
    3.2 Proceso Unificado.Dimensión Temporal: Elaboración Resultados: Modelo de casos de uso (80%). Requisitos suplementarios. Descripción de la Arquitectura Software. Prototipo ejecutable de la arquitectura. Lista de riesgos y caso de negocio revisados. Plan de desarrollo global. Definición del proceso de desarrollo. Un manual de usuario preliminar.
  • 26.
    3.2 Proceso Unificado.Dimensión Temporal: Elaboración Criterios de evaluación: ¿Es la visión del producto estable? ¿Es la arquitectura estable? ¿Demuestra el ejecutable que se han atacado y resuelto los riesgos más importantes? ¿Es el plan de la fase de construcción suficientemente detallado? ¿Se apoya en una base creíble de estimaciones? ¿Está el propietario de acuerdo con que se pueden lograr los objetivos si se ejecuta el plan con la arquitectura actual? ¿Es aceptable la relación entre gasto real y gasto planificado? Si se fracasa en este hito se puede cancelar y volver a pensar en el proyecto.
  • 27.
    3.2 Proceso Unificado.Dimensión Temporal: Construcción Durante esta fase: Se desarrollan e integran el resto de los componentes y características. Se prueban concienzudamente todas las prestaciones. El resultado de esta fase es un producto preparado para ser puesto en manos de los usuarios finales. El resultado se suele conocer como versión “beta”.
  • 28.
    3.2 Proceso Unificado.Dimensión Temporal: Construcción Resultados: El producto software está integrado en las plataformas adecuadas. Manuales de usuario. Descripción de la versión actual.
  • 29.
    3.2 Proceso Unificado.Dimensión Temporal: Construcción Criterios de evaluación: ¿Es esta versión del producto suficientemente estable y madura como para desplegarla entre los usuarios? ¿Está el propietario del sistema preparado para la transición en la comunidad de usuarios? ¿Siguen siendo aceptables los gastos reales frente a los gastos planificados? Si no se cumple puede que haya que posponer la transición a la siguiente versión.
  • 30.
    3.2 Proceso Unificado.Dimensión Temporal: Transición Propósito: Transición del producto software a la comunidad de usuarios. Desarrollo de nuevas versiones. Corrección de problemas. Finalización de prestaciones pospuestas.
  • 31.
    3.2 Proceso Unificado.Dimensión Temporal: Transición Acciones: Pruebas “beta” para validar el nuevo sistema frente a las expectativas del usuario. Operación en paralelo con el sistema delegado a remplazar. Conversión de las bases de datos de operación. Formación de los usuarios y el personal de mantenimiento. Despliegue del producto a los equipos de marketing, distribución y ventas.
  • 32.
    3.2 Proceso Unificado.Dimensión Temporal: Transición Criterios de evaluación: ¿Está satisfecho el usuario? ¿Siguen siendo aceptables los gastos reales frente a los gastos planificados? Se decide si se debe iniciar otro ciclo. El final de esta fase puede coincidir con el inicio de la fase de definición del siguiente ciclo.
  • 33.
    Conclusiones Introducción Diagramas Proceso Unificado Modelo de proceso de desarrollo Proceso unificado Introducción al Proceso unificado. Dirigido por casos de usos. Orientado a Arquitectura. Iterativo e incremental. Fases proceso iterativo: Definición. Elaboración. Construcción. Transición.
  • 34.
    Referencias Guía Básicade UML. Wikipedia http://es.wikipedia.org/wiki/Proceso_Unificado JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James. El Proceso Unificado de Desarrollo de Software