Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UML3
UML3
David Pinelo
Marzo Abril de 2009
ndice
Introduccin a UML
Vista general
Arquitectura
Bloques de construccin
Modelado Estructural
Diagramas de clases
Diagramas de objetos
Modelado del
comportamiento
Diagramas de interaccin
Diagramas de secuencia
Diagramas de colaboracin
Casos de uso
Diagramas de casos de uso
Diagramas de actividades
Diagramas de despliegue
Diagramas de paquetes
Diagramas de tiempos
Nuevos diagramas en UML 2.0
Herramientas CASE
XMI
Introduccin. Objetivos
Se presentar la revision 2 del OMG (Object
Management Group) de noviembre de 2007.
UML: Unified Modeling Language
El objetivo de UML es proporcionar a
desarrolladores de software, arquitectos de
sistemas e ingenieros de software de herramientas
para el anlisis, diseo e implementacin de
sistemas basados en software, as como modelar
procesos de negocio y similares
El modelado captura las partes esenciales del
sistema
Modelado
Busca representar los planos del software
El modelado es la espina dorsal del desarrollo de
software de calidad
Modelo: Simplificacin de la realidad
UML busca
Visualizar cmo es o queremos que sea un sistema
Especificar la estructura o el comportamiento de un
sistema
Proporcionar plantillas que nos guen en la
construccin de un sistema
Documentar las decisiones que hemos adoptado
Modelado (II)
Principios bsicos del modelado
Seleccionar el modelo adecuado para cada
momento, y dependiendo de qu modelo se elija se
obtendrn diferentes beneficios y diferentes costes
El modelado orientado a objetos proporciona sistemas
ms flexibles y readaptables.
Todo modelo puede ser expresado en base a diferentes
niveles de precisin
Obtener modelos que representen la realidad lo ms
claramente posible
Un nico modelo no es suficiente
UML. Qu proporciona
Proporciona un vocabulario y las reglas para utilizarlo
para as tener una representacin conceptual y fsica
de un sistema
Utiliza grficos y textos
Los modelos pueden ser interpretados por personas que
no participaron en su diseo, sin ninguna ambigedad
Reglas
Diagramas
Clases
Objetos
Casos de Uso
Secuencia
Colaboracin
Estados
Componente
Despliegue
Nombres
Alcance
Visibilidad
Integridad
Afectan
Afectan
Colaboran
Mecanismos
Relaciones
Dependencia
Asociacin
Generalizacin
Realizacin
Especificaciones
Adornos
Divisiones Comunes
Extensibilidad
Actan
UML. Diagramas
Diagramas
Diagramas de
Estructura
Diagramas de
Clases
Diagramas de
Componentes
Diagramas de
Objetos
Diagramas de
comportamiento
Diagramas de
Despliegue
Diagramas de
Estructura
Compuesta
Diagramas de
Actividad
Diagramas de
Paquetes
Diagramas de
Secuencia
Diagramas de
Interaccin
Diagramas de
Colaboracin
Diagramas de
Estados
Diagramas de
Casos de uso
Diagrama
Global de
Interaccin
Diagramas de
Tiempos
Bloques de construccin
Elementos estructurales
Clases
Colaboracin
Descripcin de un conjunto
de objetos que comparten
los mismos atributos,
operaciones, relaciones y
semntica.
Interfaz
Coleccin de operaciones
que especifican un servicio
de una determinada clase o
componente.
Describe el comportamiento
visible externamente de ese
elemento. Puede mostrar el
comportamiento completo o
slo una parte del mismo. No
muestra su implementacin
Cadena de
responsabilidad
Casos de uso
Login de usuario
Descripcin de un conjunto de
acciones que un sistema
ejecuta y que produce un
determinado resultado que es
de inters para un actor
particular.
Se utiliza para organizar los
aspectos del comportamiento
en un modelo. Es realizado por
una colaboracin.
Nodos
Servidor
Componente
Elementos de agrupacin
Paquete
Mquinas de estados
Waiting
Elementos de
anotacin
Asociacin
0..1
Generalizacin
Realizacin
Arquitectura
Es el conjunto de
decisiones significativas
sobre
La organizacin del
sistema
Elementos estructurales
y sus interfaces
Comportamiento
Composicin de los
elementos estructurales
y de comportamiento en
subsistemas ms
grandes
Estilo arquitectnico
Vocabulario
Funcionalidad
Ensamblado del
sistema
Gestin de las
configuraciones
Vista de
Diseo
Vista de
Implementacin
Vista de los
Casos de Uso
Vista de
procesos
Vista de
despliegue
Funcionamiento
Capacidad de
crecimiento
Topologa del
sistema
Distribucin
Rendimiento
Interfaces
Relaciones de Realizacin
Roles
Paquetes
Instancias
Diagramas de clases
Diagramas de objetos
Modelado Estructural
Modelado: Parte del UML que se ocupa de identificar
todas las partes importantes de un sistema, as como sus
interacciones.
Modelado estructural: Se modelan los aspectos estticos
de un sistema
Se utilizan clases
Nombre
Atributos
Operaciones
Estereotipos
1..*
Trabaja para
empleado
Empresa
Patrn
Rol
Ejemplo de agregacin
Ejemplo de composicin
Representacin 1
Representacin 2
Roles
Una clase puede implementar varios interfaces. Un rol
denota un comportamiento de una entidad en un
contexto particular.
Lo habitual es utilizar la
notacin en forma de crculo
para denotar lneas de
separacin del sistema cuando
utilizamos componentes, y
utilizar la notacin expandida
en las relaciones de realizacin
Usuario
Accesos
Permisos
GestinUsuarios::Usuario
Diagramas de clases
Diagrama que muestra un conjunto de clases,
interfaces, colaboraciones y sus relaciones
Usos
Modelar el vocabulario de un sistema (abstracciones
que son parte del sistema y las que no lo son)
Modelar colaboraciones simples
Colaboracin: Sociedad de clases, interfaces y otros elementos
que colaboran para proporcionar un comportamiento
cooperativo mayor que la suma de todos sus elementos.
Enlaces
Mensajes
Modelado de un flujo de control
Diagramas de interaccin
Modelado de flujos de control por ordenacin temporal
Diagramas de secuencia
Casos de uso
Actores
Flujo de eventos
Escenarios
Colaboraciones
Modelado del comportamiento de un elemento
Diagramas de actividades
Diagramas de Interaccin
Representaciones grficas de escenarios que implican
la interaccin de ciertos objetos interesantes y los
mensajes enviados entre ellos, para modelar aspectos
dinmicos.
Dos formas de construirlos
Destacando la ordenacin temporal de los mensajes
Diagramas de secuencias
Tpicamente uno examina la descripcin de un caso de uso para determinar qu objetos son necesarios
para la implementacin del escenario. Si tiene modelada la descripcin de cada caso de uso como una
secuencia de varios pasos, entonces puedes "caminar sobre" esos pasos para descubrir qu objetos son
necesarios para que se puedan seguir los pasos.
<<local>>
<<parameter>>
<<global>>
<<self>>
Estados de actividades
Estados de accin
Transiciones
Objetos
Diagrama de despliegue
Utilizados para modelar el hardware utilizado en las
implementaciones de sistemas y las relaciones entre sus
componentes
Elementos usados
nodos (representados como un prisma)
componentes (representados como una caja rectangular con dos
protuberancias del lado izquierdo)
asociaciones
Diagrama de paquetes
Muestra como un sistema est dividido en agrupaciones
lgicas mostrando las dependencias entre esas
agrupaciones
Diagrama de tiempos
Grfica de formas de onda digitales que muestra la
relacin temporal entre varias seales, y cmo vara
cada seal en relacin a las dems.
Inconvenientes de UML
Problemas tpicamente achacados a UML
Carencia de una semntica precisa, lo que ha dado
lugar a que la interpretacin de un modelo UML no
pueda ser objetiva.
No se presta con facilidad al diseo de sistemas
distribuidos (cmo se modela transmisin,
serializacin, persistencia, que un objeto es persistente
o remoto?)
Herramientas CASE
Computer Aided Software Engineering: Ingeniera de
Software Asistida por Ordenador)
Aplicaciones informticas destinadas a aumentar la
productividad en el desarrollo de software reduciendo
el coste de las mismas en trminos de tiempo y de
dinero.
Nos pueden ayudar en todos los aspectos del ciclo de
vida de desarrollo del software en tareas como el
proceso de realizar un diseo del proyecto, calculo de
costes, implementacin de parte del cdigo
automticamente con el diseo dado, compilacin
automtica, documentacin o deteccin de errores
entre otras.
ArgoUML
CASE Studio 2
CASEWise
Eclipse - Sitio Web
GNU Ferret
MetaCASE
Rational Rose
Umbrello
Microsoft Visio
XMI
XMI o XML Metadata Interchange (XML de
Intercambio de Metadatos) es una especificacin para
el Intercambio de Diagramas
La especificacin para el intercambio de diagramas fue
escrita para proveer una manera de compartir modelos
UML entre diferentes herramientas de modelado