¿Qué es RUP?
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ándoycómo).•Objetivos:–Asegurarla producción de software de calidad
dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado
en la arquitectura,iterativo(mini-
proyectos)eincremental(versiones).•Estambiénunproducto:–
DesarrolladoymantenidoporRational.–
Actualizadoconstantementeparatenerencuentalasmejoresprácticasdeacuerdoconla
experiencia
DESARROLLO INTERATIVO
Elsoftwaremodernoescomplejoynovedoso.Noesrealistausarunmodelolinealdedesar
rollocomoeldecascada.•Unprocesoiterativopermiteunacomprensióncrecientedelosr
equerimientosalavezquesevahaciendocrecerelsistema.•RUPsigueunmodeloiterativ
oqueabordalastareasmásriesgosasprimero.•Conestoselograreducirlosriesgosdelpr
oyectoytenerunsubsistemaejecutabletempranamente
Administración de requerimientos
RUPdescribecómo:–Obtenerlosrequerimientos–Organizarlos–
Documentarrequerimientosdefuncionalidadyrestricciones–
Rastrearydocumentardecisiones–
Captarycomunicarrequerimientosdelnegocio•Loscasosdeusoylosescenariosindicad
osporelprocesohanprobadoserunabuenaformadecaptarrequerimientosyguiareldise
ño,laimplementaciónylaspruebas
Arquitecturas basada sin componentes
Elprocesosebasaendiseñartempranamenteunaarquitecturabaseejecutable.•Laarqui
tecturadebeser:–Flexible–Fácildemodificar–Intuitivamentecomprensible–
Promuevelareutilizacióndecomponentes•RUPapoyaeldesarrollobasadoencompone
ntes,tantonuevoscomopreexistentes.
Moldeamiento visual
Modelamiento
visualdelaestructurayelcomportamientodelaarquitecturayloscomponentes.•Bloques
deconstrucción:–Ocultandetalles–
Permitenlacomunicaciónenelequipodedesarrollo–
Permitenanalizarlaconsistencia:•entrelascomponentes•entrediseñoeimplementació
n•UMLeslabasedelmodelamientovisualdeRUP.
Verificación de cualidades
 No solo 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 cualidase.
ESTRUCTURA DE UN DOCUMENTO RUP
El ciclo es una implementación del Desarrollo en espiral. Fue creado ensamblando
los elementos en secuencias semi-ordenadas. El ciclo de vida organiza las tareas
en fases e iteraciones. 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 las distintas actividades. En la Figura
muestra cómo varía el esfuerzo asociado a las disciplinas según la fase en la que
se encuentre el proyecto RUP.
Las primeras iteraciones (en las fases de Clinician y Elaboración) se enfocan hacia
la comprensión del problema y la tecnología, la delimitación del ámbito del
proyecto, la eliminación de los riesgos críticos, y al establecimiento de una
baseline (Linea Base) de la arquitectura. Durante la fase de inicio las iteraciones
hacen mayor énfasis en actividades de modelado del negocio y de requerimientos.
En la fase de elaboración, las iteraciones se orientan al desarrollo de la base line
de la arquitectura, abarcan más los flujos de trabajo de requerimientos, modelo de
negocios (refinamiento), análisis, diseño y una parte de implementación orientado
a la baseline de la arquitectura.
Principales características:
 Forma disciplinada de asignar tareas y responsabilidades (quién hace qué,
cuándo y cómo),
 Pretende implementar las mejores prácticas en Ingeniería de Software,
 Desarrollo iterativo
 Administración de requisitos
 Uso de arquitectura basada en componentes
 Control de cambios
 Modelado visual del software
 Verificación de la calidad del software
FASES:
Proceso: Las etapas de esta sección son: (Revise nuevamente la gráfica)
 Modelado de negocio
 Requisitos
 Análisis y Diseño
 Implementación
 Pruebas
 Despliegue
Soporte: En esta parte nos encontramos con las siguientes etapas:
 Gestión del cambio y configuraciones
 Gestión del proyecto
 Entorno
La estructura dinámica de RUP es la que permite que éste sea un proceso
de desarrollo fundamentalmente iterativo, y en esta parte se ven inmersas
las 4 fases descritas anteriormente:
Inicio: (También llamado Incepción)
 Elaboración
 Desarrollo(También llamado Implementación, Construcción)
 Cierre (También llamado Transición)
DURANTE TODO EL PROYECTO Gestión del proyecto
 Se vigila el cumplimiento de los objetivos, gestión de riesgos y
restricciones para desarrollaran producto que sea acorde a los requisitos
de los clientes y los usuarios.
 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
 El control de cambios permite mantener la integridad de todos los
artefactos que se crean en el proceso, así como de mantener información
del proceso evolutivo que han seguido.
Entorno
 La finalidad de esta actividad es dar soporte al proyecto con las
