50% encontró este documento útil (2 votos)
217 vistas35 páginas

Introducción al Proceso Unificado RUP

El documento describe el Rational Unified Process (RUP), un proceso de ingeniería de software. RUP propone un enfoque orientado a disciplinas para lograr las tareas de desarrollo de software. Se compone de cuatro fases secuenciales (Inicio, Elaboración, Construcción y Transición), múltiples disciplinas como requerimientos, diseño y pruebas, e iteraciones para entregar software de manera incremental. Su objetivo principal es asegurar la producción de software de alta calidad que satisfaga las necesidades de los usuarios.

Cargado por

pbenites15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
50% encontró este documento útil (2 votos)
217 vistas35 páginas

Introducción al Proceso Unificado RUP

El documento describe el Rational Unified Process (RUP), un proceso de ingeniería de software. RUP propone un enfoque orientado a disciplinas para lograr las tareas de desarrollo de software. Se compone de cuatro fases secuenciales (Inicio, Elaboración, Construcción y Transición), múltiples disciplinas como requerimientos, diseño y pruebas, e iteraciones para entregar software de manera incremental. Su objetivo principal es asegurar la producción de software de alta calidad que satisfaga las necesidades de los usuarios.

Cargado por

pbenites15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Rational Unified Process

(RUP)
¿Qué es RUP?
• Es un proceso de ingeniería de software,
que hace una propuesta orientada por
disciplinas para lograr las tareas y
responsabilidades de una organización que
desarrolla software.
• Su meta principal es asegurar la
producción de software de alta calidad
que cumpla con las necesidades de los
usuarios, con una planeación y
presupuesto predecible.
¿Para quién es RUP?
• Diseñado para
– Profesionales en el desarrollo de
software
– Interesados en productos de software
– Profesionales en la ingeniería y
administración de procesos de software
• Estos participantes se involucran con
RUP cumpliendo roles
¿Por qué usar RUP?
• Porque:
– Provee un entorno de proceso de desarrollo
configurable, basado en estándares
– Permite tener claro y accesible el proceso de
desarrollo que se sigue
– Permite ser configurado a las necesidades de
la organización y del proyecto
– Provee a cada participante con la parte del
proceso que le compete directamente,
filtrando el resto
Características
• Dirigido por Casos de Uso
– Los casos de uso son los artefactos primarios para
establecer el comportamiento deseado del sistema
• Centrado en la Arquitectura
– La arquitectura es utilizada para conceptualizar,
construir, administrar y evolucionar el sistema en
desarrollo
• Iterativo e Incremental
– Maneja una serie de entregas ejecutables
– Integra continuamente la arquitectura para producir
nuevas versiones mejoradas
Características (2)
• Conceptualmente amplio y diverso
• Enfoque orientado a objetos
• En evolución continua
• Adaptable
• Repetible
• Permite mediciones
– Estimación de costos y tiempo, nivel de
avance, etc.
Conceptos
Ciclo de vida
Diagrama General de RUP
En la representación gráfica del Modelo…

• Eje horizontal: representa el tiempo y


muestra los aspectos del ciclo de vida del
proceso. Es el aspecto dinámico del
proceso a través de las fases, iteraciones y
productos intermedios.
• Eje vertical: representa las disciplinas que
agrupan actividades por su naturaleza.
Aspecto estático del proceso a través de
componentes, disciplinas, actividades,
flujos de trabajo, artefactos y roles.
Ciclo de Vida de RUP

• En cuanto a tiempo el ciclo de vida de RUP


se descompone en 4 FASES secuenciales,
cada cual concluye con un producto
intermedio.
• Al terminar cada fase se realiza una
evaluación para determinar si se ha
cumplido o no con los objetivos de la
misma.
• Las fases son: Inicio (Inception),
Elaboración, Construcción y Transición.
Fases de Ciclo de Vida

Inicio Elaboración Construcción Transición

Esfuerzo 5% 20% 65% 10%

Tiempo 10% 30% 50% 10%


Inicio (Inception)

• El objetivo general de esta fase es establecer


