SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
¿Qué es RUP?

 Requisitos del usuario        Proceso de desarrollo         Sistema de software
                                   de software



• RUP es un proceso de desarrollo de software:
    – Forma disciplinada de asignar tareas y responsabilidades en una empresa
      de desarrollo (quién hace qué, cuándo y cómo).

• Objetivos:
    – Asegurar la producción de software de calidad dentro de plazos
      y presupuestos predecibles. Dirigido por casos de uso, centrado en la
      arquitectura, iterativo (mini-proyectos) e incremental (versiones).

• Es también un producto:
    – Desarrollado y mantenido por Rational.
    – Actualizado constantemente para tener en cuenta las mejores prácticas de
      acuerdo con la experiencia.
¿Qué es RUP?

• Aumenta la productividad de los desarrolladores mediante
  acceso a:
   – Base de conocimiento, plantillas y herramientas.

• Se centra en la producción y mantenimiento de modelos del
  sistema más que en producir documentos.

• RUP es una guía de cómo usar UML de la forma más efectiva.

• Existen herramientas de apoyo a todo el proceso:
   – Modelamiento visual, programación, pruebas, etc.
Las mejores prácticas

• RUP pretende implementar las mejores prácticas
  actuales en ingeniería de software:

   –   Desarrollo iterativo del software
   –   Administración de requerimientos
   –   Uso de arquitecturas basadas en componentes
   –   Modelamiento visual del software
   –   Verificación de la calidad del software
   –   Control de cambios
Desarrollo iterativo

• El software moderno es complejo y novedoso. No es realista
  usar un modelo lineal de desarrollo como el de cascada.
• Un proceso iterativo permite una comprensión creciente de los
  requerimientos a la vez que se va haciendo crecer el sistema.
• RUP sigue un modelo iterativo que aborda las tareas más
  riesgosas primero.
• Con esto se logra reducir los riesgos del proyecto y tener un
  subsistema ejecutable tempranamente.
Administración de requerimientos

• RUP describe cómo:
   – Obtener los requerimientos
   – Organizarlos
   – Documentar requerimientos de funcionalidad y restricciones
   – Rastrear y documentar decisiones
   – Captar y comunicar requerimientos del negocio

• Los casos de uso y los escenarios indicados por el proceso han
  probado ser una buena forma de captar requerimientos y guiar
  el diseño, la implementación y las pruebas.
Arquitecturas basadas en componentes

 • El proceso se basa en diseñar tempranamente una
   arquitectura base ejecutable.

 • La arquitectura debe ser:
    –   Flexible
    –   Fácil de modificar
    –   Intuitivamente comprensible
    –   Promueve la reutilización de componentes

 • RUP apoya el desarrollo basado en componentes, tanto
   nuevos como preexistentes.
Modelamiento visual

 • Modelamiento visual de la estructura y el
   comportamiento de la arquitectura y los componentes.

 • Bloques de construcción:
    – Ocultan detalles
    – Permiten la comunicación en el equipo de desarrollo
    – Permiten analizar la consistencia:
        • entre las componentes
        • entre diseño e implementación


 • UML es la base del modelamiento visual de RUP.
Verificación de cualidades

• No sólo la funcionalidad es esencial, también el
  rendimiento y la confiabilidad.

• RUP ayuda a planificar, diseñar, implementar, ejecutar y
  evaluar pruebas que verifiquen estas cualidades.

• El aseguramiento de la calidad es parte del proceso de
  desarrollo y no la responsabilidad de un grupo
  independiente.
Control de cambios


• Los cambios son inevitables, pero es necesario evaluar si
  éstos son necesarios y rastrear su impacto.

• RUP indica como controlar, rastrear y monitorear los
  cambios dentro del proceso iterativo de desarrollo.
Ciclos y fases

  • RUP divide el proceso de desarrollo en ciclos, teniendo
    un producto al final de cada ciclo.

  • Cada ciclo se divide en cuatro Fases:
     –   Inicio
     –   Elaboración
     –   Construcción
     –   Transición

  • Cada fase concluye con un hito bien definido donde
    deben tomarse ciertas decisiones.
Fases de RUP
Fases de RUP: Inicio

• Se establece la oportunidad y alcance el proyecto.