adecuadas herramientas, procesos y métodos. Brinda una especificación
de las herramientas que se van a necesitar encada momento, así como
definir la instancia concreta del proceso que se va a seguir. En concreto
las responsabilidades de este flujo de trabajo incluyen:
 Selección y adquisición de herramientas
 Establecer y configurar las herramientas para que se ajusten a la
organización.
 Configuración del proceso.
ROLES EN RUP
 Analistas:
 Analista de procesos de negocio.
 Diseñador del negocio.
 Analista de sistema.
 Especificador de requisitos. Desarrolladores:
 Arquitecto de software.
 Diseñador
 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. Apoyó:
 Documentador técnico
 Administrador de sistema
 Especialista en herramientas
 Desarrollador de cursos
 Artista gráfico Especialista en pruebas:
 Especialista en Pruebas (
 tester
 Analista de pruebas
 Diseñador de pruebas
 Otros roles:
 Stakeholders
 Revisor
 Coordinación de revisiones
 Revisor técnico
 Cualquier rol Notas:
 Para grandes organizaciones con un números equipos de ingenieros y la
comunicación entre cada equipo es crítica por lo tanto es necesario que
los artefactos sean completos y bastante comprensivos
 En tanto que para pequeños proyectos no es recomendable presentarse
tanto rigor en las preparaciones de los artefactos, la eficiencia del proceso
depende más de las habilidades de cada trabajador
1.3 Procesoiterativo e incremental
Según [JBR00] el equilibrio correcto entre los Casos de Uso y la arquitectura es
algo muy parecido al equilibrio de la forma y la función en el desarrollo del
producto, lo cual se consigue con el tiempo. Para esto, la estrategia que se
propone en RUP es tener un proceso iterativo e incremental en donde 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. Una iteración puede realizarse por medio de una
cascada como se muestra en la Figura 6. Se 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.
Figura 6: Una iteración RUP
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. Cada iteración se analiza cuando
termina. Se puede determinar si han aparecido nuevos requisitos o han
cambiadolos existentes, afectando a las iteraciones siguientes. Durante la
planificación de los detalles de la siguienteiteració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. Secontinúa con esta dinámica hasta que se haya finalizado
por completo con la versión actual del producto.
1
Una baseline es una instantánea del estado de todos los artefactos del proyecto,
registrada para efectos de gestión de configuración y control de cambios.
Características esenciales
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, está
centrado en la arquitectura, y es iterativo e incremental.

Quesrup 120217232753-phpapp02

  • 1.
    ¿Qué es RUP? RUPes un proceso de desarrollo de software:–Forma disciplinada de asignar tareas y responsabilidades en una empresa de desarrollo(quién hace qué,cuándoycómo).•Objetivos:–Asegurarla producción de software de calidad dentro de plazos y presupuestos predecibles. Dirigido por casos de uso, centrado en la arquitectura,iterativo(mini- proyectos)eincremental(versiones).•Estambiénunproducto:– DesarrolladoymantenidoporRational.– Actualizadoconstantementeparatenerencuentalasmejoresprácticasdeacuerdoconla experiencia DESARROLLO INTERATIVO Elsoftwaremodernoescomplejoynovedoso.Noesrealistausarunmodelolinealdedesar rollocomoeldecascada.•Unprocesoiterativopermiteunacomprensióncrecientedelosr equerimientosalavezquesevahaciendocrecerelsistema.•RUPsigueunmodeloiterativ oqueabordalastareasmásriesgosasprimero.•Conestoselograreducirlosriesgosdelpr oyectoytenerunsubsistemaejecutabletempranamente Administración de requerimientos RUPdescribecómo:–Obtenerlosrequerimientos–Organizarlos– Documentarrequerimientosdefuncionalidadyrestricciones– Rastrearydocumentardecisiones– Captarycomunicarrequerimientosdelnegocio•Loscasosdeusoylosescenariosindicad osporelprocesohanprobadoserunabuenaformadecaptarrequerimientosyguiareldise ño,laimplementaciónylaspruebas Arquitecturas basada sin componentes Elprocesosebasaendiseñartempranamenteunaarquitecturabaseejecutable.•Laarqui tecturadebeser:–Flexible–Fácildemodificar–Intuitivamentecomprensible– Promuevelareutilizacióndecomponentes•RUPapoyaeldesarrollobasadoencompone ntes,tantonuevoscomopreexistentes. Moldeamiento visual Modelamiento visualdelaestructurayelcomportamientodelaarquitecturayloscomponentes.•Bloques deconstrucción:–Ocultandetalles– Permitenlacomunicaciónenelequipodedesarrollo–
  • 2.
    Permitenanalizarlaconsistencia:•entrelascomponentes•entrediseñoeimplementació n•UMLeslabasedelmodelamientovisualdeRUP. Verificación de cualidades No solo 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 cualidase. ESTRUCTURA DE UN DOCUMENTO RUP El ciclo es una implementación del Desarrollo en espiral. Fue creado ensamblando los elementos en secuencias semi-ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones. 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 las distintas actividades. En la Figura muestra cómo varía el esfuerzo asociado a las disciplinas según la fase en la que se encuentre el proyecto RUP. Las primeras iteraciones (en las fases de Clinician y Elaboración) se enfocan hacia la comprensión del problema y la tecnología, la delimitación del ámbito del proyecto, la eliminación de los riesgos críticos, y al establecimiento de una baseline (Linea Base) de la arquitectura. Durante la fase de inicio las iteraciones hacen mayor énfasis en actividades de modelado del negocio y de requerimientos. En la fase de elaboración, las iteraciones se orientan al desarrollo de la base line de la arquitectura, abarcan más los flujos de trabajo de requerimientos, modelo de negocios (refinamiento), análisis, diseño y una parte de implementación orientado a la baseline de la arquitectura.
  • 3.
    Principales características:  Formadisciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo),  Pretende implementar las mejores prácticas en Ingeniería de Software,  Desarrollo iterativo  Administración de requisitos  Uso de arquitectura basada en componentes  Control de cambios  Modelado visual del software  Verificación de la calidad del software FASES: Proceso: Las etapas de esta sección son: (Revise nuevamente la gráfica)  Modelado de negocio  Requisitos  Análisis y Diseño  Implementación  Pruebas  Despliegue Soporte: En esta parte nos encontramos con las siguientes etapas:  Gestión del cambio y configuraciones  Gestión del proyecto  Entorno La estructura dinámica de RUP es la que permite que éste sea un proceso de desarrollo fundamentalmente iterativo, y en esta parte se ven inmersas las 4 fases descritas anteriormente: Inicio: (También llamado Incepción)  Elaboración  Desarrollo(También llamado Implementación, Construcción)  Cierre (También llamado Transición) DURANTE TODO EL PROYECTO Gestión del proyecto
  • 4.
     Se vigilael cumplimiento de los objetivos, gestión de riesgos y restricciones para desarrollaran producto que sea acorde a los requisitos de los clientes y los usuarios.  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  El control de cambios permite mantener la integridad de todos los artefactos que se crean en el proceso, así como de mantener información del proceso evolutivo que han seguido. Entorno  La finalidad de esta actividad es dar soporte al proyecto con las adecuadas herramientas, procesos y métodos. Brinda una especificación de las herramientas que se van a necesitar encada momento, así como definir la instancia concreta del proceso que se va a seguir. En concreto las responsabilidades de este flujo de trabajo incluyen:  Selección y adquisición de herramientas  Establecer y configurar las herramientas para que se ajusten a la organización.  Configuración del proceso. ROLES EN RUP  Analistas:  Analista de procesos de negocio.  Diseñador del negocio.  Analista de sistema.  Especificador de requisitos. Desarrolladores:  Arquitecto de software.  Diseñador
  • 5.
     Diseñador deinterfaz 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. Apoyó:  Documentador técnico  Administrador de sistema  Especialista en herramientas  Desarrollador de cursos  Artista gráfico Especialista en pruebas:  Especialista en Pruebas (  tester  Analista de pruebas  Diseñador de pruebas  Otros roles:  Stakeholders
  • 6.
     Revisor  Coordinaciónde revisiones  Revisor técnico  Cualquier rol Notas:  Para grandes organizaciones con un números equipos de ingenieros y la comunicación entre cada equipo es crítica por lo tanto es necesario que los artefactos sean completos y bastante comprensivos  En tanto que para pequeños proyectos no es recomendable presentarse tanto rigor en las preparaciones de los artefactos, la eficiencia del proceso depende más de las habilidades de cada trabajador 1.3 Procesoiterativo e incremental Según [JBR00] el equilibrio correcto entre los Casos de Uso y la arquitectura es algo muy parecido al equilibrio de la forma y la función en el desarrollo del producto, lo cual se consigue con el tiempo. Para esto, la estrategia que se propone en RUP es tener un proceso iterativo e incremental en donde 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. Una iteración puede realizarse por medio de una cascada como se muestra en la Figura 6. Se 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. Figura 6: Una iteración RUP 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. Cada iteración se analiza cuando termina. Se puede determinar si han aparecido nuevos requisitos o han cambiadolos existentes, afectando a las iteraciones siguientes. Durante la planificación de los detalles de la siguienteiteración, el equipo también examina cómo afectarán los riesgos que aún quedan al trabajo en curso. Toda la
  • 7.
    retroalimentación de laiteración pasada permite reajustar los objetivos para las siguientes iteraciones. Secontinúa con esta dinámica hasta que se haya finalizado por completo con la versión actual del producto. 1 Una baseline es una instantánea del estado de todos los artefactos del proyecto, registrada para efectos de gestión de configuración y control de cambios. Características esenciales 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, está centrado en la arquitectura, y es iterativo e incremental.