You are on page 1of 51

UML

UML
Diagrama de Clases y de
Diagrama de Clases y de
Objetos
Objetos
Prof. Daniel Riesco
Prof. Daniel Riesco

Diagrama de Clase
Diagrama de Clase

Una clase es una descripcin de conjunto de


Una clase es una descripcin de conjunto de
objetos que comparten los mismos atributos,
objetos que comparten los mismos atributos,
operaciones, mtodos, relaciones y semntica.
operaciones, mtodos, relaciones y semntica.

Las clases son graficamente representadas por


Las clases son graficamente representadas por
cajas con compartimentos para:
cajas con compartimentos para:

Nombre de la clase, atributos y operaciones / mtodos


Nombre de la clase, atributos y operaciones / mtodos

Responsabilidades, Reglas, Historia de Modificaciones,


Responsabilidades, Reglas, Historia de Modificaciones,
etc
etc
.
.

Los diseadores desarrollan clases como conjuntos


Los diseadores desarrollan clases como conjuntos
de compartimentos que crecen en el tiempo
de compartimentos que crecen en el tiempo
agregando incrementalmente aspectos y
agregando incrementalmente aspectos y
funcionalidades.
funcionalidades.
Ejemplo HelloWorld
Ejemplo HelloWorld
clase
HelloWorld
paint()
nombre
operaciones
Abstraccin para HelloWorld
Abstraccin para HelloWorld
clase
HelloWorld
paint()
nombre
nota
g.drawString
("HelloWorld", 0, 10)
operaciones
Ejemplo: "
Ejemplo: "
Hello, World
Hello, World
"
"
import java.awt.Graphics;
class HelloWorld extends java.applet.Applet {
public void paint (Graphics g) {
g.drawString ("Hello, World!", 10, 10);
}
}
Diagrama de Clase
Diagrama de Clase
Applet
HelloWorld
paint()
generalizacin
dependencia
Graphics
Herencia
Herencia
Object
Panel
Component
Container
interface
ImageObserver
Applet
HelloWorld
Diagramas de Clase
Diagramas de Clase

Muestra un cjto de elementos que son estticos,


Muestra un cjto de elementos que son estticos,
como las clases y tipos, junto con sus
como las clases y tipos, junto con sus
contenidos y relaciones
contenidos y relaciones

Es un grafo de elementos clasificadores


Es un grafo de elementos clasificadores
conectados por varias relaciones estticas
conectados por varias relaciones estticas

Clasificador
Clasificador
--
--
> Class, Interface, DataType.
> Class, Interface, DataType.

Clase. Alcance. Referencia. Clase Abstracta.


Clase. Alcance. Referencia. Clase Abstracta.

Orden: [stereotype] nbre [stringPropiedades]


Orden: [stereotype] nbre [stringPropiedades]
Ejemplo: Clase Dispositivo
Ejemplo: Clase Dispositivo

Define e implementa las operaciones para


Define e implementa las operaciones para
config
config
,
,
transmitir y recibir
transmitir y recibir
informac
informac
. hacia y desde el puerto serie
. hacia y desde el puerto serie

hCom
hCom
:
:
handler
handler
al dispositivo.
al dispositivo.

puerta: nombre del puerto serie


puerta: nombre del puerto serie

velocidad: velocidad de la comunicacin.


velocidad: velocidad de la comunicacin.

paridad: tipo de paridad


paridad: tipo de paridad

bitStop
bitStop
: cantidad de bits de
: cantidad de bits de
stop
stop

<<constructor>> Dispositivo() crea y abre el dispositivo


<<constructor>> Dispositivo() crea y abre el dispositivo
retornando un
retornando un
handler
handler

<<
<<
query
query
>>
>>
RecuperarDispositivo
RecuperarDispositivo
() inf. BD para
() inf. BD para
config
config
.,
.,
LeerBloque
LeerBloque
() informacin del puerto
() informacin del puerto

<<
<<
update
update
>>
>>
ConfigurarDispositivo
ConfigurarDispositivo
(),
(),
GrabBloquePuerto
GrabBloquePuerto
()
()
Diagramas de Clase
Diagramas de Clase

Atributo
Atributo
:
:

visibilidad nbre : exprTipo [= valor] [{prop}]


visibilidad nbre : exprTipo [= valor] [{prop}]

visibilidad: public+, protected #, private


visibilidad: public+, protected #, private
-
-
(no default)
(no default)

prop: {changeable} (default), {frozen}. Multiplicity [].


prop: {changeable} (default), {frozen}. Multiplicity [].

Atributos de clase subrayados. Comienzan con minscula


Atributos de clase subrayados. Comienzan con minscula

Operacin
Operacin
:
:

visibility nbre (parmetros) [:TipoRetorno] [{prop}]


visibility nbre (parmetros) [:TipoRetorno] [{prop}]

prop: {query}, {sequential}, {guarded}, {concurrent},


prop: {query}, {sequential}, {guarded}, {concurrent},
{abstract}
{abstract}

parmetros: [in|out|inout] nbre : TipoExp = valorDefault


parmetros: [in|out|inout] nbre : TipoExp = valorDefault

Operaciones de clase subrayadas.


Operaciones de clase subrayadas.
Notacin: Una Clase
Notacin: Una Clase
Ventana
Ventana
+size : Area = (100,100)
+size : Area = (100,100)
#visibilidad: Boolean = invisible
#visibilidad: Boolean = invisible
+tamaoDefault : Rectangulo
+tamaoDefault : Rectangulo
#tamaoMaximo : Rectangulo
#tamaoMaximo : Rectangulo
-
-
xptr:Xwindow*
xptr:Xwindow*
+imprimir()
+imprimir()
+esconder()
+esconder()
+crear()
+crear()
-
-
asociarXWindow(xwin:Xwindow*)
asociarXWindow(xwin:Xwindow*)
nombre
atributos
operaciones
Una clase es una descripcin de un conjunto de objetos que comparten
los mismos atributos, operaciones, relaciones y semntica.
Diagramas de Clase
Diagramas de Clase

Clases parametrizadas.
Clases parametrizadas.
Template no es directamente utilizable. Template no es directamente utilizable.
Parmetros, nbre [: expTipo] Parmetros, nbre [: expTipo]

Utilidad: es una agrupacin de variables globales y


Utilidad: es una agrupacin de variables globales y
procedimientos en la forma de declaracin de clase.
procedimientos en la forma de declaracin de clase.

Metaclase: clase cuyas instancias son clases.


Metaclase: clase cuyas instancias son clases.

Objeto: Subrayado con valores particulares.


Objeto: Subrayado con valores particulares.
Notacin
Notacin
: Interface
: Interface
Iortografa

Una
Una
interface
interface
es una coleccin de operaciones
es una coleccin de operaciones
que especifican un servicio de una clase o
que especifican un servicio de una clase o
componente, es decir, un comportamiento
componente, es decir, un comportamiento
externamente visible de ese elemento.
externamente visible de ese elemento.

Se especifican las operaciones externamente


Se especifican las operaciones externamente
visibles sin especificacin de la estructura interna.
visibles sin especificacin de la estructura interna.
Modelado de Clases
Modelado de Clases

Una Responsabilidad es un contrato u obligacin de


Una Responsabilidad es un contrato u obligacin de
una clase.
una clase.

Modelado del Vocabulario


Modelado del Vocabulario

Identificar los conceptos que usan los usuarios


Identificar los conceptos que usan los usuarios
(Tarjetas CRC
(Tarjetas CRC
-
-
casos de uso)
casos de uso)

Para cada abstraccin, identificar el conjunto de


Para cada abstraccin, identificar el conjunto de
responsabilidades. Cada clase debe estar bien
responsabilidades. Cada clase debe estar bien
definida y un buen reparto de responsabilidades.
definida y un buen reparto de responsabilidades.

Proporcionar atributos y operaciones necesarios


Proporcionar atributos y operaciones necesarios
para cumplir con dichas responsabilidades.
para cumplir con dichas responsabilidades.

Clases muy grandes (varias responsabilidades)


Clases muy grandes (varias responsabilidades)
-
-
>
>
dificil de cambiar y no reutilizacin.
dificil de cambiar y no reutilizacin.

Clases muy pequeas


