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