53
JEML Curso de UML Curso de UML

JEML Curso de UML. 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 conjunto

Embed Size (px)

Citation preview

Page 1: JEML Curso de UML. 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 conjunto

JEML

Curso de UMLCurso de UML

Page 2: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Definición de UMLDefinición de UML

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

Es un lenguaje para la especificación, visua-Es un lenguaje para la especificación, visua-lización, construcción y documentación de lización, construcción y documentación de los artefactos de sistemas de software, así los artefactos de sistemas de software, así como para modelar negocios o cualquier como para modelar negocios o cualquier sistema que no sea software.sistema que no sea software.

Page 3: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Razones de aparición de UMLRazones de aparición de UML

Necesidad de estandarizar los lenguajes de Necesidad de estandarizar los lenguajes de modelación para la industria de software modelación para la industria de software orientado a objetos.orientado a objetos.

Necesidad del desarrollo de un buen modelo Necesidad del desarrollo de un buen modelo del sistema de software a desarrollar.del sistema de software a desarrollar.

Crear un conjunto de notaciones y semántica Crear un conjunto de notaciones y semántica que abarque adecuadamente todas las escalas que abarque adecuadamente todas las escalas de arquitecturas complejas, de software, a de arquitecturas complejas, de software, a través de todos los dominiostravés de todos los dominios

Page 4: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Metas del UMLMetas del UML

Definir un lenguaje de modelación visual Definir un lenguaje de modelación visual fácil de usar y semánticamente rico.fácil de usar y semánticamente rico.

Estandarizar los lenguajes de modelación Estandarizar los lenguajes de modelación orientados a objetos (Booch, OMT, OOSE)orientados a objetos (Booch, OMT, OOSE)

Suministrar mecanismos de especificación Suministrar mecanismos de especificación extendibles.extendibles.

Integrar las mejores prácticas de la industriaIntegrar las mejores prácticas de la industria Fortalecer el crecimiento del mercado de Fortalecer el crecimiento del mercado de

herramientas orientadas a objetos.herramientas orientadas a objetos.

Page 5: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Metas del UMLMetas del UML

Soportar conceptos contemporáneos de Soportar conceptos contemporáneos de desarrollo de software:desarrollo de software:– Componentes, colaboración, estructuras, Componentes, colaboración, estructuras,

patrones, escalable, concurrencia, distribución, patrones, escalable, concurrencia, distribución, etc.etc.

Proveer flexibilidad para su aplicación en Proveer flexibilidad para su aplicación en diferentes procesos.diferentes procesos.

Habilitar el intercambio de modelos y Habilitar el intercambio de modelos y definir un depósito de interfaces.definir un depósito de interfaces.

Page 6: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Alcance del UMLAlcance del UML

Es un lenguaje para especificación, visualización y Es un lenguaje para especificación, visualización y documentación de los artefactos de un sistema de documentación de los artefactos de un sistema de software.software.

Fusiona los conceptos de Booch, OMT (Técnica Fusiona los conceptos de Booch, OMT (Técnica de Modelado de Objetos) y OOSE (Ing. de de Modelado de Objetos) y OOSE (Ing. de Software OO); resultando un lenguaje de Software OO); resultando un lenguaje de modelación sencillo, común y ampliamente usado.modelación sencillo, común y ampliamente usado.

Aumenta la cobertura de lo que se puede hacer con Aumenta la cobertura de lo que se puede hacer con los métodos existentes.los métodos existentes.

Page 7: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Alcance del UMLAlcance del UML

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

Especifica un lenguaje de modelación que Especifica un lenguaje de modelación que incorpora el consenso de la comunidad OO.incorpora el consenso de la comunidad OO.

Permite desviaciones que estén expresadas Permite desviaciones que estén expresadas en sus mecanismos de extensión.en sus mecanismos de extensión.

Page 8: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Alcance del UMLAlcance del UML

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

variedad de factores de modelación.variedad de factores de modelación.– Una semántica que contenga ciertos factores de Una semántica que contenga ciertos factores de

de modelación esperados en el futuro; de modelación esperados en el futuro; relacionados con componentes tecnológicos, relacionados con componentes tecnológicos, sist. distribuidos, estructuras.sist. distribuidos, estructuras.

– Mecanismos de extensión.Mecanismos de extensión.

Page 9: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Elementos fuera del UMLElementos fuera del UML

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

Herramientas: las herramientas se pueden Herramientas: las herramientas se pueden basar en UML.basar en UML.

