1 / 53

Curso de UML

Curso de UML. Definición de UML. Es un conjunto de notaciones para la creación de modelos de objetos.

candy
Download Presentation

Curso de UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Curso de UML JEML

  2. Definición de UML • Es un conjunto de notaciones para la creación de modelos de objetos. • Es un lenguaje para la especificación, visua-lización, construcción y documentación de los artefactos de sistemas de software, así como para modelar negocios o cualquier sistema que no sea software. M.C. Jorge Eduardo Macias Luevano

  3. Razones de aparición de UML • Necesidad de estandarizar los lenguajes de modelación para la industria de software orientado a objetos. • Necesidad del desarrollo de un buen modelo del sistema de software a desarrollar. • Crear un conjunto de notaciones y semántica que abarque adecuadamente todas las escalas de arquitecturas complejas, de software, a través de todos los dominios M.C. Jorge Eduardo Macias Luevano

  4. Metas del UML • Definir un lenguaje de modelación visual fácil de usar y semánticamente rico. • Estandarizar los lenguajes de modelación orientados a objetos (Booch, OMT, OOSE) • Suministrar mecanismos de especificación extendibles. • Integrar las mejores prácticas de la industria • Fortalecer el crecimiento del mercado de herramientas orientadas a objetos. M.C. Jorge Eduardo Macias Luevano

  5. Metas del UML • Soportar conceptos contemporáneos de desarrollo de software: • Componentes, colaboración, estructuras, patrones, escalable, concurrencia, distribución, etc. • Proveer flexibilidad para su aplicación en diferentes procesos. • Habilitar el intercambio de modelos y definir un depósito de interfaces. M.C. Jorge Eduardo Macias Luevano

  6. Alcance del UML • Es un lenguaje para especificación, visualización y documentación de los artefactos de un sistema de software. • Fusiona los conceptos de Booch, OMT (Técnica de Modelado de Objetos) y OOSE (Ing. de Software OO); resultando un lenguaje de modelación sencillo, común y ampliamente usado. • Aumenta la cobertura de lo que se puede hacer con los métodos existentes. M.C. Jorge Eduardo Macias Luevano

  7. Alcance del UML • Es un lenguaje de modelación estándar no es un proceso estándar. • Especifica un lenguaje de modelación que incorpora el consenso de la comunidad OO. • Permite desviaciones que estén expresadas en sus mecanismos de extensión. M.C. Jorge Eduardo Macias Luevano

  8. Alcance del UML • UML provee: • Una semántica y notación con una amplia variedad de factores de modelación. • Una semántica que contenga ciertos factores de de modelación esperados en el futuro; relacionados con componentes tecnológicos, sist. distribuidos, estructuras. • Mecanismos de extensión. M.C. Jorge Eduardo Macias Luevano

  9. Elementos fuera del UML • Lenguaje de programación: UML es un lenguaje de modelación visual. • Herramientas: las herramientas se pueden basar en UML. • Procesos: UML es intencionalmente independiente del proceso. M.C. Jorge Eduardo Macias Luevano

  10. I. Introducción: UML Situación de Partida • Diversos métodos y técnicas OO, con muchos aspectos en común pero utilizando distintas notaciones • Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas, etc. • Pugna entre distintos enfoques (y correspondientes gurús) • Establecer una notación estándar M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  11. I. Introducción: UML Historia de UML • Comenzó como el “Método Unificado”, con la participación de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA’95 • El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía Rational Software. Herramienta CASE Rational Rose M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  12. I. Introducción: UML Historia de UML UML 2.0 2001 UML 1.4 2000 1999 UML 1.3 Revisiones menores 1998 UML 1.2 Nov ‘97 UML aprobado por el OMG M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  13. Rational Software (Grady Booch, Jim Rumbaugh y Ivar Jacobson) Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing (Desmond D’Souza) Intellicorp and James Martin & co. (James Odell) MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys I. Introducción: UML Participantes en UML 1.0 M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  14. I. Introducción: UML UML “aglutina” enfoques OO Rumbaugh Booch Jacobson Odell Meyer Pre- and Post-conditions Shlaer-Mellor UML Object life cycles Harel State Charts Gamma et. al. Frameworks, patterns, notes Embly Wirfs-Brock Singleton classes Responsabilities Fusion Operation descriptions, M.C. Jorge Eduardo Macias Luevano message numbering www.dsic.upv.es/~uml

  15. I. Introducción: UML Aspectos Novedosos • Definición semi-formal del Metamodelo de UML • Mecanismos de Extensión en UML: • Stereotypes • Constraints • Tagged Values • Permiten adaptar los elementos de modelado, • asignándoles una semántica particular M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  16. I. Introducción: UML Inconvenientes en UML • Definición del proceso de desarrollo usando UML. UML no es una metodología • Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, documentación, etc. • Ejemplos aislados • “Monopolio de conceptos, técnicas y métodos en torno a UML” M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  17. I. Introducción: UML Perspectivas de UML • UML será el lenguaje de modelado orientado a objetos estándar predominante los próximos años • Razones: • Participación de metodólogos influyentes • Participación de importantes empresas • Aceptación del OMG como notación estándar M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  18. Perspectivas de UML • Evidencias: • Herramientas que proveen la notación UML • “Edición” de libros • Congresos, cursos, “camisetas”, etc. M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

  19. Artefactos del UML JEML

  20. Bloques de Construcción del UML • Elementos/Objetos • Relaciones • Diagramas M.C. Jorge Eduardo Macias Luevano

  21. Elementos en UML • Elementos estructurales • Las partes mas estáticas del modelo • clase, interface, colaboración, caso de uso, clase activa, componente, nodo • Elementos de Comportamiento • Partes dinámicas de los modelos de UML • interacción, maquinas de estado • Elementos de Agrupación • Partes organizacionales de UML • Paquetes y subsistemas • Otros elementos • Partes explicativas de UML • notas M.C. Jorge Eduardo Macias Luevano

  22. Relaciones • Dependencia • Una relación semántica entre dos elementos en donde un cambio en un elemento (el independiente) puede afectar la semántica del otro elemento (dependiente) • Asociación • Una relación estructural que describe un conjunto de ligas M.C. Jorge Eduardo Macias Luevano

  23. Relaciones • Generalización • Una relación de especialización/generalización en la cual el hijo le comparte, la estructura y el comportamiento al padre • Realización • Una relación semántica entre clasificadores, donde un clasificadores especifica un contrato que otro clasificador se encarga de realizar. M.C. Jorge Eduardo Macias Luevano

  24. State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Object Diagrams Class Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams Sequence Diagrams Statechart Diagrams Collaboration Diagrams Diagramas en UML Models Activity Diagrams M.C. Jorge Eduardo Macias Luevano

  25. Diagramas • Un diagrama es una vista dentro de un modelo • Presentado desde el aspecto de un punto de vista particular • Provee una representación parcial del sistema • Es semánticamente consistente con otras vistas M.C. Jorge Eduardo Macias Luevano

  26. Vistas estáticas: Casos de uso Clases Objetos Componentes Despliegue Vistas dinámicas: Secuencia Colaboración De estado Actividad Diagramas UML cuenta con nueve diagramas estándar M.C. Jorge Eduardo Macias Luevano

  27. Diagramas de Casos de Uso • Muestra un conjunto de casos de uso, sus actores y sus relaciones. M.C. Jorge Eduardo Macias Luevano

  28. Diagramas de Casos de Uso • Captura la funcionalidad del sistema como es vista por los usuarios. • Se crean en etapas tempranas del desarrollo • Propósito • especificar el contexto de un sistema • Captura los requerimientos de sistema • Validar la arquitectura del sistema • Dirige la implementación y genera casos de prueba • Desarrollados por analistas y expertos del dominio M.C. Jorge Eduardo Macias Luevano

  29. Diagrama de Clases • Muestra un conjunto de clases, interfaces, y colaboraciones y sus relaciones M.C. Jorge Eduardo Macias Luevano

  30. Diagrama de Clases • Captura el vocabulario de un sistema • Conforma la vista estática del diseño de un sistema • Se crea y se redefine a través de todo el desarrollo. • Propósito: • Nombrar y modelar conceptos en el sistema • Especifica colaboraciones • Especifica esquemas lógicos de bases de datos • Desarrollado por analistas, diseñadores, e implementadores M.C. Jorge Eduardo Macias Luevano

  31. Diagramas de Objetos • Muestra un conjunto de objetos y sus relaciones M.C. Jorge Eduardo Macias Luevano

  32. Diagramas de Objetos • Representa instantáneas estáticas de instancias de las cosas que se encuentran en los diagramas de clases. • Comprende la vista estática del diseño o la vista estática del proceso de un sistema. • Se crea durante el análisis y el diseño. • Propósito: • Ilustrar la estructura de datos/objetos • Especificar instantáneas • Desarrollado por analistas, diseñadores e implementadores M.C. Jorge Eduardo Macias Luevano

  33. Diagramas de Componentes • Muestra la organización y dependencias entre un conjunto de componentes M.C. Jorge Eduardo Macias Luevano

  34. Diagramas de Componentes • Comprende la vista estática de la implementación de un sistema. • Se construye como parte de especificación arquitectónica. • Propósito: • Organizar el código fuente • Construir una versión ejecutable. • Especificar una Base de datos física. • Desarrollado por diseñadores y programadores. M.C. Jorge Eduardo Macias Luevano

  35. Diagramas de Despliegue • Muestran la configuración los nodos de procesos run-time y los componentes que viven en ellos. M.C. Jorge Eduardo Macias Luevano

  36. Diagramas de Despliegue • Captura la topología del hardware del sistema • Se crea como parte de la especificación arquitectónica. • Propósito: • Especificar la distribución de componentes • Identificar cuellos de botella del desempeño • Desarrollado por arquitectos, ingenieros de redes e ingenieros de sistemas M.C. Jorge Eduardo Macias Luevano

  37. Diagramas de Actividad • Muestra el flujo de actividades, dentro de un sistema. O la secuencia de actividades. M.C. Jorge Eduardo Macias Luevano

  38. Diagramas de Actividad • Captura el comportamiento dinámico (orientado a las actividades) • Un tipo especial de diagrama de estado • Propósito: • Modela la función de un sistema • Modela el flujo de control entre objetos • Modela el flujo de trabajo del negocio • Modela las operaciones M.C. Jorge Eduardo Macias Luevano

  39. II. Breve Tour por UML … Otro Ejemplo (con swim lines) Pasajero Airline Vendedor Solicitar pasaje Verificar existencia vuelo Dar detalles vuelo Informar alternativas y precios Seleccionar vuelo Solicitar pago Reservar plazas Confirmar plaza reservada Pagar pasaje Emitir billete M.C. Jorge Eduardo Macias Luevano

  40. Diagramas de Secuencia • Enfatiza el orden de los mensajes en el tiempo M.C. Jorge Eduardo Macias Luevano

  41. Diagramas de Secuencia • Captura el comportamiento dinámico (orientado al tiempo) • Es un tipo de diagrama de interacción • Propósito: • Modelar el flujo de control • Ilustra escenarios típicos M.C. Jorge Eduardo Macias Luevano

  42. Diagramas de Colaboración • Enfatiza la organización estructural de los objetos que envían y reciben mensajes. M.C. Jorge Eduardo Macias Luevano

  43. Diagramas de Colaboración • Captura el comportamiento dinámico (orientado a los mensajes) • Es un tipo de diagrama de interacción • Propósito: • Modelar el flujo de control • Ilustrar la coordinación de la estructura de objetos y el control M.C. Jorge Eduardo Macias Luevano

  44. Diagramas de Etado • Muestra una maquina de estado; compuesta de estados, transiciones, eventos y actividades. M.C. Jorge Eduardo Macias Luevano

  45. Diagramas de Estado • Captura el comportamiento dinámico (orientado a los eventos) • El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado evento • Propósito: • Modelar el ciclo de vida del objeto • Modelar objetos reactivos (interfaces del usuario, dispositivos, etc.) M.C. Jorge Eduardo Macias Luevano

  46. II. Breve Tour por UML Paquetes en UML • Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado • Se representan gráficamente como: M.C. Jorge Eduardo Macias Luevano

  47. II. Breve Tour por UML … Paquetes en UML • Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema) • Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete • Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes M.C. Jorge Eduardo Macias Luevano

  48. II. Breve Tour por UML … Paquetes en UML • Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa • El operador “::” permite designar una clase definida en un contexto distinto del actual Práctica 1 M.C. Jorge Eduardo Macias Luevano

  49. II. Breve Tour por UML … Paquetes en UML Práctica 1 M.C. Jorge Eduardo Macias Luevano

  50. Clases, interfaces, colaboraciones Componentes Use cases Vista Caso de Uso Clases Activas Nodos Organization Package, subsystem Dynamics Interaction State machine Arquitectura y el UML Vista Diseño Vista Implementación Vista Proceso Vista Despliegue M.C. Jorge Eduardo Macias Luevano

More Related