Juti introducción a uml

726 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
726
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Juti introducción a uml

  1. 1. Introducción a UML AUS. Gustavo Torossi Alejandro E. Alba Hernández
  2. 2. Mitos sobre UML <ul><li>Aprender UML es aprender el paradigma de objetos. </li></ul><ul><li>UML es una metodología de desarrollo. </li></ul><ul><li>UML es solo para modelos de objetos. </li></ul>AUS. Gustavo Torossi
  3. 3. Entonces ¿qué es UML? <ul><li>UML es un lenguaje “unificado” de modelado para: </li></ul><ul><ul><li>Visualizar </li></ul></ul><ul><ul><li>Especificar </li></ul></ul><ul><ul><li>Construir </li></ul></ul><ul><ul><li>Documentar </li></ul></ul><ul><li>los artefactos de un sistema de software. </li></ul>AUS. Gustavo Torossi Representar y Comunicar Ideas Modelos precisos, no ambiguos, completos Trasladar en forma directa a un leng. prog. Los artefactos construidos durante un proyecto
  4. 4. ¿ Qué significa lenguaje “unificado”? <ul><li>Lenguaje = sintaxis + semántica </li></ul><ul><li>Unificado a través de: </li></ul><ul><ul><li>Métodos y notaciones históricas </li></ul></ul><ul><ul><li>Etapas del ciclo de desarrollo (requerimientos a implementación) </li></ul></ul><ul><ul><li>Dominios de aplicación </li></ul></ul><ul><ul><li>Lenguajes y plataformas de implementación </li></ul></ul><ul><ul><li>Procesos de desarrollo </li></ul></ul>AUS. Gustavo Torossi
  5. 5. Evolución histórica AUS. Gustavo Torossi Nov ‘97 UML promulgado por la OMG
  6. 6. Influencias AUS. Gustavo Torossi
  7. 7. Participantes en UML 1.0 <ul><li>Rational Software </li></ul><ul><li>(Grady Booch, Jim Rumbaugh y Ivar Jacobson) </li></ul><ul><li>Digital Equipment </li></ul><ul><li>Hewlett-Packard </li></ul><ul><li>i-Logix (David Harel) </li></ul><ul><li>IBM </li></ul><ul><li>ICON Computing </li></ul><ul><li>(Desmond D’Souza) </li></ul><ul><li>Intellicorp and James Martin & co. (James Odell) </li></ul><ul><li>MCI Systemhouse </li></ul><ul><li>Microsoft </li></ul><ul><li>ObjecTime </li></ul><ul><li>Oracle Corp. </li></ul><ul><li>Platinium Technology </li></ul><ul><li>Sterling Software </li></ul><ul><li>Taskon </li></ul><ul><li>Texas Instruments </li></ul><ul><li>Unisys </li></ul>AUS. Gustavo Torossi
  8. 8. Modelos AUS. Gustavo Torossi E = M * C 2
  9. 9. ¿Qué es un modelo? <ul><li>Una representación en algún medio que captura los aspectos importantes del sistema modelado desde un determinado punto de vista. </li></ul><ul><li>Un modelo de un sistema software es realizado en un lenguaje de modelado. </li></ul>AUS. Gustavo Torossi
  10. 10. Propósito de los modelos <ul><li>Capturar y precisar requerimientos de un dominio de conocimiento, que sea comprensible por todos los stakeholders del proyecto. </li></ul><ul><li>Pensar sobre un diseño de un sistema. </li></ul><ul><li>Capturar decisiones de diseño de un sistema. </li></ul><ul><li>Explorar posibles soluciones a un problema económicamente. </li></ul><ul><li>Generar productos de trabajo útiles. </li></ul><ul><li>Documentar. </li></ul>AUS. Gustavo Torossi
  11. 11. UML - Conceptos AUS. Gustavo Torossi
  12. 12. UML - Vistas <ul><li>Una vista es un subconjunto de construcciones de modelado que se enfocan en un aspecto particular del sistema. </li></ul><ul><li>Las vistas pueden dividirse en tres áreas: </li></ul><ul><ul><li>Estructural </li></ul></ul><ul><ul><li>Comportamiento dinámico </li></ul></ul><ul><ul><li>Gestión del modelo </li></ul></ul>AUS. Gustavo Torossi
  13. 13. Vistas – Clasificación estructural <ul><li>Describe los elementos del sistema (clasificadores) y sus relaciones. </li></ul><ul><li>Clasificadores más comunes: </li></ul><ul><ul><li>Clases </li></ul></ul><ul><ul><li>Casos de Uso </li></ul></ul><ul><ul><li>Componentes </li></ul></ul><ul><ul><li>Nodos </li></ul></ul><ul><li>Vistas: </li></ul><ul><ul><li>Vista Estática – Diagrama de clases </li></ul></ul><ul><ul><li>Vista de Casos de uso – Diagrama de casos de uso </li></ul></ul><ul><ul><li>Vista de Implementación – Diagrama de Componentes / despliegue </li></ul></ul>AUS. Gustavo Torossi
  14. 14. Vistas – Comportamiento dinámico <ul><li>Describe el comportamiento del sistema a través del tiempo. </li></ul><ul><li>Vista de Interacción: modela como interactúan los objetos para realizar una funcionalidad del sistema </li></ul><ul><ul><li>Diagrama de Colaboración </li></ul></ul><ul><ul><li>Diagrama de Secuencia </li></ul></ul><ul><li>Vista de Máquina de estados: modela el ciclo de vida de una instancia de una clase en estados y transiciones. </li></ul><ul><ul><li>Diagrama de Estados </li></ul></ul><ul><li>Vista de Actividades: modela flujos de trabajo (workflows) </li></ul><ul><ul><li>Diagrama de Actividades </li></ul></ul>AUS. Gustavo Torossi
  15. 15. Vistas – Gestión del modelo <ul><li>Describe la organización de los modelos en unidades jerárquicas. </li></ul><ul><li>Permite manejar la complejidad. </li></ul><ul><li>Permite organizar el sistema en paquetes, subsistemas, y modelos. </li></ul>AUS. Gustavo Torossi
  16. 16. Relación Áreas - Vistas AUS. Gustavo Torossi
  17. 17. Mecanismos de extensión de UML <ul><li>Permiten adaptar los elementos de modelado asignándole una semántica particular. </li></ul><ul><ul><li>Estereotipos </li></ul></ul><ul><ul><li>Valores etiquetados </li></ul></ul><ul><ul><li>Restricciones (OCL) </li></ul></ul>AUS. Gustavo Torossi
  18. 18. La Vista Estática AUS. Gustavo Torossi
  19. 19. La Vista Estática <ul><li>Propósito: </li></ul><ul><ul><li>Captura la estructura de los objetos. </li></ul></ul><ul><ul><li>Es la base sobre la que se construyen las otras vistas. </li></ul></ul><ul><ul><li>Es un modelo incremental. </li></ul></ul><ul><li>Diagrama de Clases </li></ul>AUS. Gustavo Torossi
  20. 20. Clasificación <ul><li>Clasificador : es un concepto discreto en el modelo que tiene identidad, estado, comportamiento, y relaciones. </li></ul><ul><li>Tipos de Clasificadores </li></ul><ul><ul><li>Elementos del Sistema: </li></ul></ul><ul><ul><ul><li>Clase </li></ul></ul></ul><ul><ul><ul><li>Interfaz </li></ul></ul></ul><ul><ul><ul><li>Tipos de datos </li></ul></ul></ul><ul><ul><li>Conceptos de Comportamiento: </li></ul></ul><ul><ul><ul><li>Caso de Uso </li></ul></ul></ul><ul><ul><li>Cosas del entorno: </li></ul></ul><ul><ul><ul><li>Actor </li></ul></ul></ul><ul><ul><li>Estructuras de implementación: </li></ul></ul><ul><ul><ul><li>Componente </li></ul></ul></ul><ul><ul><ul><li>Nodo </li></ul></ul></ul><ul><ul><ul><li>Subsistema </li></ul></ul></ul>AUS. Gustavo Torossi
  21. 21. Clases & Objetos <ul><li>Objeto = estructura + operaciones + estado interno + identidad. </li></ul><ul><li>Un objeto es una instancia de una clase. </li></ul><ul><li>Clase: Conjunto de objetos con estructura, comportamiento, relaciones, y semántica común. </li></ul><ul><li>Ejemplos </li></ul><ul><ul><li>algo físico -> Avión </li></ul></ul><ul><ul><li>algo del negocio -> Pedido </li></ul></ul><ul><ul><li>un concepto lógico -> Horario </li></ul></ul><ul><ul><li>algo de la aplicación -> Window, Botón, Menú </li></ul></ul><ul><ul><li>algo del comportamiento -> Tarea, Proceso </li></ul></ul>AUS. Gustavo Torossi
  22. 22. Clases: Notación Gráfica <ul><li>Cada clase se representa en un rectángulo con tres compartimientos : </li></ul><ul><ul><li>nombre de la clase </li></ul></ul><ul><ul><li>atributos de la clase </li></ul></ul><ul><ul><li>operaciones de la clase </li></ul></ul>AUS. Gustavo Torossi
  23. 23. Clases: Niveles de visibilidad <ul><li>Determina el nivel de encapsulamiento de los elementos de una clase. </li></ul><ul><ul><li>(-) Privado : Los atributos /operaciones son visibles solo desde la propia clase. </li></ul></ul><ul><ul><li>(#) Los atributos /operaciones protegid os están visibles para l a propia clase y para las clases derivadas de la original </li></ul></ul><ul><ul><li>(+) Los atributos /operaciones públic os son visibles a otras clases ( cuando se trata de atributos se está transgrediendo el principio de encapsulación) </li></ul></ul>AUS. Gustavo Torossi
  24. 24. Clases: Niveles de visibilidad <ul><li>Ejemplo </li></ul>AUS. Gustavo Torossi
  25. 25. Clases: Estereotipos <ul><li>Objetos Entidad </li></ul><ul><li>Objetos Interfaz </li></ul><ul><li>Objetos de Control </li></ul>AUS. Gustavo Torossi Empleado UIEmplead Control
  26. 26. Clases y Objetos <ul><li>Diagrama de Clases y Diagramas de Objetos pertenecen a dos vistas complementarias del modelo. </li></ul><ul><li>Un Diagrama de Clases muestra la abstracción de una parte del dominio. </li></ul><ul><li>Un Diagrama de Objetos representa una situación concreta del dominio. </li></ul>AUS. Gustavo Torossi
  27. 27. Diagrama de Objetos AUS. Gustavo Torossi Diagrama de Clase Diagrama de Objetos
  28. 28. AUS. Gustavo Torossi Interfaces <ul><li>Describen un protocolo de comportamiento sin especificar su implementación. </li></ul><ul><li>Contienen operaciones pero no atributos. </li></ul><ul><li>Una interfaz puede ser implementada por varias clases. </li></ul>
  29. 29. Relaciones <ul><li>Las relaciones entre clasificadores son: </li></ul><ul><ul><li>Asociación (conocimiento) </li></ul></ul><ul><ul><li>Agregación / Composición </li></ul></ul><ul><ul><li>Generalización </li></ul></ul><ul><ul><li>Dependencias </li></ul></ul>AUS. Gustavo Torossi
  30. 30. Asociación <ul><li>Asociación: </li></ul><ul><ul><li>Conexión semántica entre instancias de clases. </li></ul></ul><ul><ul><li>proporciona una “conexión” entre los objetos para el envio de mensajes. </li></ul></ul><ul><li>Enlace: </li></ul><ul><ul><li>Instancia de una asociación. </li></ul></ul><ul><ul><li>Lista ordenada de referencias a objetos. </li></ul></ul>AUS. Gustavo Torossi
  31. 31. Asociación: representación gráfica AUS. Gustavo Torossi Persona Compañía trabaja-para nombre s. s. nombre dirección jefe Administra empleado * * emplea-a 0.. 1 0.. 1 0.. 1 * marido casado-con mujer
  32. 32. Asociación: multiplicidad <ul><li>Especificación de multiplicidad (mínima...máxima) </li></ul><ul><ul><li>1 Uno y sólo uno </li></ul></ul><ul><ul><li>0..1 Cero o uno </li></ul></ul><ul><ul><li>M..N De sde M hasta N (enteros naturales) </li></ul></ul><ul><ul><li>* C ero o muchos </li></ul></ul><ul><ul><li>0..* Cero o muchos </li></ul></ul><ul><ul><li>1..* U no o muchos (al menos uno) </li></ul></ul><ul><li>La multiplicidad mínima >= 1 establece una restricci ón de existencia </li></ul>AUS. Gustavo Torossi
  33. 33. Asociación: casos especiales <ul><li>Asociación como clase </li></ul><ul><li>Asociación calificada </li></ul><ul><li>Asociación ordenada </li></ul><ul><li>Restricción </li></ul>AUS. Gustavo Torossi Cuenta Persona 1 * or Empresa * *
  34. 34. Agregación y composición <ul><li>Representa una relación todo-partes entre objetos. </li></ul><ul><li>Son una variación de la asociación con mayor fuerza semántica. </li></ul><ul><li>Una composición es una forma de asociación más fuerte en la cual el compuesto es responsable de gestionar sus partes, por ejemplo asignación y desasignación. La composición implica tres cosas </li></ul><ul><ul><li>Dependencia existencial. El elemento dependiente desaparece al destruirse el que lo contiene y, si es de cardinalidad 1, es creado al mismo tiempo. </li></ul></ul><ul><ul><li>Hay una pertenencia fuerte. Se puede decir que el objeto contenido es parte constitutiva y vital del que lo contiene </li></ul></ul><ul><ul><li>Los objetos contenidos no son compartidos, esto es, no hacen parte del estado de otro objeto. </li></ul></ul>AUS. Gustavo Torossi
  35. 35. Representación gráfica <ul><li>Agregación </li></ul><ul><li>Composición </li></ul>AUS. Gustavo Torossi
  36. 36. Generalización <ul><li>Relación taxonómica entre una descripción general y otra más específica que la extiende. </li></ul><ul><li>Relación “es un tipo de” . </li></ul><ul><li>Herencia: mecanismo a través del cual los atributos, operaciones, y restricciones definidas para una clase, denominada superclase , pueden ser heredados (reutilizados) por otras clase denominadas subclases . </li></ul>AUS. Gustavo Torossi
  37. 37. Representación Gráfica AUS. Gustavo Torossi
  38. 38. Herencia Múltiple AUS. Gustavo Torossi Animal Bípedo Cuadrúpedo Con Pelos Con Plumas Con Escamas Her b í v oro Carn ív oro cubertura cobertura cobertura comida nro patas nro patas comida Conejo
  39. 39. Dependencias <ul><li>Indica una relación semántica entre dos o más elementos del modelo en la cual un cambio al elemento proveedor puede requerir un cambio o indicar un cambio en el significado del elemento cliente en la dependencia . </li></ul>AUS. Gustavo Torossi
  40. 40. Dependencias <ul><li>De traza </li></ul><ul><li>De refinamiento </li></ul><ul><li>De uso </li></ul><ul><li>De importación </li></ul><ul><li>… </li></ul>AUS. Gustavo Torossi
  41. 41. Diagrama de clases: ejemplo AUS. Gustavo Torossi
  42. 42. AUS. Gustavo Torossi La Vista de Casos de Uso
  43. 43. La Vista de Casos de Uso <ul><li>Capturan los requerimientos funcionales del sistema </li></ul><ul><li>Describen la forma de usar el sistema tal como se la ve desde el exterior. </li></ul><ul><li>Visión de “caja negra” del sistema. </li></ul><ul><li>No es un modelo orientado a objetos. </li></ul><ul><li>Particiona la funcionalidad del sistema en unidades discretas: los casos de uso. </li></ul><ul><li>Concepto introducido por I.Jacobson en OOSE. </li></ul><ul><li>Diagramas de Casos de Uso: Actores + Caso de uso </li></ul>AUS. Gustavo Torossi
  44. 44. Actor <ul><li>Representa algo que interactúa con el sistema. </li></ul><ul><li>Puede ser humano u otro sistema. </li></ul><ul><li>Reside fuera del sistema. Describe el entorno. </li></ul><ul><li>Describe un “rol” que asume un usuario. </li></ul><ul><li>La misma persona física puede asumir distintos roles. </li></ul><ul><li>Ejemplos: </li></ul><ul><ul><li>Cliente del Banco </li></ul></ul><ul><ul><li>Cajero </li></ul></ul><ul><ul><li>Sistema Link </li></ul></ul>AUS. Gustavo Torossi
  45. 45. Caso de Uso <ul><li>Secuencia de transacciones realizadas por el sistema que brinda un resultado de valor a un actor. </li></ul><ul><li>Describe una “forma” de utilizar el sistema. </li></ul><ul><li>Funciones: </li></ul><ul><ul><li>Capturan requerimientos funcionales del sistema. </li></ul></ul><ul><ul><li>Estructuran los modelos de objetos en vistas manejables. </li></ul></ul><ul><li>Un caso de uso puede tener varios caminos de acción o “escenarios”. </li></ul><ul><li>Los casos de uso sirven como hilo conductor del proceso de desarrollo. </li></ul>AUS. Gustavo Torossi
  46. 46. Diagrama de Caso de Uso AUS. Gustavo Torossi Cajero Automático
  47. 47. Descripción textual AUS. Gustavo Torossi CU Extracción – Camino Estandard 1 Un mensaje de bienvenida está en espera en la pantalla del CA. 2 El cliente inserta su tarjeta en el CA. 3 El CA lee el codigo de la banda magnética y verifica que sea aceptable. 4 Si la tarjeta es aceptable, el CA solicita al cliente su código PIN. 5 El cliente ingresa su código PIN. 6 Si el código PIN es correcto, el CA solicita al cliente el tipo de transacción a realizar. 7 El cliente selecciona <extracción> y el CA envía el código PIN al Sistema bancario solicitando los datos de la cuenta del cliente. 8 Los datos de la cuenta recibidos se despliegan en la pantalla. 9 El cliente selecciona una cuenta y el monto a extraer. 10 El CA envia al sistema bancario el requerimiento de extracción. 11 El CA preparan los billetes a ser dispensados. 12 El CA imprime el comprobante del movimiento. 13 Los billetes son dispensados al cliente.
  48. 48. AUS. Gustavo Torossi Descripción textual
  49. 49. Caso de Uso: Relaciones <ul><li>Inclusión: </li></ul><ul><ul><li>Secuencias comunes a varios casos de uso. </li></ul></ul>AUS. Gustavo Torossi
  50. 50. AUS. Gustavo Torossi Caso de Uso: Relaciones <ul><li>Extensión: </li></ul><ul><ul><li>Partes opcionales de un caso de uso. </li></ul></ul>
  51. 51. AUS. Gustavo Torossi Caso de Uso: Relaciones <ul><li>Generalización: </li></ul><ul><ul><li>Distintas variantes de un caso de uso. (“es un tipo de”) </li></ul></ul>
  52. 52. AUS. Gustavo Torossi Caso de Uso: Relaciones <ul><li>Ejemplo </li></ul>
  53. 53. AUS. Gustavo Torossi La Vista de Interacción
  54. 54. <ul><li>Representa como interactúan cooperativamente los objetos para implementar el comportamiento definido por los casos de uso. </li></ul><ul><li>Colaboración: </li></ul><ul><ul><li>Interacción entre un conjunto de objetos para implementar un comportamiento del sistema. </li></ul></ul><ul><ul><li>Una colaboración <<realiza>> la funcionalidad definida en un casos de uso. </li></ul></ul><ul><li>Interacción: </li></ul><ul><ul><li>Una interacción es un conjunto de mensajes que se intercambian dentro del contexto de una colaboración por instancias de clases (objetos) a través de enlaces (instancias de asociación). </li></ul></ul>AUS. Gustavo Torossi La Vista de Interacción
  55. 55. <ul><li>Énfasis en la secuencia cronológica de los mensajes. </li></ul>AUS. Gustavo Torossi Diagramas de Secuencia
  56. 56. Diagrama de Colaboración AUS. Gustavo Torossi <ul><li>Énfasis en la distribución física y relaciones de los objetos. </li></ul>
  57. 57. AUS. Gustavo Torossi La Vista de Máquina de Estados
  58. 58. La Vista de Máquina de Estados <ul><li>Describe el comportamiento dinámico de los objetos, modelando su ciclo de vida. </li></ul><ul><li>Autómatas finitos con estados y transiciones. </li></ul><ul><li>Cada objeto se trata en forma aislada, el que se comunica con el resto del mundo detectando eventos y respondiendo a ellos. </li></ul><ul><li>Es útil modelar solo para objetos con comportamiento estado-dependiente. </li></ul><ul><li>Uso de Diagramas de Estado. </li></ul>AUS. Gustavo Torossi
  59. 59. Diagramas de Estado <ul><li>Cada objeto está en un estado en cierto instante. </li></ul><ul><li>El estado describe un período de tiempo caracterizado por: </li></ul><ul><ul><li>Conjunto de valores de atributos y relaciones del objeto. </li></ul></ul><ul><ul><li>Período de tiempo durante el que se espera que ocurra un evento </li></ul></ul><ul><ul><li>Período de tiempo durante el cual el objeto realiza una actividad </li></ul></ul><ul><li>El estado en el que se encuentra un objeto determina su comportamiento. </li></ul><ul><li>Cada objeto sigue el comportamiento descrito en el D. de Estados asociado a su clase. </li></ul><ul><li>La transición entre estados es instantánea y se debe a la ocurrencia de un evento. </li></ul>AUS. Gustavo Torossi
  60. 60. AUS. Gustavo Torossi Diagramas de Estado <ul><li>Estados y Transiciones </li></ul>A B Evento [condición] / Acción El evento se considera instantáneo
  61. 61. AUS. Gustavo Torossi Diagramas de Estado <ul><li>Ejemplo: Pila </li></ul>
  62. 62. AUS. Gustavo Torossi Eventos <ul><li>Acontecimiento significativo que tiene localización en tiempo y espacio. </li></ul><ul><li>No tiene duración. Instantáneo </li></ul><ul><li>Tipo de eventos </li></ul><ul><ul><li>Señal: comunicación asíncrona entre objetos. </li></ul></ul><ul><ul><li>Llamada: invocación sincrónica de método del objeto que recibe el evento. </li></ul></ul><ul><ul><li>Cambio: satisfacción de una condición lógica que depende de valores de un atributo. </li></ul></ul><ul><ul><li>Tiempo: instante absoluto, o lapso transcurrido. </li></ul></ul><ul><li>Pueden modelarse con clases y jerarquías </li></ul>
  63. 63. AUS. Gustavo Torossi Acciones <ul><li>Una acción es un cómputo atómico y breve </li></ul><ul><ul><li>una sentencia de asignación </li></ul></ul><ul><ul><li>una operación aritmética </li></ul></ul><ul><ul><li>el envío de una señal a otro objeto </li></ul></ul><ul><ul><li>la invocación de una operación propia </li></ul></ul><ul><ul><li>asignación de valores de retorno </li></ul></ul><ul><ul><li>creación o destrucción de objetos </li></ul></ul><ul><ul><li>una secuencia de acciones simples </li></ul></ul><ul><li>Acciones específicas de entrada, salida, durante, un estado o por un evento </li></ul>estado A entry: acción por entrar exit: acción por salir do: acción mientras en estado on evento : acción
  64. 64. AUS. Gustavo Torossi Estados compuestos
  65. 65. AUS. Gustavo Torossi La Vista de Actividades
  66. 66. AUS. Gustavo Torossi La Vista de Actividades <ul><li>Variante de la máquina de estados para modelar flujos de trabajo. </li></ul><ul><li>Utilización de diagramas de actividad. Caso particular de los diagramas de estado. </li></ul><ul><li>Los estados representan estados de actividad no de un objeto. </li></ul>
  67. 67. AUS. Gustavo Torossi Diagrama de Actividades
  68. 68. AUS. Gustavo Torossi Calles y flujo de objetos
  69. 69. AUS. Gustavo Torossi Vistas Físicas
  70. 70. <ul><li>Modela el empaquetado físico del sistema en unidades reutilizables llamadas “componentes”. </li></ul><ul><li>Un componente es una unidad física de implementación con interfaces definidas pensada para ser utilizada como parte reemplazable del sistema. </li></ul><ul><li>Cada componente implementa una o más clases del diseño. </li></ul><ul><li>Incluyen código fuente, binario, o ejecutable. </li></ul><ul><li>Los componentes se vinculan por relaciones de dependencia. </li></ul>AUS. Gustavo Torossi Vista de Implementación
  71. 71. AUS. Gustavo Torossi Diagrama de Componentes
  72. 72. <ul><li>Modela la disposición física de los recursos de ejecución computacional (computadores, unidades de com., etc.) </li></ul><ul><li>Nodo: es un objeto físico de ejecución que representa un recurso computacional. Pueden tener estereotipos (UCP, memorias, disk, etc.) </li></ul><ul><li>Las asociaciones entre nodos representan líneas de comunicación. </li></ul><ul><li>Se representan por diagramas de despliegue. </li></ul>AUS. Gustavo Torossi Vista de Despliegue
  73. 73. AUS. Gustavo Torossi Diagrama de Despliegue
  74. 74. AUS. Gustavo Torossi Diagrama de Despliegue
  75. 75. AUS. Gustavo Torossi La Vista de Gestión
  76. 76. <ul><li>La Vista de Gestión del modelo está compuesta por paquetes y relaciones de dependencia entre paquetes. </li></ul><ul><li>Paquete : es una unidad de organización del modelo. </li></ul><ul><li>Los paquetes ofrecen un mecanismo general para la organización de los m odelos / subsistemas agrupa ndo elementos de modelado. </li></ul><ul><li>Los paquetes contienen elementos del modelo como clases, diagramas de casos de uso, interacciones, etc. </li></ul><ul><li>Todos los elementos del modelo deben pertenecer a un paquete. </li></ul><ul><li>Los paquetes tambien pueden contener otros paquetes. </li></ul>AUS. Gustavo Torossi La Vista de Gestión
  77. 77. AUS. Gustavo Torossi La Vista de Gestión <ul><li>Los paquetes pueden organizarse según el criterio del diseñador: </li></ul><ul><ul><li>Por la vista (estática, casos de uso, etc.) </li></ul></ul><ul><ul><li>Por subsistema </li></ul></ul><ul><ul><li>Por etapa del ciclo de desarrollo. </li></ul></ul><ul><li>Una buena organización refleja la arquitectura de alto nivel del sistema. </li></ul>
  78. 78. AUS. Gustavo Torossi 4 + 1 vistas de Kruchten Vista Lógica Vista de Procesos Vista de Distribución Vista de Realización Vista de los Casos de Uso
  79. 79. AUS. Gustavo Torossi Dependencias de acceso / importación <ul><li>Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa </li></ul><ul><li>El operador “::” permite designar una clase definida en un contexto distinto del actual </li></ul>
  80. 80. AUS. Gustavo Torossi Dependencias de acceso / importación <ul><li>La dependencia de acceso no modifica el espacio de nombres del cliente. Solo concede permiso para establecer referencias. </li></ul><ul><li>La dependencia de importación se utiliza para agregar nombres al espacio de nombres del paquete del cliente como sinónimos de los caminos completos. </li></ul>
  81. 81. AUS. Gustavo Torossi Modelo y Subsistema <ul><li>Un modelo es un paquete que abarca una descripción completa de una vista particular de un sistema. Proporciona una descripción cerrada de un sistema a partir de un punto de vista. </li></ul><ul><li>Un subsistema es un paquete que tiene piezas separadas de especificación y de realización. Representa una partición del sistema. </li></ul>
  82. 82. AUS. Gustavo Torossi Proceso de Desarrollo
  83. 83. AUS. Gustavo Torossi Proceso de Desarrollo <ul><li>UML no prescribe ningún proceso de desarrollo. </li></ul><ul><li>Sin embargo se recomienda un proceso: </li></ul><ul><ul><li>Dirigido por Casos de Uso </li></ul></ul><ul><ul><li>Centrado en la Arquitectura </li></ul></ul><ul><ul><li>Iterativo e Incremental </li></ul></ul><ul><li>Ejemplo: Proceso Unificado (RUP) </li></ul>
  84. 84. AUS. Gustavo Torossi Ciclo de Vida
  85. 85. AUS. Gustavo Torossi Ciclo de Vida
  86. 86. AUS. Gustavo Torossi Ciclo de Vida
  87. 87. AUS. Gustavo Torossi Ciclo de Vida
  88. 88. AUS. Gustavo Torossi Herramientas CASE
  89. 89. <ul><li>UML no es un leguaje de programación visual, pero sus modelos pueden conectarse directamente con una variedad de lenguajes. </li></ul><ul><li>Forward & reverse engineering. </li></ul><ul><li>Ingeniería de ida y vuelta. </li></ul>AUS. Gustavo Torossi Herramientas CASE
  90. 90. AUS. Gustavo Torossi Herramientas CASE <ul><li>Rational Rose (www.rational.com) </li></ul><ul><li>Rational XDE (www.rational.com) </li></ul><ul><li>Borland Together (www.borland.com/together/) </li></ul><ul><li>Embarcadero Describe (www.embarcadero.com/) </li></ul>
  91. 91. AUS. Gustavo Torossi Herramientas CASE - Libres <ul><li>Argo UML (argouml.tigris.org) </li></ul><ul><li>Poseidon (www.gentleware.com) </li></ul><ul><li>Dome ( www.htc.honeywell.com/dome ) </li></ul><ul><li>Comparativa: </li></ul><ul><ul><li>http://www.diatel.upm.es/malvarez/UML/Comparativa.html </li></ul></ul>
  92. 92. AUS. Gustavo Torossi Bibliografía Título Autor ISBN El Lenguaje Unificado de Modelado Manual de Referencia James Rumbaugh 8478290370 El Lenguaje Unificado de Modelado Guía del Usuario Grady Booch 8478290281 UML Gota a gota Martin Fowler 9684443641 UML y Patrones Craig Larman 8420534382
  93. 93. AUS. Gustavo Torossi Recursos en la Web <ul><li>UML Resource Center (www.rational.com/uml/index.jsp) </li></ul><ul><li>The Rational Edge (www.therationaledge.com/) </li></ul>
  94. 94. AUS. Gustavo Torossi ¿ preguntas ? [email_address]

×