8/7/2019 3.Diagrama de clases
1/21
11--11
Diagrama de clasesDiagrama de clases
8/7/2019 3.Diagrama de clases
2/21
11--22
Modelo del DominioModelo del Dominio
Diagrama de Clases
Clases
Atributos y Operaciones
Encapsulamiento
Visibilidad
Clases de Anlisis
Relacin entre Clases:
Definir Asociaciones Simples
Identificar Generalizaciones
Especificar Agregaciones
Establecer Composiciones
8/7/2019 3.Diagrama de clases
3/21
8/7/2019 3.Diagrama de clases
4/21
11--44
ClasesClases
La clase define el mbito de definicin de un conjunto deobjetos. Es una nocin en tiempo de compilacin, mientras un objeto
e iste solo en tiempo de ejecucin.
Cada objeto pertenece a una clase Los objetos se crean por instanciacin de las clases Es identificada por:
ombre
Atributos
Operaciones
La clase define el mbito de definicin de un conjunto deobjetos. Es una nocin en tiempo de compilacin, mientras un objeto
e iste solo en tiempo de ejecucin.
Cada objeto pertenece a una clase Los objetos se crean por instanciacin de las clases Es identificada por:
ombre
Atributos
Operaciones
A O
-
-
-
-
-
-
-
-
-
-
ide usuario
t t apellido paterno
t t apellido materno
t t primer nombre
t t se undo nombre
tip usuario
tip doc identificacion
cod doc identificacion
cod usuario
t t password
: int
: int
: int
: int
: int
: int
: int
: int
: int
: int
()
t ()
: v
: v
8/7/2019 3.Diagrama de clases
5/21
8/7/2019 3.Diagrama de clases
6/21
11--66
Clases: OperacionesClases: Operaciones
Operacin es un servicio que puede ser requerido por unobjeto para producir un comportamiento.
Comportamiento son los efectos visibles de una operacino evento, incluyendo sus resultados.
El comportamiento es como un objeto acta y reacciona, entrminos de sus cambios de estado y los mensajes queenva.
El Mtodo es la implementacin de una operacin y pudeser un procedimiento o funcin.
Operacin es un servicio que puede ser requerido por unobjeto para producir un comportamiento.
Comportamiento son los efectos visibles de una operacino evento, incluyendo sus resultados.
El comportamiento es como un objeto acta y reacciona, entrminos de sus cambios de estado y los mensajes queenva.
El Mtodo es la implementacin de una operacin y pudeser un procedimiento o funcin.
8/7/2019 3.Diagrama de clases
7/21
11--77
Clases: VisibilidadClases: Visibilidad
rivado: es visible solo para elinterior de la clase.
rotegido: es visible para elinterior y las subclases
respectivas. blico: es visible para el
interior y e terior de la clase.
rivado: es visible solo para elinterior de la clase.
rotegido: es visible para elinterior y las subclases
respectivas. blico: es visible para el
interior y e terior de la clase.
V B
-
#
+
ttribute 3
ttribute 2
ttribute 1
: int
: int
: int
-
#
+
peration 3
peration 2
peration 1
8/7/2019 3.Diagrama de clases
8/21
11--88
La abstraccin y el encapsulamiento son conceptoscomplementarios: la primera se centra en elcomportamiento observable de un objeto, mientras elencapsulamiento se centra en la implementacin que dalugar a este comportamiento.
ara que la abstraccin funcione la implementacin debeestar encapsulada.
De modo predeterminado, los valores de atributos de unobjeto se encapsulan en el objeto y no pueden sermanipulados directamente por los dems objetos.
odas las interacciones entre los objetos se efectaninvocando las diversas operaciones declaradas en laespecificacin de la clase y accesibles desde los demsobjetos, de acuerdo a las reglas de visibilidad.
La abstraccin y el encapsulamiento son conceptoscomplementarios: la primera se centra en elcomportamiento observable de un objeto, mientras elencapsulamiento se centra en la implementacin que dalugar a este comportamiento.
ara que la abstraccin funcione la implementacin debeestar encapsulada.
De modo predeterminado, los valores de atributos de unobjeto se encapsulan en el objeto y no pueden sermanipulados directamente por los dems objetos.
odas las interacciones entre los objetos se efectaninvocando las diversas operaciones declaradas en laespecificacin de la clase y accesibles desde los demsobjetos, de acuerdo a las reglas de visibilidad.
Clases: Encapsulacin
8/7/2019 3.Diagrama de clases
9/21
11--99
Clases de AnlisisClases de Anlisis
Una clase de anlisis enfoca el manejo funcional derequerimientos.
Las clases de anlisis definen los atributos a un alto nivel. Eltipo de atributo se establece conceptualmente de acuerdo aldominio del problema. El tipo especifico se posterga hasta
el diseo o implementacin.
El comportamiento es definido por las responsabilidades enun alto nivel.
Las clases de anlisis estn involucradas en relaciones,aunque esas relaciones son mas conceptuales que su
contraparte del diseo. Una clase de anlisis es de Entidad, Interface, Control.
Una clase de anlisis enfoca el manejo funcional derequerimientos.
Las clases de anlisis definen los atributos a un alto nivel. Eltipo de atributo se establece conceptualmente de acuerdo aldominio del problema. El tipo especifico se posterga hasta
el diseo o implementacin.
El comportamiento es definido por las responsabilidades enun alto nivel.
Las clases de anlisis estn involucradas en relaciones,aunque esas relaciones son mas conceptuales que su
contraparte del diseo. Una clase de anlisis es de Entidad, Interface, Control.
8/7/2019 3.Diagrama de clases
10/21
11--11
Son usadas para modelar informacin normalmentepersistente.
Las clases entidad modelan informacin que est asociada alcomportamiento de algn fenmeno o concepto tal como unindividuo, objeto de la vida real o un evento de la vida real.
recuentemente se crea una abla en la D por cada claseentidad
Una Clase Entidad tiene identificado rimario e IdentificadoAlterno.
En los tipos de datos de sus atributos se pueden usar
dominios, para organizar las longitudes de cada tipo.
Son usadas para modelar informacin normalmentepersistente.
Las clases entidad modelan informacin que est asociada alcomportamiento de algn fenmeno o concepto tal como unindividuo, objeto de la vida real o un evento de la vida real.
recuentemente se crea una abla en la D por cada claseentidad
Una Clase Entidad tiene identificado rimario e IdentificadoAlterno.
En los tipos de datos de sus atributos se pueden usar
dominios, para organizar las longitudes de cada tipo.
Clases de Anlisis: Clase EntidadClases de Anlisis: Clase Entidad
Smbolo UML para
una clase entidad
8/7/2019 3.Diagrama de clases
11/21
11--1111
Clases de Anlisis: Clase ronteraClases de Anlisis: Clase rontera
Modelan la interaccin entre el sistema y sus actores.
Estas incluyen todos los formularios, reportes, interfaces ahard are e interfaces a otros sistemas.
Como mnimo debe e istir una clase rontera por cadainteraccin actor caso uso.
Modelan la interaccin entre el sistema y sus actores.
Estas incluyen todos los formularios, reportes, interfaces ahard are e interfaces a otros sistemas.
Como mnimo debe e istir una clase rontera por cadainteraccin actor caso uso.
AC OR
CASO USOCASO USO
Aqu e iste
una clase
lmite
Smbolo UML parauna clase frontera
8/7/2019 3.Diagrama de clases
12/21
11--1212
Clases de Anlisis: Clase ControlClases de Anlisis: Clase Control
Estas clases representan coordinacin,secuencia, transaccin y control de otrosobjetos.
Una clase de control se usafrecuentemente para encapsular el control
de un caso de uso especfico. Estas clases tambin se usan para
representar derivaciones y clculoscomplejos y que no pueden ser asociadosa una clase entidad.
Modelan el dinamismo de un sistema,pues manipulan y coordinan las accionesprincipales, el flujo de control y delegantrabajo a otros objetos.
Estas clases representan coordinacin,secuencia, transaccin y control de otrosobjetos.
Una clase de control se usafrecuentemente para encapsular el control
de un caso de uso especfico. Estas clases tambin se usan para
representar derivaciones y clculoscomplejos y que no pueden ser asociadosa una clase entidad.
Modelan el dinamismo de un sistema,pues manipulan y coordinan las accionesprincipales, el flujo de control y delegantrabajo a otros objetos.
Smbolo UML para
una clase control
8/7/2019 3.Diagrama de clases
13/21
11--1313
Diagrama de Clases: Relaciones entre ClasesDiagrama de Clases: Relaciones entre Clases
Las relaciones entre clases pueden ser de:
Generalizacin
Dependencia
Asociacin: que a su vez se puede dividir de dos formas,segn el criterio adoptado:
Segn el nmero de clases participantes: inaria yaria.
Segn como contribuyan a formar la clase, se dividen asu vez en:
Agregacin y Composicin
XOR
Las relaciones entre clases pueden ser de:
Generalizacin
Dependencia
Asociacin: que a su vez se puede dividir de dos formas,segn el criterio adoptado:
Segn el nmero de clases participantes: inaria yaria.
Segn como contribuyan a formar la clase, se dividen asu vez en:
Agregacin y Composicin
XOR
8/7/2019 3.Diagrama de clases
14/21
11--1414
Relacin entre Clases: GeneralizacinRelacin entre Clases: Generalizacin
Los objetos de la subclase son tipos de objetos de lasuperclase.
Est presente la propiedad denominada herencia.
Una clase que se encuentra en un nivel alto de la jerarquaes una superclase de sus clases subordinadas. Una clase
que se encuentra en un nivel bajo de la jerarqua es unasubclase de su superclase.
Generalizacin es el proceso de factorizar los atributos yoperaciones comunes de un conjunto de clases yasignarlas a una superclase.
Especializacin es el proceso de refinar las clases ensubclases que heredan los atributos y operaciones de lassuperclases.
Los objetos de la subclase son tipos de objetos de lasuperclase.
Est presente la propiedad denominada herencia.
Una clase que se encuentra en un nivel alto de la jerarquaes una superclase de sus clases subordinadas. Una clase
que se encuentra en un nivel bajo de la jerarqua es unasubclase de su superclase.
Generalizacin es el proceso de factorizar los atributos yoperaciones comunes de un conjunto de clases yasignarlas a una superclase.
Especializacin es el proceso de refinar las clases ensubclases que heredan los atributos y operaciones de lassuperclases.
8/7/2019 3.Diagrama de clases
15/21
8/7/2019 3.Diagrama de clases
16/21
11--1616
Relacin entre Clases: DependenciaRelacin entre Clases: Dependencia
Es una relacin entre dos elementos en la cual un cambioen un elemento (independiente) puede afectar a otroelemento (dependiente).
El elemento dependiente es aquel que necesita de otro (elindependiente), para poder cumplir su responsabilidad.
Indica que un objeto en un diagrama usa los servicios ofacilidades de otro objeto.
Se puede establecer dependencias entre paquetes yelementos modelados.
Es una relacin entre dos elementos en la cual un cambioen un elemento (independiente) puede afectar a otroelemento (dependiente).
El elemento dependiente es aquel que necesita de otro (elindependiente), para poder cumplir su responsabilidad.
Indica que un objeto en un diagrama usa los servicios ofacilidades de otro objeto.
Se puede establecer dependencias entre paquetes yelementos modelados.
8/7/2019 3.Diagrama de clases
17/21
11--1717
Relacin entre Clases: DependenciaRelacin entre Clases: Dependencia
FC
s
l
ar_Libr
sFB
scar_Libr
CLibr
LIBRO
f r
m A
alys is M
del
libr
selecci
ad
FC
s
l
ar_Libr
sFB
scar_Libr
CLibr
LIBRO
f r
m A
alys is M
del
libr
selecci
ad
CF
rm!lari
FORMULARIO"
fr#
m A$
alysis M#
del%
CAsig&ar Ide
&
'
ificaci
&
CLIENTE"
fr#
m A$
alysis M#
del%
FF
rm!lari
FAsig&ar Ide
&
'
ificaci
&
CF
rm!lari
FORMULARIO"
fr#
m A$
alysis M#
del%
CAsig&ar Ide
&
'
ificaci
&
CLIENTE"
fr#
m A$
alysis M#
del%
FF
rm!lari
FAsig&ar Ide
&
'
ificaci
&
8/7/2019 3.Diagrama de clases
18/21
11--1818
Relacin entre Clases: AsociacinRelacin entre Clases: Asociacin
Las asociaciones modelan la forma en que se relacionanlos objetos de las clases.
Modelan el vnculo o cone in dos o ms clases. Los elementos que definen al atributos son:
ombre: Describe la manera en que ocurre la
asociacin, no es elemento obligatorio, se utiliza slocuando mejora la comprensin de la asociacin.
avegabilidad: Define el sentido u orientacin de lacomunicacin intercambio entre las clases.
Multiplicidad: Especifica la cardinalidad de laasociacin, modelando la cantidad de objetos que se
asocian a un objeto de la otra. ipo Asociacin: inaria, aria, Agregacin,
Composicin.
Las asociaciones modelan la forma en que se relacionanlos objetos de las clases.
Modelan el vnculo o cone in dos o ms clases. Los elementos que definen al atributos son:
ombre: Describe la manera en que ocurre la
asociacin, no es elemento obligatorio, se utiliza slocuando mejora la comprensin de la asociacin.
avegabilidad: Define el sentido u orientacin de lacomunicacin intercambio entre las clases.
Multiplicidad: Especifica la cardinalidad de laasociacin, modelando la cantidad de objetos que se
asocian a un objeto de la otra. ipo Asociacin: inaria, aria, Agregacin,
Composicin.
8/7/2019 3.Diagrama de clases
19/21
11--1919
Tipo Asociacin: inariaTipo Asociacin: inaria
Es una asociacin entre e actamente dos clases,incluyendo el caso de una asociacin refle iva de unaclase consigo misma. La navegabilidad es bidireccionalpor defecto.
Es una asociacin entre e actamente dos clases,incluyendo el caso de una asociacin refle iva de unaclase consigo misma. La navegabilidad es bidireccionalpor defecto.
ide actor emp sup
0( (*
0( (1i
)
0
1
c2
or0 3
pl0 1
)
o
ide actor
0( (1 0 ( ( *
E PLEA
ide empleado
cod_area
cod_cargo
: int
: int
: int
PE I
ide pedido
t t_apelli do_paterno
t t_apelli do_materno
t t_primer_nombre
t t_segundo_nombre
t t_telefono
: int
: int
: int
: int
: int
: int
A TOR
-
-
-
--
-
-
-
-
-
ide_usuario
t t_apelli do_paterno
t t_apelli do_materno
t t_primer_nombret t_segundo_nombre
tip_usuario
tip_doc_identificacion
cod_doc_identificacion
cod_usuario
t t_password
: int
: int
: int
: int: int
: int
: int
: int
: int
: int
+
+
r0
cup0
r1
r usu1
rio4 5
in s0
r2
1
r4 5
6voi
)
6voi
)
8/7/2019 3.Diagrama de clases
20/21
11--22
Tipo Asociacin: -ariaTipo Asociacin: -aria
Una Asociacin-aria es una forma dee presar una relacin entre tres o ms clases.
Una Clase Asociacin puede ser usada paradescribir la relacin.
Una Clase Asociacin modela los atributos yoperaciones de una asociacin. Se conecta auna asociacin mediante una lneadiscontinua y puede asociarse a otra clase.
Una Asociacin-aria es una forma dee presar una relacin entre tres o ms clases.
Una Clase Asociacin puede ser usada paradescribir la relacin.
Una Clase Asociacin modela los atributos yoperaciones de una asociacin. Se conecta auna asociacin mediante una lneadiscontinua y puede asociarse a otra clase.
S
AULAAULA
ALUM OALUM O
CURSOCURSO
DOCE TEDOCE TE
echa Inicioecha Inicio
CapacidadCapacidad
pedido de libro
1 7 7 *
i8
9
li@
ro
A
7 7 *
i8
9
p9
8i
8o PEDIDO_DET
-
-
-
can_libro
imp_precio
tB
t_tiempo_entreC
a
: int
: int
: int
LI D RO
-
-
-
-
-
-
-
-
ide libro
imp_precio
imp_precio_oferta
tB
t_tiempo_entreC
a
imp_flete
tB
t_descr_libro
tB
t_titulo_libro
est_libro
: int
: Double
: Double
: StrinC
: Double
: StrinC
: StrinC
: StrinC
PEDIDO
-
-
-
-
-
-
ide pedido
tB
t_apellido_paterno
tB
t_apellido_materno
tB
t_primer_nombre
tB
t_seC
undo_nombre
tB
t_telefono
: int
: int
: int
: int
: int
: int
8/7/2019 3.Diagrama de clases
21/21
11--2121
Tipo Asociacin: AgregacinTipo Asociacin: Agregacin
Los objetos de diferentes clases (partes) son componentes de laotra Clase (todo).
Sus elementos no tienen dependencia e istencial, el objeto incluidono necesariamente desaparece al destruirse el objeto que locontiene.
Se representa mediante un rombo transparente ubicado al lado de la
clase base.
Los objetos de diferentes clases (partes) son componentes de laotra Clase (todo).
Sus elementos no tienen dependencia e istencial, el objeto incluidono necesariamente desaparece al destruirse el objeto que locontiene.
Se representa mediante un rombo transparente ubicado al lado de la
clase base.
ide actorE
F F*
1
ide actor
E
F F *
1
cod ubigeo
E
F F 1
E
F F*
cod ubigeo sup
E
F F*
E
F F1
TELEF N-
-
-
-
ide telefono
tipG
telefono
tH
tG
telefono
estG
telefono
: int
: int
: int
: int
ACT
-
-
-
-
-
-
-
-
-
-
ideG usuariot
H
tG
apellidoG
paterno
tH
tG
apellidoG
materno
tH
tG
primerG
nombre
tH
tG
segundoG
nombre
tipG
usuario
tipG
docG
identificacion
codG
docG
identificacion
codG
usuario
tH
tG
passI
ord
: int: int
: int
: int
: int
: int
: int
: int
: int
: intP
P
rQ R S T Q
rU
rS V S U
riW
X Y
i` V Q
ra
U
rX Y
b c W
id
b c W
id
I ECCI N
-
-
-
-
ide direccion
tipG
direccion
tH
tG
direccion
estG
direccion
: int
: int
: int
: int
I E
-
-
-
cod ubigeo
tH
tG
ubigeo
numG
nie
el
: int
: int
: int