• Se identifican todas las entidades externas con las que se
  trata (actores) y se define la interacción a un alto nivel de
  abstracción:
   – Identificar todos los casos de uso
   – Describir algunos en detalle

• La oportunidad del negocio incluye:
   –   Criterios de éxito
   –   Identificación de riesgos
   –   Estimación de recursos necesarios
   –   Plan de las fases incluyendo hitos
Fases de RUP: Inicio

Productos:

• Un documento de visión             • Caso de negocio:
  general:                               – Contexto
    – Requerimientos generales del       – Criterios de éxito
      proyecto                           – Pronóstico financiero
    – Características principales    • Identificación inicial de riesgos.
    – Restricciones
                                     • Plan de proyecto.
• Modelo inicial de casos de uso
                                     • Uno o más prototipos.
  (10% a 20 % listos).
• Glosario.
Fases de RUP: Inicio

Hito:
            Objetivos del
            Ciclo de Vida



        Inicio       Elaboración   Construcción   Transición


• Las partes interesadas deben acordar el alcance y la
  estimación de tiempo y costo.

• Comprensión de los requerimientos plasmados en casos
  de uso.
Fases de RUP: Elaboración

• Objetivos:
   –   Analizar el dominio del problema
   –   Establecer una arquitectura base sólida
   –   Desarrollar un plan de proyecto
   –   Eliminar los elementos de mayor riesgo para el desarrollo
       exitoso del proyecto

• Visión de “una milla de amplitud y una pulgada de
  profundidad” porque las decisiones de arquitectura
  requieren una visión global del sistema.
Fases de RUP: Elaboración

Productos:

• Es la parte más crítica del            • Ya hay menos riesgos y se
  proceso:                                 puede planificar el resto del
    – Al final toda la ingeniería          proyecto con menor
      “dura” está hecha                    incertidumbre.
    – Se puede decidir si vale la pena   • Se construye una arquitectura
      seguir adelante                      ejecutable que contemple:
• A partir de aquí la arquitectura,          – Los casos de uso críticos
  los requerimientos y los planes            – Los riesgos identificados
  de desarrollo son estables.
Fases de RUP: Elaboración

  Productos:


• Modelo de casos de uso (80%            • Un prototipo ejecutable de la
  completo) con descripciones              arquitectura.
  detalladas.                            • Lista revisada de riesgos y del
• Otros requerimientos no funcio-          caso de negocio.
  nales o no asociados a casos de uso.   • Plan de desarrollo para el resto
• Descripción de la Arquitectura del       del proyecto.
  Software.                              • Un manual de usuario
                                           preliminar.
Fases de RUP: Elaboración

Hito:                      Arquitectura de
                            Ciclo de Vida



    Concepción       Elaboración     Construcción      Transición


• Condiciones de éxito de la elaboración:
    – ¿Es estable la visión del producto?
    – ¿Es estable la arquitectura?
    – ¿Las pruebas de ejecución demuestran que los riesgos han sido
      abordados y resueltos?
    – ¿Es el plan del proyecto algo realista?
    – ¿Están de acuerdo con el plan todas las personas involucradas?
Fases de RUP: Construcción

• En esta fase todas las componentes restantes se desarrollan
  e incorporan al producto.

• Todo es probado en profundidad.

• El énfasis está en la producción eficiente y no ya en la
  creación intelectual.

• Puede hacerse construcción en paralelo, pero esto exige
  una planificación detallada y una arquitectura muy estable.
Fases de RUP: Construcción

Productos:

 • El producto de software integrado y corriendo en la plataforma
   adecuada.

 • Manuales de usuario.

 • Una descripción del “release” actual.
Fases de RUP: Construcción

Hito:
                                              Capacidad
                                              Operacional


    Concepción       Elaboración     Construcción       Transición


• Se obtiene un producto Beta que debe decidirse si puede
  ponerse en ejecución sin mayores riesgos.
• Condiciones de éxito:
    – ¿El producto está maduro y estable para instalarlo en el ambiente
      del cliente?
    – ¿Están los interesados listos para recibirlo?
Fases de RUP: Transición

• El objetivo es traspasar el software desarrollado a la
  comunidad de usuarios.
• Una vez instalado surgirán nuevos elementos que
  implicarán nuevos desarrollos (ciclos).