Clases muy pequeas
-
-
> modelo dificil de entender.
> modelo dificil de entender.
Modelado de Clases
Modelado de Clases

Modelado de conceptos que no son software.


Modelado de conceptos que no son software.
Se modela como una clase Se modela como una clase
Para distinguirla de clases del sistema se usa un nuevo Para distinguirla de clases del sistema se usa un nuevo
bloque de construccin con estereotipos. bloque de construccin con estereotipos.
Si es un hardware que tiene software Si es un hardware que tiene software - -> nodo. > nodo.

Modelado de tipos primitivos.


Modelado de tipos primitivos.
Se modela como una clase con el estereotipo adecuado. Se modela como una clase con el estereotipo adecuado.
Si se necesita especificar el rango, se usa restricciones. Si se necesita especificar el rango, se usa restricciones.

Una clase debe:


Una clase debe:
proporcionar una abstraccin bien definida de algo del proporcionar una abstraccin bien definida de algo del
dominio del problema o de la solucin dominio del problema o de la solucin
Contiene un conjunto pequeo de responsabilidades Contiene un conjunto pequeo de responsabilidades
Muestra una clara distincin entre la implementacin y la Muestra una clara distincin entre la implementacin y la
especificacin de la abstraccin. especificacin de la abstraccin.
Ser sencilla, entendible, extensible y adaptable. Ser sencilla, entendible, extensible y adaptable.
Diagramas de Clase: Relaciones
Diagramas de Clase: Relaciones

Final de asociacin:
Final de asociacin:
multiplicidad multiplicidad
orden {unordered} (default), {ordered} orden {unordered} (default), {ordered}
navegacin navegacin
agregacin. Diamante lleno es composicin. agregacin. Diamante lleno es composicin.
Nombre del rol Nombre del rol
cambiable (default) {frozen} {addOnly} cambiable (default) {frozen} {addOnly}
visibilidad visibilidad

Asociacin binaria. Opcional {or}. Asociacin n


Asociacin binaria. Opcional {or}. Asociacin n
-
-
aria.
aria.

Clase asociacin: es una asociacin que tiene propiedades


Clase asociacin: es una asociacin que tiene propiedades
de una clase.
de una clase.

Composicin. Tpo de vida. Multiplicidad del contenedor=1


Composicin. Tpo de vida. Multiplicidad del contenedor=1

Generalizacin. Discriminador.
Generalizacin. Discriminador.
Restriccin: {ovelapping},{disjoint},{complete},{incomplete} Restriccin: {ovelapping},{disjoint},{complete},{incomplete}

Relacin de dependencia
Relacin de dependencia
<<amport>> <<access>> <<become>>, <<bind>> <<amport>> <<access>> <<become>>, <<bind>>
Modelado de Relaciones
Modelado de Relaciones

Dependencia
Dependencia
Parmetro de una operacin. Si se muestra la signatura no es Parmetro de una operacin. Si se muestra la signatura no es
necesario la relacin de dependencia necesario la relacin de dependencia

Generalizacin
Generalizacin
Dado un Dado un cjto cjto de clases, se busca responsabilidades, atributos y de clases, se busca responsabilidades, atributos y
operaciones comunes. operaciones comunes.
Se elevan a una clase ms general (nueva o no). No crear Se elevan a una clase ms general (nueva o no). No crear
demasiados niveles. demasiados niveles.

Asociacin.
Asociacin.
Relacin estructural. Relacin bilateral. Diferencia con Relacin estructural. Relacin bilateral. Diferencia con
dependencia y Generalizacin. dependencia y Generalizacin.
Equilibradas. Ni muy profundas (<=5 niveles) ni muy anchas. Equilibradas. Ni muy profundas (<=5 niveles) ni muy anchas.
Herencia mltiple se puede reemplazar por agregacin. Herencia mltiple se puede reemplazar por agregacin.
Elementos del Diagrama de
Elementos del Diagrama de
Clase
Clase
Modelo Conceptual / del Dominio
Modelo Conceptual / del Dominio

Un
Un
Modelo Conceptual /Dominio
Modelo Conceptual /Dominio
es
es
el conjunto
el conjunto
de diagramas de estructura esttico con clases,
de diagramas de estructura esttico con clases,
atributos y asociaciones, pero no operaciones.
atributos y asociaciones, pero no operaciones.