un acuerdo entre todos los interesados
acerca de los objetivos del proyecto.
• Es significativamente importante para el
desarrollo de nuevo software, ya que se
asegura de identificar los riesgos
relacionados con el negocio y
requerimientos.
• Para proyectos de mejora de software
existente, esta fase es más breve y se centra
en asegurar la viabilidad de desarrollar el
proyecto.
Elaboración
• El objetivo en esta fase es
establecer la arquitectura base del
sistema para proveer bases estables
para el esfuerzo de diseño e
implementación en la siguiente fase.
• La arquitectura debe abarcar todas
las consideraciones de mayor
importancia de los requerimientos y
una evaluación del riesgo.
Construcción
• El objetivo de la fase de construcción es
clarificar los requerimientos faltantes y
completar el desarrollo del sistema basados en
la arquitectura base.
• Vista de cierta forma esta fase es un proceso de
manufactura, en el cual el énfasis se torna hacia
la administración de recursos y control de la
operaciones para optimizar costos, tiempo y
calidad.
Transición
• Esta fase se enfoca en asegurar que el software
esté disponible para sus usuarios.
• Se puede subdividir en varias iteraciones, además
incluye pruebas del producto para poder hacer el
entregable del mismo, así como realizar ajuste
menores de acuerdo a ajuste menores propuestos
por el usuario.
• En este punto, la retroalimentación de los
usuarios se centra en depurar el producto,
configuraciones, instalación y aspectos sobre
utilización.
Disciplinas
• Una disciplina es una colección de
actividades relacionadas con un área
de atención dentro de todo el
proyecto.
• El grupo de actividades que se
encuentran dentro de una disciplina
principalmente son una ayuda para
entender el proyecto desde la
perspectiva clásica de cascada.
Disciplinas
• Son un conjunto de actividades
relacionadas con un área especifica
dentro del proyecto.
• Están inspiradas en las etapas de un
proceso de desarrollo en cascada
• Es una secuencia parcialmente ordenada
de actividades que son realizadas para
lograr un resultado particular,
representado en un conjunto de
artefactos.
• Las disciplinas son:
– Modelado de Negocios,
Requerimientos, Análisis y Diseño,
Implementación, Pruebas,
Transición, Configuración y
Administración del Cambio,
Administración de Proyectos y
Ambiente.
Modelado de Negocios

Los propósitos que tiene el Modelo de Negocios son:


• Entender los problemas que la organización desea
solucionar e identificar mejoras potenciales.
• Medir el impacto del cambio organizacional.
• Asegurar que clientes, usuarios finales, desarrolladores
y los otros participantes tengan un entendimiento
compartido del problema.
• Derivar los requerimientos del sistema de software,
necesarios para dar soporte a los objetivos de la
organización.
• Entender como el sistema a ser desarrollado entra
dentro de la organización.
Requerimientos

Esta disciplina tiene el propósito de:


• Establecer y mantener un acuerdo con los clientes y
los otros interesados acerca de que debe hacer el
sistema.
• Proveer a los desarrolladores del sistema de un mejor
entendimiento de los requerimientos del sistema.
• Definir los límites (o delimitar) del sistema.
• Proveer un base para la planeación de los contenidos
técnicos de las iteraciones.
• Proveer una base para la estimación de costo y
tiempo necesarios para desarrollar el sistema.
• Definir una interfaz de usuario para el sistema,
enfocada en las necesidades y objetivos del usuario.
Análisis y Diseño

El propósito del Análisis y Diseño es:


• Transformar los requerimientos a diseños
del sistema.
• Desarrollar una arquitectura robusta para
el sistema.
• Adaptar el diseño para hacerlo
corresponder con el ambiente de
implementación y ajustarla para un
desempeño esperado.
Implementación

El propósito de la implementación es:


• Definir la organización del código, en términos de la
implementación de los subsistemas organizados en
capas.
• Implementar el diseño de elementos en términos de los
elementos (archivos fuente, binarios, ejecutables y
otros)
• Probar los componentes desarrollados como unidades.
• Integrar los resultados individuales en un sistema
ejecutable.

La disciplina de implementación limita su alcance a como


las clases individuales serán probadas. Las pruebas del
sistema son descritas en futuras disciplinas.
Pruebas

Actúa como un proveedor de servicios a las otras