Procesos: UML es intencionalmente Procesos: UML es intencionalmente independiente del proceso.independiente del proceso.

Page 10: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Situación de PartidaSituación de Partida

Diversos métodos y técnicas OO, con muchos aspectos en Diversos métodos y técnicas OO, con muchos aspectos en común pero utilizando distintas notacionescomún pero utilizando distintas notaciones

Inconvenientes para el aprendizaje, aplicación, construcción Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas, etc.y uso de herramientas, etc.

Pugna entre distintos enfoques (y correspondientes gurús)Pugna entre distintos enfoques (y correspondientes gurús)

Establecer una notación estándarEstablecer una notación estándar

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 11: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Historia de UMLHistoria de UML

Comenzó como el “Método Unificado”, con la Comenzó como el “Método Unificado”, con la participación de Grady Booch y Jim participación de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA’95Rumbaugh. Se presentó en el OOPSLA’95

El mismo año se unió Ivar Jacobson. Los El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía “Tres Amigos” son socios en la compañía Rational Software. Herramienta CASE Rational Software. Herramienta CASE Rational RoseRational Rose

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 12: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Historia de UMLHistoria de UML

Nov ‘97 UML aprobado por el OMG

1998

1999

2000

UML 1.2

UML 1.3

UML 1.4

2001 UML 2.0

Revisiones menores

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 13: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Participantes en UML 1.0Participantes en UML 1.0

Rational Software Rational Software (Grady Booch, Jim (Grady Booch, Jim

Rumbaugh y Ivar Jacobson)Rumbaugh y Ivar Jacobson)

Digital Equipment Digital Equipment Hewlett-Packard Hewlett-Packard i-Logix i-Logix (David Harel)(David Harel)

IBMIBM ICON Computing ICON Computing (Desmond D’Souza)(Desmond D’Souza) Intellicorp and James Martin Intellicorp and James Martin

& co. & co. (James Odell)(James Odell)

MCI SystemhouseMCI Systemhouse Microsoft Microsoft ObjecTimeObjecTime Oracle Corp. Oracle Corp. Platinium TechnologyPlatinium Technology Sterling SoftwareSterling Software TaskonTaskon Texas Instruments Texas Instruments Unisys Unisys

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 14: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

UML “aglutina” enfoques OOUML “aglutina” enfoques OO

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions, message numbering

Singleton classes

Frameworks, patterns, notes

Object life cycles

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 15: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Aspectos NovedososAspectos Novedosos

Definición Definición semi-formalsemi-formal del Metamodelo de UML del Metamodelo de UML

Mecanismos de Extensión en UML:Mecanismos de Extensión en UML:

StereotypesStereotypes

ConstraintsConstraints

Tagged ValuesTagged Values

Permiten adaptar los elementos de modelado, Permiten adaptar los elementos de modelado,

asignándoles una semántica particularasignándoles una semántica particular

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 16: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Inconvenientes en UMLInconvenientes en UML

Definición del proceso de desarrollo usando UML. Definición del proceso de desarrollo usando UML. UML no es una metodologíaUML no es una metodología

Falta integración con respecto de otras técnicas tales Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, como patrones de diseño, interfaces de usuario, documentación, etc. documentación, etc.

Ejemplos aisladosEjemplos aislados

““Monopolio de conceptos, técnicas y métodos en Monopolio de conceptos, técnicas y métodos en torno a UML”torno a UML”

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 17: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Perspectivas de UMLPerspectivas de UML

UML será el lenguaje de modelado orientado a objetos UML será el lenguaje de modelado orientado a objetos estándar predominante los próximos añosestándar predominante los próximos años

Razones:Razones:

– Participación de metodólogos influyentesParticipación de metodólogos influyentes– Participación de importantes empresasParticipación de importantes empresas– Aceptación del OMG como notación estándarAceptación del OMG como notación estándar

I. Introducción: UML

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 18: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Perspectivas de UMLPerspectivas de UML

Evidencias:Evidencias:– Herramientas que proveen la notación Herramientas que proveen la notación

UMLUML– ““EdiciónEdición” de libros” de libros– Congresos, cursos, “Congresos, cursos, “camisetas”camisetas”, etc., etc.

www.dsic.upv.es/~umlwww.dsic.upv.es/~uml

Page 19: JEML Curso de UML. 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 conjunto

JEML

Artefactos del UMLArtefactos del UML

Page 20: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Bloques de Construcción del Bloques de Construcción del UMLUML

Elementos/ObjetosElementos/Objetos RelacionesRelaciones DiagramasDiagramas

