Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

RUP

No description
by

Aidann Addams

on 11 September 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of RUP

RUP

Rational Unified Process.
(Proceso Racional Unificado)

Construir el producto.
Transición del producto a la comunidad del usuario
Es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos .
RUP es un proceso para el desarrollo de un proyecto de un software que define claramente quien, cómo, cuándo y qué debe hacerse en el proyecto.
Antecedentes.
En 1995 Grady Booch, Ivar Jacobson y James Rumbaugh a la cabeza de Rational Software desarrollan Rational Objectory Process (ROP) adoptando UML como lenguaje de modelado, e incorporando diversos elementos para expandir ROP, destacándose especialmente el flujo de trabajo conocido como modelado del negocio, y en junio de 1998 se lanza Rational Unified Process.

Ciclo de vida RUP
Fases en RUP
Ejemplo de Diagrama de Caso de Uso de Negocios
Que es RUP?
El proceso de software propuesto por RUP tiene tres características esenciales:

Está dirigido por los Casos de Uso,
Está centrado en la arquitectura,
Es iterativo e incremental.

Proceso dirigido por casos de uso:
Proceso centrado en la arquitectura:
RUP además de utilizar los Casos de Uso para guiar el proceso, 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, lo que permite tener una visión común entre todos los involucrados y una perspectiva clara del sistema completo, necesaria para controlar el desarrollo.

Proceso iterativo e incremental
El trabajo se divide en partes más pequeñas o mini proyectos. Permitiendo que el equilibrio entre Casos de Uso y arquitectura se vaya logrando durante cada mini proyecto, así durante todo el proceso de desarrollo. 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.

Estrategias de procesamiento
de información

Top-down:
El enfoque top-down enfatiza la planificación y conocimiento completo del sistema. Se entiende que la codificación no puede comenzar hasta que no se haya alcanzado un nivel de detalle suficiente, al menos en alguna parte del sistema. Esto retrasa las pruebas de las unidades funcionales del sistema hasta que gran parte del diseño se ha completado.

Bottom-up:
Bottom-up hace énfasis en la programación y pruebas tempranas, que pueden comenzar tan pronto se ha especificado el primer módulo. Este enfoque tiene el riesgo de programar cosas sin saber como se van a conectar al resto del sistema, y esta conexión puede no ser tan fácil como se creyó al comienzo. La reutilización del código es uno de los mayores beneficios del enfoque bottom-up.

RUP sigue una estrategia de ciclo de vida iterativo e incremental, pero de una forma un tanto peculiar, como vamos a ver a continuación.

En cada fase se realizan una o más iteraciones (con el objeto de ir perfeccionando los objetivos, mediante el feedback del usuario) y hasta que no finaliza una fase no se comienza con la siguiente. Por regla general, la fase en la que se realizan más iteraciones es la Construcción.
El ciclo de vida RUP se divide en 4 fases:

* Iniciación,
* Elaboración,
* Construcción y
* Transición

En cada fase se refinan los objetivos de las fases anteriores en el proceso de conseguir el objetivo u objetivos de la fase, por ejemplo, en la fase de construcción se pueden modificar, añadir o eliminar requisitos, casos de uso, etc. Lo que tiene un impacto en lo obtenido en fases anteriores, acercándonos cada vez más a un sistema que satisfaga las necesidades de los usuarios.

En cada fase y en cada iteración se realiza un ciclo de vida en cascada con las siguientes etapas: 

Análisis, Diseño, Construcción (las tareas de programación que se realizan, sobre todo las fases de Construcción y Transición son perfectamente compatibles con la utilización de técnicas de integración continua y análisis estático de código)

Pruebas/Integración/Implantación. El alcance del ciclo de vida depende en la fase en la que nos encontremos, es decir, aunque se realice un ciclo de vida en cascada en la fase de Iniciación, lo más probable es que no se llegue a construir nada o se llegue a algún a hacer algún prototipo de muy alto nivel.

Los objetivos que se persiguen en cada fase son los siguientes:

Iniciación:
Obtención de los objetivos, catálogo de requisitos, identificación de casos de uso.
Elaboración:
Refinamiento de los objetivos de la fase anterior, casos de uso, análisis, diseño, definición y establecimiento de la arquitectura base del sistema.
Construcción:
Refinamiento de los objetivos de las fases anteriores y construcción del sistema de información.
Transición:
Refinamiento de los objetivos de las fases anteriores e implantación del sistema de información 
Por tanto, como se comentó anteriormente, en cada etapa y en cada iteración se perfeccionan los productos previos que hayan requerido algún cambio, todo eso mientras se intentan conseguir los objetivos concretos de la fase. De esta forma el ciclo de vida RUP sigue un modelo adaptativo de desarrollo de software.

Una característica importante del RUP es que todo el proceso está guiado por los casos de uso, algo que resulta lógico cuando hablamos de modelos incrementales, ya que están orientados al usuario y como tal es importante tener siempre presente el esquema de interacción usuarios/sistema, los cuales vienen definidos por los casos de uso y sus escenarios.

RUP pretende la obtención de productos de muy alta calidad (extendiéndose esta no solo al cumplimiento de las expectativas del usuario, sino a la obtención de productos con una deuda técnica aceptable), si bien sus características: varias fases, múltiples iteraciones por fases, pueden provocar que el proceso de desarrollo sea costoso y que no se adapte a proyectos de pequeña escala, aunque el hecho de que siga un esquema incremental permitiría dar flexibilidad en el caso de que fuera necesario

Fase de Inicio
Propósitos

* Establecer casos de negocios para un nuevo sistema o para alguna actualización importante de un sistema existente.

*Especificar el alcance del proyecto

Resultado.

* Una visión general de los requerimientos del proyecto, i.e., los requerimientos principales

* Un modelo inicial de casos de uso y modelo del dominio (10-20%)

* Un caso de negocios inicial, incluyendo:
- Evaluación inicial de riesgos
- Una estimación de los recursos requeridos

Define el alcance del proyecto
Caso de Negocios:
Modelar laempresa
(como funciona laempresa a la que se le va adesarrollar el software)

Fase de Elaboración
Plan del proyecto, especificación de características, arquitectura base.
Propósitos

* Analizar el dominio del problema

* Establecer una buena arquitectura

* Lidiar con los elementos de riesgo más altos del proyecto

* Desarrollar un plan comprensivo mostrando como el proyecto será completado

Resultado

* Un modelo del dominio y de casos de uso 80% completo

* Requerimientos suplementarios que capturen los requerimientos no funcionales y cualesquiera requerimientos que no estén asociados con un caso de uso específico

* Una lista de riesgos revisada

Fase de Construcción
Propósito

Desarrollar incrementalmente el producto de software completo el cual estará listo para ser transferido al usuario

Resultados

* Un modelo completo de diseño y casos de uso

* Liberaciones de productos ejecutables de funcionalidad incremental

* Documentación de usuario

* Una liberación “beta” del producto

Fase de Transición
Propósito

Hacer la transición final del producto de software al usuario.

Resultados

* Liberaciones ejecutables de producto

* “Pruebas beta” para validar el nuevo sistema vs. las expectaciones del usuario

* Manuales de usuario actualizados

* Documentación de desarrollo actualizada
>> Está el usuario satisfecho?

Gastos reales de los recursos
vs.
Gastos previstos

Aceptables?
Full transcript