Está en la página 1de 22

24/11/09

Apuntes de UML
!! !!

Asignatura: Ingeniera del Software II Profesor: Jos Merseguer

!!

Departamento de Informtica e Ingeniera de Sistemas


!!

Universidad de Zaragoza

!!

Agradecimiento: Estos apuntes tomaron como base inicial los aparecidos en www.dsic.upv.es/~uml

1 Ingeniera del Sw-II, Jos Merseguer

Contenidos
!! !! !! !! Introduccin ........................................4 Diagramas de actividad.......................18 Modelado de componentes..................34 Modelado de la distribucin.................40

2 Ingeniera del Sw-II, Jos Merseguer

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)

3 Ingeniera del Sw-II, Jos Merseguer

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

4 Ingeniera del Sw-II, Jos Merseguer

24/11/09

UML aglutina enfoques OO


Rumbaugh Booch Odell Shlaer-Mellor
Object life cycles

Jacobson Meyer
Pre- and Post-conditions

UML
State Charts

Harel

Gamma et. al.


Frameworks, patterns, notes

Embly
Singleton classes

Wirfs-Brock Fusion
Responsabilities Operation descriptions, message numbering
Ingeniera del Sw-II, Jos Merseguer

Mtodos Formales en Modelado


!! Tipos de enfoques:
! no-formales, usando lenguaje natural ! semi-formales, notaciones (en parte graficas) con ciertas reglas y cuyas construcciones tienen una semntica ms o menos precisa ! formales, usando una notacin grfica o textual basada en un sistema formal (soporte matemtico)

!! 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

Mtodos Formales en Modelado


!! Las principales mejoras al utilizar mtodos formales son:
! Mayor rigor en la especificacin. ! Mejores condiciones para realizar la verificacin y validacin en forma ms exhaustiva. ! Mejores condiciones para automatizacin de procesos de generacin automtica de prototipos y/o cdigo final.
7 Ingeniera del Sw-II, Jos Merseguer

Modelado con UML


Use Case Use Case Diagramas de Diagrams Diagrams Secuencia Scenario Scenario Diagramas de Diagrams Diagrams Colaboracin Scenario Scenario Diagramas de Diagrams Diagrams Estados Use Case Use Case Diagramas de Diagrams Diagrams Casos de Uso State State Diagramas de Diagrams Diagrams Clases State State Diagramas de Diagrams Diagrams Objetos State State Diagramas de Diagrams Diagrams Componentes
Component Component Diagrams Diagramas Diagrams de

Modelo

Diagramas de Actividad

Distribucin

Un modelo es una descripcin completa de un sistema desde una perspectiva concreta


8 Ingeniera del Sw-II, Jos Merseguer

24/11/09

Aspectos Novedosos
!! Mecanismos de extensin: estereotipos, valores etiquetados y restricciones. !! Definicin semi-formal del Meta-Modelo semntico asociado. !! Perfiles.

9 Ingeniera del Sw-II, Jos Merseguer

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
!

10 Ingeniera del Sw-II, Jos Merseguer

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.

11 Ingeniera del Sw-II, Jos Merseguer

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)

12 Ingeniera del Sw-II, Jos Merseguer

24/11/09

Aspectos Novedosos
!!

Semntica semi-formal de UML:


! Cada Meta-Modelo se especifica con:
! una explicacin en lenguaje natural de cada Meta-Clase ! y con frmulas en OCL.

Ejemplo de la Meta-Clase State:


! Explicacin: modela una situacin durante la cual un
invariante sucede, que puede representar un objeto esperando que suceda un evento

! Frmula OCL para expresar que Un estado final no puede tener transiciones de salida: self.outgoing->size=0

13 Ingeniera del Sw-II, Jos Merseguer

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

14 Ingeniera del Sw-II, Jos Merseguer

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

15 Ingeniera del Sw-II, Jos Merseguer

Aspectos novedosos
!!

Perfiles: ejemplo de MARTE

16 Ingeniera del Sw-II, Jos Merseguer

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:

17 Ingeniera del Sw-II, Jos Merseguer

Diagramas de Actividad

18 Ingeniera del Sw-II, Jos Merseguer

24/11/09

Diagramas de Actividad
!!

Motivacin: detectamos una carencia en el Modelo Dinmico de OMT.


! Especificar las actividades (DO:activity) modeladas en los estados de los Diagramas de Estados. ! Lo hacamos con otro Diagrama de Estados. ! Pero los Diagramas de Estados modelaban comportamiento reactivo " No era adecuado para especificar una actividad. ! Revisar transpas 19 y 20 del modelo dinmico.

19 Ingeniera del Sw-II, Jos Merseguer

Diagramas de Actividad !! Caso especial de Diagrama de Estados donde:


! Todas (la mayora de) las transiciones son disparadas como consecuencia de la finalizacin de la accin. ! Todos (o la mayora de) los estados son estados de accin.

!! El Diagrama puede estar asociado a:


! La implementacin de una operacin (DO:activity). ! Un Caso de uso. ! Una clase " Sustituyendo al D. de Estados. Para clases con comportamiento no reactivo. Ingeniera del Sw-II, Jos Merseguer
20

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

Diagramas de Actividad (elementos)

22 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.

23 Ingeniera del Sw-II, Jos Merseguer

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.

24 Ingeniera del Sw-II, Jos Merseguer

12

24/11/09

Diagrama de Actividad
!!

Estado inicial, final y transiciones.


Cuando se completa la accin o la actividad de un estado, el flujo de control pasa inmediatamente al siguiente estado de accin o actividad " Transiciones automticas (sin disparador).
25 Ingeniera del Sw-II, Jos Merseguer

!!

Diagrama de Actividad
!!

Bifurcaciones
! Representan caminos alternativos. ! Pueden tener:
! Una transicin de entrada. ! Dos o ms de salida (con guardas excluyentes).

26 Ingeniera del Sw-II, Jos Merseguer

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.

27 Ingeniera del Sw-II, Jos Merseguer

Ejemplo

28 Ingeniera del Sw-II, Jos Merseguer

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.

29 Ingeniera del Sw-II, Jos Merseguer

Ejemplo

30 Ingeniera del Sw-II, Jos Merseguer

15

24/11/09

...Ejemplos (calles)
Pasajero Vendedor Lnea Aerea
Solicitar pasaje Verificar existencia vuelo Dar detalles vuelo Informar alternativas y precios Seleccionar vuelo

Solicitar pago Reservar plazas Pagar pasaje Emitir billete


31 Ingeniera del Sw-II, Jos Merseguer

Confirmar plaza reservada

Diagrama de Actividades
!!

Flujo de objetos
! ! Permite especificar los objetos involucrados en el diagrama. Indica creacin, destruccin o modificacin.

32 Ingeniera del Sw-II, Jos Merseguer

16

24/11/09

Ejemplo

33 Ingeniera del Sw-II, Jos Merseguer

Modelado de Componentes

34 Ingeniera del Sw-II, Jos Merseguer

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

Dependencias entre Componentes


!! Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un componente se refiere a los servicios ofrecidos por otro componente

Dependencia entre dos componentes


Ingeniera del Sw-II, Jos Merseguer

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

38 Ingeniera del Sw-II, Jos Merseguer

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

39 Ingeniera del Sw-II, Jos Merseguer

Modelado de Distribucin

40 Ingeniera del Sw-II, Jos Merseguer

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

41 Ingeniera del Sw-II, Jos Merseguer

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

42 Ingeniera del Sw-II, Jos Merseguer

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

43 Ingeniera del Sw-II, Jos Merseguer

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

También podría gustarte