Escolar Documentos
Profissional Documentos
Cultura Documentos
Casos de uso
Representa la funcionalidad que ofrece el
sistema en lo que se refiere a su
interaccin externa.
Representa las funciones que un sistema
puede ejecutar
Elementos bsicos
Actores
Casos de Uso
Asociaciones
Casos de uso
Actores
Un actor es algo con comportamiento, como una
persona (identificada por un rol), un sistema
informatizado u organizacin, y que realiza algn tipo
de interaccin con el sistema.
Casos de Uso
Un caso de uso es una descripcin de la secuencia
de interacciones que se producen entre un actor y el
sistema, cuando el actor usa el sistema para llevar a
cabo una tarea especfica. Expresa una unidad
coherente de funcionalidad
Casos de uso
Asociaciones
Hay una asociacin entre un actor y un caso
de uso si el actor interacta con el sistema
para llevar a cabo el caso de uso.
Tipos de Asociaciones
<<include>> Un caso de uso base incorpora
explcitamente a otro caso de uso en un lugar
especifico en dicho caso base. Se suele
utilizar para encapsular un comportamiento
parcial comn a varios casos de uso.
Diagrama de clase
Es el ms utilizado y ms conocido de los
diagramas orientados a objetos. Es la
fuente de generacin de cdigo.
El diagrama de clase representa clases,
sus partes y la forma en la que las clases
de los objetos estn relacionados con
otro.
Una clase es una definicin de un tipo de
objeto.
Clases
Las clases son descripciones de un juego de objetos
con caractersticas, comportamiento, relaciones y
semnticas comunes. Se usan para modelar un juego
de conceptos o entidades.
Se denotan con un rectngulo con compartimentos.
En ellos se ponen el nombre, los atributos, las operaciones y
adems se pueden usar para anotar otras propiedades del
modelo como son (reglas del negocio, responsabilidades,
excepciones, etc.)
Pueden tener interfaces para especificar conjuntos de
operaciones proporcionadas a su ambiente. Todas las
operaciones deben estar asociadas a mtodos.
Pueden tener relaciones de generalizacin con otras clases.
Atributos
Son descripciones de caractersticas, se
usan para modelar informacin asociada
con una entidad
Operaciones
Son descripciones del comportamiento, se
usan para modelar los servicios u
operaciones asociados con una entidad,
esto es, lo que una entidad puede hacer
Interfaces
Son clases que definen un juego de
operaciones externas accesibles pero sin
mtodos. Se usan para modelar una serie
de operaciones que definen un servicio
que puede ser ofrecido por diferentes
clases.
Se representan como clases pero con el
estereotipo <<interface>>.
Solo contienen operaciones pblicas
Diagrama de Objetos
La clase define las reglas; los objetos expresan
los hechos.
La clase define que puede ser; el objeto
describe que es.
Se considera un caso especial del diagrama de
clases.
Puede construirse junto con el de clases.
Describe una instancia de un diagrama de clase
en un momento en particular.
Este diagrama contiene objetos y ligas.
Modelando Clases
La representacin de una clase es un
rectngulo con 3 divisiones:
El del nombre define la clase, (un tipo de
objeto).
El de los atributos contiene la definicin de
los datos.
El de las operaciones contiene la definicin
de cada comportamiento soportado por este
tipo de objeto.
Ejemplo
La siguiente figura muestra un vuelo de una
aerolnea modelado como una clase UML.
Nombre
Atributos
Operaciones
Operacin(parmetros:
Tipo de dato):valor de
retorno
Modelando un atributo
Un atributo describe una pieza de informacin
que un objeto tiene o conoce de s mismo. Para
poder usar esta informacin se debe asignar un
nombre y especificar el tipo de dato.
El tipo de dato puede ser primitivo o tipo de dato
abstracto (definido)
Cada atributo puede tener reglas que limiten los
valores asignados a ste. Se puede usar un
valor de default para protegerlo.
Visibilidad de un atributo
La definicin de un atributo debe especificar que
otros objetos los pueden ver. La visibilidad
puede ser:
Public (+) permite el acceso a objetos de las otras
clases.
Private (-) limita el acceso a la clase, solo
operaciones de la clase tienen acceso.
Protected (#) permite el acceso a subclases. En el
caso de generalizacin (herencia), las subclases
deben tener acceso a los atributos y operaciones de
la superclase, sino no pueden heredar.
Package (~) permite el acceso a los otros objetos en
el mismo paquete.
Ejemplo
compaa
Tipo de dato
compaa:character
compaa:character = espacios
Restricciones
compaa:character = espacios
{1 a 30}
Caracteres
compaa:character = espacios{1
a 30 alfabticos, espacios,
puntuacin, no especiales}
Visibilidad
- compaa:character = espacios
{1 a 30 alfabticos, .
Ejemplo
Nombre
Definir argumentos/
Parmetros, corresponden
a una instancia de Order
Definir el tipo de dato de
retorno
totalOrderAmount
totalOrderAmount (order:
integer)
Identificar y describir
restricciones
totalOrderAmount (order:
integer) : {El total es la suma
de cada item (p.u. x cantidad)
Visibilidad
+ totalOrderAmount (order:
integer) : {El total es la suma .
totalOrderAmount (order:
integer) : Dollar
Asociaciones
Direccin
La direccin en las flechas de la asociacin
determinan en que direccin puede recorrerse
una asociacin en el momento de la ejecucin.
Una asociacin sin flechas significa que se
puede ir de un objeto a otro y viceversa.
Por ejemplo
El objeto Reservacin puede recuperar el objeto
Cliente.
Tambin implica que del objeto Cliente puede
recuperar el juego de reservaciones para ese cliente.
1.*
hecha para
Reservacin
Cliente
hecha para
1
Cuarto
Clase Asociacin
Cuando se modela una asociacin entre clases,
a veces es necesario incluir otra clase que
contiene informacin valiosa acerca de la
relacin.
Se representa como una clase normal solo que
la lnea que la une con la lnea que conecta las
asociaciones primarias es punteada.
La siguiente figura muestra una clase
asociacin para el ejemplo de los vuelos.
Ejercicio
Agregacin
Composcin
AGREGACIN BASICA
Es un tipo especial de asociacin utilizado
para modelar una relacin Todo con sus
partes.
Por ejemplo, Auto es una entidad Todo y
Llanta es una parte del Auto.
Una asociacin con una agregacin indica
que una clase es parte de otra clase.
En este tipo de asociacin, la clase hijo
puede sobrevivir sin su clase padre.
AGREGACIN/COMPOSICIN
En este caso el ciclo de vida de una instancia de
la clase hijo depende del ciclo de vida de una
instancia de la clase padre.
A diferencia de la agregacin bsica, para
representarla el diamante no es hueco.
Una instancia de la clase Company debe tener
al menos una en la clase Departamento.
En este tipo de relaciones, si una la instancia
Company se elimina, automticamente la
instancia Departamento tambin se elimina.
Otra caracterstica importante es que la clase
hijo solo puede relacionarse con una instancia
de la clase padre.
Generalizacin
Son asociaciones entre elementos ms generales y
elementos ms especficos, en los cuales stos ltimos
son consistentes totalmente con los primeros, por lo que
heredan las caractersticas proporcionadas por lo
elementos generales y adems pueden aumentar
informacin.
Este tipo de relacin tambin se conoce como herencia.
En una generalizacin no hay multiplicidad ni roles. Una
(Asociacin define las reglas de cmo los objetos se
pueden relacionar entre ellos.)
La visibilidad protected permite que solo objetos de la
misma clase subclase vean el elemento.
Elementos de la generalizacin
Para dibujarla, hay que definir:
Superclase: es una clase que contiene alguna
combinacin de atributos, operaciones y
asociaciones que son comunes a dos o ms tipos de
objetos que comparten el mismo propsito.
Subclase: es una clase que contiene una
combinacin de atributos, operaciones y
asociaciones que son nicas a un tipo de objeto
definido por una superclase.
La superclase es reutilizada por la subclase.
Herencia
Perro
Collie
Boxer
Dalmata
Paquetes
Es un elemento organizador que
proporciona UML al dividir el sistema en
paquetes lo hace ms fcil de entender.
Interfaces
Una clase tiene una instancia de su tipo,
mientras que una interface debe tener al menos
una clase para implantarla. En UML, una
interface es considerada como una
especializacin de una clase.
Una interface se dibuja como una clase, pero en
el compartimento superior del rectngulo
aparece un texto una inicial que indica que se
trata de una interface y no de una clase.
Una interface no es una clase.