Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Curso de UML JEML
2
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
11
M.C. Jorge Eduardo Macias Luevano
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
12
M.C. Jorge Eduardo Macias Luevano
I. Introducción: UML Historia de UML UML 2.0 2001 2000 UML 1.4 1999 UML 1.3 Revisiones menores 1998 UML 1.2 Nov ‘97 UML aprobado por el OMG M.C. Jorge Eduardo Macias Luevano
13
M.C. Jorge Eduardo Macias Luevano
I. Introducción: UML Participantes en UML 1.0 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 M.C. Jorge Eduardo Macias Luevano
14
UML “aglutina” enfoques OO
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 Fusion Responsabilities Operation descriptions, M.C. Jorge Eduardo Macias Luevano message numbering
15
M.C. Jorge Eduardo Macias Luevano
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 Stereotype = Estereotipo Constraint = Restricción de Integridad Tagged Values = Valores Etiquetados, es un par (nombre propiedad, valor) Los mecanismos de extensión pueden usarse para: Añadir nuevos elementos de modelado sin crear nuevos símbolos. En este caso el símbolo existente estará etiquetado con el correspondiente estereotipo. Esto permite que el metamodelo de UML no se vea alterado. Definir extensiones necesarias en un proceso de desarrollo o lenguaje de implementación específico. Asignar una semántica particular o información no semántica a elementos de modelado. Las restricciones de integridad pueden escribirse usando un lenguaje específico para representar restricciones (tal como OCL, Object Constraint Language, que expresa restricciones mediante fórmulas bien formadas, desarrollado por IBM) u otros lenguajes (por ejemplo, un determinado lenguaje de programación) o incluso en lenguaje natural. Tipos de enfoques: no-formales, semi-formales y formales Las principales mejoras al utilizar métodos formales son: Mayor rigor en la especificación Mejores condiciones para realizar la verificación y validación Mejores condiciones para automatización de procesos para la generación automática de prototipos y/o código final M.C. Jorge Eduardo Macias Luevano
16
M.C. Jorge Eduardo Macias Luevano
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
17
M.C. Jorge Eduardo Macias Luevano
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
18
M.C. Jorge Eduardo Macias Luevano
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
19
Artefactos del UML JEML
20
Bloques de Construcción del UML
Elementos/Objetos Relaciones Diagramas M.C. Jorge Eduardo Macias Luevano
21
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
Diagramas en UML State Diagrams Class Use Case Diagrams Scenario Diagrams Statechart State Diagrams Object Scenario Diagrams Collaboration State Diagrams Component Models Component Diagrams Deployment Use Case Diagrams Sequence Activity Diagrams M.C. Jorge Eduardo Macias Luevano
25
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
Diagramas UML cuenta con nueve diagramas estándar Vistas estáticas: Casos de uso Clases Objetos Componentes Despliegue Vistas dinámicas: Secuencia Colaboración De estado Actividad 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
M.C. Jorge Eduardo Macias Luevano
Diagrama de Clases Muestra un conjunto de clases, interfaces, y colaboraciones y sus relaciones M.C. Jorge Eduardo Macias Luevano
30
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
Diagramas de Objetos Muestra un conjunto de objetos y sus relaciones M.C. Jorge Eduardo Macias Luevano
32
M.C. Jorge Eduardo Macias Luevano
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. Un diagrama de Componentes permite modelar la estructura del software y la dependencia entre componentes Un componente es un grupo de clases que trabajan estrechamente. Los componentes pueden corresponder código fuente, binario o ejecutable Una relación de dependencia indica que un componente utiliza otro, por lo cual depende de él 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 El Diagrama de Distribución modela la distribución en tiempo de ejecución de los elementos de procesamiento y componentes de software, junto a los procesos y objetos asociados En el Diagrama de Distribución se modelan los nodos y la comunicación entre ellos Cada nodo puede contener instancias de componentes 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 Caso especial de Diagrama de Estados donde: Todos (o la mayoría de) los estados son estados de acción Todas (la mayoría de) las transiciones son “disparadas” como consecuencia de la finalización de la la acción. El Diagrama de Actividades puede especificar: El comportamiento de los objetos de una clase La lógica de una operación (método) Parte o toda la descripción de un Caso de uso La descripción de un Flujo de Trabajo M.C. Jorge Eduardo Macias Luevano
39
… Otro Ejemplo (con swim lines)
II. Breve Tour por UML … Otro Ejemplo (con swim lines) Pasajero Vendedor Airline 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 Los Diagramas de Secuencia y de Colaboración son usados para describir gráficamente un caso de uso o un escenario Un Diagrama de Secuencia muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos Los mensajes son dibujados cronológicamente desde arriba hacia abajo Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos. 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 El Diagrama de Colaboración modela la interacción entre los objetos de un Caso de Uso Los objetos están conectados por enlaces (links) en los cuales se representan los mensajes enviados acompañados de una flecha que indica su dirección El Diagrama de Colaboración ofrece una mejor visión del escenario cuando el analista está intentando comprender la participación de un objeto en el sistema M.C. Jorge Eduardo Macias Luevano
44
M.C. Jorge Eduardo Macias Luevano
Diagramas de Etado Muestra una maquina de estado; compuesta de estados, transiciones, eventos y actividades. M.C. Jorge Eduardo Macias Luevano
45
M.C. Jorge Eduardo Macias Luevano
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.) El Diagrama de Estados modela el comportamiento de una parte del sistema Típicamente se elabora un diagrama de Estados para cada clase que tenga un comportamiento significativo 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 M.C. Jorge Eduardo Macias Luevano
46
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
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
M.C. Jorge Eduardo Macias Luevano
II. Breve Tour por UML … Paquetes en UML Práctica 1 M.C. Jorge Eduardo Macias Luevano
50
M.C. Jorge Eduardo Macias Luevano
Arquitectura y el UML Organization Package, subsystem Dynamics Interaction State machine Componentes Clases, interfaces, colaboraciones Vista Diseño Vista Implementación Vista Caso de Uso Use cases Clases Activas Nodos Vista Proceso Vista Despliegue M.C. Jorge Eduardo Macias Luevano
51
UML Ciclo de Vida del Desarrollo de Software
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. 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
52
UML Ciclo de Vida del Desarrollo de Software
Iterativo Aquel que involucra la administración de varias versiones ejecutables Incremental Aquel que involucra la continua integración de la arquitectura del sistema para producir esas versiones. M.C. Jorge Eduardo Macias Luevano
53
M.C. Jorge Eduardo Macias Luevano
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.