• Incluye:
   – Pruebas Beta para validar el producto con las expectativas del
     cliente
   – Ejecución paralela con sistemas antiguos
   – Conversión de datos
   – Entrenamiento de usuarios
   – Distribuir el producto
Fases de RUP: Transición

Objetivos:

• Obtener autosuficiencia de parte de los usuarios.
• Concordancia en los logros del producto de parte de las
  personas involucradas.
• Lograr el concenso cuanto antes para liberar el producto al
  mercado.

     Concepción    Elaboración   Construcción    Transición


                                                         Producto
Definiciones


      Trabajador
  • Un trabajador define el comportamiento y las
    responsabilidades de un individuo.
  • Es como un “sombrero” que la persona usa durante el
    proyecto:
     – Una persona puede tener varios sombreros
     – Es el rol que desempeña en un momento dado
  • Responsabilidades:
     – Hacer una serie de actividades
     – Ser el responsable de una serie de artefactos
Definiciones


             Actividades
• Una actividad es una unidad de       • Las actividades se consideran en la
  trabajo que se asigna a un             planificación y evaluación del progreso
  trabajador. Ej.:                       del proyecto.
    – Crear o modificar un artefacto   • Ejemplos:
                                           – Planificar una iteración - Administrador
• Una actividad lleva entre un par           de proyecto
  de horas y un par de días,               – Encontrar actores y casos de uso -
  involucra un solo trabajador y             Analista
  un número pequeño de                     – Revisar el diseño - Revisor de diseño
  artefactos.                              – Ejecutar pruebas de performance - Ing.
                                             de pruebas de performance
Asignación de actividades

  Recurso    Trabajador                  Actividad

    Pablo    Diseñador                   Diseño de Objetos


    María    Autor de Casos de Uso       Detallar un Caso de Uso


    José     Diseñador de Casos de Uso   Diseñar un Caso de Uso


    Silvia   Revisor de Diseño           Revisar el Diseño


   Eduardo   Arquitecto                  Análisis de Arquitectura
                                         Diseño de Arquitectura
Artefactos


• Elementos de información             • Ejemplos:
  producidos, modificados o               – Un modelo, como el modelo de
  usados por el proceso.                    casos de uso o el modelo de
• Son los productos tangibles del           diseño.
  proyecto.                               – Un elemento del modelo, como
                                            una clase o un caso de uso.
• Son usados por los trabajadores
                                          – Un documento tal como el Caso
  para realizar nuevas actividades y
                                            del Negocio o la Arquitectura
  son el resultado de esas                  del Software.
  actividades.
                                          – Código fuente.
                                          – Código ejecutable.
Flujos de trabajo

                                             Análisis de     Diseño de         Describir      Describir
• Una lista de actividades,                  Arquitectura   Arquitectura      Concurrencia   Distribución

  trabajadores y artefactos        Arquitecto
  constituye un proceso.
                                                   Análisis de         Diseño de
                                                  Casos de Uso        Casos de Uso

• Un flujo de trabajo es una       Diseñador de
                                   Casos de Uso
  secuencia de actividades que
  produce un resultado valioso.                             Análisis de
                                                             Objetos             Diseño de
                                                                                  Objetos

                                    Diseñador
• No siempre es posible
  representar flujos de trabajo.
                                    Revisor de                   Revisar el    Revisar el     Revisar la
                                     Diseño                       Análisis      Diseño       Arquitectura
Flujos de trabajo esenciales
    Flujos de Trabajo
      de Ingeniería




Flujos de Trabajo
    de Apoyo
Flujos de trabajo

• Existen habitualmente problemas de comunicación entre
  ingenieros de software e ingenieros de negocios.

• RUP proporciona un lenguaje y proceso común para estos
  dos ámbitos.

• Para el modelamiento del negocio se usan “business use
  cases” (casos de uso del negocio):
   – La forma en que el software dará apoyo al negocio.
Requerimientos

                                                     Imprimir Inf orme
• Los desarrolladores y
                                          Reciclar                          Operador
  clientes deben acordar qué    Cliente


  es lo que el sistema debe                          Administrar Depósito


  hacer:
   – Relevar requerimientos     • Los casos de uso describen
   – Documentar funcionalidad     la funcionalidad.
     y restricciones            • Los requerimientos no
   – Documentar decisiones        funcionales se incluyen en
   – Identificar actores          una especificación
   – Identificar casos de uso     complementaria.
