Rational Unified Process

Historia image

1967- Metodologia Ericsson (Ivar Jacobson)

1987-1995 Empresa Objectory AB (Ivar Jacobson)

1995- Rational Software Corporation adquiere Objectory AB

1995-1997 Rational Objectory Process en base del Enfoque Rational y adaptando UML

1998 Rational Unified Process

Características image

Proceso dirigido por Casos de uso image

Se fuerza a pensar en terminos de importancia para el usuario

Representan requisitos funcionales del sistema

Elementos integradores y es una guía de trabajo

Permite trazabilidad entre artefactos

Permite crear modelos de análisis y diseño

Proceso centrado en la arquitectura image

Organización o estructura de sus partes mas relevantes

Permite tener una visión común entre todos los involucrados (desarrolladores y usuarios)

Permite tener perspectiva clara del
sistema completo, necesaria para controlar el desarrollo

Involucra

Aspectos estáticos

Aspectos dinámicos

Toma de decisiones

Ayuda a determinar el orden

Influenciada

Plataforma software

Sistema operativo

Gestor de base de datos

Protocolos

Sistemas heredados

Muchas de estas restricciones constituyen requisitos no funcionales del sistema

Atención a crear buena estructura que resista cambios posteriores durante la construcción y mantenimiento

Al final de la fase de elaboración se obtiene una baseline

Proceso iterativo e incremental image

El trabajo se divide en partes más pequeñas

Cada parte pequeña o mini proyecto se puede ver como una iteración

Consta de una secuencia de iteraciones

Pasa por los flujos fundamentales

Requisitos

Análisis

Diseño

Implementación

Prueba e integración

Cada iteración aborda una funcionalidad total

Cada iteración se analiza cuando termina

Los resultados de los análisis ayudan a reajustar las siguientes iteraciones

Fases

Inicio

Énfasis en actividades de modelado del negocio y requsitos

Elaboración

Desarrollo del baseline de la arquitectura

Construcción

Serie de iteraciones

Transición

Garantizar que se tiene un producto preparado

Otras prácticas image

Gestión de requisitos

Desarrollo de software iterativo

Desarrollo basado en componentes

Modelado visual UML

Verificación continua de la calidad

Gestión de los cambios

Estructuras image

Dinamica image

Inicio image

Objetivos

Establecer el ámbito del proyecto y sus límites.

Encontrar los Casos de Uso críticos del sistema, los escenarios básicos que definen la
funcionalidad.

Mostrar al menos una arquitectura candidata para los escenarios principales.

Estimar el coste en recursos y tiempo de todo el proyecto.

Estimar los riesgos, las fuentes de incertidumbre.

Resultados

Un documento de visión

Modelo inicial de Casos de Uso (10-20% completado).

Un glosario inicial: Terminología clave del dominio.

El caso de negocio.

Lista de riesgos y plan de contingencia.

Plan del proyecto, mostrando fases e iteraciones.

Modelo de negocio, si es necesario

Prototipos exploratorios para probar conceptos o la arquitectura candidata.

Comprobación

Todos los interesados en el proyecto coinciden en la definición del ámbito del sistema y las
estimaciones de agenda.

Entendimiento de los requisitos, como evidencia de la fidelidad de los Casos de Uso principales.

Las estimaciones de tiempo, coste y riesgo son creíbles.

Comprensión total de cualquier prototipo de la arquitectura desarrollado.

Los gastos hasta el momento se asemejan a los planeados.

Si el proyecto no pasa estos criterios hay que plantearse abandonarlo o repensarlo profundamente.

Elaboración image

Analizar el dominio del problema, establecer los cimientos de la arquitectura, desarrollar el plan del proyecto y eliminar los mayores riesgos.

Objetivos

Definir, validar y cimentar la arquitectura.

Completar la visión.

Crear un plan fiable para la fase de construcción. Este plan puede evolucionar en sucesivas iteraciones. Debe incluir los costes si procede.

