1 / 35

Aplicaciones de Ingeniería de Software

Aplicaciones de Ingeniería de Software. Proceso Racional Unificado (RUP). RUP. Fases. Inicio: Objetivo el ciclo de vida Lo que deberá hacer el producto Reducción de los peores riesgos Preparación para el análisis del negocio inicial. Fases. Elaboración: arquitectura del ciclo de vida

nitza
Download Presentation

Aplicaciones de Ingeniería de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

  2. RUP

  3. Fases • Inicio: Objetivo el ciclo de vida • Lo que deberá hacer el producto • Reducción de los peores riesgos • Preparación para el análisis del negocio inicial

  4. Fases • Elaboración: arquitectura del ciclo de vida • Obtener la línea base de la arquitectura • Capturar la mayoría de los requisitos • Reducir los peores riesgos • Estimar costos y fechas • Planificar la fase de construcción con algún detalle

  5. Fases • Construcción: funcionalidad operativa inicial • El desarrollo del sistema • Garantía de que el producto puede comenzar su transición a los clientes • Transición: versión del producto • Garantizar que se tiene el producto preparado para su entrega • Entrenar a los usuarios a utilizar el sistema.

  6. Fases e Hitos (Milestones) Inception Elaboration Construction Transition Capacidad Operacional Inicial Objetivos (Visión) Arquitectura Release del Producto tiempo Hito: Punto de terminación de la iteración cuando se toma alguna decisión o evaluación importante

  7. Proceso de Ingeniería de Software Workflows (Disciplinas) Workflows Primarios • Business Modeling (Modelado del Negocio) • Requirements (Requisitos) • Analysis & Design (Análisis y Diseño) • Implementation (Implementación) • Test (Pruebas) • Deployment (Despliegue) Workflows de Apoyo • Environment (Entorno) • Project Management (Gestión del Proyecto) • Configuration & Change Management (Gestión de Configuración y Cambios)

  8. Proceso Iterativo e Incremental • El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes (mini-proyectos) • En el ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala • Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes

  9. Proceso Iterativo e Incremental • Las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración Req. Análisis Diseño Imple. Pruebas e Integración n veces

  10. Iteraciones • Cada fase consiste en las iteraciones del desarrollo en las cuales un subconjunto del sistema se desarrolla. En general, estas iteraciones: • Reducen los riesgos técnicos; • Proporcionan versiones tempranas; • Permiten mayor flexibilidad para el lanzamiento de cada característica; y • Permiten controlar los cambios con respecto al alcance de manera efectiva con las iteraciones durante los ciclos.

  11. Proceso Iterativo e Incremental • Cada iteración comprende: • Planificar la iteración (estudio de riesgos) • Análisis de los Casos de Uso y escenarios • Diseño de opciones arquitectónicas • Codificación y pruebas. La integración del nuevo código con el existente de iteraciones anteriores se hace gradualmente durante la construcción

  12. Proceso Iterativo e Incremental • Cada iteración comprende: • Evaluación de la entrega ejecutable (evaluación del prototipo en función de las pruebas y de los criterios definidos) • Preparación de la entrega (documentación e instalación del prototipo) • Cada una de las cuatro fases termina con hito principal.

  13. Plan de iteraciones • El número de iteraciones planeado para cada fase depende, básicamente de la complejidad del sistema propuesto. Un proyecto simple puede realizarse con una sola iteración por fase. • Un proyecto más complejo podría comprender el siguiente número de iteraciones.

  14. Plan de iteraciones • Fase de Inicio: una iteración, principalmente dedicada a definir el ámbito del sistema • Fase de elaboración: dos iteraciones, la primera para esbozar la arquitectura y la segunda para completar la línea base de la arquitectura

  15. Plan de iteraciones • Fase de construcción: dos iteraciones, para asegurar que los incrementos resultantes funcionan satisfactoriamente • Fase de transición: una iteración

  16. Proceso Iterativo e Incremental Enfoque Secuencial Enfoque Iterativo e Incremental

  17. Architecture Proceso Centrado en la Arquitectura • Arquitectura de un sistema es la organización o estructura de sus partes más relevantes • Un arquitectura ejecutable es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades • RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo Inception Elaboration Construction Transition

  18. Fases, Base Line, Versión, Release ciclo de desarrollo ciclo de evolución versión (subconjunto de artefactos estable y ejecutable) release (producto al final de una iteración, lanzado para su puesta en producción) base line (release asociada a un hito)

  19. Base Line • Conjunto de artefactos revisados y aprobados que constituyen una base convenida para la evolución y desarrollo adicional y que se puede cambiar solamente a través de la administración de cambios. • Asegurarse qué subsistemas, cuándo alcanzan un nivel especifico de la madurez, son la línea base para que esté disponible para el release (“liberación”), o la reutilización en iteraciones subsecuentes del proyecto y/o otros proyectos.

  20. Base Line • Se considera como candidato para una Línea Base el conjunto de archivos y directorios bajo control de versión que son desarrollados, integrados y puestos juntos en un release. • Una línea base se crea al final de cada iteración

  21. Versiones • Identifican el estado de un elemento de configuración o una configuración en un punto definido en el tiempo • Conjunto de artefactos relativamente completo y consistente –que incluye posiblemente una construcción- entregado a un usuario interno o externo;

  22. Versiones • La mayoría de los programas grandes se desarrollan en release evolutivos. Un release podría estar en uso del cliente, mientras que otro está en prueba, y el tercero todavía está en el desarrollo. Si se encuentran problemas en cualquiera de las versiones, los arreglos necesitan ser propagados entre ellas. La confusión puede acrecentarse conduciendo a arreglos costosos y retrabajo a menos de que los cambios sean cuidadosamente controlados y supervisados.

  23. Release • Es una versión que se ha puesto disponible a los usuarios. La frecuencia y la formalidad de los releases son descritos en el plan del CM (Configuration Management ). El grado de la formalidad es claramente mucho más alto para un producto que es liberado a un cliente, que el que es generado para la estructura o la revisión siguiente de la iteración.

  24. Release • Regularmente está asociado a un baseline de una configuración

  25. Esfuerzo y dedicación por Fases en RUP

  26. Ejemplo de Duración • Si se aplicará la ecuación de Caper Jones para un proyecto con 137 PF, entonces: • Duración = (Tamaño PF) .04 • Duración = (137) 04 • Duración = 7 meses

  27. 7 meses igual a 28 semanas

  28. Distribución de Recursos por Fases en RUP

  29. Cómo planear las iteraciones del Sistema de Inscripción

  30. Ejemplo: Plan Iteraciones Sistema de Inscripción

  31. Ejemplo Release: Sistema de Inscripción • Este proyecto se planea ejecutar a través de 2-4 releases. Release 1 deberá contener un mínimo de funcionalidades básicas: • Login • Registrar cursos impartidos • Mantener información materias • Mantener a la información del estudiante • Mantener a la información del profesor • Release 2 deberá incluir: • Capturar de calificaciones de los estudiantes • Consultar historial • Inscribirse en cursos • La funcionalidad del Release 3 aun no ha sido determinada. Sólo se anticipa que este release podría contener requerimientos adicionales a la funcionalidad existente. • El reemplazamiento del Sistema de cobros y del Catálogo de Cursos está planeado para el release 4 en el 2007.

  32. Detalle de las iteraciones

  33. Detalle de las iteraciones

  34. Detalle de las iteraciones

  35. Referencias • El Proceso Unificado de Desarrollo de Software, Ivar Jacobson, Grady Booch, James Rumbaugh • RUP 2001 • UML y Patrones, Craig Larman

More Related