Análisis y diseño

• Descripción de cómo se                    • Diseñar y validar la arquitectura
  implementará el sistema: un plano           es una tarea esencial.

• Debe:                                     • El modelo de diseño consta de
    – Ejecutar las tareas y funciones           – Clases estructuradas en paquetes
      descritas en los casos de uso             – Diseños de subsistemas con
    – Satisfacer todos los requerimientos         interfaces definidas
    – Flexible a cambios                          (componentes)
                                                – Forma de colaboración entre las
• El diseño se centra en la noción de             clases.
  arquitectura.
Implementación

• Propósito:
  – Definir la organización del código
  – Implementar clases y objetos en forma de componentes
    (fuente, ejecutables, etc.)
  – Probar las componentes desarrolladas
  – Integrar las componentes en un sistema ejecutable
Pruebas

• Propósito:
                                           • RUP propone probar las componentes
   – Verificar la interacción entre los
                                             desde el principio:
     objetos
                                               – Confiabilidad, funcionalidad y
   – Verificar la integración apropiada
                                                 performance
     de componentes
   – Verificar que se satisfacen los       • Las pruebas de regresión son
     requerimientos
                                             importantes en desarrollos iterativos.
   – Identificar los defectos y
     corregirlos antes de la instalación
                                           • Rational tiene herramientas para
                                             automatizar algunas pruebas.
• RUP describe como planear y
  ejecutar estas pruebas.
Distribución

• Producir un producto y hacerlo   • A veces también incluye:
  llegar a sus usuarios finales.       – Realizar pruebas beta
                                       – Migración de datos
• Incluye varias actividades:          – Aceptación formal
    –   Producir un “release”
    –   Empaquetar el software     • La mayor parte de la distribución
    –   Distribuir el software       ocurre durante la transición.
    –   Instalar el software
    –   Apoyar a los usuarios      • Este es uno de los flujos de
                                     trabajo menos documentados en
                                     RUP.
Administración de proyectos

 • Es el arte de balancear objetivos contrarios, manejar
   riesgos y producir software que satisface a clientes y
   usuarios.

 • Existen pocos proyectos realmente exitosos.

 • RUP incluye:
    – Un framework para manejo de proyectos de software
    – Guías para planificación, provisión de personal, ejecución y
      monitoreo de planes
    – Un framework para manejar riesgos
Administración de configuración y cambios

  • Forma de controlar los artefactos producidos por las
    personas que trabajan en el proyecto.

  • Algunos problemas habituales:
     – Actualizaciones simultáneas
     – Múltiples versiones

  • RUP da guías para:
     – Desarrollos en paralelo
     – Automatizar la construcción
     – Administrar defectos
Ambiente


• Ambiente y herramientas de desarrollo que harán
  posible llevar a cabo el proyecto.

• RUP guía en la configuración de un ambiente de
  proceso apropiado a cada proyecto.

Weitere ähnliche Inhalte

Was ist angesagt?

Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de información
Leonardo Fleire Morales
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
sergio
 
54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software
cristina_devargas
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 
MAPA CONCEPTUAL
MAPA CONCEPTUALMAPA CONCEPTUAL
MAPA CONCEPTUAL
Mali Ma
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
ElvisAR
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
Julio Pari
 

Was ist angesagt? (20)

Metodología Rup
Metodología RupMetodología Rup
Metodología Rup
 
Metodologías tradicionales: Desarrollo de Software
Metodologías tradicionales: Desarrollo de Software Metodologías tradicionales: Desarrollo de Software
Metodologías tradicionales: Desarrollo de Software
 
Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de información
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Software
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
 
Modelado de casos de uso
Modelado de casos de usoModelado de casos de uso
Modelado de casos de uso
 
Importancia del Análisis de Requerimientos
Importancia del Análisis de RequerimientosImportancia del Análisis de Requerimientos
Importancia del Análisis de Requerimientos
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
MAPA CONCEPTUAL
MAPA CONCEPTUALMAPA CONCEPTUAL
MAPA CONCEPTUAL
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software II
 