disciplinas en muchos aspectos. Se enfoca
principalmente en la evaluación y aseguramiento de la
calidad del producto, desarrollado a través de las
siguientes prácticas:
• Encontrar fallas de calidad en el software y
documentarlas.
• Recomendar sobre la calidad percibida en el software.
• Validar y probar las suposiciones hechas durante el
diseño y la especificación de requerimientos de forma
concreta.
• Validar que el software trabaja como fue diseñado.
• Validar que los requerimientos son implementados
apropiadamente.
Transición

• Esta disciplina describe las actividades


asociadas con el aseguramiento de la
entrega y disponibilidad del producto de
software hacia el usuario final.
• Existe un énfasis en probar el software en
el sitio de desarrollo, realización de
pruebas beta del sistema antes de su
entrega final al cliente.
Administración y Configuración del
Cambio
• Consiste en controlar los cambios y mantener la
integridad de los productos que incluye el proyecto.
• Incluye:
– Identificar los elementos configurables.
– Restringir los cambios en los elementos configurables.
– Auditar los cambios hechos a estos elementos.
– Definir y mantener las configuraciones de estos elementos.
• Los métodos, procesos y herramientas usadas para
proveer la administración y configuración del cambio
pueden ser consideradas como el sistema de
administración de la configuración.
Administración de Proyectos

El propósito de la Administración de
Proyectos es:
• Proveer un marco de trabajo para
administrar los proyectos intensivos de
software.
• Proveer guías prácticas para la planeación,
soporte, ejecución y monitoreo de
proyectos.
• Proveer un marco de trabajo para la
administración del riesgo.
Ambiente

• Se enfoca en las actividades necesarias


para configurar el proceso al proyecto.
• Describe las actividades requeridas para
desarrollar las líneas guías de apoyo al
proyecto.
• El propósito de las actividades de
ambiente es proveer a las organizaciones
de desarrollo de software del ambiente
necesario (herramientas y procesos) que
den soporte al equipo de desarrollo.
Disciplinas
• Workflow
– Detalles del
workflow
• Actividades
• Artefactos
• Guías de
aplicación
Roles
• Definen el comportamiento y
responsabilidades de individuos o grupos
de individuos
– Un individuo puede jugar más de un rol
• Son descripciones abstractas de
– Conjuntos de actividades realizadas
– Responsabilidad sobre artefactos
• Ejemplos de roles
– Software Architect
– Architecture Reviewer
Actividades
• Una actividad es algo que un rol hace y
que provee un resultado de interés en el
contexto del proyecto.
• Es una unidad de trabajo que individuos
jugando cierto rol pueden ser llamados a
realizar.
• Son utilizadas para detallar los workflows.
• Toman artefactos como entrada y
producen artefactos (o nuevas versiones)
como salida.
Artefactos
Unidades de
información
creadas,
producidas,
cambiadas o
utilizadas en el
proceso de
desarrollo.
¿Cuándo usar RUP?
Alta complejidad técnica
- embebidos, tiempo real, distribuidos, tolerancia a fallas
- alta performance
- personalizado, sin precedentes, re-ingeniería arquitectónica

Mayor necesidad de seguir


un proceso definido

Baja complejidad gerencial Alta complejidad gerencial


- pequeña escala - gran escala
- informal - contractual
- pocos stakeholders - muchos stakeholders

Baja complejidad técnica


- 4GL, basado en componentes
- re-ingeniería de aplicaciones
¿Cuándo usar RUP? (2)
• RUP puede utilizarse
– En proyectos de nuevos productos de
software
– En ciclos de desarrollo subsecuentes
• Consideraciones que alteran cuándo y
cómo usar partes de RUP
– El ciclo de vida del proyecto
– Los objetivos del negocio, la visión, el
alcance y los riesgos
– El tamaño del esfuerzo de desarrollo
Conclusiones
• Es un modelo de proceso de desarrollo
de software
– Es una base para procesos particulares
• El objetivo es asegurar el desarrollo
– De productos de software de alta
calidad
– Que satisfagan los requerimientos
– En tiempo y presupuesto predecible
• Permite un vocabulario común entre
equipos de desarrollo

También podría gustarte