Demostrar que la arquitectura propuesta soportará la visión con un coste razonable y en un tiempo
razonable.

Resultados

Un modelo de Casos de Uso completa al menos hasta el 80%: todos los casos y actores identificados, la mayoría de los casos desarrollados.

Requisitos adicionales que capturan los requisitos no funcionales y cualquier requisito no asociado con un Caso de Uso específico.

Descripción de la arquitectura software.

Un prototipo ejecutable de la arquitectura.

Lista de riesgos y caso de negocio revisados.

Plan de desarrollo para el proyecto.

Un caso de desarrollo actualizado que especifica el proceso a seguir.

Un manual de usuario preliminar (opcional).

Comprobación

La visión del producto es estable.

La arquitectura es estable.

Se ha demostrado mediante la ejecución del prototipo que los principales elementos de riesgo han sido abordados y resueltos.

El plan para la fase de construcción es detallado y preciso. Las estimaciones son creíbles.

Todos los interesados coinciden en que la visión actual será alcanzada si se siguen los planes actuales en el contexto de la arquitectura actual.

Los gastos hasta ahora son aceptables, comparados con los previstos.

Construcción image

Alcanzar la capacidad operacional del producto de forma incremental a través de las sucesivas iteraciones.

Objetivos

Minimizar los costes de desarrollo mediante la optimización de recursos y evitando el tener que rehacer un trabajo o incluso desecharlo.

Conseguir una calidad adecuada tan rápido como sea práctico.

Conseguir versiones funcionales (alfa, beta, y otras versiones de prueba) tan rápido como sea práctico.

Resultados

Modelos Completos (Casos de Uso, Análisis, Diseño, Despliegue e Implementación)

Arquitectura íntegra (mantenida y mínimamente actualizada)

Riesgos Presentados Mitigados

Plan del Proyecto para la fase de Transición.

Manual Inicial de Usuario (con suficiente detalle)

Prototipo Operacional – beta

Caso del Negocio Actualizado

Comprobación

El producto es estable y maduro como para ser entregado a la comunidad de usuario para ser probado.

Todos los usuarios expertos están listos para la transición en la comunidad de usuarios.

Son aceptables los gastos actuales versus los gastos planeados.

Transición image

Poner el producto en manos de los usuarios finales

Se puede incluir

Prueba de la versión Beta para validar el nuevo sistema frente a las expectativas de los usuarios

Funcionamiento paralelo con los sistemas legados que están siendo sustituidos por nuestro proyecto.

Conversión de las bases de datos operacionales.

Entrenamiento de los usuarios y técnicos de mantenimiento.

Traspaso del producto a los equipos de marketing, distribución y venta.

Objetivos

Conseguir que el usuario se valga por si mismo.

Un producto final que cumpla los requisitos esperados, que funcione y satisfaga suficientemente al usuario.

Resultados

Prototipo Operacional

Documentos Legales

Caso del Negocio Completo

Línea de Base del Producto completa y corregida que incluye todos los modelos del sistema

Descripción de la Arquitectura completa y corregida

Las iteraciones de esta fase irán dirigidas normalmente a conseguir una nueva versión.

Comprobación

El usuario se encuentra satisfecho.

Son aceptables los gastos actuales versus los gastos planificados.

Identificación de todos los actores y casos de uso

Estática image

Roles image

Comportamiento y responsabilidades de un individuo, o de un grupo de individuos trabajando
juntos como un equipo.

Grupos

Analistas

Desarrolladores

Gestores

Apoyo

Especialista en pruebas

Otros

Stakeholder, revisor, coordinador de revisiones.

Actividades image

Unidad de trabajo que una persona que desempeñe un rol puede realizar.

Artefactos image

Un documento, como el documento de la arquitectura del software.

Un modelo, como el modelo de Casos de Uso o el modelo de diseño.