Page 21: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Elementos en UMLElementos en UML Elementos estructuralesElementos estructurales

– Las partes mas estáticas del modeloLas partes mas estáticas del modelo» clase, interface, colaboración, caso de uso, clase, interface, colaboración, caso de uso,

clase activa, componente, nodoclase activa, componente, nodo Elementos de ComportamientoElementos de Comportamiento

– Partes dinámicas de los modelos de UMLPartes dinámicas de los modelos de UML» interacción, maquinas de estadointeracción, maquinas de estado

Elementos de AgrupaciónElementos de Agrupación– Partes organizacionales de UMLPartes organizacionales de UML

» Paquetes y subsistemasPaquetes y subsistemas Otros elementosOtros elementos

– Partes explicativas de UMLPartes explicativas de UML» notasnotas

Page 22: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

RelacionesRelaciones

DependenciaDependencia– Una relación semántica entre dos elementos en Una relación semántica entre dos elementos en

donde un cambio en un elemento (el donde un cambio en un elemento (el independiente) puede afectar la semántica del independiente) puede afectar la semántica del otro elemento (dependiente) otro elemento (dependiente)

AsociaciónAsociación– Una relación estructural que describe un Una relación estructural que describe un

conjunto de ligasconjunto de ligas

Page 23: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

RelacionesRelaciones

GeneralizaciónGeneralización– Una relación de especialización/generalización Una relación de especialización/generalización

en la cual el hijo le comparte, la estructura y el en la cual el hijo le comparte, la estructura y el comportamiento al padrecomportamiento al padre

RealizaciónRealización– Una relación semántica entre clasificadores, Una relación semántica entre clasificadores,

donde un clasificadores especifica un contrato donde un clasificadores especifica un contrato que otro clasificador se encarga de realizar.que otro clasificador se encarga de realizar.

Page 24: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas en UMLDiagramas en UML

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsScenario

DiagramsCollaborationDiagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

Models

Page 25: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

DiagramasDiagramas

Un diagrama es una vista dentro de un Un diagrama es una vista dentro de un modelomodelo– Presentado desde el aspecto de un punto de Presentado desde el aspecto de un punto de

vista particularvista particular– Provee una representación parcial del sistemaProvee una representación parcial del sistema– Es semánticamente consistente con otras vistasEs semánticamente consistente con otras vistas

Page 26: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

DiagramasDiagramas

Vistas estáticas:Vistas estáticas:– Casos de usoCasos de uso

– ClasesClases

– ObjetosObjetos

– ComponentesComponentes

– DespliegueDespliegue

Vistas dinámicas:Vistas dinámicas:– SecuenciaSecuencia

– ColaboraciónColaboración

– De estadoDe estado

– ActividadActividad

UML cuenta con nueve diagramas estándar

Page 27: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de Casos de UsoDiagramas de Casos de Uso

Muestra un conjunto de casos de uso, sus Muestra un conjunto de casos de uso, sus actores y sus relaciones.actores y sus relaciones.

Page 28: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de Casos de UsoDiagramas de Casos de Uso

Captura la funcionalidad del sistema como es vista Captura la funcionalidad del sistema como es vista por los usuarios.por los usuarios.

Se crean en etapas tempranas del desarrolloSe crean en etapas tempranas del desarrollo PropósitoPropósito

– especificar el contexto de un sistemaespecificar el contexto de un sistema

– Captura los requerimientos de sistemaCaptura los requerimientos de sistema

– Validar la arquitectura del sistemaValidar la arquitectura del sistema

– Dirige la implementación y genera casos de pruebaDirige la implementación y genera casos de prueba

Desarrollados por analistas y expertos del dominio Desarrollados por analistas y expertos del dominio

Page 29: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagrama de ClasesDiagrama de Clases Muestra un conjunto de clases, interfaces, y Muestra un conjunto de clases, interfaces, y

colaboraciones y sus relacionescolaboraciones y sus relaciones

Page 30: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagrama de ClasesDiagrama de Clases Captura el vocabulario de un sistemaCaptura el vocabulario de un sistema Conforma la vista estática del diseño de un sistemaConforma la vista estática del diseño de un sistema Se crea y se redefine a través de todo el desarrollo.Se crea y se redefine a través de todo el desarrollo. Propósito:Propósito:

– Nombrar y modelar conceptos en el sistemaNombrar y modelar conceptos en el sistema

– Especifica colaboracionesEspecifica colaboraciones

– Especifica esquemas lógicos de bases de datosEspecifica esquemas lógicos de bases de datos