Construccin del Modelo Conceptual / Dominio


Construccin del Modelo Conceptual / Dominio

Representa un aspecto de la realidad


Representa un aspecto de la realidad

Ayuda a los Ingenieros de Sofware a gestionar la


Ayuda a los Ingenieros de Sofware a gestionar la
complejidad
complejidad

Es ms simple que la realidad


Es ms simple que la realidad

Un Modelo Conceptual / Dominio debera:


Un Modelo Conceptual / Dominio debera:

Organizar Datos dentro de Objetos y Clases


Organizar Datos dentro de Objetos y Clases

Estructurar Datos va herencia y asociaciones


Estructurar Datos va herencia y asociaciones

Especificar comportamiento e interfaces pblicas


Especificar comportamiento e interfaces pblicas

Describir el comportamiento global


Describir el comportamiento global

Describir Restricciones
Describir Restricciones
Esttico:
Esttico:
Diagrama de Clase
Diagrama de Clase

Utilizado para la estructura esttica del


Utilizado para la estructura esttica del
modelo conceptual / Dominio
modelo conceptual / Dominio

El diagrama de clase describe


El diagrama de clase describe

Tipos de objetos en la aplicacin / dominio


Tipos de objetos en la aplicacin / dominio

Relaciones estticas entre objetos


Relaciones estticas entre objetos

El diagrama de clase contiene


El diagrama de clase contiene

Clases:
Clases:
Objetos
Objetos
,
,
Atributos
Atributos
, and
, and
Responsabilidades
Responsabilidades

Paquetes:
Paquetes:
Agrupacin de clases
Agrupacin de clases

Subsistemas:
Subsistemas:
Agrupacin de clases/paquetes
Agrupacin de clases/paquetes
Modelado de Clases
Modelado de Clases
Dado un sistema de la vida real, cmo decide
Dado un sistema de la vida real, cmo decide
que clases usar?
que clases usar?

Los t
Los t

rminos usados por usuarios y


rminos usados por usuarios y
desarrolladores para describir el sistema son
desarrolladores para describir el sistema son
clases candidatas.
clases candidatas.

Para cada clase,


Para cada clase,

cu
cu

les son sus


les son sus
responsabilidades?
responsabilidades?

est
est

n balanceadas entre
n balanceadas entre
las clases?
las clases?

Qu
Qu

atributos y operaciones necesita cada


