Professional Documents
Culture Documents
TECNICAS DE
RECOPILACION
2018
Contenido
Historia ___________________________________________________________________________________________________ 1
Modelo ____________________________________________________________________________________________________ 3
Proceso del desarrollo ___________________________________________________________________________________ 7
Fases _____________________________________________________________________________________________________ 12
Notación _________________________________________________________________________________________________ 15
Historia
RUP fue creado por Grady Booch (creador del método Booch), Ivar Jacobson y James Jacobson
(Creador de la Técnica de Modelado de Objetos), la misma aparece en Junio de 1998 con el
acrónimo RUP 5.0 y puesto a la disposición del publico a inicios de 1999 y su funcionamiento se
centraba en las personas, los procesos y las herramientas.
Su funcionalidad parte de una serie de métodos los cuales se puede comentar, el método
ericcson, método utilizado por la compañía del mismo nombre para el proceso unificado de
desarrollo, a este proceso se le anexa un proceso denominado Objetory creado por Jacobson. En
el año 1995 se anexa el enfoque Rational dando paso a ROP 4.0 (Rational Objetory Process) que
junto a la OMT (Objects Modeling Technique) de Rumbaugh y Booch lo que permitió dar origen a
UML, esta herramienta fortaleció mucho mas a ROP en el empleo de caso de usos. Para el año
1996, surge ROP 4.1 con la integración de actividades SQA (Software Quality Assurance, Software
de Control de Calidad por sus siglas en ingles), esto permitía el aseguramiento de un software de
Página 1
calidad que se adapte a las necesidades del usuario final por medio de la actualización de UML.
Para 1998 se lanza al mercado una fase de prueba, con un UML fortalecido y la integración de los
enfoques de la ingeniería de Negocios y la Ingeniería de Datos a partir de aquí nace RUP, con los
lineamientos y vertientes que hoy día conocemos
Página 2
Modelo
Rational Unified Process (RUP) es una metodología de desarrollo de software orientado a objeto que
establece las bases, plantillas, y ejemplos para todos los aspectos y fases de desarrollo del software. RUP es
herramientas de la ingeniería de software que combinan los aspectos del proceso de desarrollo (como
fases definidas, técnicas, y prácticas) con otros componentes de desarrollo (como documentos, modelos,
manuales, código fuente, etc.) dentro de un framework unificado. RUP establece cuatro fases de desarrollo
cada una de las cuales esta organizada en varias iteraciones separadas que deben satisfacer criterios
definidos antes de emprender la próxima fase
Características de la metodología
Los autores de RUP destacan que el proceso de software propuesto por RUP tiene tres características
esenciales: está dirigido por los Casos de Uso, esta centrado en la arquitectura y es iterativo e incremental.
RUP identifica las seis mejores prácticas con las que define una forma efectiva de trabajar para los equipos
de desarrollo de software .
La administración de requerimientos
El desarrollo iterativo
La arquitectura basada en componentes
El modelo visual
La verificación continua de la calidad
La administración del cambio
Estas seis prácticas orientan el modelo y con ellas se pretende solucionar muchos de los problemas
asociados al software. Adicionalmente hay muchos aspectos de diseño que son bien conocidos, pero que en
realidad han sido muy poco implementados en los proyectos de software; estos son: facilidad de uso,
modularidad, encapsulamiento y facilidad de mantenimiento. Es necesario entonces definir una
arquitectura sólida basada en componentes, para construir mejores y más flexibles soluciones de software
para las necesidades organizacionales.
Los cambios en un proyecto no pueden ser detenidos dado que la evolución del entorno de cada
organización es continua, pero sí pueden ser administrados de manera que su impacto pueda ser estimado
para determinar si dicho cambio se incluye o no y si el proyecto debe ser reajustado.
Cada cambio en el proyecto debe tener especificado cuándo y cómo se va a realizar, quién lo va a hacer y
qué productos se ven involucrados en ese cambio. En ese punto es donde el control de cambios y la
trazabilidad de los componentes a través de los diversos modelos adquieren una gran importancia.
Página 3
La administración de requerimientos
La gestión de requisitos en RUP se centra en encontrar el final – el usuario necesita para la
identificación y especificación de lo que necesita y la identificación de lo que debe ser cambiado.
Esto trae los siguientes beneficios:
La corrección de los requisitos genera la corrección del producto, por lo que se satisfacen las
necesidades de los usuarios. se incluirán las características requeridas, lo que reduce el costo de
los acontecimientos posteriores.
RUP sugiere que la administración de requerimientos tiene que seguir las actividades:
Análisis de los problemas es que de acuerdo con el problema y crear medidas que
probarán su valor para la organización
Administrar el alcance del sistema es el alcance de los cambios que se comunica con
base en el progreso y los resultados seleccionados en el orden en que los diagramas de
flujo de los casos de uso son atacados
Refinar los ajustes del sistema de ofertas con los detalles de los diagramas de flujo de
casos de uso con las partes interesadas con el fin de crear una especificación de las
Página 4
aplicaciones de software que puede servir como un contrato entre su grupo y el cliente y
puede guiar las actividades de ensayo y proyecto
Los requisitos de gestión del cambio es la forma de identificar las llegadas de los
cambios en las aplicaciones en un proyecto que ya ha comenzado
Desarrollo iterativo
Teniendo en cuenta el tiempo necesario para desarrollar un software grande y sofisticada, no se
puede definir el problema y construir software en un solo paso. Los requisitos cambiarán a
menudo en el curso del desarrollo del proyecto , debido a las restricciones de la arquitectura , las
necesidades del usuario o para una mayor comprensión del problema original.
Los cambios permiten que el proyecto para estar constantemente refinada, y la señal a los
elementos del proyecto de alto riesgo como las tareas de mayor prioridad. Idealmente, al final de
cada iteración habrá una versión ejecutable , lo que ayuda a reducir el riesgo de configuración de
diseño, que permite una mayor respuesta de los usuarios y ayudar al desarrollador a permanecer
centrado.
La integración se hace paso a paso durante el proceso de desarrollo, cada paso se limita a
unos pocos elementos
La integración es menos complejo, reduciendo el coste y aumentar la eficiencia
diseño de las piezas por separado y / o implementación pueden ser fácilmente identificados para
su posterior reutilización
Requisitos cambios son registrados y pueden ser acomodados
Los riesgos se abordan en el comienzo del desarrollo y cada iteración permite la
verificación de riesgos ya percibidas y la identificación de nuevos
Para la arquitectura de software se mejora a través de un repetidor scrutinize
El uso de iteraciones, un proyecto tendrá un plan general, así como varios planes de iteración. La
participación de las partes interesadas a menudo se alienta a cada entrega. En esta forma, las
entregas sirven como una manera de conseguir el compromiso de los involucrados, mientras que
también promueve una comparación constante entre las necesidades y el desarrollo de la
organización a los conflictos que surjan.
Página 5
pocos iteraciones. Esta arquitectura se convierte en un prototipo en los ciclos iniciales de
desarrollo.
El modelo visual
Esto también crea una capa intermedia entre el proceso de negocio y el código necesario a través
de tecnología de la información. Un modelo en este contexto es una pantalla y al mismo tiempo
una simplificación de un diseño complejo. RUP especifica qué modelos son necesarios y por qué.
El Lenguaje de Modelado Unificado (UML) se puede utilizar para el modelado de casos de uso ,
diagramas de clases y otros objetos. RUP también analiza otras formas de construir estos
modelos.
No es una tarea está dirigida específicamente a la calidad ; RUP supone que cada miembro del
equipo es responsable de la calidad durante todo el proceso. El proceso se centra en el
descubrimiento de el nivel esperado de la calidad y proporciona pruebas en los procesos para
medir este nivel.
En todos los proyectos de software, los cambios son inevitables. RUP define métodos para
controlar, seguir y supervisar estos cambios. RUP define también el trabajo seguro de espacios
(espacios de trabajo seguros en inglés), lo que garantiza que un sistema de ingeniería de
software no se ve afectada por los cambios en otros sistemas. Este concepto es pegar bien con
arquitecturas de software basados en componentización.
Página 6
Proceso del desarrollo
Características de la metodología
Los autores de RUP destacan que el proceso de software propuesto por RUP tiene tres características
esenciales: está dirigido por los la arquitectura y es iterativo e incremental
Casos de Uso son una técnica de captura de requisitos que fuerza a pensar en términos de importancia
para el usuario y no sólo en términos de funciones que seria bueno contemplar. Se define un Caso de Uso
como un fragmento de funcionalidad del sistema que proporciona al usuario un valor añadido. Los Casos
de Uso representan los requisitos funcionales del sistema.
En RUP los Casos de Uso no son sólo una herramienta para especificar los requisitos del sistema; también
guían su diseño, implementación y prueba. Los Casos de Uso constituyen un elemento integrador y una
guía del trabajo. No solo inician como se muestra en la Figura 1.
Los Casos de Uso no sólo inician el proceso de desarrollo sino establecen la transacción entre los distintos
artefactos que son generados en las diferentes actividades del proceso de desarrollo. Basándose en los
Casos de Uso se crean los modelos de análisis y diseño, posteriormente se genera la implementación que
los lleva a cabo, ayuda a verificar la adecuada implementación de cada caso de uso en el producto final.
Página 7
Proceso centrado en la arquitectura
La arquitectura involucra los aspectos estáticos y dinámicos más significativos del sistema, está
relacionada con la toma de decisiones que indican la forma de construcción del sistema. La arquitectura se
ve influenciada por la plataforma software, sistema operativo, gestor de bases de datos, protocolos,
consideraciones de desarrollo como sistemas heredados. Muchas de estas restricciones constituyen
requisitos no funcionales del sistema.
RUP presta especial atención al establecimiento temprano de una buena arquitectura que no se vea
fuertemente impactada ante cambios posteriores durante la construcción y el mantenimiento.
Existe una interacción entre los casos de uso y la arquitectura, los casos de uso deben encajar en la
arquitectura cuando se llevan a cabo y la arquitectura debe permitir el desarrollo de todos los casos de uso
requeridos, actualmente y en el futuro. Esto provoca que tanto arquitectura como casos de uso deban
evolucionar en paralelo durante todo el proceso de desarrollo de software.
En la Figura 2 se muestra la evolución de la arquitectura durante las fases de RUP. Se tiene una
arquitectura más robusta en las fases finales del proyecto. En las fases iniciales lo que se hace es ir
consolidando la arquitectura por medio de baselines y se va modificando dependiendo de las necesidades
del proyecto.
Es conveniente ver el sistema desde diferentes perspectivas para comprender mejor el diseño por lo que la
arquitectura se representa mediante varias vistas que se centran en aspectos concretos del sistema,
abstrayéndose de los demás. Para RUP, todas las vistas juntas forman el llamado modelo 4+1 de la
arquitectura, el cual recibe este nombre porque lo forman las vistas lógica, de implementación, de proceso
y de despliegue, más la de casos de uso que es la que da cohesión a todas.
Durante la construcción, los diversos modelos van desarrollándose hasta completarse. La descripción de la
arquitectura sin embargo, no debería cambiar significativamente debido a que la mayor parte de la
arquitectura se decidió durante la elaboración, incorporando pocos cambios a la arquitectura, Figura 3.
Página 8
Figura 3. Proceso de madurez de la arquitectura
RUP propone tener un proceso en partes más pequeñas o mini proyectos, permitiendo generar un
equilibrio entre casos de uso y arquitectura. Cada mini proyecto se puede ver como una iteración (un
recorrido más o menos completo a lo largo de todos los flujos de trabajo fundamentales) del cual se
obtiene un incremento que produce un crecimiento en el producto.
Una iteración puede realizarse por medio de una cascada como se muestra en la Figura 4. la cual pasa por
los flujos fundamentales (Requisitos, Análisis, Diseño, Implementación y Pruebas), también existe una
planificación de la iteración, un análisis de la iteración y algunas actividades específicas de la iteración. Al
finalizar se realiza una integración de los resultados con lo obtenido de las iteraciones anteriores.
El proceso iterativo e incremental consta de una secuencia de iteraciones. Cada iteración aborda una parte
de la funcionalidad total, pasando por todos los flujos de trabajo relevantes y refinando la arquitectura.
Página 9
Cada iteración se analiza cuando termina. Se puede determinar si han aparecido nuevos requisitos o han
cambiado los existentes, afectando a las iteraciones siguientes. Durante la planificación de los detalles de la
siguiente iteración, el equipo también examina cómo afectarán los riesgos que aún quedan al trabajo en
curso. Toda la retroalimentación de la iteración pasada permite reajustar los objetivos para las siguientes
iteraciones. Se continúa con esta dinámica hasta que se haya finalizado por completo con la versión actual
del producto.
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 los distintas actividades. En
la Grafica se muestra cómo varía el esfuerzo asociado a las disciplinas según la fase en la que se encuentre
el proyecto RUP.
Página 10
El RUP tiene dos dimensiones:
La primera dimensión (eje horizontal) representa el aspecto dinámico del proceso y se expresa en
términos de fases, iteraciones y la finalización de las fases.
La segunda dimensión (eje vertical) representa el aspecto estático del proceso: cómo se describe
en términos de componentes de proceso, disciplinas, actividades, flujos de trabajo, artefactos, y los
roles.
Página 11
Fases
ESPECIFICACIÓN DE LAS FASES
RUP comprende 2 aspectos importantes por los cuales se establecen las disciplinas:
PROCESO:
• Modelado de negocio
• Requisitos
• Análisis y Diseño
• Implementación
• Pruebas
• Despliegue
SOPORTE:
RUP divide el proceso en 4 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 los distintas actividades.
Página 12
INICIO
Esta fase tiene como propósito definir y acordar el alcance del proyecto con los patrocinadores, identificar
los riesgos asociados al proyecto, proponer una visión muy general de la arquitectura de software y
producir el plan de las fases y el de iteraciones posteriores.
ELABORACIÓN
En la fase de elaboración se seleccionan los casos de uso que permiten definir la arquitectura base del
sistema y se desarrollaran en esta fase, se realiza la especificación de los casos de uso seleccionados y el
primer análisis del dominio del problema, se diseña la solución preliminar.
Página 13
CONSTRUCCIÓN
El propósito de esta fase es completar la funcionalidad del sistema, para ello se deben clarificar los
requisitos pendientes, administrar los cambios de acuerdo a las evaluaciones realizados por los usuarios y
se realizan las mejoras para el proyecto.
TRANSICIÓN
El propósito de esta fase es asegurar que el software esté disponible para los usuarios finales, ajustar los
errores y defectos encontrados en las pruebas de aceptación, capacitar a los usuarios y proveer el soporte
técnico necesario. Se debe verificar que el producto cumpla con las especificaciones entregadas por las
personas involucradas en el proyecto.
Página 14
Notación
El Proceso RUP se representa utilizando cuatro elementos básicos de modelado:
Roles
Página 15
Un rol define el comportamiento y responsabilidades de un individuo, o de un grupo de individuos
trabajando juntos como un equipo. Una persona puede desempeñar diversos roles, así como un mismo rol
puede ser representado por varias personas. RUP define grupos de roles, agrupados por participación en
actividades relacionadas. Estos grupos son:
Analistas:
Desarrolladores:
• Arquitecto de software.
• Diseñador de interfaz de usuario.
• Diseñador de cápsulas.
• Diseñador de base de datos.
• Implementador.
• Integrador.
Gestores:
• Jefe de proyecto.
• Jefe de control de cambios.
• Jefe de configuración.
• Jefe de pruebas.
• Jefe de despliegue.
• Ingeniero de procesos.
• Revisor de gestión del proyecto.
• Gestor de pruebas.
Apoyo:
• Documentador técnico.
• Administrador de sistema.
• Especialista en herramientas.
• Desarrollador de cursos.
• Artista gráfico.
Página 16
Especialistas en pruebas:
Otros roles:
• Stakeholders.
• Revisor.
• Coordinación de revisiones.
• Revisor técnico.
• Cualquier rol.
Actividades
Una actividad es una unidad de trabajo que es asignado a un rol específico. Las actividades tienen un
objetivo concreto, normalmente expresado en términos de crear o actualizar algún producto.
Artefactos
Página 17
Unidades de información creadas, producidas, cambiadas o utilizadas en el proceso de desarrollo. Los
artefactos son en muchos casos análogos al término general "entregables" en otras metodologías de
gestión y desarrollo de proyectos, y son el "que" (el producto final ideal) de los procesos.
Los artefactos se usan como entradas por otros trabajadores para desempeñar una actividad, y son el
resultado de otras actividades. Algunos ejemplos comunes de artefactos son:
• Un modelo, como los modelos de casos de uso, entidad relación o modelo de diseño.
• Un elemento de un modelo, como una clase, un caso de uso individual, o un subsistema.
• Un documento como un caso de negocios o un documento de arquitectura de software.
• Código fuente.
• Ejecutables.
Flujos de trabajo
Un flujo de trabajo es una secuencia de actividades que producen un resultado de valor observable. Los
flujos RUP tienen nombres parecidos a los de las etapas del desarrollo de cascada, pero pueden usarse
tanto en procesos de cascada como en procesos iterativos.
En esencia, un flujo de trabajo es un algoritmo, y por lo tanto se puede representar de muchas formas,
desde diagramas de flujo hasta diagramas de secuencia o de actividades UML. Es común usar diagramas de
actividades.
Página 18
No todas las actividades deben o pueden ser diagramadas, pero de acuerdo a la metodología RUP hay flujos
de trabajo particularmente importantes que deben representarse siempre que sea posible. Estos se llaman
"flujos de trabajo de procesos núcleo" y se dividen en seis flujos de "ingeniería" y tres flujos de "apoyo":
Un flujo de trabajo es una relación de actividades que nos producen unos resultados observables. RUP
determina los siguientes flujos de trabajo:
• Modelado de negocio.
• Requisitos.
• Análisis y diseño.
• Implementación.
• Pruebas.
• Despliegue.
• Gestión del proyecto.
• Configuración y control de cambio.
• Ambiente.
Página 19