rational unified process ing. yimondi franco pedraza julio
TRANSCRIPT
![Page 1: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/1.jpg)
Rational Unified Process
ING. YIMONDI FRANCO PEDRAZAJULIO
![Page 2: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/2.jpg)
Qué es un Proceso?
Un proceso define Quién está haciendo Qué, Cuándo y Cómo para lograr un cierto objetivo. En la ingeniería de software el objetivo es construir un producto de software ó mejorar alguno existente.
Proceso de Ingeniería de
Software
Requerimientos
Nuevos ó Modificados Nuevo ó Modificado
Sistema
![Page 3: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/3.jpg)
El Problema
•Si un proceso es utilizado, equipos funcionales diferentes normalmente utilizan procesos y lenguajes de modelación inconsistentes.
Requerimientos
Pruebas
Análisis
Diseño
•La mayoría de los proyectos de softwareutilizan procesos que no están biendefinidos. En su lugar los miembros del equipo (re)inventan sus propios procesos.
????
????
????
??
•Los procesos no están apropiadamente relacionados con herramientas, ó no están propiamente automatizados.
?Proceso Herramienta
![Page 4: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/4.jpg)
Rational Unified Process (RUP)
Captura varias de las mejores prácticas en el desarrollo moderno de software en una forma que es aplicable para un amplio rango de proyectos y organizaciones.
Es una guía de cómo utilizar de manera efectiva UML.
Provee a cada miembro de un equipo un fácil acceso a una base de conocimiento con guías, plantillas y herramientas para todas las actividades críticas de desarrollo.
Crea y mantiene modelos, en lugar de enfocarse en la producción de una gran cantidad de papeles de documentación.
![Page 5: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/5.jpg)
Incremento de la Productividad en Equipo
Todos los miembros del equipo comparten• 1 Base de conocimiento• 1 Proceso• 1 Vista de cómo desarrollar software• 1 Lenguaje de modelamiento (UML)
AdministradorBase de Datos
Líder deProyecto
Analista
Diseñador/Desarrollador
Ingeniero deDesempeño
Pruebas
Administrador deConfiguración
![Page 6: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/6.jpg)
6 Mejores Prácticas
RUP describe como utilizar de forma efectiva procedimientos comerciales probados en el desarrollo de software para equipos de desarrollo de software, conocidos como “mejores prácticas”.
Desarrollo
Iterativo
ModelamientoVisual
Verificación dela Calidad
Arquitecturascon Componentes
Administración de Requerimientos
Control de Cambios
![Page 7: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/7.jpg)
Desarrollo Iterativode Software
Dados los sistemas de software sofisticados de la actualidad, no es posible hacer de manera secuencial la definición completa del problema, diseñar la solución completa, construir el software y por último probarlo.
El descubrimiento de defectos en fases posteriores de diseño dan como resultado un aumento en los costos y/ó la cancelación del proyecto.
El tiempo y dinero gastados en la implementación de undiseño fallido, son no recuperables
![Page 8: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/8.jpg)
Desarrollo Iterativo
RequerimientosAnálisis y Diseño
Implementación
Pruebas
Evaluación
Cada iteraciónproduce un producto ejecutable
![Page 9: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/9.jpg)
Características delDesarrollo Iterativo
Permite un entendimiento incremental del problema a través de refinamientos sucesivos.
Habilita una fácil retroalimentación de usuario.
Metas específicas permiten que el equipo de desarrollo mantenga su atención en producir resultados.
El progreso es medido conforme avanzan las implementaciones.
![Page 10: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/10.jpg)
Administración de Requerimientos
Licitar, organizar, y documentar la funcionalidad y restricciones requeridas.
Llevar un registro y documentación de cambios y decisiones.
Los requerimientos de negocio son fácilmente capturados y comunicados a través de casos de uso.
Los casos de uso son instrumentos importantes de planeación.
Modelo de DiseñoModelo de Implementación Modelo de Prueba
verificarealización influenciado porLos casos de uso dirigen el trabajo desde el análisis hasta las pruebas
![Page 11: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/11.jpg)
Arquitectura Basadaen Componentes
Se enfoca en el pronto desarrollo de una arquitectura ejecutable robusta. Resistente al cambio mediante el uso
de interfaces bien definidas. Intuitivamente comprensible. Promueve un reuso más efectivo de
software. Es derivada a partir de los casos de uso
más importantes.
![Page 12: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/12.jpg)
Modelación Visualde Software
Captura la estructura y comportamiento de arquitecturas y componentes.
Muestra como encajan de forma conjunta los elementos del sistema.
Mantiene la consistencia entre un diseño y su implementación.
Promueve una comunicación no ambigua.
![Page 13: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/13.jpg)
Verificación de la Calidaddel Software
Crea pruebas para cada escenario (casos de uso) para asegurar que todos los requerimientos están propiamente implementados.
Verifica la calidad del software con respecto a los requerimientos basados en la confiabilidad, funcionalidad, desempeño de la aplicación y del sistema.
Prueba cada iteración
Los problemas del software son de 100 a 1000 veces mas costososde encontrar y reparar después del desarrollo
![Page 14: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/14.jpg)
Control de Cambiosdel Software
Controlar, llevar un registro y monitorear cambios para permitir un desarrollo iterativo.
Establece espacios de trabajo seguros para cada desarrollador
Provee aislamiento de cambios hechos en otros espacios de trabajo
Controla todos los artefactos de software – modelos, código, documentos, etc…
ALERTREPORT
Administración deEspacios de Trabajo
Desarrollo enParalelo
Administración deConstrucción
Integración deProceso
![Page 15: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/15.jpg)
Estructura de RUP El proceso puede describirse en dos
dimensiones, o a lo largo de dos ejes: El eje horizontal representa tiempo y
muestra el aspecto dinámico del proceso, expresado en términos de ciclos, fases, iteraciones, y metas.
El eje vertical representa el aspecto estático del proceso; como está descrito en términos de actividades, artefactos, trabajadores y flujos de trabajo.
![Page 16: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/16.jpg)
Estructura de RUP Cont.
Administración
Ambiente
Modelación de Negocios
Implementación
Prueba
Análisis y Diseño
Iteración(es)Preliminar
Iter.#1
FasesFlujos de Trabajo de Procesos
Iteraciones
Flujos de Trabajo de Soporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Desarrollo
Admin. Configuración
Requerimientos
Elaboración TransiciónInicio Construcción
Contenido
![Page 17: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/17.jpg)
Fases en RUP Inicio – Define el alcance del proyecto Elaboración – Plan del proyecto, especificación
de características, arquitectura base Construcción – Construir el producto Transición – Transición del producto a la
comunidad del usuario
Inicio ElaboraciónConstrucciónTransición
Tiempo
MetasPrincipales
![Page 18: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/18.jpg)
Fase de Inicio Propósito
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
![Page 19: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/19.jpg)
Ejemplo de Diagrama de Caso de Uso de Negocios
Caso de Negocios: modelar laempresa (como funciona laempresa a la que se le va adesarrollar el software)
![Page 20: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/20.jpg)
Fase de Elaboración Propósito
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
![Page 21: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/21.jpg)
Fase de Construcción Propósito
Desarrollar incrementalmente producto de software completo el cual estará listo para ser transferido al usuario
Productos 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
![Page 22: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/22.jpg)
Fase de Transición Hacer la transición final del producto de
software al usuario Productos
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?
![Page 23: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/23.jpg)
Iteraciones Cada fase en RUP puede descomponerse en
iteraciones. Una iteración es un ciclo de desarrollo completo dando como resultado una entrega de producto ejecutable (interna o externa)
IteraciónIteraciónPreliminarPreliminar
Iteración deIteración deArquitecturaArquitectura
Iteración deIteración deArquitecturaArquitectura
Iteración deIteración deDesarrolloDesarrollo
Iteración deIteración deDesarrolloDesarrollo
Iteración deIteración deDesarrolloDesarrollo
Iteración deIteración deTransiciónTransición
Iteración deIteración deTransiciónTransición
InicioInicio ElaboraciónElaboración ConstrucciónConstrucción TransiciónTransición
Liberaciones
externasinternasiteraciones
![Page 24: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/24.jpg)
Noción de Proceso
Rol que puede ser
desempeñado por un
individuo o conjunto de
individuos en la organización de desarrollo
Trabajador/Quién?
Diseñador
Actividad/Cómo?
Describe una unidad de trabajo
que puede ser asignada a un trabajador.
Diseño deCasos de uso
Pieza de información que es producida,
modificada, ó utilizada por un proceso
Artefacto/Qué?
Paquete deCaso de Uso
Caso de Uso
responsable de
![Page 25: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/25.jpg)
Modelos y Flujos de Trabajo
Una mera enumeración de todos los trabajadores, actividades y artefactos no constituyen un proceso. Se necesita una forma de describir secuencias significativas que produzcan algún resultado válido, y que muestre la interacción entre trabajadores.
Un flujo de trabajo es una secuencia de actividades que producen un resultado de valor observable.
En términos de UML pueden ser expresados como un diagrama de secuencia, un diagrama de colaboración, ó como un diagrama de actividad.
Los grupos de trabajo agrupan actividades en forma lógica
![Page 26: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/26.jpg)
Modelos y Flujos de TrabajoCont.
Modelo deDiseño
Modelo deImplementación
Modelo dePrueba
realizado por
Implementado por
Flujo de Trabajode Requerimientos
Flujo de Trabajo deDiseño de Análisis
Flujo de Trabajode Implementación
Flujo de Trabajode Prueba
Modelo deCaso de Uso
Modelaciónde Negocios
Modelo de Negocios
verificado por
Cada flujo de trabajo describecomo crear y mantener un modeloen particular
![Page 27: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/27.jpg)
Descripción del lenguaje UML
UML es un lenguaje de propósito general para el modelado orientado a objetos, que combina notaciones provenientes desde: Modelado Orientado a Objetos, Modelado de Datos, Modelado de Componentes, Modelado de Flujos de Trabajo (Workflows).
![Page 28: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/28.jpg)
UTILIDADES DE UML
En todos los ámbitos de la ingeniería se construyen modelos, en realidad, simplificaciones de la realidad, para comprender mejor el sistema que vamos a desarrollar: los arquitectos utilizan y construyen planos (modelos) de los edificios, los grandes diseñadores de coches preparan modelos en sistemas existentes con todos los detalles y los ingenieros de software deberían igualmente construir modelos de los sistemas software
![Page 29: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/29.jpg)
Descripción de los diagramas en UML
Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas
de interés. Es aquí donde se hace evidente la importancia de UML en el
contexto de un proceso de desarrollo de software
![Page 30: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/30.jpg)
UML recomienda la utilización de nuevediagramas para representar las distintas vistas de un sistema. Estos diagramas de UML son:
![Page 31: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/31.jpg)
DIAGRAMASa) Diagrama de Casos de Uso: modela la
funcionalidad del sistema agrupándola en descripciones de acciones ejecutadas por un sistema
para obtener un resultado.
b) Diagrama de Clases: muestra las clases (descripciones de objetos que comparten características comunes) que componen el sistema y cómo se relacionan entre sí.
c) Diagrama de Objetos: muestra una serie de objetos (instancias de las clases) y sus relaciones.
![Page 32: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/32.jpg)
DIAGRAMAS
d) Diagramas de Comportamiento: dentro de estos diagramas se encuentran:
· Diagrama de Estados: modela el comportamiento del sistema de acuerdo con eventos.
· Diagrama de Actividades: simplifica el Diagrama de Estados
modelando el comportamiento mediante flujos de actividades.También se pueden utilizar caminos verticales para mostrar
losresponsables de cada actividad.
· Diagramas de Interacción: Estos diagramas a su vez se dividen en 2 tipos de diagramas,
![Page 33: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/33.jpg)
Diagramas de Interacción
Diagrama de Secuencia: enfatiza la interacción entre los objetos y los mensajes que intercambian entre sí junto con el orden temporal de los mismos.
Diagrama de Colaboración: igualmente, muestra la interacción entre los objetos resaltando la organización estructural de los
objetos en lugar del orden de los mensajes intercambiados.
![Page 34: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/34.jpg)
Diagramas de implementación
e) Diagramas de implementación· Diagrama de Componentes: muestra
la organización y las dependencias entre un conjunto de componentes.
· Diagrama de Despliegue: muestra los dispositivos que se encuentran en un sistema y su distribución en el mismo.
![Page 35: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/35.jpg)
Referencias A Simplified Approach to RUP
Gary K. EvansPresident, Evanetics, Inc.http://www.therationaledge.com/content/jan_01/t_rup_ge.html
UML y Patrones, Introducción al Análisis y Diseño Orientado a ObjetosCraig LarmanPrentice-Hall
Rational Unified Process, Best Practices for Software Development TeamsA Rational Software Corporation White Paper
![Page 36: Rational Unified Process ING. YIMONDI FRANCO PEDRAZA JULIO](https://reader036.vdocuments.pub/reader036/viewer/2022082700/54ad6a3b497959bc0a8b540f/html5/thumbnails/36.jpg)