atributos y operaciones necesita cada
clase para llevar a cabo sus responsabilidades?
clase para llevar a cabo sus responsabilidades?
Identificacin de Sustantivos:
Identificacin de Sustantivos:
Un ejemplo de una biblioteca
Un ejemplo de una biblioteca
Una biblioteca contiene libros y revistas. Puede haber varias
copias de un libro. Algunos de los libros son reservados slo para
prstamos a corto plazo. Todos los otros pueden ser prestados a
cualquier miembro de la biblioteca por tres semanas. Los
miembros de la biblioteca pueden normalmente solicitar hasta seis
items de una vez, pero miembros del staff pueden solicitar hasta
doce items a la vez. Solamente miembros del staff pueden obtener
prestado revistas.
El sistema debe conservar la pista de cuando los libros y revistas
son prestados y retornados forzando las reglas de la biblioteca.
Identificacin de Sustantivos:
Identificacin de Sustantivos:
Un ejemplo de una biblioteca
Un ejemplo de una biblioteca
Una biblioteca contiene libros y revistas. Puede haber varias
copias de un libro. Algunos de los libros son reservados slo para
prstamos a corto plazo. Todos los otros pueden ser prestados a
cualquier miembro de la biblioteca por tres semanas. Los
miembros de la biblioteca pueden normalmente solicitar hasta seis
items de una vez, pero miembros del staff pueden solicitar hasta
doce items a la vez. Solamente miembros del staff pueden pedir
prestamos de revistas.
El sistema debe conservar la pista de cuando los libros y revistas
son prestados y retornados forzando las reglas de la biblioteca.
Clases Candidatas
Clases Candidatas
Biblioteca Nombre del Sistema
Libro
Revista
Copia
PrstamosACortoPlazo evento
MiembroDeBiblioteca
Semana medida
Item libro o revista
Tiempo trmino abstracto
MiembroDelStaff
Sistema trmino general
Regla trmino general
Relaciones
Relaciones
entre Clases
entre Clases
Libro es un Item
Revista es un Item
Copia es una copia de Libro
MiembroDeBiblioteca
Item
MiembroDeStaff es un MiembroDeBiblioteca
Es el Item necesario?
Operations
Operations
MiembroDeBiblioteca pide prestado Copia
MiembroDeBiblioteca devuelve Copia
MiembroDeStaff pide prestado Revista
MiembroDeStaff devuelve Revista
Diagrama de Clase
Diagrama de Clase
MiembroDeStaff
MiembroDeBiblioteca
Libro Copia
es copia de
1..* 1
Revista
prestamo
1
1
prestamo
0..*
0..12
Generalizacin
Generalizacin
y
y
Associacin
Associacin
Item
NonPItem PerishItem
DeliItem ProduceItem DiaryItem
Customer
GroceryOrder
1
*
DeliOrder
1
*
contains
Diagrama de Clase
Diagrama de Clase
Diagrama de Clase
Diagrama de Clase
Clase Activa
Clase Activa
EventManager
eventlist
suspend()
flush()
Una
Una
clase activa
clase activa
es
es
una clase cuyos objetos
una clase cuyos objetos
poseen uno o ms procesos o threads
poseen uno o ms procesos o threads
y por lo
y por lo
tanto pueden inicial una actividad de control.
tanto pueden inicial una actividad de control.
Objeto:
Objeto:
{active}, posee el thread,es capaz de iniciar actividad {active}, posee el thread,es capaz de iniciar actividad
de control de control
pasivo, mantiene los datos pero no inicia la actividad pasivo, mantiene los datos pero no inicia la actividad
Interface
Interface
Object
Component
Container
ImageObserver
interface
Una
Una
interface
interface
es una coleccin de operaciones
es una coleccin de operaciones
que se usa para especificar un servicio de una
que se usa para especificar un servicio de una
clase o componente.
clase o componente.
Ejemplo: Patrn Iterator
Ejemplo: Patrn Iterator

Provee una forma de acceder a elementos de


Provee una forma de acceder a elementos de
un objeto agregado sin exponer la
un objeto agregado sin exponer la
representacin subyacente
representacin subyacente

Ej:
Ej:
una clase Lista
una clase Lista
Querer recorrer la lista en varias formas Querer recorrer la lista en varias formas
Hacia adelante Hacia adelante
Hacia atrs Hacia atrs
filtrada filtrada
ordenada ordenada
... ...
Motivacin
Motivacin
para los iteradores
para los iteradores

No aglutinar la interface
No aglutinar la interface
Lista con varios
Lista con varios
recorridos
recorridos
An si se hace, no se puede anticipar todos los An si se hace, no se puede anticipar todos los
posibles recorridos posibles recorridos

Quere ms de un recorrido sobre la misma


Quere ms de un recorrido sobre la misma
lista.
lista.

Los Iteradores
Los Iteradores
mueven la responsabilidad para
mueven la responsabilidad para
acceder y recorrer desde los agregados al
acceder y recorrer desde los agregados al
objeto iterador.
objeto iterador.
Ejemplo de Iterador (
Ejemplo de Iterador (
1)
1)
class List {
size() {}
add() {}
remove() {}
}
interface ListIterator {
getFirst();
getNext();
}
Ejemplo de Iterador (
Ejemplo de Iterador (
2)
2)
class FilteredListIterator implements ListIterator {
List.Node curr;
FilteredListIterator(List list, Filter f) {}
getFirst() {
curr = list.head;
while (curr != null) {
if (f.accepts(curr.data))
break;
curr = curr.next;
}
return curr;
}
getNext() {}
}
Otras caracterstias del patrn
Otras caracterstias del patrn
Iterador
Iterador

Los Iteradores
Los Iteradores
proveen una interface comn
proveen una interface comn
para el acceso al objeto
para el acceso al objeto

Pueden usar la misma interface para listas