Desarrollado por analistas, diseñadores, e Desarrollado por analistas, diseñadores, e implementadoresimplementadores

Page 31: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ObjetosDiagramas de Objetos

Muestra un conjunto de objetos y sus Muestra un conjunto de objetos y sus relacionesrelaciones

Page 32: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ObjetosDiagramas de Objetos Representa instantáneas estáticas de instancias de Representa instantáneas estáticas de instancias de

las cosas que se encuentran en los diagramas de las cosas que se encuentran en los diagramas de clases.clases.

Comprende la vista estática del diseño o la vista Comprende la vista estática del diseño o la vista estática del proceso de un sistema.estática del proceso de un sistema.

Se crea durante el análisis y el diseño.Se crea durante el análisis y el diseño. Propósito:Propósito:

– Ilustrar la estructura de datos/objetosIlustrar la estructura de datos/objetos– Especificar instantáneasEspecificar instantáneas

Desarrollado por analistas, diseñadores e Desarrollado por analistas, diseñadores e implementadoresimplementadores

Page 33: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ComponentesDiagramas de Componentes

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

Page 34: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ComponentesDiagramas de Componentes

Comprende la vista estática de la implementación Comprende la vista estática de la implementación de un sistema.de un sistema.

Se construye como parte de especificación Se construye como parte de especificación arquitectónica.arquitectónica.

Propósito:Propósito:– Organizar el código fuenteOrganizar el código fuente

– Construir una versión ejecutable.Construir una versión ejecutable.

– Especificar una Base de datos física.Especificar una Base de datos física.

Desarrollado por diseñadores y programadores.Desarrollado por diseñadores y programadores.

Page 35: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de DespliegueDiagramas de Despliegue Muestran la configuración los nodos de Muestran la configuración los nodos de

procesos run-time y los componentes que procesos run-time y los componentes que viven en ellos.viven en ellos.

Page 36: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de Despliegue Diagramas de Despliegue

Captura la topología del hardware del Captura la topología del hardware del sistemasistema

Se crea como parte de la especificación Se crea como parte de la especificación arquitectónica.arquitectónica.

Propósito:Propósito:– Especificar la distribución de componentesEspecificar la distribución de componentes– Identificar cuellos de botella del desempeñoIdentificar cuellos de botella del desempeño

Desarrollado por arquitectos, ingenieros de Desarrollado por arquitectos, ingenieros de redes e ingenieros de sistemasredes e ingenieros de sistemas

Page 37: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ActividadDiagramas de Actividad Muestra el flujo de actividades, dentro de un Muestra el flujo de actividades, dentro de un

sistema. O la secuencia de actividades.sistema. O la secuencia de actividades.

Page 38: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ActividadDiagramas de Actividad Captura el comportamiento dinámico (orientado Captura el comportamiento dinámico (orientado

a las actividades)a las actividades) Un tipo especial de diagrama de estadoUn tipo especial de diagrama de estado Propósito:Propósito:

– Modela la función de un sistemaModela la función de un sistema– Modela el flujo de control entre objetosModela el flujo de control entre objetos– Modela el flujo de trabajo del negocioModela el flujo de trabajo del negocio– Modela las operacionesModela las operaciones

Page 39: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Emitir billete

Pasajero Vendedor Airline

… … Otro Ejemplo (con Otro Ejemplo (con swim linesswim lines))

Solicitar pago Reservar plazas

Confirmar plaza reservadaPagar pasaje

Informar alternativas y precios

Verificar existencia vuelo

Dar detalles vuelo

Solicitar pasaje

Seleccionar vuelo

II. Breve Tour por UML

Page 40: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de SecuenciaDiagramas de Secuencia

Enfatiza el orden de los mensajes en el Enfatiza el orden de los mensajes en el tiempotiempo

Page 41: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de SecuenciaDiagramas de Secuencia

Captura el comportamiento dinámico Captura el comportamiento dinámico (orientado al tiempo)(orientado al tiempo)

Es un tipo de diagrama de interacciónEs un tipo de diagrama de interacción Propósito:Propósito:

– Modelar el flujo de controlModelar el flujo de control– Ilustra escenarios típicosIlustra escenarios típicos

Page 42: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ColaboraciónDiagramas de Colaboración

Enfatiza la organización estructural de los Enfatiza la organización estructural de los objetos que envían y reciben mensajes. objetos que envían y reciben mensajes.

Page 43: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de ColaboraciónDiagramas de Colaboración

Captura el comportamiento dinámico Captura el comportamiento dinámico (orientado a los mensajes)(orientado a los mensajes)