Metodologia kendall y Kendall
Metodologia kendall y KendallMetodologia kendall y Kendall
Metodologia kendall y Kendall
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
 

Andere mochten auch (12)

Modelamiento Base Datos
Modelamiento Base DatosModelamiento Base Datos
Modelamiento Base Datos
 
Scrum
ScrumScrum
Scrum
 
Rup fase 3-version
Rup fase 3-version Rup fase 3-version
Rup fase 3-version
 
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
UDA-Componentes RUP. Tabla 2.4.1 (deprecado)
 
Documentacion rup
Documentacion rupDocumentacion rup
Documentacion rup
 
Rup presentacion
Rup presentacionRup presentacion
Rup presentacion
 
Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 
Utilizando Metodologia Rup Parte1
Utilizando Metodologia Rup Parte1Utilizando Metodologia Rup Parte1
Utilizando Metodologia Rup Parte1
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Caso de uso de biblioteca
Caso de uso de bibliotecaCaso de uso de biblioteca
Caso de uso de biblioteca
 
Aplicación de un modelo de procesos rup
Aplicación de un modelo de procesos rupAplicación de un modelo de procesos rup
Aplicación de un modelo de procesos rup
 

Ähnlich wie Metodologia del rup

4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
Julio Pari
 
Documentacion rational
Documentacion rationalDocumentacion rational
Documentacion rational
Mila Pascual
 
16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental
zaggy88
 

Ähnlich wie Metodologia del rup (20)

RUP.pdf
RUP.pdfRUP.pdf
RUP.pdf
 
Exposicion RUP
Exposicion RUPExposicion RUP
Exposicion RUP
 
Rup
RupRup
Rup
 
Rup
RupRup
Rup
 
METODOLOGIA RUP.pptx
METODOLOGIA RUP.pptxMETODOLOGIA RUP.pptx
METODOLOGIA RUP.pptx
 
4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
 
Rup
RupRup
Rup
 
Documentacion rational
Documentacion rationalDocumentacion rational
Documentacion rational
 
Documentacion rational
Documentacion rationalDocumentacion rational
Documentacion rational
 
RUP
RUPRUP
RUP
 
Metodología rup
Metodología rupMetodología rup
Metodología rup
 
Rup
RupRup
Rup
 
modelo calidad
modelo calidadmodelo calidad
modelo calidad
 
MODELO RUP
MODELO RUPMODELO RUP
MODELO RUP
 
Clase1
Clase1Clase1
Clase1
 
16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental16416960 modelo-cascada-espiralincremental
16416960 modelo-cascada-espiralincremental
 
Diapo2019 grupo3
Diapo2019 grupo3Diapo2019 grupo3
Diapo2019 grupo3
 
Is.exp.3.323734
Is.exp.3.323734Is.exp.3.323734
Is.exp.3.323734
 
Visión general del proceso unificado
Visión general del proceso unificadoVisión general del proceso unificado
Visión general del proceso unificado
 
Metodologia rup trabajo1
Metodologia rup trabajo1Metodologia rup trabajo1
Metodologia rup trabajo1
 