Pueden usar la misma interface para listas
implementadas como arrays y listas implementadas
implementadas como arrays y listas implementadas
como listas encadenadas.
como listas encadenadas.

Es ms facil cambiar las implementaciones de la


Es ms facil cambiar las implementaciones de la
estructura de datos
estructura de datos

Hay varios ejemplos en java


Hay varios ejemplos en java
.util
.util
de JDK
de JDK
1.
1.
2
2
Interface: otro ejemplo
Interface: otro ejemplo
Interfaces de Java.util
Interfaces de Java.util
AbstractCollection
AbstractSet
SortedSet
Collection
TreeSet
Set
Gerenciamiento del Modelo
Gerenciamiento del Modelo
Paguetes y Organizacin
Paguetes y Organizacin

Los paquetes:
Los paquetes:
Son una agrupacin de elementos del modelo Son una agrupacin de elementos del modelo
Son cohesivos (lmite bien definido alrededor de un conjunto Son cohesivos (lmite bien definido alrededor de un conjunto
de elementos relacionados). de elementos relacionados).
Poco acoplados (exportando slo aquellos elementos que Poco acoplados (exportando slo aquellos elementos que
otros paquetes necesitan, e importando solo lo necesario y otros paquetes necesitan, e importando solo lo necesario y
suficiente suficiente
Pueden contener paquetes subordinados (anidados: Pueden contener paquetes subordinados (anidados:
aconsejable 2 a 3 niveles) y otros elementos del modelo. aconsejable 2 a 3 niveles) y otros elementos del modelo.
Forman un espacio de nombres (p::A, p::A). Forman un espacio de nombres (p::A, p::A).

El sistema completo es un simple paquete (annimo).


El sistema completo es un simple paquete (annimo).

Todo diagrama y elementos del modelo UML pueden


Todo diagrama y elementos del modelo UML pueden
estar organizados en paquetes
estar organizados en paquetes

De la propiedad: Jerarqua de paq. es un rbol


De la propiedad: Jerarqua de paq. es un rbol

Del uso: es un grafo.


Del uso: es un grafo.
Paquete & Nota
Paquete & Nota
Reglas de
Negocio
Un paquete es un mecanismo de propsito general para
organizar elementos dentro de grupos.
Retornar una
copia de self
Una nota es un smbolo para mostrar restricciones y
comentarios adjuntos a un elemento o una coleccin
de elementos.
Relaciones entre Paquetes
Relaciones entre Paquetes

Importacin. Relacin de dependencia con:


Importacin. Relacin de dependencia con:
<<import>> aade el contenido del destino al espacio de <<import>> aade el contenido del destino al espacio de
nombres del origen. nombres del origen.
<<access>> no lo aade. Se deben calificar los nombres. <<access>> no lo aade. Se deben calificar los nombres.
La dependencia de importacin no es transitiva. La dependencia de importacin no es transitiva.

Exportacin. Se especifica el elemento con su visibilidad.


Exportacin. Se especifica el elemento con su visibilidad.
Visibilidad: +, #, Visibilidad: +, #, - -. .

Generalizacin.
Generalizacin.
Heredan los elementos pblicos y privados. Heredan los elementos pblicos y privados.
Pueden redefinir elementos y aadir nuevos. Pueden redefinir elementos y aadir nuevos.
Un paquete especializado puede usarse en cualquier lugar que se Un paquete especializado puede usarse en cualquier lugar que se
utilice un paquete ms general. utilice un paquete ms general.

Estereotipos:
Estereotipos:
facade
facade
(vista),
(vista),
framework
framework
,
,
stub
stub
,
,
subsystem
subsystem
,
,
system
system
.
.
Empaquetando Clases
Empaquetando Clases
applet
awt
lang
java
paquete
HelloWorld
Graphics
Paquetes
Paquetes

Los
Los
paquetes ofrecen
paquetes ofrecen
un
un
mecanismo
mecanismo
general
general
para
para
la
la
particin
particin
de
de
los modelos
los modelos
y la
y la
agrupacin
agrupacin
de
de
los elementos
los elementos
de
de
modelado
modelado
.
.

Cada paquete corresponde


Cada paquete corresponde
a un
a un
subconjunto
subconjunto
del
del
modelo
modelo
.
.
Contiene clases
Contiene clases
,
,
objetos
objetos
,
,
relaciones
relaciones
,
,
componentes
componentes
y
y
diagramas
diagramas
.
.

La
La
arquitectura
arquitectura
del
del
sistema viene
sistema viene
dada en forma de
dada en forma de
paquetes
paquetes
y
y
por las relaciones
por las relaciones
de
de
dependencia entre ellos
dependencia entre ellos
.
.

Un
Un
paquete puede contener
paquete puede contener
a
a
otros
otros
, sin
, sin
lmite
lmite
de
de
anidamiento
anidamiento

Cada elemento pertenece


Cada elemento pertenece
a
a
slo
slo
un
un
paquete
paquete

Una clase
Una clase
de un
de un
paquete puede aparecer
paquete puede aparecer
en
en
otro paquete
otro paquete
por
por
la
la
importacin
importacin
a
a
travs
travs
de
de
una relacin
una relacin
de
de
dependencia entre paquetes
dependencia entre paquetes
Paquetes (Cont.)
Paquetes (Cont.)

Las importaciones entre paquetes


Las importaciones entre paquetes

se representan por medio de una relacin de


se representan por medio de una relacin de
dependencia estereotipada y orientada del cliente al
dependencia estereotipada y orientada del cliente al
proveedor
proveedor

Al menos una clase del paquete cliente usa los


Al menos una clase del paquete cliente usa los
servicios ofrecidos por al menos una clase del paquete
servicios ofrecidos por al menos una clase del paquete
proveedor
proveedor

Una clase depende de otra si accede a un valor del


Una clase depende de otra si accede a un valor del
proveedor, invoca a una operacin o referencia al
proveedor, invoca a una operacin o referencia al
proveedor como argumento en alguna operacin
proveedor como argumento en alguna operacin

Todas las clases no son necesariamente visibles desde el


Todas las clases no son necesariamente visibles desde el
exterior del paquete
exterior del paquete

El operador :: permite designar una clase definida en un


El operador :: permite designar una clase definida en un
contexto distinto del actual
contexto distinto del actual

Un paquete encapsula a la vez que agrupa


Un paquete encapsula a la vez que agrupa
Paquetes (Cont.)
Paquetes (Cont.)

Cada elemento
Cada elemento
de un
de un
paquete
paquete
se
se
incluye como
incluye como
visible o
visible o
no
no
desde
desde
el exterior del
el exterior del
paq
paq
.
.
Ventas
Personal
Cliente
Representante de Ventas
Tcnicas
Tcnicas

Los paquetes no tienen identidad (no hay instancias, son


Los paquetes no tienen identidad (no hay instancias, son
invisibles para el sistema en ejecucin).
invisibles para el sistema en ejecucin).

Se pueden utilizar como unidades bsica para un SCM,


Se pueden utilizar como unidades bsica para un SCM,
para grupos de desarrollo diferentes.
para grupos de desarrollo diferentes.

Los paquetes se pueden utilizar para modelar las vistas


Los paquetes se pueden utilizar para modelar las vistas
arquitectnicas.
arquitectnicas.

Vista es una proyeccin de la organizacin y estructura de


Vista es una proyeccin de la organizacin y estructura de
un sistema, centrada en un aspecto particular del sistema.
un sistema, centrada en un aspecto particular del sistema.
Descomposicin de un sistema en paquetes casi ortogonales. Descomposicin de un sistema en paquetes casi ortogonales.
Vista de diseo, procesos, implementacin, despliegue, caso de u Vista de diseo, procesos, implementacin, despliegue, caso de uso. so.
Los paquetes contienen todas las abstracciones pertinentes para Los paquetes contienen todas las abstracciones pertinentes para
esa vista. esa vista.
Todos los componentes del modelo pertenecen al paquete vista de Todos los componentes del modelo pertenecen al paquete vista de
implementacin. implementacin.
Existirn dependencias entre los elementos de las distintas vist Existirn dependencias entre los elementos de las distintas vistas. as.
Modelos
Modelos

Los modelos permiten visualizar, especificar, construir y


Los modelos permiten visualizar, especificar, construir y
documentar un sistema.
documentar un sistema.

Los sistemas bien estructurados son cohesivos funcional,


Los sistemas bien estructurados son cohesivos funcional,
lgica y fsicamente, construidos a partir de subsistemas
lgica y fsicamente, construidos a partir de subsistemas
dbilmente acoplados.
dbilmente acoplados.

Un modelo bien estructurado proporciona una


Un modelo bien estructurado proporciona una
simplificacin de la realidad desde un punto de vista bien
simplificacin de la realidad desde un punto de vista bien
definido y relativamente independiente.
definido y relativamente independiente.
Puente Grua: Funcionalidades
Puente Grua: Funcionalidades

Controlar el puente a travs de un PLC.


Controlar el puente a travs de un PLC.
Dar directivas al pte gra con un Controlador Lgico Programable Dar directivas al pte gra con un Controlador Lgico Programable. .
Comunicacin por la puerta serial de un PC. Comunicacin por la puerta serial de un PC.
Protocolo con fuertes componentes de tiempo. Protocolo con fuertes componentes de tiempo.

Modelizar el recinto de materiales.


Modelizar el recinto de materiales.
Recinto Configurable: largo, ancho y alto. Recinto Configurable: largo, ancho y alto.
Grilla. Cada pto representa pozos, tolvas y cintas de descarga. Grilla. Cada pto representa pozos, tolvas y cintas de descarga.
Control del relieve (pto en situacin crtica) y flujo de materi Control del relieve (pto en situacin crtica) y flujo de materiales. ales.
Infor. de c/pto: material depositado, altura del mismo, etc. Infor. de c/pto: material depositado, altura del mismo, etc.
Establecer prioridades para no para no parar la cadena productiv Establecer prioridades para no para no parar la cadena productiva a

Interpretar consignas de trabajo: manuales y automticas


Interpretar consignas de trabajo: manuales y automticas

Generar alarmas ante la ocurrencia de eventos


Generar alarmas ante la ocurrencia de eventos
anormales: fallas mecnicas o elctricas deben ser
anormales: fallas mecnicas o elctricas deben ser
conocidas de inmediato por el operador del sistema.
conocidas de inmediato por el operador del sistema.
Componentes del Sistema
Componentes del Sistema

Interfaz del Sistema de Gra Robotizada, permite


Interfaz del Sistema de Gra Robotizada, permite
la comunicacin del operador con el sist. que controla el pte gr la comunicacin del operador con el sist. que controla el pte gra. a.
definir el recinto de materiales definir el recinto de materiales
la def y reconocimiento de alarmas, y la especif. de las consign la def y reconocimiento de alarmas, y la especif. de las consignas. as.

Sistema de Control de Comunicaciones, permite


Sistema de Control de Comunicaciones, permite
la parametrizacin de la comunicacin : Computadora/PLC la parametrizacin de la comunicacin : Computadora/PLC

RDBMS,
RDBMS,

generador de informacin gerencial, obtener infor. sobre


generador de informacin gerencial, obtener infor. sobre
produccin de la planta, produccin de la planta,
el funcionamiento (alarmas reconocidas, histrico de alarmas, el funcionamiento (alarmas reconocidas, histrico de alarmas,
tiempo ocioso, etc.), tiempo ocioso, etc.),
el costo financiero de material en stock y minimizacin de stock el costo financiero de material en stock y minimizacin de stock
(just in time). (just in time).

un sistema de gra robotizado


un sistema de gra robotizado
encargado de la gestin del puente gra encargado de la gestin del puente gra
Diagramas de Objetos
Diagramas de Objetos

Muestra instancias compatibles con un diagrama


Muestra instancias compatibles con un diagrama
de clase particular.
de clase particular.

Incluye sus objetos y los valores de sus datos.


Incluye sus objetos y los valores de sus datos.

Snapshot del estado detallado del sistema en un


Snapshot del estado detallado del sistema en un
pto del tpo.
pto del tpo.
Clases
Clases
& Objetos
& Objetos
Objetos
Clases
unObjeto:UnaClase
UnaClase
atr1
atr2
operacion1()
operacion2()
o
:UnaClase
o
unObjeto
o
Los nombres de objetos
estn subrayados.
UnaClase

You might also like