Diagramas de Clase
Diagramas de Clase
Angela Carrillo R.
Angela Carrillo R.
Angela Carrillo R.
Angela Carrillo R.
Clase
Clase
Clase
Clase
Nombre de la clase DescripciónDescripción dede unun conjunto conjunto dede Atributos objetosobjetos queque
comparten
comparten loslos
mismos
mismos atributos,atributos, operaciones, operaciones, relaciones relaciones yy semántica semántica
ImplementaImplementa unauna oo
más
Atributos
Atributos
Atributos
Atributos
P i d d P i d d dd ll PropiedadPropiedad dede unauna claseclase
identificada
identificada concon unun nombre,
nombre, queque describedescribe nombre,
nombre, queque describedescribe un
un rangorango dede valoresvalores queque pueden
pueden tomartomar laslas instancias instancias dede lala instancias instancias dede lala propiedad propiedad
RepresentaRepresenta algunaalguna
RepresentaRepresenta algunaalguna
propiedad
propiedad deldel elementoelemento que
que sese estáestá modelandomodelando que
que eses compartidacompartida porpor todos
todos loslos objetosobjetos dede esaesa clase
clase clase clase..
Método/Operación
Método/Operación
Método/Operación
Método/Operación
I l t ió I l t ió dd ImplementaciónImplementación dede unun servicioservicio queque puedepuede serser requerido
requerido aa cualquiercualquier requerido
requerido aa cualquiercualquier objeto
objeto dede lala claseclase parapara que
que muestremuestre unun que
que muestremuestre unun comportamiento
comportamiento..
AbstracciónAbstracción dede algoalgo queque
AbstracciónAbstracción dede algoalgo queque
se
se puedepuede hacerhacer aa unun objeto
objetojj yyyy quequeqq eses compartido
compartido porpor todostodos los
Otros componentes
Otros componentes
Otros componentes
Otros componentes
Responsabilidad:
Responsabilidad:
zz Contrato u obligación de una claseContrato u obligación de una clasegg
El polígono es responsable de dibujarse, El polígono es responsable de dibujarse, saberse trasladar, calcular su área y
saberse trasladar, calcular su área y yy perímetro, sabe dar su color…
perímetro, sabe dar su color…
z
z OpcionalOpcionalpp z
z Se coloca en otra cajita debajo de las Se coloca en otra cajita debajo de las operaciones o métodos
operaciones o métodos operaciones o métodos. operaciones o métodos.
Relaciones
Relaciones
Relaciones
Relaciones
Conexión
Conexión entre
entre elementos
elementos
z
z DependenciasDependencias:: relacionespp relaciones dede usouso entreentre clases
clases z
z GeneralizacionesGeneralizaciones:: conectanconectan clasesclases z
z GeneralizacionesGeneralizaciones:: conectanconectan clasesclases generales
generales concon sussus especializacionesespecializaciones
Superclase/SubclaseSuperclase/Subclase Superclase/SubclaseSuperclase/Subclase Padre/HijoPadre/Hijo Asociaciones
Asociaciones:: relacionesrelaciones estructuralesestructurales z
z AsociacionesAsociaciones:: relacionesrelaciones estructuralesestructurales entre
Ejemplo de relaciones
Ejemplo de relaciones
Ejemplo de relaciones
Ejemplo de relaciones
Asociación Dependenciap GeneralizaciónRelación de Dependencia
Relación de Dependencia
Relación de Dependencia
Relación de Dependencia
Relación
Relación de
de uso
uso que
que declara
declara que
que un
un
elemento
elemento utiliza
utiliza la
la información
información y
y los
y
y
los
servicios
servicios de
de otro
otro elemento
elemento pero
pero no
no
necesariamente
necesariamente a
a la
la inversa
inversa
necesariamente
necesariamente a
a la
la inversa
inversa
Un
Un elemento
elemento “utiliza”
“utiliza” a
a otro
otro
z
z UnaUna claseclase utilizautiliza laslas operacionesoperaciones dede otra
otra z
z UtilizaUtiliza variablesvariables oo parámetrosparámetros cuyocuyo tipotipo viene
Relación de Dependencia
Relación de Dependencia
Relación de Dependencia
Relación de Dependencia
Si
Si
la
la
clase
clase
utilizada
utilizada
cambia,
cambia,
la
la
operación
operación de
p
p
de la
la otra
otra clase
clase puede
puede
p
p
verse
verse también
también afectada
afectada porque
porque la
la
clase
clase utilizada
utilizada puede
puede presentar
presentar ahora
ahora
clase
clase utilizada
utilizada puede
puede presentar
presentar ahora
ahora
una
una interfaz
interfaz o
o un
un comportamiento
comportamiento
diferente
diferente
diferente
diferente..
Relación de Generalización
Relación de Generalización
Relación de Generalización
Relación de Generalización
Un elemento general (superclase) y
Un elemento general (superclase) y
un caso más específico de ese
un caso más específico de ese
p
p
elemento (subclase)
elemento (subclase)
““
un objeto de la subclase
un objeto de la subclase
un objeto de la subclase
un objeto de la subclase
es un tipo
es un tipo
es un tipo
es un tipo
de
Relación de Generalización
Relación de Generalización
Relación de Generalización
Relación de Generalización
Polimorfismo
Polimorfismo
zz UnaUna implementaciónimplementación depp de unauna operaciónoperaciónpp en
en lala subclasesubclase (hijo)(hijo) redefineredefine lala implementación
implementación depp de lala mismamisma operaciónoperaciónpp en
en lala superclasesuperclase (padre)(padre)
Dos métodosDosDosDos métodosmétodos conmétodos concon lacon lala mismala mismamisma firmamisma firmafirma (nombre,firma (nombre,(nombre,(nombre, parámetros,
parámetros, tipotipo dede retorno)retorno).. UnoUno enen elel padre
padre yy unouno enen elel hijohijo
z
z PolígonoPolígono (padre)(padre):: floatfloat calcularArea()calcularArea();; z
Relación de Generalización
Relación de Generalización
Relación de Generalización
Relación de Generalización
Polimorfismo
Polimorfismo
SeaSea unun PolígonoPolígono pp yy unun TrianguloTriangulo tt :: z
z TodosTodos loslos objetosobjetos dede laslas subclasessubclases pueden
pueden asignarseasignarse aa objetosobjetos dede lala superclase
superclase
// //
EsEs válidoválido:: p=tp=t;; //// tt eses unun PolígonoPolígono
z
z ParaPara asignarasignar aa unun objetoobjeto dede lala subclasesubclase bj t
bj t dd ll ll
un
un objetoobjeto dede lala superclase,superclase, eses necesario
necesario hacerhacer unun “Casting”“Casting”
No
No eses válidoválido:: t=pt=p;; //// NoNo todotodo PolígonoPolígono eses unun
NoNo eses válidoválido:: t=pt=p;; //// NoNo todotodo PolígonoPolígono eses unun
triángulo!!! triángulo!!!
EsEs válidoválido:: tt == (Triangulo)(Triangulo) pp;; //// sisi yy sólosólo sisi elel
EsEs válidoválido:: tt (Triangulo)(Triangulo) pp;; //// sisi yy sólosólo sisi elel
Polígono
Polígono queque hayhay enen pp eses efectivamenteefectivamente unun Triángulo
Asociación
Asociación
Asociación
Asociación
R l ió
R l ió tt tt ll ifiifi
RelaciónRelación estructuralestructural queque especificaespecifica queque
los
los objetosobjetos dede unun elementoelemento estánestán conectados
conectados concon loslos objetosobjetos dede otrootro conectados
conectados concon loslos objetosobjetos dede otrootro..
CaracterísticasCaracterísticas
N b
N b DD ibiibi ll tt ll dd ll ll ióió
z
z NombreNombre:: DescribirDescribir lala naturalezanaturaleza dede lala relaciónrelación.. z
z RolRol:: lala caracara queque lala claseclase dede unun extremoextremo dede lala
asociación
asociación presentapresenta aa lala claseclase deldel otrootro asociación
asociación presentapresenta aa lala claseclase deldel otrootro extremo
extremo
z
z MultiplicidadMultiplicidad:: elel tamañotamaño posibleposible deldel conjuntoconjunto
de
de objetosobjetos relacionadosrelacionados
Asociación
Asociación
Asociación
Asociación
R l Rol Nombre y orientación Multiplicidad Rol Rol MultiplicidadAgregación
Agregación
Agregación
Agregación
Relación TODO/Parte
Relación TODO/Parte
El objeto del TODO tiene objetos de
El objeto del TODO tiene objetos de
El objeto del TODO tiene objetos de
El objeto del TODO tiene objetos de
la parte
la parte
TODO
Clase Abstracta
Clase Abstracta
Clase Abstracta
Clase Abstracta
Cl Cl ii l tl t ClasesClases queque sonson incompletasincompletas
ClasesClases dede laslas queque nono sese deseadesea queque hayahaya
bj t bj t objetos objetos
SeSe lesles colocacoloca elel nombrenombre enen itálicaitálica
TienenTienen lala firmafirma deldel métodométodo peropero nono lala
implementación implementación
DichaDicha implementaciónimplementación sese dejadeja aa loslos hijoshijos
PuedePuede tenertener atributosatributos
PuedePuede tenertener algunosalgunos métodosmétodos
implementados implementados
Clase Abstracta
Clase Abstracta
Clase Abstracta
Clase Abstracta
Diagrama de Clases
Diagrama de Clases
Diagrama de Clases
Diagrama de Clases
M t j t d l í M t j t d l í Muestra un conjunto de clases, así como Muestra un conjunto de clases, así como
sus relaciones sus relaciones Permite:Permite: Permite:Permite: z
z Modelar la vista de diseño estático de un Modelar la vista de diseño estático de un
sistema sistema
z
z Visualizar, especificar y documentar modelos Visualizar, especificar y documentar modelos
estructurales estructurales Incluye:Incluye: Incluye:Incluye: z z ClasesClases z z InterfacesInterfaces z z InterfacesInterfaces z
z Relaciones de dependencia, generalización y Relaciones de dependencia, generalización y
asociaciones asociaciones