| El Proceso Unificado
de Rational (RUP) describe como aplicar efectivamente enfoques comprobados comercialmente
para el desarrollo de software. Estos enfoques son llamados "mejores prácticas"
pues son utilizados en la industria por organizaciones exitosas. RUP
provee a cada miembro del equipo de las guías de proceso, plantillas y mentores
de herramientas necesarios para que el team completo tome ventaja de, entre otras,
las siguientes mejores prácticas:
Desarrollar software iterativamente
En función de la cada vez mayor complejidad solicitada
para los sistemas de software, ya no es posible trabajar secuencialmente: definir
primero el problema completo, luego diseñar toda la solución, construir el software
y finalmente, testear el producto. Es necesario un enfoque iterativo, que permita
una comprensión creciente del problema a través de refinamientos sucesivos, llegando
a una solución efectiva luego de múltiples iteraciones acotadas en complejidad.
RUP utiliza y soporta este enfoque iterativo que ayuda a atacar los
riesgos mediante la producción de releases ejecutables progresivos y frecuentes
que permiten la opinión e involucramiento del usuario. A través de las
iteraciones que generan releases ejecutables, se logra detectar en forma temprana
los desajustes e inconsistencias entre los requerimientos, el diseño, el desarrollo
y la implementación del sistema, manteniendo al team de desarrollo focalizado
en producir resultados. Administrar los
requerimientos Los requerimientos son las
condiciones o capacidades que el sistema debe conformar. La Administración de
Requerimientos es un enfoque sistemático para hallar, documentar, organizar y
monitorear los requerimientos cambiantes de un sistema. La Administración
de Requerimientos permite: a) que las comunicaciones estén basadas en
requerimientos claramente definidos b) que los requerimientos puedan
ser priorizados, filtrados y monitoreados c) que sea posible realizar
evaluaciones objetivas de funcionalidad y performance d) que las inconsistencias
se detecten más fácilmente RUP describe como:
obtener, organizar y documentar la funcionalidad y restricciones requeridas
documentar y monitorear
las alternativas y decisiones Las
nociones de Casos de Uso y de Escenarios utilizadas en RUP han demostrado ser
una manera excelente de capturar los requerimientos funcionales y asegurarse que
direccionan el diseño, la implementación y la prueba del sistema, logrando así
que el sistema satisfaga las necesidades del usuario. Utilizar
arquitecturas basadas en componentes El proceso
de software debe focalizarse en el desarrollo temprano de una arquitectura robusta
ejecutable, antes de comprometer recursos para el desarrollo en gran escala. RUP
describe como diseñar una arquitectura flexible, que se acomode a los cambios,
comprensible intuitivamente y promueve una más efectiva reutilización de software.
Soporta el desarrollo de software basado en componentes: módulos no triviales
que completan una función clara. RUP provee un enfoque sistemático para definir
una arquitectura utilizando componentes nuevos y preexistentes.
Modelizar software visualmente RUP
muestra como modelizar software visualmente para capturar la estructura y comportamiento
de arquitecturas y componentes. Las abstracciones visuales ayudan a comunicar
diferentes aspectos del software; comprender los requerimientos, ver como los
elementos del sistema se relacionan entre sí, mantener la consistencia entre diseño
e implementación y promover una comunicación precisa. El estándar UML(Lenguaje
de Modelado Unificado), creado por Rational Software, es el cimiento para una
modelización visual exitosa. Verificar
la calidad de software Es necesario evaluar
la calidad de un sistema respecto de sus requerimientos de funcionalidad, confiabilidad
y performance. La actividad fundamental es el testing, que permite encontrar las
fallas antes de la puesta en producción. RUP asiste en el planeamiento, diseño,
implementación, ejecución y evaluación de todos estos tipos de testing.
El aseguramiento de la calidad se construye dentro del proceso, en todas las actividades,
involucrando a todos los participantes, utilizando medidas y criterios objetivos,
permitiendo así detectar e identificar los defectos en forma temprana.
Controlar los cambios al software
La capacidad de administrar los cambios es esencial en ambientes
en los cuales el cambio es inevitable. RUP describe como controlar, rastrear y
monitorear los cambios para permitir un desarrollo iterativo exitoso. Es también
una guía para establecer espacios de trabajo seguros para cada desarrollador,
suministrando el aislamiento de los cambios hechos en otros espacios de trabajo
y controlando los cambios de todos los elementos de software (modelos, código,
documentos, etc.). Describe como automatizar la integración y administrar la conformación
de releases.
RUP: Fases, workflows, iteraciones |