JEML
Definicin de UML
Es un conjunto de notaciones para la creacin de modelos de objetos. Es un lenguaje para la especificacin, visualizacin, construccin y documentacin de los artefactos de sistemas de software, as como para modelar negocios o cualquier sistema que no sea software.
Proveer flexibilidad para su aplicacin en diferentes procesos. Habilitar el intercambio de modelos y definir un depsito de interfaces.
Es un lenguaje para especificacin, visualizacin y documentacin de los artefactos de un sistema de software. Fusiona los conceptos de Booch, OMT (Tcnica de Modelado de Objetos) y OOSE (Ing. de Software OO); resultando un lenguaje de modelacin sencillo, comn y ampliamente usado. Aumenta la cobertura de lo que se puede hacer con los mtodos existentes.
M.C. Jorge Eduardo Macias Luevano
UML provee:
Una semntica y notacin con una amplia variedad de factores de modelacin. Una semntica que contenga ciertos factores de de modelacin esperados en el futuro; relacionados con componentes tecnolgicos, sist. distribuidos, estructuras. Mecanismos de extensin.
I. Introduccin: UML
Situacin de Partida
Diversos mtodos y tcnicas OO, con muchos aspectos en comn pero utilizando distintas notaciones
Inconvenientes para el aprendizaje, aplicacin, construccin y uso de herramientas, etc. Pugna entre distintos enfoques (y correspondientes gurs) Establecer una notacin estndar
www.dsic.upv.es/~uml
I. Introduccin: UML
Historia de UML
Comenz como el Mtodo Unificado, con la participacin de Grady Booch y Jim Rumbaugh. Se present en el OOPSLA95 El mismo ao se uni Ivar Jacobson. Los Tres Amigos son socios en la compaa Rational Software. Herramienta CASE Rational Rose
M.C. Jorge Eduardo Macias Luevano
www.dsic.upv.es/~uml
I. Introduccin: UML
Historia de UML
2001 2000 1999 1998 Nov 97
UML aprobado por el OMG
UML 2.0
UML 1.4
UML 1.3
Revisiones menores
UML 1.2
www.dsic.upv.es/~uml
I. Introduccin: UML
Rational Software
Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing (Desmond DSouza) Intellicorp and James Martin & co. (James Odell)
(Grady Booch, Jim Rumbaugh y Ivar Jacobson)
MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys
www.dsic.upv.es/~uml
I. Introduccin: UML
Jacobson Meyer
Pre- and Post-conditions
UML
State Charts
Harel
Embly
Singleton classes
Wirfs-Brock Fusion
Responsabilities
www.dsic.upv.es/~uml
I. Introduccin: UML
Aspectos Novedosos
Definicin semi-formal del Metamodelo de UML Mecanismos de Extensin en UML:
Stereotypes
Constraints Tagged Values Permiten adaptar los elementos de modelado, asignndoles una semntica particular
M.C. Jorge Eduardo Macias Luevano
www.dsic.upv.es/~uml
I. Introduccin: UML
Inconvenientes en UML
Definicin del proceso de desarrollo usando UML. UML no es una metodologa
Falta integracin con respecto de otras tcnicas tales como patrones de diseo, interfaces de usuario, documentacin, etc. Ejemplos aislados
Monopolio de conceptos, tcnicas y mtodos en torno a UML
M.C. Jorge Eduardo Macias Luevano
www.dsic.upv.es/~uml
I. Introduccin: UML
Perspectivas de UML
UML ser el lenguaje de modelado orientado a objetos estndar predominante los prximos aos Razones:
Participacin de metodlogos influyentes Participacin de importantes empresas Aceptacin del OMG como notacin estndar
www.dsic.upv.es/~uml
Perspectivas de UML
Evidencias:
Herramientas que proveen la notacin UML Edicin de libros Congresos, cursos, camisetas, etc.
www.dsic.upv.es/~uml
JEML
Elementos en UML
Elementos estructurales
Las partes mas estticas del modelo clase, interface, colaboracin, caso de uso, clase activa, componente, nodo
Elementos de Comportamiento
Partes dinmicas de los modelos de UML interaccin, maquinas de estado
Elementos de Agrupacin
Partes organizacionales de UML Paquetes y subsistemas
Otros elementos
Partes explicativas de UML M.C. Jorge Eduardo Macias Luevano notas
Relaciones
Dependencia
Una relacin semntica entre dos elementos en donde un cambio en un elemento (el independiente) puede afectar la semntica del otro elemento (dependiente)
Asociacin
Una relacin estructural que describe un conjunto de ligas
M.C. Jorge Eduardo Macias Luevano
Relaciones
Generalizacin
Una relacin de especializacin/generalizacin en la cual el hijo le comparte, la estructura y el comportamiento al padre
Realizacin
Una relacin semntica 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 Scenario Diagrams Statechart Diagrams Diagrams Use Case Use Case Diagrams Use Case Diagrams Diagrams State State Diagrams Class Diagrams Diagrams State State Diagrams Object Diagrams Diagrams
Models
Activity Diagrams
M.C. Jorge Eduardo Macias Luevano
Diagrams
Diagramas
Diagramas
UML cuenta con nueve diagramas estndar
Vistas estticas:
Casos de uso Clases Objetos Componentes Despliegue
Vistas dinmicas:
Secuencia Colaboracin De estado Actividad
Captura la funcionalidad del sistema como es vista por los usuarios. Se crean en etapas tempranas del desarrollo Propsito
especificar el contexto de un sistema Captura los requerimientos de sistema Validar la arquitectura del sistema Dirige la implementacin y genera casos de prueba
Diagrama de Clases
Diagrama de Clases
Captura el vocabulario de un sistema Conforma la vista esttica del diseo de un sistema Se crea y se redefine a travs de todo el desarrollo. Propsito:
Nombrar y modelar conceptos en el sistema Especifica colaboraciones Especifica esquemas lgicos de bases de datos
Diagramas de Objetos
Diagramas de Objetos
Representa instantneas estticas de instancias de las cosas que se encuentran en los diagramas de clases. Comprende la vista esttica del diseo o la vista esttica del proceso de un sistema. Se crea durante el anlisis y el diseo. Propsito:
Ilustrar la estructura de datos/objetos Especificar instantneas
Diagramas de Componentes
Diagramas de Componentes
Comprende la vista esttica de la implementacin de un sistema. Se construye como parte de especificacin arquitectnica. Propsito:
Organizar el cdigo fuente Construir una versin ejecutable. Especificar una Base de datos fsica.
Diagramas de Despliegue
Muestran la configuracin los nodos de procesos run-time y los componentes que viven en ellos.
Diagramas de Despliegue
Captura la topologa del hardware del sistema Se crea como parte de la especificacin arquitectnica. Propsito:
Diagramas de Actividad
Diagramas de Actividad
Captura el comportamiento dinmico (orientado a las actividades) Un tipo especial de diagrama de estado Propsito:
Modela la funcin de un sistema Modela el flujo de control entre objetos Modela el flujo de trabajo del negocio Modela las operaciones
Solicitar pago Reservar plazas Pagar pasaje Emitir billete M.C. Jorge Eduardo Macias Luevano Confirmar plaza reservada
Diagramas de Secuencia
Diagramas de Secuencia
Captura el comportamiento dinmico (orientado al tiempo) Es un tipo de diagrama de interaccin Propsito:
Diagramas de Colaboracin
Diagramas de Colaboracin
Captura el comportamiento dinmico (orientado a los mensajes) Es un tipo de diagrama de interaccin Propsito:
Diagramas de Etado
Diagramas de Estado
Captura el comportamiento dinmico (orientado a los eventos) El comportamiento es modelado en trminos del estado en el cual se encuentra el objeto, qu acciones se ejecutan en cada estado y cul es el estado al que transita despus de un determinado evento Propsito:
Modelar el ciclo de vida del objeto Modelar objetos reactivos (interfaces del usuario, dispositivos, etc.)
M.C. Jorge Eduardo Macias Luevano
Paquetes en UML
Los paquetes ofrecen un mecanismo general para la organizacin de los modelos/subsistemas agrupando elementos de modelado
Paquetes en UML
Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema)
Un paquete puede contener otros paquetes, sin lmite de anidamiento pero cada elemento pertenece a (est definido en) slo un paquete Una clase de un paquete puede aparecer en otro paquete por la importacin a travs de una relacin de dependencia entre paquetes
M.C. Jorge Eduardo Macias Luevano
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
Prctica 1
Paquetes en UML
Prctica 1
Arquitectura y el UML
Vista Diseo
Clases, interfaces, colaboraciones
Vista Implementacin
Use cases
Componentes
Vista Proceso
Clases Activas
Nodos
Organization Dynamics Package, subsystem Macias Luevano Interaction M.C. Jorge Eduardo State machine
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
Iterativo
Aquel que involucra la administracin de varias versiones ejecutables
Incremental
Aquel que involucra la continua integracin de la arquitectura del sistema para producir esas versiones.
time
Inicio
Elaboracin
Construccin Transicin