Proceso Unificado

PROCESO UNIFICADO DE DESARROLLO


El proceso unificado de desarrollo es un tipo de metodología tradicional empleada en el desarrollo de software. Algunas implementaciones conocidas son el Open Unified Process (UOP) y el Rational Unified Process (RUP), siendo esta última la más conocida.
El objetivo del llamado Rational Unified Process® (RUP) de IBM, la implementación más popular del Proceso Unificado de Desarrollo, es establecer un modelo de proceso (un marco de trabajo, digamos) en el que desarrollar software de calidad y con rigor.

Este modelo de proceso se asienta en un conjunto subyacente de filosofías y principios para conseguir un desarrollo de software correcto, proporciona una infraestructura de bloques de construcción del proceso y de contenidos reutilizables, y presenta un método con un lenguaje preciso con el que definir todas las partes del proceso.


Características principales

Se trata de un modelo de proceso de desarrollo de software "pesado" o tradicional, con estas características principales:

  • Está dirigido por los llamados "casos de uso"
  • Es centrado en la "arquitectura", como espina dorsal del software
  • Es iterativo e incremental


Algunas de las metas que se buscan al usar este modelo de proceso son:

  • Adaptar el proceso a las necesidades de la organización
  • Mantener un equilibrio entre las distintas prioridades
  • Permitir colaborar entre equipos
  • Demostrar valor iterativamente (una iteración es una secuencia de actividades, con un plan de línea base y unos criterios de evaluación, que resulta en una entrega)
  • Elevar el valor de la abstracción que se realiza al diseñar software
  • Enfocarse continuamente en la calidad (algo muy habitual en las metodologías más "pesadas" o tradicionales)



Fases

Estas son las fases en que se divide cada uno de los ciclos de vida por los que pasa un proyecto software:
  • Concepción: El alcance de un acuerdo entre todos los interesados respecto a los objetivos (de este ciclo) del proyecto. Los objetivos en esta fase son:
    • Establecer el ámbito de software y las condiciones de los límites del proyecto.
    • Discriminar los casos de uso más importantes del sistema.
    • Estimar el costo global y la planificación de todo el proyecto.
    • Estimar los riesgos potenciales.
    • Preparar el entorno de soporte para el proyecto.
  • Elaboración: El establecimiento de una línea base para la arquitectura del sistema. Los objetivos en esta fase son:
    • Garantizar que la arquitectura, los requisitos y los planes son lo bastante estables, y que los riesgos están suficientemente mitigados.
    • Tratar todos los riesgos arquitectónicamente significativos del proyecto.
    • Producir un prototipo de componentes de calidad de producción.
    • Establecer un entorno de soporte.
  • Construcción: La finalización del desarrollo del sistema basado en la arquitectura de línea base anterior. Los objetivos en esta fase son:
    • Minimizar los costos de desarrollo optimizando los recursos y evitando las reconstrucciones y los fragmentos innecesarios.
    • Conseguir la calidad adecuada de forma rápida y práctica.
    • Conseguir versiones útiles (alfa, beta y otros releases de prueba) de forma rápida y práctica.
    • Completar el análisis, diseño, desarrollo y prueba de toda la funcionalidad necesaria.
    • Desarrollar de forma iterativa e incremental un producto.
  • Transición: La garantía de que el software está operativo y es de utilidad para los usuarios. Los objetivos en esta fase son:
    • Ejecutar el despliegue.
    • Prueba de versión beta para validar el nuevo sistema contra las expectativas del usuario.
    • Convertir bases de datos operativas.
    • Formación de usuarios y mantenedores.
    • Despliegue de la fuerza de marketing, distribución y ventas.
    • Alcanzar la capacidad de soporte propio del usuario.





Fuente: https://es.wikiversity.org/wiki/Proceso_Unificado_de_Desarrollo