Curso de UML JEML Definicin de UML Es

  • Slides: 53
Download presentation
Curso de UML JEML

Curso de UML JEML

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

Definición de UML Es un conjunto de notaciones para la creación de modelos de objetos. n Es un lenguaje para la especificación, visualizació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. n M. C. Jorge Eduardo Macias Luevano

Razones de aparición de UML Necesidad de estandarizar los lenguajes de modelación para la

Razones de aparición de UML Necesidad de estandarizar los lenguajes de modelación para la industria de software orientado a objetos. n Necesidad del desarrollo de un buen modelo del sistema de software a desarrollar. n 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 n M. C. Jorge Eduardo Macias Luevano

Metas del UML Definir un lenguaje de modelación visual fácil de usar y semánticamente

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

Metas del UML n Soportar conceptos contemporáneos de desarrollo de software: – Componentes, colaboración,

Metas del UML n 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. n Habilitar el intercambio de modelos y definir un depósito de interfaces. n M. C. Jorge Eduardo Macias Luevano

Alcance del UML n n n Es un lenguaje para especificación, visualización y documentación

Alcance del UML n n n 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

Alcance del UML Es un lenguaje de modelación estándar no es un proceso estándar.

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

Alcance del UML n UML provee: – Una semántica y notación con una amplia

Alcance del UML n 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

Elementos fuera del UML Lenguaje de programación: UML es un lenguaje de modelación visual.

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

I. Introducción: UML Situación de Partida § Diversos métodos y técnicas OO, con muchos

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) n Establecer una notación estándar M. C. Jorge Eduardo Macias Luevano www. dsic. upv. es/~uml

I. Introducción: UML Historia de UML § Comenzó como el “Método Unificado”, con la

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

I. Introducción: UML Historia de UML 2. 0 2001 UML 1. 4 2000 1999

I. Introducción: UML Historia de UML 2. 0 2001 UML 1. 4 2000 1999 1998 Nov ‘ 97 UML 1. 3 Revisiones menores UML aprobado por el OMG UML 1. 2 M. C. Jorge Eduardo Macias Luevano www. dsic. upv. es/~uml

I. Introducción: UML Participantes en UML 1. 0 § Rational Software § § §

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

I. Introducción: UML “aglutina” enfoques OO Rumbaugh Booch Jacobson Odell Meyer Pre- and Post-conditions

I. Introducción: 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 Singleton classes Wirfs-Brock Fusion Responsabilities Operation descriptions, numbering M. C. Jorge message Eduardo Macias Luevano www. dsic. upv. es/~uml

I. Introducción: UML Aspectos Novedosos § Definición semi-formal del Metamodelo de UML § Mecanismos

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

I. Introducción: UML Inconvenientes en UML § Definición del proceso de desarrollo usando UML

I. Introducción: UML Inconvenientes en UML § Definición del proceso de desarrollo usando 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

I. Introducción: UML Perspectivas de UML § UML será el lenguaje de modelado orientado

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

Perspectivas de UML § Evidencias: – Herramientas que proveen la notación UML – “Edición”

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

Artefactos del UML JEML

Artefactos del UML JEML

Bloques de Construcción del UML Elementos/Objetos n Relaciones n Diagramas n M. C. Jorge

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

Elementos en UML n Elementos estructurales – Las partes mas estáticas del modelo »

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

Relaciones n Dependencia – Una relación semántica entre dos elementos en donde un cambio

Relaciones n 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) n Asociación – Una relación estructural que describe un conjunto de ligas M. C. Jorge Eduardo Macias Luevano

Relaciones n Generalización – Una relación de especialización/generalización en la cual el hijo le

Relaciones n Generalización – Una relación de especialización/generalización en la cual el hijo le comparte, la estructura y el comportamiento al padre n 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

Diagramas en UML Scenario Diagrams Statechart Diagrams Use Case Diagrams Scenario Diagrams Collaboration Diagrams

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

Diagramas n Un diagrama es una vista dentro de un modelo – Presentado desde

Diagramas n 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

Diagramas UML cuenta con nueve diagramas estándar n Vistas estáticas: – – – Casos

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

Diagramas de Casos de Uso n Muestra un conjunto de casos de uso, sus

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

Diagramas de Casos de Uso n n n Captura la funcionalidad del sistema como

