Your SlideShare is downloading. ×
0
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Juti   introducción a uml
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Juti introducción a uml

1,073

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,073
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
72
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introducción a UML AUS. Gustavo Torossi Alejandro E. Alba Hernández
  • 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. 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. ¿ 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. Evolución histórica AUS. Gustavo Torossi Nov ‘97 UML promulgado por la OMG
  • 6. Influencias AUS. Gustavo Torossi
  • 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 &amp; 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. Modelos AUS. Gustavo Torossi E = M * C 2
  • 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. 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. UML - Conceptos AUS. Gustavo Torossi
  • 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. 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. 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. 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. Relación Áreas - Vistas AUS. Gustavo Torossi
  • 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. La Vista Estática AUS. Gustavo Torossi
  • 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. 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. Clases &amp; 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 -&gt; Avión </li></ul></ul><ul><ul><li>algo del negocio -&gt; Pedido </li></ul></ul><ul><ul><li>un concepto lógico -&gt; Horario </li></ul></ul><ul><ul><li>algo de la aplicación -&gt; Window, Botón, Menú </li></ul></ul><ul><ul><li>algo del comportamiento -&gt; Tarea, Proceso </li></ul></ul>AUS. Gustavo Torossi
  • 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. 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. Clases: Niveles de visibilidad <ul><li>Ejemplo </li></ul>AUS. Gustavo Torossi
  • 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. 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. Diagrama de Objetos AUS. Gustavo Torossi Diagrama de Clase Diagrama de Objetos
  • 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. 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. 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. 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. 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 &gt;= 1 establece una restricci ón de existencia </li></ul>AUS. Gustavo Torossi
  • 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. 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. Representación gráfica <ul><li>Agregación </li></ul><ul><li>Composición </li></ul>AUS. Gustavo Torossi
  • 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. Representación Gráfica AUS. Gustavo Torossi
  • 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. 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. 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. Diagrama de clases: ejemplo AUS. Gustavo Torossi
  • 42. AUS. Gustavo Torossi La Vista de Casos de Uso
  • 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. 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. 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. Diagrama de Caso de Uso AUS. Gustavo Torossi Cajero Automático
  • 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 &lt;extracción&gt; 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. AUS. Gustavo Torossi Descripción textual
  • 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. 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. 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. AUS. Gustavo Torossi Caso de Uso: Relaciones <ul><li>Ejemplo </li></ul>
  • 53. AUS. Gustavo Torossi La Vista de Interacción
  • 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 &lt;&lt;realiza&gt;&gt; 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. <ul><li>Énfasis en la secuencia cronológica de los mensajes. </li></ul>AUS. Gustavo Torossi Diagramas de Secuencia
  • 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. AUS. Gustavo Torossi La Vista de Máquina de Estados
  • 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. 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. 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. AUS. Gustavo Torossi Diagramas de Estado <ul><li>Ejemplo: Pila </li></ul>
  • 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. 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. AUS. Gustavo Torossi Estados compuestos
  • 65. AUS. Gustavo Torossi La Vista de Actividades
  • 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. AUS. Gustavo Torossi Diagrama de Actividades
  • 68. AUS. Gustavo Torossi Calles y flujo de objetos
  • 69. AUS. Gustavo Torossi Vistas Físicas
  • 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. AUS. Gustavo Torossi Diagrama de Componentes
  • 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. AUS. Gustavo Torossi Diagrama de Despliegue
  • 74. AUS. Gustavo Torossi Diagrama de Despliegue
  • 75. AUS. Gustavo Torossi La Vista de Gestión
  • 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. 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. 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. 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. 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. 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. AUS. Gustavo Torossi Proceso de Desarrollo
  • 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. AUS. Gustavo Torossi Ciclo de Vida
  • 85. AUS. Gustavo Torossi Ciclo de Vida
  • 86. AUS. Gustavo Torossi Ciclo de Vida
  • 87. AUS. Gustavo Torossi Ciclo de Vida
  • 88. AUS. Gustavo Torossi Herramientas CASE
  • 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 &amp; reverse engineering. </li></ul><ul><li>Ingeniería de ida y vuelta. </li></ul>AUS. Gustavo Torossi Herramientas CASE
  • 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. 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. 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. 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. AUS. Gustavo Torossi ¿ preguntas ? [email_address]

×