Está en la página 1de 74

Introduccin a UML

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

Introduccin. Objetivos (II)


UML es un lenguaje con un alcance muy grande y
que cubre diversos conjuntos de dominios
arquitectnicos en el diseo de aplicaciones.
Por ello, no todas sus capacidades de modelados
son necesariamente tiles en todos los dominios o
aplicaciones.
UML permite seleccionar slo aquellas partes del
lenguaje que sean realmente tiles.
El 80 por ciento de la mayora de los problemas
pueden modelarse usando alrededor del 20 por
ciento de UML - Grady Booch

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

UML. Vista general


Bloques de construccin
Elementos
Estructurales
Comportamiento
Agrupacin
Anotacin

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

UML. Lo imprescindible de historia


En 2000 se aprueba UML 1.4 que supone una revisin
mayor. Es la habitual hoy da
En 2007 se aprueba la revisin 2.0 que introducen
bastantes novedades, que se estn implantando hoy da
Participantes
Rational Software
(Grady Booch, Jim Rumbaugh y
Ivar Jacobson)
Digital Equipment
Hewlett-Packard
i-Logix (David Harel)
IBM
ICON Computing
(Desmond D'Souza)
Intellicorp and James

Martin & co. (James Odell)


MCI Systemhouse
Microsoft
ObjecTime
Oracle Corp.
Platinium Technology
Sterling Software
Taskon
Texas Instruments
Unisys

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

Define una interaccin y es una


sociedad de roles y otros
elementos que colaboran para
proporcionar un
comportamiento cooperativo
mayor que la suma de los
comportamientos de sus
elementos. Tienen una
dimensin tanto estructural
como de comportamiento. Una
misma clase puede participar
en diferentes colaboraciones.
Representan la implementacin
de patrones que forman un
sistema.

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.

Bloques de construccin (II)


Elementos estructurales
Clase Activa

Nodos

Clase cuyos objetos tienen


uno o ms procesos o hilos
de ejecucin por lo y tanto
pueden dar lugar a
actividades de control.

Servidor

Es igual que una clase,


excepto que sus objetos
representan elementos
cuyo comportamiento es
concurrente con otros
elementos.

Componente

Parte fsica y reemplazable de un


sistema que conforma con un
conjunto de interfaces y
proporciona la implementacin de
dicho conjunto.
Representa tpicamente el
empaquetamiento fsico de
diferentes elementos lgicos, como
clases, interfaces y colaboraciones.

Elemento fsico que existe en


tiempo de ejecucin y representa un
recurso computacional que, por lo
general, dispone de algo de
memoria y, con frecuencia, de
capacidad de procesamiento. Un
conjunto de componentes puede
residir en un nodo.

Bloques de construccin (III)


Elementos estructurales
Interaccin
dibujar

Comportamiento que comprende


un conjunto de mensajes
intercambiados entre un conjunto
de objetos, dentro de un contexto
particular para conseguir un
propsito especfico.
Involucra otros muchos
elementos, incluyendo mensajes,
secuencias de accin
(comportamiento invocado por un
objeto) y enlaces (conexiones
entre objetos)

Elementos de agrupacin
Paquete

Mquinas de estados
Waiting

Elementos de
anotacin

Bloques de construccin (IV)


Relaciones
Dependencia

Asociacin
0..1

Es una relacin semntica entre dos elementos en la


cual un cambio a un elemento (el elemento
independiente) puede afectar a la semntica del otro
elemento (elemento dependiente).

Generalizacin

Es una relacin de especializacin / generalizacin en


la cual los objetos del elemento especializado (el hijo)
pueden sustituir a los objetos del elemento general (el
padre). De esta forma, el hijo comparte la estructura y
el comportamiento del padre.

Relacin estructural que describe un conjunto de


enlaces, los cuales son conexiones entre objetos. La
agregacin es un tipo especial de asociacin y
representa una relacin estructural entre un todo y sus
partes.

Realizacin

Es una relacin semntica entre clasificadores, donde


un clasificador especifica un contrato que otro
clasificador garantiza que cumplir.
Se pueden encontrar relaciones de realizacin en dos
sitios: entre interfaces y las clases y componentes que
las realizan, y entre los casos de uso y las
colaboraciones que los realizan.

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

Modelado Estructural. ndice


Clases
Responsabilidades
Relaciones
Dependencia
Generalizacin
Asociacin

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

Para cada clase hay que


determinar un conjunto de
responsabilidades y
posteriormente determinar los
atributos y las operaciones
necesarias para llevar a cabo
las responsabilidades de la
clase

Modelado Estructural (II)


Responsabilidades:
Fin para el que es creada una clase.
Obligaciones
Es buena prctica iniciar especificando las
responsabilidades de cada clase.
Objetivo: Abstraer lo necesario y suficiente. No dar
demasiadas responsabilidades a una sola clase ni
obtener clases con muy pocas responsabilidades.

Modelado Estructural (III)


Relaciones
Manera de representar las interacciones entre clases
OJO: Si se modela en exceso, se obtendrn diagramas
con un alto nivel de dificultad para poder leerlos. Si se
modela insuficiente, se obtendrn diagramas sin la
semntica suficiente.
Relacin de dependencia
Un cambio en la especificacin del elemento
independiente puede afectar al otro elemento implicado
en la relacin

Modelado Estructural (IV)


Relacin de Generalizacin
Se establece entre un elemento general (superclase o padre) y un
caso ms especfico de ese elemento (subclase o hijo). Es el caso
de la Herencia
Los objetos hijos se pueden utilizar en cualquier lugar donde
aparece el padre
Puede modelarse herencia simple y mltiple
Polimorfismo: as es como el hijo extiende la funcionalidad del
padre en su mbito.

Modelado Estructural (V)


Relacin de Asociacin
Los objetos de un elemento estn conectados con los
objetos de otros
Puede existir relaciones recursivas (conexin con otros
objetos de la misma clase)
Adornos para facilitar su comprensin
Nombre: Utilizado para describir la naturaleza de la relacin
Rol: Cara que una clase presenta a la clase que en encuentra en el
otro extremo de la asociacin
Multiplicidad: Indica cuntos objetos se pueden conectar a traes de
una instancia de la asociacin
Agregacin: Relacin estructural entre iguales. Sirve para modelar
relaciones del tipo todo/parte
Composicin: Como la agregacin simple, pero existe una fuerte
relacin de pertenencia y vidas coincidentes de la parte del todo.

Modelado Estructural (VI)


Ejemplo de asociacin simple
Nombre
Persona

1..*

Trabaja para

empleado

Empresa

Patrn

Rol

Ejemplo de agregacin

Ejemplo de composicin

Modelado Estructural (VII)


Interfaces
Coleccin de operaciones que sirven
para especificar el servicio que una
clase o componente da al resto de las
partes involucradas en un sistema
UML las utiliza para modelar las lneas
de separacin de un sistema
Puede participar en relaciones de
realizacin
Una interfaz especifica un contrato para
una clase o componente sin dictar su
implementacin

Representacin 1

Representacin 2

Modelado Estructural (VIII)


Relacin de realizacin (en interfaces)
La clase que implementa garantiza que
har las veces de la interfaz. Es una
relacin mucho ms fuerte que la
generalizacin

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

Modelado Estructural (IX)


Paquetes
Mecanismo de propsito general para organizar elementos
de modelado en grupos
Se puede controlar la visibilidad de los elementos de un
paquete (algunos podrn ser visibles, otros estarn ocultos)
Un paquete forma un espacio de
nombres.
GestinUsuarios

Usuario
Accesos

Permisos

GestinUsuarios::Usuario

Los paquetes se pueden anidar,


pero deben evitarse paquetes
muy anidados. Dos o tres niveles
de anidamiento como mximo.

Modelado Estructural (X)


Instancias
Sinnimo de objeto. Representa la manifestacin
concreta de una abstraccin (clase, nodo, casos de uso,
asociaciones...)
Sus operaciones se denotan como
u.getPermisos()

Los valores concretos de sus atributos determinan su


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

Modelar el esquema lgico de una base de datos.

Se utilizan para visualizar los aspectos estticos de los


bloques de construccin del sistema.

Diagrama de clases (II)


Uso: Colaboraciones simples. Pasos a seguir
Identificar los mecanismos que se quieren modelar
Mecanismo: Funcin o comportamiento de parte del sistema que se
est modelando y que resulta de la interaccin de una sociedad de
clases, interfaces y otros elementos.

Para cada elemento, identificar las clases, interfaces y otras


colaboraciones que participan en esta colaboracin, as
como las relaciones entre estos elementos
Usar escenarios para recorrer la interaccin entre estos
elementos. Se descubrirn partes del modelo que faltaban y
las que son semnticamente incorrectas
Dotar a estos elementos de contenido: Equilibrar el reparto
de responsabilidades entre clases, y convertir las
responsabilidades en atributos

Diagrama de clases (III)

Diagrama de objetos (I)


Contiene un conjunto de instancias (objetos) de los
elementos encontrados en un diagrama de clases
Expresa la parte esttica de una interaccin, mostrando los
objetos que colaboran pero sin ninguno de los mensajes
enviados entre ellos
Un diagrama de objetos congela un instante del tiempo
Hay quienes los consideran como un caso particular de
diagrama de clases
Usos
Modelar estructuras de datos estticas para as sustentar los
requisitos funcionales de un sistema.
Visualizar, especificar, construir y documentar la estructura de
objetos, especialmente en estructuras de datos complejas.
Mostrar significativamente conjuntos interesantes de objetos
concretos o prototpicos

Diagramas de objetos (II)


Pasos a seguir:
Identificar el mecanismo a modelar
Para cada mecanismo, identificar las clases, interfaces y
otros elementos que participan en esta colaboracin, as
como las relaciones entre estos elementos
Considerar un escenario en el que intervenga este
mecanismo. Congelar este escenario en un momento
concreto y representar cada objeto que participe en el
mecanismo
Mostrar el estado y valores de los atributos de cada uno de
esos objetos, si son necesarios para comprender el
escenario
Mostrar los enlaces de esos objetos, que representaran
instancias de las asociaciones entre ellos

Modelado del Comportamiento. ndice


Interacciones

Enlaces
Mensajes
Modelado de un flujo de control
Diagramas de interaccin
Modelado de flujos de control por ordenacin temporal
Diagramas de secuencia

Modelado de flujos de control por organizacin


Diagramas de colaboracin

Casos de uso
Actores
Flujo de eventos
Escenarios
Colaboraciones
Modelado del comportamiento de un elemento
Diagramas de actividades

Modelado del comportamiento (I)


Se modelan los aspectos dinmicos de un sistema
mediante interacciones
Interaccin: Comportamiento que comprende un
conjunto de mensajes intercambiados entre un
conjunto de objetos dentro de un contexto para lograr
un propsito
Utilizada para modelar el flujo de control dentro de una
operacin, una clase, un componente, un caso de uso
el propio sistema
Un mensaje es la especificacin de una comunicacin
entre objetos que transmite informacin, con la
expectativa de que se desencadenar una actividad

Modelado del comportamiento (II)


Dnde aparecen las interacciones?
En la colaboracin de objetos existentes en el contexto
de un sistema o un subsistema
Entre los objetos de un mismo subsistema en la
implementacin de una operacin
En el contexto de una clase (cmo los atributos y
diferentes operaciones interaccionan entre s para dar
lugar a una nueva operacin)

Los objetos que participan en una interaccin son o


bien elementos concretos (objetos) o bien elementos
prototpicos (clases, nodos y casos de uso
Enlace: Instancia de una asociacin. Siempre que
exista un enlace entre dos objetos, un objeto puede
mandar un mensaje al otro

Modelado del comportamiento (III)


Mensajes: Especificacin de una comunicacin entre
objetos que transmite informacin, con la expectativa de
que se desencadenar alguna actividad
Tipos de mensajes

Llamada: Invoca una operacin sobre un objeto


Retorno: Devuelve un valor al invocador
Envo: Enva una seal a un objeto
Creacin
Destruccin

Modelado del comportamiento (IV)


Modelado de un flujo de control: Construir una
representacin grfica (a modo de diagrama de secuencias
o de colaboracin) de las acciones que tienen lugar entre
un conjunto de objetos. Mtodo base.
Establecer el contexto de la interaccin
Establecer el escenario identificando qu objetos juegan un
rol, estableciendo sus propiedades iniciales (estado = valores
de sus atributos)
Identificar los enlaces que conectan los objetos y que son
relevantes para los flujos de mensajes que tienen lugar en la
interaccin
Especificar los mensajes que pasan de un objeto a otro
mediante una organizacin temporal
Adornar cada objeto con su estado y rol siempre que sea
preciso

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

Destacando la relacin estructural de los objetos que


interactan
Diagramas de colaboracin

Diagrama de secuencias (I)


Destaca la ordenacin temporal de los mensajes
Se obtiene una representacin visual clara del
flujo de control a lo largo del tiempo
Caractersticas
Lnea de vida. Representa la existencia de un
objeto a lo largo de un perodo de tiempo. Si se
crean o destruyen objetos durante la interaccin,
sus lneas de vida aparecen y desaparecen cuando
reciben los mensajes estereotipados
<<create>>
<<destroy>>

Foco de control. Representa el perodo de tiempo


durante el cual un objeto ejecuta una accin

Diagrama de secuencias (II)


Clasificacin de mensajes
Sncronos se corresponden con llamadas a mtodos del objeto que
recibe el mensaje. El objeto que enva el mensaje queda bloqueado
hasta que termina la llamada. Se representan con flechas con la
cabeza llena.
Asncronos, estos mensajes terminan inmediatamente, y crean un
nuevo hilo de ejecucin dentro de la secuencia. Se representan con
flechas con la cabeza abierta.

Tambin se representa la respuesta a un mensaje con una flecha


discontinua.

Diagramas de secuencias (III)


Modelado de flujos de control por ordenacin temporal
Establecer el contexto de la interaccin (sistema, subsistema, clase, caso
de uso...). Tpicamente se escoge un caso de uso
Establecer un escenario de la interaccin: identificar qu objetos juegan
un rol. Los objetos se organizan en el diagrama de izquierda a derecha,
colocando los objetos ms importantes a la izquierda y sus objetos
vecinos a la derecha.
Establecer la lnea de vida de cada objeto. La mayora persisten la
interaccin completa. Para los que no, debe indicar explcitamente su
creacin y destruccin
A partir del mensaje que inicia la interaccin, hay que ir colocando los
mensajes subsiguientes de arriba a abajo entre las lneas de vida,
mostrando las propiedades de cada mensaje (sus parmetros, por
ejemplo). Establecer si los mensajes son sncronos o asncronos
Adornar cada mensaje con marca de tiempo si son necesarias
restricciones de tiempo
Se pueden incluir pre y poscondiciones.

Diagrama de secuencias (IV) Ejemplo

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.

Diagrama de colaboracin (I)


Desde UML 2.0 tenemos el diagrama de comunicacin, versin
simplificada del diagrama de colaboracin
Destaca la organizacin de los objetos que participan en una
interaccin
Ofrece una representacin clara del flujo de control en el
contexto de la organizacin estructural de los objetos que
colaboran
Caractersticas
Para indicar cmo se enlaza un objeto a otro, se puede asociar un
estereotipo de camino al extremo ms lejano de un enlace

<<local>>
<<parameter>>
<<global>>
<<self>>

Nmero de secuencia para indicar la ordenacin temporal de un


mensaje y su anidamiento: numeracin decimal de Dewey

Diagrama de colaboracin (II)


Modelado de flujos de control por organizacin
Establecer el contexto de la interaccin
Establecer un escenario de la interaccin, identificando qu objetos
juegan un rol en ella. Los objetos deben organizarse en el diagrama de
colaboracin como los nodos del grafo, colocando los objetos ms
importantes en el centro y sus objetos vecinos en el exterior
Establecer las propiedades iniciales de cada uno de estos objetos. Si los
valores de los atributos, valores etiquetados, estado o rol de algn objeto
cambia de forma significativa durante la interaccin, hay que colorar un
objeto duplicado en el diagrama, actualizado con los nuevos valores y
conectarlo con un mensaje estereotipado como become o copy
Especificar los enlaces entre esos objetos, juntos con los mensajes que
pueden pasarse
Colocar los enlaces de asociaciones en primer lugar
Colocar los dems enlaces a continuacin, y adornarlos con los
estereotipos de camino adecuados (como global y local) para
especificar explcitamente cmo se conectan estos objetos entre s

Diagrama de colaboracin (III)


Modelado de flujos de control por organizacin (II)
Comenzando por le mensaje que inicia la interaccin, hay que asociar
cada mensaje subsiguiente al enlace apropiado, estableciendo su
nmero de secuencia. Los anidamientos se representan con la
numeracin decimal de Dewey
Si es necesario especificar restricciones de tiempo, hay que adornar
cada mensaje con una marca de tiempo
Si es necesario, pueden agregarse pre y postcondiciones

Diagrama de colaboracin (IV)

Modelado del comportamiento (IV)


Casos de uso: Especifica el comportamiento de un sistema o
una parte del mismo, y es una descripcin de un conjunto de
secuencias de acciones, incluyendo variantes, que ejecuta un
sistema para producir un resultado observable para un actor
Se emplean para capturar el comportamiento deseado del
sistema en desarrollo sin tener que especificar cmo se
implementa ese comportamiento.
Proporcionan un medio para que desarrolladores y usuarios
finales del sistema lleguen a una comprensin comn del
sistema.
No especifican cmo se implementa: especifican un
comportamiento deseado, pero no indican cmo se lleva a cabo
Normalmente se evita el empleo de jergas tcnicas, prefiriendo
en su lugar un lenguaje ms cercano al usuario final. En
ocasiones, se utiliza a usuarios sin experiencia junto a los
analistas para el desarrollo de casos de uso.

Modelado del comportamiento (V)


Un caso de uso representa un requisito funcional del
sistema
Actores
Los actores representan un rol que puede ser
jugado por una persona, un dispositivo hardware o
incluso otro sistema
Se pueden representar categoras de actores ms
generales
Slo se pueden conectar a los casos de uso a
travs de asociaciones

Variantes: Casos de uso que son versiones


especializadas de otros casos de uso.
Pueden aplicarse al sistema completo o partes
del sistema.

Modelado del comportamiento (VI)


El comportamiento de un caso de uso se puede
especificar describiendo un flujo de eventos de forma
textual, lo suficientemente claro para que alguien ajeno
al sistema lo entienda fcilmente
Una vez especificados en modo texto se pueden
especificar grficamente mediante diagramas de
interaccin
Se usa un diagrama de secuencia para especificar el
flujo principal de un caso de uso
Variantes del diagrama de secuencia para especificar
los flujos excepcionales

Modelado del comportamiento (VII)

Modelado del comportamiento (VIII)


Importancia de los casos de uso
Permite a los analistas especificar su vista externa del
sistema a nivel suficiente para que los desarrolladores
construyan su vista interna
Proporcionan un foro comn donde desarrolladores,
analistas y usuarios finales pueden intercambiar
opiniones
Los casos de uso proporcionan a los desarrolladores
una forma de abordar y comprender un elemento
Permiten que el creador de un elemento comunique
su intencin sobre cmo se debera usar
Sirven de base para probar cada elemento segn
evoluciona durante el desarrollo

Modelado del comportamiento (IX)


Modelado del comportamiento de un elemento
Identificar los actores que interactan con el elemento
Organizar los actores identificando tanto los roles ms
generales como los ms especializados
Considerar las formas ms importantes que tiene cada actor
de interactuar con el elemento
Considerar las interacciones que implican el cambio de
estado del elemento o su entorno o que involucren una
respuesta ante algn evento
Considerar las formas excepcionales en las que cada actor
puede interactuar con el elemento
Organizar estos comportamientos como casos de uso

Diagramas de casos de uso (I)


Sirve para visualizar el comportamiento del sistema:
Los servicios visibles externamente que proporciona el
sistema en el contexto de su entorno. Usos
Modelar el contexto de un sistema
Modelar los requisitos de un sistema

Diagramas de casos de uso (II)


Modelado del contexto de un sistema
Hay que identificar los actores en torno al sistema
considerando los siguientes grupos
Los que requieren ayuda del sistema para llevar a cabo sus tareas
Los necesarios para ejecutar las funciones del sistema
Los que interactan con el hardware externo o con otros sistemas
software
Los que realizan funciones secundarias de administracin y
mantenimiento

Organizar los actores similares en jerarquas de


generalizacin / especializacin
Proporcionar un estereotipo a cada uno de esos actores
Introducir esos actores en un diagrama de casos de uso y
especificar las vas de comunicacin con cada uno de los
casos de uso del sistema

Diagramas de casos de uso (III)

Diagrama de casos de uso (IV)


Modelado de los requisitos de un sistema
Establecer el contexto del sistema, identificando los
actores a su alrededor
Considerar el comportamiento que cada actor espera
del sistema o requiere que ste le proporcione
Nombrar esos comportamientos comunes como casos
de uso
Factorizar el comportamiento comn en nuevos casos
de uso que puedan ser utilizado por otros
Adornar los casos de uso con notas que enuncien los
requisitos no funcionales

Diagrama de casos de uso (V)

Diagrama de Actividades (I)


Muestra el flujo de las actividades software de alto nivel en la
ejecucin de un sistema, pero sin profundizar en los detalles
internos de mensajes
Actividad: Ejecucin no atmica en curso, dentro de una
mquina de estados. Las actividades producen finalmente
alguna accin
Las acciones incluyen llamadas a otras operaciones, envo de
seales, creacin o destruccin de objetos o simples clculos,
como la evaluacin de una expresin
Los diagramas de estado contienen

Estados de actividades
Estados de accin
Transiciones
Objetos

Especialmente til para visualizar los flujos de trabajo y los


procesos de negocio

Diagrama de Actividades (II)


Estados de accin: Estados del sistema. Representan la
ejecucin de una accin.
Ejemplos

Evaluar una expresin


Invocar una operacin sobre un objeto
Enviar una seal a un objeto
Crear o destruir un objeto

No se pueden descomponer. Son atmicos (no se interrumpe


su ejecucin)
Su ejecucin conlleva un tiempo insignificante

Estados de actividad. Elemento compuesto cuyo flujo de


control se compone de otro estado de actividad y estados
de accin
No son atmicos. Se pueden descomponer
Su ejecucin conlleva un tiempo

Diagrama de Actividades (III)


Transiciones
Bifurcaciones: Especifica caminos
alternativos, elegidos segn el valor
de alguna expresin booleana
Divisin y Unin: Utilizadas
para modelar flujos
concurrentes (estas pueden
ser realmente concurrentes o
secuenciales pero con ilusin
de concurrencia)

Diagrama de Actividades (IV)


Calles (o Swimlanes): Dividir los estados de actividad
de un diagrama de actividades en grupos, donde cada
uno representa la parte de la organizacin responsable
de esas actividades.
Cada calle representa una responsabilidad de alto
nivel de una parte de actividad global de un diagrama
de actividades, y cada calle puede ser implementada
en ltima instancia por una o ms clases

Diagrama de Actividades (VI)


Usos:
Se usan en el contexto del sistema global, un
subsistema, una operacin o una clase.
Se pueden asociar diagramas de actividades a un caso
de uso (se modela un escenario) y a las colaboraciones
(se modelan aspectos dinmicos de una sociedad de
objetos)
Modelar un flujo de trabajo (se ve el sistema desde el
punto de vista de los actores)
Modelar una operacin (utilizado como diagrama de
flujo u organigrama)

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

Artefacto: un archivo, un programa, una biblioteca, o una base


de datos construida o modificada en un proyecto. Estos
artefactos implementan colecciones de componentes
Los nodos internos indican ambientes, un concepto ms amplio
que el hardware propiamente dicho, ya que un ambiente puede
incluir al lenguaje de programacin, a un sistema operativo, un
ordenador o un cluster de terminales

Diagrama de despliegue (II)


La mayora de las veces el modelado de la vista de despliegue
implica modelar la topologa del hardware sobre el que se
ejecuta el sistema. Aunque UML no es un lenguaje de
especificacin hardware de propsito general, se ha diseado
para modelar muchos de los aspectos hardware de un sistema
a un nivel suficiente para que un ingeniero software pueda
especificar la plataforma sobre la que se ejecuta el software del
sistema.

Diagrama de despliegue (III)

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.

Nuevos diagramas en UML 2.0


Diagrama de estructura compuesta
Muestra la estructura interna de una clase y las
colaboraciones que esta estructura hace posibles

Diagrama global de interacciones


Es un diagrama de comportamiento, ms precisamente,
uno de los cuatro diagramas de interaccin. Muestra
una cierta vista sobre los aspectos dinmicos de los
sistemas modelados
Algunos elementos grficos estn tomados del
diagrama de actividades

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?)

UML no es una metodologa, pero se entiende as


Solucin: UML s acepta la creacin de nuestros
propios componentes para este tipo de modelado

Ciclo de vida de un proyecto software

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.

Herramientas CASE. Objetivos


Mejorar la productividad en el desarrollo y mantenimiento del software
Aumentar la calidad del software
Reducir el tiempo y coste de desarrollo y mantenimiento de los
sistemas informticos
Mejorar la planificacin de un proyecto
Aumentar la biblioteca de conocimiento informtico de una empresa
ayudando a la bsqueda de soluciones para los requisitos
Automatizar el desarrollo del software, la documentacin, la
generacin de cdigo, las pruebas de errores y la gestin del proyecto
Ayuda a la reutilizacin del software, portabilidad y estandarizacin de
la documentacin
Gestin global en todas las fases de desarrollo de software con una
misma herramienta
Facilitar el uso de las distintas metodologas propias de la ingeniera
del software

Algunas Herramientas CASE

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

También podría gustarte