diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · diagrama de clases diagrama que...
TRANSCRIPT
![Page 1: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/1.jpg)
Diagramas de clases
![Page 2: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/2.jpg)
Diagrama de clasesDiagrama que contiene “elementos clasificadores” conectados por relaciones estáticas.
Elementos clasificadores:
clasesTipos de datosInterfaces
los distintos diagramas de clases no se corresponden con particiones del sistema
![Page 3: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/3.jpg)
Clase:
descriptor de un conjunto de objetos que comparten estructura, comportamiento y relaciones similares
concepto del sistema a modelizar
se representa mediante un rectángulo con hasta tres compartimentos:nombre de la caselista de atributos (opcional)lista de operaciones (opcional)
![Page 4: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/4.jpg)
Ventana
Ventana
tamano:Areavisible:Boolean
mostrar()ocultar()
![Page 5: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/5.jpg)
Diagramas de objetos
Un diagrama de clases también podría contener instancias:
objetos
Enlaces
Un diagrama que sólo contuviera objetos sería un diagrama de objetos.
![Page 6: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/6.jpg)
Objetos
son instancias particulares de una clase.Tienen identidad y atributosRepresentación:
Clase Objetos
Puntox:floaty:float
girar()escalar()
p1:Punto
x=1.0y= 3.5
:Punto
x=0.0y= 30.5
![Page 7: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/7.jpg)
Asociación binaria
asociación entre dos clasificadoresun clasificador puede asociarse consigo mismose denotan mediante un camino continuo entre los dos clasificadoresla mayoría de la información relevante de una asociación están ligadas a sus extremos (associations ends)
Poligono Puntocontiene
![Page 8: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/8.jpg)
el camino de una asociación puede tener las indicaciones siguientes:
nombre (se le puede asociar el símbolo ► para indicar el sentido en el que debe leerse la asociación)
símbolo de clase asociación:
para cuando la asociación tenga propiedades de clase (atributos, operaciones, ..)esta clase se une al camino de la asociación mediante una línea discontinua.
![Page 9: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/9.jpg)
![Page 10: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/10.jpg)
Persona Empresatrabaja en ►
empleado patrón
1..* *
![Page 11: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/11.jpg)
asociación Xor :
para una instancia sólo una de entre varias asociaciones posibles podrá instanciarse
{Xor}Cuenta
Persona
Empresa
![Page 12: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/12.jpg)
Propiedades de la asociación
relativas a sus extremos:
multiplicidadorden (multiplicidad > 1): {unordered} (defecto), {ordered}cualificador navegavilidadindicador de agregaciónrole modificabilidad: nada, {frozen}, {addOnly} Visibilidad: ‘+’, ‘#’, ‘-’ , explicitamente {public} p.e.
![Page 13: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/13.jpg)
Multiplicidad:Limite_inferior..limite_superior* En el límite superior --> sin límiteEjemplos:
0..110..**1..*1..61..3,7..10,15,19..*
Es preferible1..3,7,10 a 7,10,1..30..1 a 0,1
![Page 14: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/14.jpg)
NavegavilidadUna punta de fleha del lado del extremo hacia el que hay navegabilidadPuede estar a un lado, a ambos o a ninguno
Pedido Cliente
![Page 15: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/15.jpg)
Pedido Cliente
NavegavilidadUn Pedido tendrá la responsabilidad de saber cuál es su ClienteUn Cliente no tiene porqué saber cuales son sus pedidos
* 1
![Page 16: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/16.jpg)
Pedido Cliente
NavegavilidadUn Pedido podría poseer un puntero que permita acceder a su ClienteUn Cliente no tendrá punteros que permitan acceder a los Pedido en que aparezca
* 1
![Page 17: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/17.jpg)
Indicador de agregación:Es opcional pero no suprimiblenunca a ambos extremosun diamante vacío del lado del agregadosi el diamante aparece lleno ésto indica composición
![Page 18: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/18.jpg)
Agregación (cont):Representa una relación del todo a la parte, una relación tiene un, o al revés (de la parte al todo) está contenido en
Algunos piensan que se puede prescindir de ellas en los diagramas de clases (que basta con representarlas como asociaciones)
Empresa Departamento
![Page 19: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/19.jpg)
![Page 20: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/20.jpg)
Composición
es una versión fuerte de la agregación en la que:el agregado (contenedor) sólo puede pertenecer a una instancia de la asociación.El objeto compuesto es responsable del conjunto (las partes viven y mueren con el todo)el agregado no puede tener multiplicidad superior a 1.
se indica mediante un diamante negropara que una asociación forme parte de un compuesto el camino entre sus extremos no debe traspasar los límites del compuesto hay varias formas alternativas de representar la composición
![Page 21: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/21.jpg)
![Page 22: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/22.jpg)
Cualificador:
Atributo o lista de atributos cuyos valores sirven para distinguir las distintas instancias que participan en una asociaciónes una propiedad de la asociaciónse indica mediante un rectángulo adosado al extremo (origen) de la asociaciónuna instancia del clasificador origen, junto con un valor del cualificador denota una partición del conjunto de instancias del clasificador destino
![Page 23: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/23.jpg)
Cualificador(cont):
las posibles multiplicidades del extremo destino indican:
0..1 se puede seleccionar un solo valor , pero no todo valor del cualificador selecciona instancias destino
1 cada valor selecciona una instancia (el conjunto de valores finito)
* el cualificador es un índice que divide en subconjuntos al conjunto de instancias destino
![Page 24: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/24.jpg)
![Page 25: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/25.jpg)
asociaciones N-arias:
una asociación entre tres clasificadores o más
una instancia de la asociación sería una tupla de instancias de los clasificadores implicados
un clasificador puede aparecer más de una vez
el significado de la multiplicidad sería el posible número de instancias de la asociación una vez fijadas las instancias de los otros N-1 clasificadores.
Ninguno de los participantes en la relación N-aria puede tener el indicador de agregado.
![Page 26: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/26.jpg)
![Page 27: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/27.jpg)
Objetos compuestosLos objetos de clases compuestas (agregaciones) pueden representarse indicando una lista de atributos
unaventana:Ventana
barraHor:SlideBar
barraVert:SlideBar
area:Pane
titulo:TitleBar
mue
vemue
ve
![Page 28: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/28.jpg)
Enlace (Link)instancia de una asociaciónes una tupla (lista) de referencias a objetosSu representación no debe indicar el nombre de la asociación, o si lo hace debe estar subrayado (indicando instanciación)
Club
cargo:Cargo
persona
directivo
socio0..1
1
*
:Club
secretario
presidente
Juan:persona
directivo
directivo
socio Pepe:persona
Floro:persona
Ana:personasocio
socio
asociaciones
enlaces
socio*
![Page 29: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/29.jpg)
DependenciaUna dependencia es una relación de uso, que declara que un cambio en la especificación de un elemento (por ejemplo la clase Evento) puede afectar a otro elemento que la utiliza (por ejemplo la clase Ventana), pero no necesariamente a la inversa Una dependencia quiere decir que un elemento utiliza a otro.puede usarse para clases, paquetes, casos de uso y asociaciones.Se denota mediante un camino discontinuo.la flecha va dirigida hacia el elemento del cual se depende
Ventana Evento
![Page 30: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/30.jpg)
Generalizaciónpuede usarse para clases, paquetes, casos de uso y asociaciones.Se denota mediante un camino continuo que tiene una punta de flecha triangular vacía junto al elemento más general (ancestro).
Forma
Poligono Elipse LineaPoligonal ...
![Page 31: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/31.jpg)
Generalizaciónla existencia de “hijos” no presentes en un diagrama se puede indicar mediante “...” en su lugar.Pueden indicarse las siguientes restricciones sobre los hijosoverlapping: un elemento puede tener dos o más hijos como ancestros . Una instancia puede ser una instancia directa o indirecta de dos o más hijos.Disjoint: un elemento no puede tener dos o más hijos como ancestros . Una instancia no puede ser una instancia directa o indirecta de dos o más hijos.Complete: toda instancia debe pertenecer a una de las subclases.Incomplete: puede haber instancias que no pertenezcan a alguna de las subclases.
![Page 32: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/32.jpg)
Arbol
Pino Acacia Encina
{disjoint, incomplete}especie
![Page 33: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/33.jpg)
GeneralizaciónEl camino puede ir acompañado de un discriminante que indica una partición de los hijos.El discriminante debe ser único entre los atributos y papeles del padre. El mismo discriminante puede aparecer más de una vez (indican que los hijos pertenecen a una misma partición.Es indiferente usar una punta de flecha con caminos divergentes o un camino independiente para cada hijo.
![Page 34: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/34.jpg)
![Page 35: Diagramas de clasesmvega/docis/diaclase.pdf · 2005. 4. 11. · Diagrama de clases Diagrama que contiene “elementos clasificadores” conectados por relaciones estáticas. Elementos](https://reader035.vdocuments.net/reader035/viewer/2022070219/612ed4881ecc515869430f9e/html5/thumbnails/35.jpg)