Un elemento del modelo, un elemento que pertenece a un modelo como una clase, un Caso de Uso o un subsistema.

Flujos de trabajo image

Secuencia de actividades

Modelado del negocio image

Entender la estructura y la dinámica de la organización para la cual el sistema va ser desarrollado
(organización objetivo).

Entender el problema actual en la organización objetivo e identificar potenciales mejoras.

Asegurar que clientes, usuarios finales y desarrolladores tengan un entendimiento común de la
organización objetivo.

Derivar los requisitos del sistema necesarios para apoyar a la organización objetivo.

Requisitos image

Establecer y mantener un acuerdo entre clientes y otros stakeholders sobre lo que el sistema podría
hacer.

Proveer a los desarrolladores un mejor entendimiento de los requisitos del sistema.

Definir el ámbito del sistema.

Proveer una base para la planeación de los contenidos técnicos de las iteraciones.

Proveer una base para estimar costos y tiempo de desarrollo del sistema.

Definir una interfaz de usuarios para el sistema, enfocada a las necesidades y metas del usuario.

Análisis y diseño image

Transformar los requisitos al diseño del futuro sistema.

Desarrollar una arquitectura para el sistema.

Adaptar el diseño para que sea consistente con el entorno de implementación, diseñando para el rendimiento.

Implementación image

Planificar qué subsistemas deben ser implementados y en que orden deben ser integrados, formando el Plan de Integración.

Cada implementador decide en que orden implementa los elementos del subsistema.

Si encuentra errores de diseño, los notifica.

Se prueban los subsistemas individualmente.

Se integra el sistema siguiendo el plan.

Pruebas image

Encontrar y documentar defectos en la calidad del software.

Generalmente asesora sobre la calidad del software percibida.

Verificar las funciones del producto de software según lo diseñado.

Provee la validación de los supuestos realizados en el diseño y especificación de requisitos por medio
de demostraciones concretas.

Verificar que los requisitos tengan su apropiada implementación.

Despliegue image

Probar el producto en su entorno de ejecución final.

Empaquetar el software para su distribución.

Distribuir el software.

Instalar el software.

Proveer asistencia y ayuda a los usuarios.

Formar a los usuarios y al cuerpo de ventas.

Migrar el software existente o convertir bases de datos.

Gestión del proyecto image

Proveer un marco de trabajo para la gestión de proyectos de software intensivos.

Proveer guías prácticas realizar planeación, contratar personal, ejecutar y monitorear el proyecto.

Proveer un marco de trabajo para gestionar riesgos.

Configuración y control de cambios image

Mantener la integridad de todos los artefactos que se crean en el proceso

Entorno image

Selección y adquisición de herramientas

Establecer y configurar las herramientas para que se ajusten a la organización.

Configuración del proceso.

Mejora del proceso.

Servicios técnicos.

Configuración RUP para proyecto pequeño image

Entregables

Flujos de Trabajo

Características del Producto Software

Glosario

Modelo de Casos de Uso

Especificaciones de Casos de Uso

Modelo de Análisis y Diseño

Modelo Lógico Relacional

Modelo de Implementación

Modelo de Pruebas

Manual de Instalación

Material de Usuario

Producto

Esquema de trazabilidad

Son enlaces entre artefactos que establecen cómo se generan unos a partir de otros.

Se modelarán los procesos de negocio de la situación actual utilizando Diagramas de Actividad para representar Flujos de Trabajo Actuales.

Flujos de Trabajo Propuestos junto con una
lista de Características del Producto Software.

Requisitos

Modelos de casos de uso

Diagrama de casos de uso

Prototipo de interfaces

Especificaciones de casos de uso

Modelo de pruebas

Pruebas de aceptación

Modelo de análisis y diseño

Diagrama de clases

Diagramas de estado

Modelo lógico relacional

Diagrama de tablas

Modelo de implementación

Diagrama de componentes