Metodologia del rup

  • 1.
  • 2. ¿Qué es RUP? Requisitos del usuario Proceso de desarrollo Sistema de software de software • RUP es un proceso de desarrollo de software: – Forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo (quién hace qué, cuándo y cómo). • Objetivos: – Asegurar la producción de software de calidad dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado en la arquitectura, iterativo (mini-proyectos) e incremental (versiones). • Es también un producto: – Desarrollado y mantenido por Rational. – Actualizado constantemente para tener en cuenta las mejores prácticas de acuerdo con la experiencia.
  • 3. ¿Qué es RUP? • Aumenta la productividad de los desarrolladores mediante acceso a: – Base de conocimiento, plantillas y herramientas. • Se centra en la producción y mantenimiento de modelos del sistema más que en producir documentos. • RUP es una guía de cómo usar UML de la forma más efectiva. • Existen herramientas de apoyo a todo el proceso: – Modelamiento visual, programación, pruebas, etc.
  • 4. Las mejores prácticas • RUP pretende implementar las mejores prácticas actuales en ingeniería de software: – Desarrollo iterativo del software – Administración de requerimientos – Uso de arquitecturas basadas en componentes – Modelamiento visual del software – Verificación de la calidad del software – Control de cambios
  • 5. Desarrollo iterativo • El software moderno es complejo y novedoso. No es realista usar un modelo lineal de desarrollo como el de cascada. • Un proceso iterativo permite una comprensión creciente de los requerimientos a la vez que se va haciendo crecer el sistema. • RUP sigue un modelo iterativo que aborda las tareas más riesgosas primero. • Con esto se logra reducir los riesgos del proyecto y tener un subsistema ejecutable tempranamente.
  • 6. Administración de requerimientos • RUP describe cómo: – Obtener los requerimientos – Organizarlos – Documentar requerimientos de funcionalidad y restricciones – Rastrear y documentar decisiones – Captar y comunicar requerimientos del negocio • Los casos de uso y los escenarios indicados por el proceso han probado ser una buena forma de captar requerimientos y guiar el diseño, la implementación y las pruebas.
  • 7. Arquitecturas basadas en componentes • El proceso se basa en diseñar tempranamente una arquitectura base ejecutable. • La arquitectura debe ser: – Flexible – Fácil de modificar – Intuitivamente comprensible – Promueve la reutilización de componentes • RUP apoya el desarrollo basado en componentes, tanto nuevos como preexistentes.
  • 8. Modelamiento visual • Modelamiento visual de la estructura y el comportamiento de la arquitectura y los componentes. • Bloques de construcción: – Ocultan detalles – Permiten la comunicación en el equipo de desarrollo – Permiten analizar la consistencia: • entre las componentes • entre diseño e implementación • UML es la base del modelamiento visual de RUP.
  • 9. Verificación de cualidades • No sólo la funcionalidad es esencial, también el rendimiento y la confiabilidad. • RUP ayuda a planificar, diseñar, implementar, ejecutar y evaluar pruebas que verifiquen estas cualidades. • El aseguramiento de la calidad es parte del proceso de desarrollo y no la responsabilidad de un grupo independiente.
  • 10. Control de cambios • Los cambios son inevitables, pero es necesario evaluar si éstos son necesarios y rastrear su impacto. • RUP indica como controlar, rastrear y monitorear los cambios dentro del proceso iterativo de desarrollo.
  • 11. Ciclos y fases • RUP divide el proceso de desarrollo en ciclos, teniendo un producto al final de cada ciclo. • Cada ciclo se divide en cuatro Fases: – Inicio – Elaboración – Construcción – Transición • Cada fase concluye con un hito bien definido donde deben tomarse ciertas decisiones.
  • 13. Fases de RUP: Inicio • Se establece la oportunidad y alcance el proyecto. • Se identifican todas las entidades externas con las que se trata (actores) y se define la interacción a un alto nivel de abstracción: – Identificar todos los casos de uso – Describir algunos en detalle • La oportunidad del negocio incluye: – Criterios de éxito – Identificación de riesgos – Estimación de recursos necesarios – Plan de las fases incluyendo hitos
  • 14. Fases de RUP: Inicio Productos: • Un documento de visión • Caso de negocio: general: – Contexto – Requerimientos generales del – Criterios de éxito proyecto – Pronóstico financiero – Características principales • Identificación inicial de riesgos. – Restricciones • Plan de proyecto. • Modelo inicial de casos de uso • Uno o más prototipos. (10% a 20 % listos). • Glosario.
  • 15. Fases de RUP: Inicio Hito: Objetivos del Ciclo de Vida Inicio Elaboración Construcción Transición • Las partes interesadas deben acordar el alcance y la estimación de tiempo y costo. • Comprensión de los requerimientos plasmados en casos de uso.
  • 16. Fases de RUP: Elaboración • Objetivos: – Analizar el dominio del problema – Establecer una arquitectura base sólida – Desarrollar un plan de proyecto – Eliminar los elementos de mayor riesgo para el desarrollo exitoso del proyecto • Visión de “una milla de amplitud y una pulgada de profundidad” porque las decisiones de arquitectura requieren una visión global del sistema.
  • 17. Fases de RUP: Elaboración Productos: • Es la parte más crítica del • Ya hay menos riesgos y se proceso: puede planificar el resto del – Al final toda la ingeniería proyecto con menor “dura” está hecha incertidumbre. – Se puede decidir si vale la pena • Se construye una arquitectura seguir adelante ejecutable que contemple: • A partir de aquí la arquitectura, – Los casos de uso críticos los requerimientos y los planes – Los riesgos identificados de desarrollo son estables.
  • 18. Fases de RUP: Elaboración Productos: • Modelo de casos de uso (80% • Un prototipo ejecutable de la completo) con descripciones arquitectura. detalladas. • Lista revisada de riesgos y del • Otros requerimientos no funcio- caso de negocio. nales o no asociados a casos de uso. • Plan de desarrollo para el resto • Descripción de la Arquitectura del del proyecto. Software. • Un manual de usuario preliminar.
  • 19. Fases de RUP: Elaboración Hito: Arquitectura de Ciclo de Vida Concepción Elaboración Construcción Transición • Condiciones de éxito de la elaboración: – ¿Es estable la visión del producto? – ¿Es estable la arquitectura? – ¿Las pruebas de ejecución demuestran que los riesgos han sido abordados y resueltos? – ¿Es el plan del proyecto algo realista? – ¿Están de acuerdo con el plan todas las personas involucradas?
  • 20. Fases de RUP: Construcción • En esta fase todas las componentes restantes se desarrollan e incorporan al producto. • Todo es probado en profundidad. • El énfasis está en la producción eficiente y no ya en la creación intelectual. • Puede hacerse construcción en paralelo, pero esto exige una planificación detallada y una arquitectura muy estable.
  • 21. Fases de RUP: Construcción Productos: • El producto de software integrado y corriendo en la plataforma adecuada. • Manuales de usuario. • Una descripción del “release” actual.
  • 22. Fases de RUP: Construcción Hito: Capacidad Operacional Concepción Elaboración Construcción Transición • Se obtiene un producto Beta que debe decidirse si puede ponerse en ejecución sin mayores riesgos. • Condiciones de éxito: – ¿El producto está maduro y estable para instalarlo en el ambiente del cliente? – ¿Están los interesados listos para recibirlo?
  • 23. Fases de RUP: Transición • El objetivo es traspasar el software desarrollado a la comunidad de usuarios. • Una vez instalado surgirán nuevos elementos que implicarán nuevos desarrollos (ciclos). • Incluye: – Pruebas Beta para validar el producto con las expectativas del cliente – Ejecución paralela con sistemas antiguos – Conversión de datos – Entrenamiento de usuarios – Distribuir el producto
  • 24. Fases de RUP: Transición Objetivos: • Obtener autosuficiencia de parte de los usuarios. • Concordancia en los logros del producto de parte de las personas involucradas. • Lograr el concenso cuanto antes para liberar el producto al mercado. Concepción Elaboración Construcción Transición Producto
  • 25. Definiciones Trabajador • Un trabajador define el comportamiento y las responsabilidades de un individuo. • Es como un “sombrero” que la persona usa durante el proyecto: – Una persona puede tener varios sombreros – Es el rol que desempeña en un momento dado • Responsabilidades: – Hacer una serie de actividades – Ser el responsable de una serie de artefactos
  • 26. Definiciones Actividades • Una actividad es una unidad de • Las actividades se consideran en la trabajo que se asigna a un planificación y evaluación del progreso trabajador. Ej.: del proyecto. – Crear o modificar un artefacto • Ejemplos: – Planificar una iteración - Administrador • Una actividad lleva entre un par de proyecto de horas y un par de días, – Encontrar actores y casos de uso - involucra un solo trabajador y Analista un número pequeño de – Revisar el diseño - Revisor de diseño artefactos. – Ejecutar pruebas de performance - Ing. de pruebas de performance
  • 27. Asignación de actividades Recurso Trabajador Actividad Pablo Diseñador Diseño de Objetos María Autor de Casos de Uso Detallar un Caso de Uso José Diseñador de Casos de Uso Diseñar un Caso de Uso Silvia Revisor de Diseño Revisar el Diseño Eduardo Arquitecto Análisis de Arquitectura Diseño de Arquitectura
  • 28. Artefactos • Elementos de información • Ejemplos: producidos, modificados o – Un modelo, como el modelo de usados por el proceso. casos de uso o el modelo de • Son los productos tangibles del diseño. proyecto. – Un elemento del modelo, como una clase o un caso de uso. • Son usados por los trabajadores – Un documento tal como el Caso para realizar nuevas actividades y del Negocio o la Arquitectura son el resultado de esas del Software. actividades. – Código fuente. – Código ejecutable.
  • 29. Flujos de trabajo Análisis de Diseño de Describir Describir • Una lista de actividades, Arquitectura Arquitectura Concurrencia Distribución trabajadores y artefactos Arquitecto constituye un proceso. Análisis de Diseño de Casos de Uso Casos de Uso • Un flujo de trabajo es una Diseñador de Casos de Uso secuencia de actividades que produce un resultado valioso. Análisis de Objetos Diseño de Objetos Diseñador • No siempre es posible representar flujos de trabajo. Revisor de Revisar el Revisar el Revisar la Diseño Análisis Diseño Arquitectura
  • 30. Flujos de trabajo esenciales Flujos de Trabajo de Ingeniería Flujos de Trabajo de Apoyo
  • 31. Flujos de trabajo • Existen habitualmente problemas de comunicación entre ingenieros de software e ingenieros de negocios. • RUP proporciona un lenguaje y proceso común para estos dos ámbitos. • Para el modelamiento del negocio se usan “business use cases” (casos de uso del negocio): – La forma en que el software dará apoyo al negocio.
  • 32. Requerimientos Imprimir Inf orme • Los desarrolladores y Reciclar Operador clientes deben acordar qué Cliente es lo que el sistema debe Administrar Depósito hacer: – Relevar requerimientos • Los casos de uso describen – Documentar funcionalidad la funcionalidad. y restricciones • Los requerimientos no – Documentar decisiones funcionales se incluyen en – Identificar actores una especificación – Identificar casos de uso complementaria.
  • 33. Análisis y diseño • Descripción de cómo se • Diseñar y validar la arquitectura implementará el sistema: un plano es una tarea esencial. • Debe: • El modelo de diseño consta de – Ejecutar las tareas y funciones – Clases estructuradas en paquetes descritas en los casos de uso – Diseños de subsistemas con – Satisfacer todos los requerimientos interfaces definidas – Flexible a cambios (componentes) – Forma de colaboración entre las • El diseño se centra en la noción de clases. arquitectura.
  • 34. Implementación • Propósito: – Definir la organización del código – Implementar clases y objetos en forma de componentes (fuente, ejecutables, etc.) – Probar las componentes desarrolladas – Integrar las componentes en un sistema ejecutable
  • 35. Pruebas • Propósito: • RUP propone probar las componentes – Verificar la interacción entre los desde el principio: objetos – Confiabilidad, funcionalidad y – Verificar la integración apropiada performance de componentes – Verificar que se satisfacen los • Las pruebas de regresión son requerimientos importantes en desarrollos iterativos. – Identificar los defectos y corregirlos antes de la instalación • Rational tiene herramientas para automatizar algunas pruebas. • RUP describe como planear y ejecutar estas pruebas.
  • 36. Distribución • Producir un producto y hacerlo • A veces también incluye: llegar a sus usuarios finales. – Realizar pruebas beta – Migración de datos • Incluye varias actividades: – Aceptación formal – Producir un “release” – Empaquetar el software • La mayor parte de la distribución – Distribuir el software ocurre durante la transición. – Instalar el software – Apoyar a los usuarios • Este es uno de los flujos de trabajo menos documentados en RUP.
  • 37. Administración de proyectos • Es el arte de balancear objetivos contrarios, manejar riesgos y producir software que satisface a clientes y usuarios. • Existen pocos proyectos realmente exitosos. • RUP incluye: – Un framework para manejo de proyectos de software – Guías para planificación, provisión de personal, ejecución y monitoreo de planes – Un framework para manejar riesgos
  • 38. Administración de configuración y cambios • Forma de controlar los artefactos producidos por las personas que trabajan en el proyecto. • Algunos problemas habituales: – Actualizaciones simultáneas – Múltiples versiones • RUP da guías para: – Desarrollos en paralelo – Automatizar la construcción – Administrar defectos
  • 39. Ambiente • Ambiente y herramientas de desarrollo que harán posible llevar a cabo el proyecto. • RUP guía en la configuración de un ambiente de proceso apropiado a cada proyecto.