Diagramas de Casos de Uso n n n Captura la funcionalidad del sistema como es vista por los usuarios. Se crean en etapas tempranas del desarrollo Propósito – – n 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

Diagrama de Clases n Muestra un conjunto de clases, interfaces, y colaboraciones y sus

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

Diagrama de Clases n n Captura el vocabulario de un sistema Conforma la vista

Diagrama de Clases n n 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: – – – n 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

Diagramas de Objetos n Muestra un conjunto de objetos y sus relaciones M. C.

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

Diagramas de Objetos n n Representa instantáneas estáticas de instancias de las cosas que

Diagramas de Objetos n n 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 n Desarrollado por analistas, diseñadores e implementadores M. C. Jorge Eduardo Macias Luevano

Diagramas de Componentes n Muestra la organización y dependencias entre un conjunto de componentes

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

Diagramas de Componentes n n n Comprende la vista estática de la implementación de

Diagramas de Componentes n n n Comprende la vista estática de la implementación de un sistema. Se construye como parte de especificación arquitectónica. Propósito: – – – n 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

Diagramas de Despliegue n Muestran la configuración los nodos de procesos run-time y los

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

Diagramas de Despliegue Captura la topología del hardware del sistema n Se crea como

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

Diagramas de Actividad n Muestra el flujo de actividades, dentro de un sistema. O

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

Diagramas de Actividad Captura el comportamiento dinámico (orientado a las actividades) n Un tipo

Diagramas de Actividad Captura el comportamiento dinámico (orientado a las actividades) n Un tipo especial de diagrama de estado n Propósito: n – 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

II. Breve Tour por UML … Otro Ejemplo (con swim lines) Pasajero Solicitar pasaje

II. Breve Tour por UML … Otro Ejemplo (con swim lines) Pasajero Solicitar pasaje Vendedor Airline 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

Diagramas de Secuencia n Enfatiza el orden de los mensajes en el tiempo M.

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

Diagramas de Secuencia Captura el comportamiento dinámico (orientado al tiempo) n Es un tipo

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

Diagramas de Colaboración n Enfatiza la organización estructural de los objetos que envían y

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

Diagramas de Colaboración Captura el comportamiento dinámico (orientado a los mensajes) n Es un

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

Diagramas de Etado n Muestra una maquina de estado; compuesta de estados, transiciones, eventos

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

Diagramas de Estado n n n Captura el comportamiento dinámico (orientado a los eventos)

Diagramas de Estado n n n 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

II. Breve Tour por UML Paquetes en UML § Los paquetes ofrecen un mecanismo

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

II. Breve Tour por UML … Paquetes en UML § Cada paquete corresponde a

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

II. Breve Tour por UML … Paquetes en UML § Todas las clases no

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

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

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

Arquitectura y el UML Vista Diseño Clases, interfaces, colaboraciones Vista Implementación Use cases Vista

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

UML Ciclo de Vida del Desarrollo de Software n Dirigido por Casos de Uso:

UML Ciclo de Vida del Desarrollo de Software n Dirigido por Casos de Uso: – Los casos de uso son usados como primer artefacto para establecer el comportamiento deseado del sistema, para verificar y validar la arquitectura del sistema, para probar y para comunicar entre si a los interesados del en el proyecto. n Centrado en la Arquitectura: – La arquitectura del sistema es usada como un artefacto primario para conceptualizar, construir, administrar y evolucionar el sistema en el desarrollo M. C. Jorge Eduardo Macias Luevano

UML Ciclo de Vida del Desarrollo de Software n Iterativo – Aquel que involucra

UML Ciclo de Vida del Desarrollo de Software n Iterativo – Aquel que involucra la administración de varias versiones ejecutables n Incremental – Aquel que involucra la continua integración de la arquitectura del sistema para producir esas versiones. M. C. Jorge Eduardo Macias Luevano

Fases del Ciclo de Vida Inicio Elaboración Construcción Transición time Inicio Define el plan

Fases del Ciclo de Vida Inicio Elaboración Construcción Transición time Inicio Define el plan del proyecto y desarrolla los casos del negocio Elaboración Plan del proyecto, especifica características, y la línea base de la arquitectura. Construcción Construye el producto Transición Se entrega el producto a sus usarios M. C. Jorge Eduardo Macias Luevano