MARCO DE REFERENCIA
2.2. Marco Teórico
2.2.6 Metodología RUP
Péraire (2007) “define que el Proceso Unificado Racional es un conjunto de métodos empleados con el propósito de hacer un análisis y diseño de software que engloba todos los requerimientos indispensables durante el tiempo de vida del software, más aún la finalidad principal de esta metodología es la construcción de un sistema informático de gran calidad que cumpla los requerimientos hechos por los clientes, con un presupuesto y cronograma predecibles, tanto para pequeños y grandes proyectos de envergadura de software.”
23 Péraire (2007). “Esta metodología establece modelado visual, programación y testing.
Se caracteriza por ser acomodable a cualquier desarrollo de software, es configurable a una variedad de categorías de proyectos informáticos y de entidades.”
a. Características
Guiado/Manejado por casos de uso: “La razón de ser de un sistema software es servir a usuarios ya sean humanos u otros sistemas; un caso de uso es una facilidad que el software debe proveer a sus usuarios. Los casos de uso reemplazan la antigua especificación funcional tradicional y constituyen la guía fundamental establecida para las actividades a realizar durante todo el proceso de desarrollo incluyendo el diseño, la implementación y las pruebas del sistema.” Martínez & Martínez (2017)
Centrado en arquitectura: “La arquitectura involucra los elementos más significativos del sistema y está influenciada entre otros por plataformas software, sistemas operativos, manejadores de bases de datos, protocolos, consideraciones de desarrollo como sistemas heredados y requerimientos no funcionales. Es como una radiografía del sistema que se desarrolla, lo suficientemente completa como para que todos los implicados en el desarrollo tengan una idea clara de qué es lo que están construyendo, pero lo suficientemente simple como para que si se quita algo una parte importante del sistema quede sin especificar. Se representa mediante varias vistas que se centran en aspectos concretos del sistema, abstrayéndose de lo demás.”
Martínez & Martínez (2017)
Iterativo e Incremental: “Para hacer más manejable un proyecto se recomienda dividirlo en ciclos. Para cada ciclo se establecen fases de referencia, cada una de las cuales debe ser considerada como un mini proyecto cuyo núcleo fundamental está constituido por una o más iteraciones de las actividades principales básicas de cualquier proceso de desarrollo. En concreto RUP divide el proceso en cuatro fases, dentro de las cuales se realizan varias iteraciones en número variable según el proyecto y en las que se hace un mayor o menor hincapié en las distintas actividades.” Martínez &
Martínez (2017)
24 Desarrollo basado en componentes: “La creación de sistemas intensivos en software requiere dividir el sistema en componentes con interfaces bien definidas, que posteriormente serán ensamblados para generar el sistema.
Esta característica en un proceso de desarrollo permite que el sistema se vaya creando a medida que se obtienen o que se desarrollan y maduran sus componentes.” Martínez & Martínez (2017)
Utilización de un único lenguaje de modelado: UML es adoptado como único lenguaje de modelado para el desarrollo de todos los modelos.
Proceso Integrado: Se establece una estructura que abarque los ciclos, fases flujos de trabajo, mitigación de riesgos, control de calidad, gestión del proyecto y control de configuración; el proceso unificado establece una estructura que integra todas estas facetas. Además, esta estructura cubre a los vendedores y desarrolladores de herramientas para soportar la automatización del proceso, soportar flujos individuales de trabajo, para construir los diferentes modelos e integrar el trabajo a través del ciclo de vida y a través de todos los modelos.
Martínez & Martínez (2017)
b. Ciclo de vida
El ciclo de vida RUP es una implementación del desarrollo del software en espiral. Fue creado ensamblando los elementos en secuencias semi- ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones.
RUP divide el proceso en cuatro fases, dentro de las cuales se realizan pocas pero grandes y formales iteraciones en número variable según el proyecto. En la Figura 13 muestra cómo varía el esfuerzo asociado a las disciplinas según la fase en la que se encuentre el proyecto RUP. Proceso Unificado de Rational (2021)
25 Figura 13 Ciclo de vida RUP.
Fuente: Proceso Unificado de Rational - Wikipedia, 2021 Elaboración: Wikipedia
c. Fases
Fase de Inicio:
“Durante la fase de inicio se desarrolla una descripción del producto final, y se presenta el análisis del negocio. Esta fase responde las siguientes preguntas:
¿Cuáles son las principales funciones del sistema para los usuarios más importantes?
¿Cómo podría ser la mejor arquitectura del sistema?
¿Cuál es el plan del proyecto y cuánto costará desarrollar el producto?
En esta fase se identifican y priorizan los riesgos más importantes. El objetivo de esta fase es ayudar al equipo de proyecto a decidir cuáles son los verdaderos objetivos del proyecto. Las iteraciones exploran diferentes soluciones posibles, y diferentes arquitecturas posibles.
Puede que todo el trabajo físico realizado en esta fase sea descartado. Lo único que normalmente sobrevive a la fase de inicio es el incremento del conocimiento en el equipo.” Torossi (2002)
26 Fase de elaboración:
“Durante la fase de elaboración se especifican en detalle la mayoría de los casos de uso del producto y se diseña la arquitectura.
Las iteraciones en la fase de elaboración:
Establecen una firme comprensión del problema a solucionar.
Establece la fundación arquitectural para el software.
Establece un plan detallado para las siguientes iteraciones.
Elimina los mayores riesgos.
El resultado de esta fase es la línea base de la arquitectura. En esta fase se construyen típicamente los siguientes artefactos:
El cuerpo básico del software en la forma de un prototipo arquitectural.
Casos de prueba
La mayoría de los casos de uso (80%) que describen la funcionalidad del sistema.
Un plan detallado para las siguientes iteraciones.” Torossi (2002)
Fase de construcción:
“Durante la fase de construcción se crea el producto. La línea base de la arquitectura crece hasta convertirse en el sistema completo.
Al final de esta fase, el producto contiene todos los casos de uso implementados, sin embargo, puede que no esté libre de defectos. Los artefactos producidos durante esta fase son:
El sistema software
Los casos de prueba
Los manuales de usuario” Torossi (2002)
Fase de transición:
“La fase de transición cubre el período durante el cual el producto se convierte en la versión beta.
Las iteraciones en esta fase continúan agregando características al software.
Sin embargo, las características se agregan a un sistema que el usuario se encuentra utilizando activamente.
Los artefactos construidos en esta fase son los mismos que en la fase de construcción. El equipo se encuentra ocupado fundamentalmente en corregir
27 y extender la funcionalidad del sistema desarrollado en la fase anterior.”
Torossi (2002)