Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Apuntes de UML
!! !!
!!
Universidad de Zaragoza
!!
Agradecimiento: Estos apuntes tomaron como base inicial los aparecidos en www.dsic.upv.es/~uml
Contenidos
!! !! !! !! Introduccin ........................................4 Diagramas de actividad.......................18 Modelado de componentes..................34 Modelado de la distribucin.................40
24/11/09
Qu es UML?
!! !! !! !! UML = Unified Modeling Language Un lenguaje de propsito general para el modelado orientado a objetos UML no es una metodologa de desarrollo de software. UML combina notaciones provenientes desde: ! Modelado Orientado a Objetos ! Modelado de Datos ! Modelado de Componentes ! Modelado de Flujos de Trabajo (Workflows)
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). => Necesidad de una notacin estndar
24/11/09
Jacobson Meyer
Pre- and Post-conditions
UML
State Charts
Harel
Embly
Singleton classes
Wirfs-Brock Fusion
Responsabilities Operation descriptions, message numbering
Ingeniera del Sw-II, Jos Merseguer
!! Los mtodos formales permiten determinar y expresar con mayor rigor las propiedades del software. Sin embargo, an no son Ingeniera del Sw-II, Jos Merseguer ampliamente utilizados.
24/11/09
Modelo
Diagramas de Actividad
Distribucin
24/11/09
Aspectos Novedosos
!! Mecanismos de extensin: estereotipos, valores etiquetados y restricciones. !! Definicin semi-formal del Meta-Modelo semntico asociado. !! Perfiles.
Aspectos Novedosos
!!
Estereotipo
! Extiende el vocabulario de UML para crear nuevos elementos, similares a los existentes, pero especficos del problema que se est modelando. Grficamente: nombre entre comillas o un nuevo icono. Extiende las propiedades de un elemento de UML, permitiendo aadir nueva informacin en la especificacin del elemento. Grficamente: cadena de caracteres entre llaves.
!
!!
Valor etiquetado
!
24/11/09
Aspectos Novedosos
!!
Restricciones
! ! Como en OMT pero adems se puede utilizar OCL (Object Constraint Language). OCL es un lenguaje creado por IBM para especificar frmulas bien formadas.
Aspectos Novedosos
!! !! !!
Definicin semi-formal del Meta-Modelo de UML. Todos los diagramas tienen su Meta-Modelo. Ejemplo Meta-Modelo de statemachines (Diagramas de Estados)
24/11/09
Aspectos Novedosos
!!
! Frmula OCL para expresar que Un estado final no puede tener transiciones de salida: self.outgoing->size=0
Aspectos Novedosos
!!
Perfiles (Profiles)
! ! Pretenden adaptar los Meta-Modelos de UML a diferentes plataformas (J2EE,.NET) o dominios software (tiempo real, tolerancia a fallos). Cmo adaptar los Meta-Modelos de UML?
! No pueden ser modificados. ! Pero pueden ser extendidos con constructores propios de la plataforma o del dominio.
!!
!!
Introducir en UML la terminologa del dominio /plataforma: nuevas metaclases, nuevas restricciones en OCL. Aadir la semntica (en lenguaje natural) al Meta -Modelo: ej. definir relojes, tpo. contnuo
24/11/09
Aspectos Novedosos
!!
Catlogo de Perfiles:
/documents/profile_catalog.htm
http://www.omg.org/technology
! ! ! ! ! ! ! ! !
OMG Systems Modeling Language UML Profile for CORBA UML Profile for CORBA Component Model UML Profile for Enterprise Application Integration UML Profile for Enterprise Distributed Object Computing UML Profile for Modeling and Analysis of Real-Time and Embedded Systems (MARTE) UML Profile for Modeling QoS and Fault Tolerance UML Profile for System on a Chip (SoC) UML Testing Profile
Aspectos novedosos
!!
24/11/09
Perspectivas de UML
!! UML ser el lenguaje de modelado de objetos estndar predominante los prximos aos. !! Razones:
! ! ! ! ! ! Participacin de metodlogos influyentes Participacin de importantes empresas Aceptacin del OMG como notacin estndar Herramientas que proveen la notacin UML Edicin de libros Congresos, cursos, etc.
!! Evidencias:
Diagramas de Actividad
24/11/09
Diagramas de Actividad
!!
10
24/11/09
...Diagrama de Actividad
!! Las actividades se enlazan por transiciones automticas. !! Cuando una actividad termina se desencadena el paso a la siguiente actividad. !! Las actividades no poseen transiciones internas ni transiciones desencadenadas por eventos.
21 Ingeniera del Sw-II, Jos Merseguer
11
24/11/09
Diagrama de Actividad
!!
Estados de accin
! ! ! ! !
Representa la ejecucin de una accin: crear o borrar un objeto, evaluar una expresin, cambiar el valor de un atributo, Su ejecucin supone un tiempo insignificante en el mbito del sistema. No se pueden descomponer. Son atmicos: no se interrumpen por la ocurrencia de un evento UML no impone un lenguajes de expresiones.
Diagrama de Actividad
!!
Estados de actividad
! Tienen duracin. ! Se pueden descomponer, es decir, pueden ser especificados por otro D. A. ! Pueden tener entry y/o exit. ! No son atmicos. Pueden ser interrumpidos.
12
24/11/09
Diagrama de Actividad
!!
!!
Diagrama de Actividad
!!
Bifurcaciones
! Representan caminos alternativos. ! Pueden tener:
! Una transicin de entrada. ! Dos o ms de salida (con guardas excluyentes).
13
24/11/09
Diagrama de Actividad
!!
Divisin y unin
! ! ! Flujos concurrentes. Divisin: ! Una transicin de entrada y dos o ms de salida. Unin: ! Dos o ms transiciones de entrada. ! Una transicin de salida.
! En la unin cada flujo espera hasta que todos los flujos de entrada han alcanzado la unin.
Ejemplo
14
24/11/09
Diagrama de Actividad
!!
Calles
! Cada calle representa quin es el responsable de llevar a cabo las actividades y acciones de los estados. ! Las transiciones pueden cruzar las calles. ! Ejemplo: modelado de una venta.
Ejemplo
15
24/11/09
...Ejemplos (calles)
Pasajero Vendedor Lnea Aerea
Solicitar pasaje Verificar existencia vuelo Dar detalles vuelo Informar alternativas y precios Seleccionar vuelo
Diagrama de Actividades
!!
Flujo de objetos
! ! Permite especificar los objetos involucrados en el diagrama. Indica creacin, destruccin o modificacin.
16
24/11/09
Ejemplo
Modelado de Componentes
17
24/11/09
...Diagramas de Componentes
!! Los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas !! Pueden ser simples archivos, paquetes de Ada, bibliotecas cargadas dinmicamente, etc. !! Cada clase del modelo lgico se realiza en dos componentes: la especificacin y el cuerpo
35 Ingeniera del Sw-II, Jos Merseguer
Diagramas de Componentes
!! La representacin grfica es la siguiente:
Especificacin Cuerpo Genrico
Package specification
Package body
Generic package
36 Ingeniera del Sw-II, Jos Merseguer
18
24/11/09
37
Subsistemas
!! Los distintos componentes pueden agruparse en paquetes segn un criterio lgico y con vistas a simplificar la implementacin !! Son paquetes estereotipados en <<subsistemas>> para incorporar la nocin de biblioteca de compilacin
19
24/11/09
Subsistemas
!! Los subsistemas organizan la vista de realizacin de un sistema !! Cada subsistema puede contener componentes y otros subsistemas !! La descomposicin en subsistemas no es una descomposicin funcional !! La relacin entre paquetes y clases en el nivel lgico es el que existe entre subsistemas y componentes en el nivel fsico
Modelado de Distribucin
20
24/11/09
Diagramas de Distribucin
!! Los Diagramas de Distribucin muestran la disposicin fsica de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos
Diagramas de Distribucin
!! El Diagrama de Distribucin modela la distribucin en tiempo de ejecucin de los elementos de procesamiento y componentes de software, junto a los procesos y objetos asociados !! En el Diagrama de Distribucin se modelan los nodos y la comunicacin entre ellos !! Cada nodo puede contener instancias de componentes
21
24/11/09
Diagramas de Distribucin
!! Los estereotipos permiten precisar la naturaleza del equipo:
! ! ! Dispositivos Procesadores Memoria
!! Los nodos se interconectan mediante soportes bidireccionales (en principio) que pueden a su vez estereotiparse
Diagramas de Distribucin
!! Ejemplo de conexin entre nodos:
En Rational Rose podemos distinguir entre el dispositivo por estereotipado y el dispositivo con su propio smbolo
44 Ingeniera del Sw-II, Jos Merseguer
22