Es un tipo de diagrama de interacciónEs un tipo de diagrama de interacción Propósito:Propósito:

– Modelar el flujo de controlModelar el flujo de control– Ilustrar la coordinación de la estructura de Ilustrar la coordinación de la estructura de

objetos y el controlobjetos y el control

Page 44: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de EtadoDiagramas de Etado

Muestra una maquina de estado; compuesta Muestra una maquina de estado; compuesta de estados, transiciones, eventos y de estados, transiciones, eventos y actividades. actividades.

Page 45: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Diagramas de EstadoDiagramas de Estado

Captura el comportamiento dinámico (orientado a Captura el comportamiento dinámico (orientado a los eventos)los eventos)

El comportamiento es modelado en términos del El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado estado al que transita después de un determinado eventoevento

Propósito:Propósito:– Modelar el ciclo de vida del objetoModelar el ciclo de vida del objeto– Modelar objetos reactivos (interfaces del usuario, Modelar objetos reactivos (interfaces del usuario,

dispositivos, etc.)dispositivos, etc.)

Page 46: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Paquetes en UMLPaquetes en UML

Los paquetes ofrecen un mecanismo general Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas para la organización de los modelos/subsistemas agrupando elementos de modeladoagrupando elementos de modelado

Se representan gráficamente como:Se representan gráficamente como:

Nombre de paquete

II. Breve Tour por UML

Page 47: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

… … Paquetes en UMLPaquetes en UML

Cada paquete corresponde a un submodelo Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema)(subsistema) del modelo (sistema)

Un paquete puede contener otros paquetes, sin límite Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquetedefinido en) sólo un paquete

Una clase de un paquete puede aparecer en otro Una clase de un paquete puede aparecer en otro paquete por la importación a través de una paquete por la importación a través de una relación relación de dependenciade dependencia entre paquetes entre paquetes

II. Breve Tour por UML

Page 48: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

… … Paquetes en UMLPaquetes en UML

Todas las clases no son Todas las clases no son necesariamente visibles desde el necesariamente visibles desde el exterior del paquete, es decir, un exterior del paquete, es decir, un paquete encapsula a la vez que paquete encapsula a la vez que agrupaagrupa

El operador “::” permite designar El operador “::” permite designar una clase definida en un contexto una clase definida en un contexto distinto del actualdistinto del actual

II. Breve Tour por UML

Práctica 1

Page 49: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

… … Paquetes en UMLPaquetes en UML

II. Breve Tour por UML

Práctica 1

Page 50: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Arquitectura y el UMLArquitectura y el UML

OrganizationPackage, subsystem

DynamicsInteractionState machine

Vista Diseño Vista Implementación

Vista Proceso

Componentes Clases, interfaces,colaboraciones

Clases Activas

Vista Despliegue

Nodos

Vista Caso de Uso

Use cases

Page 51: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

UML Ciclo de Vida del UML Ciclo de Vida del Desarrollo de SoftwareDesarrollo de Software

Dirigido por Casos de Uso:Dirigido por Casos de Uso:– Los casos de uso son usados como primer artefacto Los casos de uso son usados como primer artefacto

para establecer el comportamiento deseado del sistema, para establecer el comportamiento deseado del sistema, para verificar y validar la arquitectura del sistema, para para verificar y validar la arquitectura del sistema, para probar y para comunicar entre si a los interesados del probar y para comunicar entre si a los interesados del en el proyecto. en el proyecto.

Centrado en la Arquitectura:Centrado en la Arquitectura:– La arquitectura del sistema es usada como un artefacto La arquitectura del sistema es usada como un artefacto

primario para conceptualizar, construir, administrar y primario para conceptualizar, construir, administrar y evolucionar el sistema en el desarrolloevolucionar el sistema en el desarrollo

Page 52: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

UML Ciclo de Vida del UML Ciclo de Vida del Desarrollo de SoftwareDesarrollo de Software

Iterativo Iterativo – Aquel que involucra la administración de varias Aquel que involucra la administración de varias

versiones ejecutablesversiones ejecutables IncrementalIncremental

– Aquel que involucra la continua integración de Aquel que involucra la continua integración de la arquitectura del sistema para producir esas la arquitectura del sistema para producir esas versiones.versiones.

Page 53: JEML Curso de UML. 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 conjunto

M.C. Jorge Eduardo Macias Luevano

Fases del Ciclo de VidaFases del Ciclo de Vida

time

Inicio Elaboración Construcción Transición

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