¿Qué significa la flecha en un diagrama de clase?

7

Necesito ayuda para tratar de entender cuál es el significado de la flecha en un Diagrama de clases UML, más específicamente en este Diagrama compuesto. ¿Cuál es la diferencia entre la línea simple (de una clase a otra) y la flecha (no la flecha de herencia, me refiero a la negra)?

    
pregunta John Smith 08.10.2012 - 21:43

2 respuestas

13

Para poder discutir mejor la imagen, anoté tu imagen con algunos números. Espero que esto me ayude a ser más claro en mi escritura.

Enrealidad,aquíseutilizantrestiposdelíneas:asociación(1),composición(4->2)yherencia(3).

Unalíneacontinuaqueconectadosclases,comoentreClientyBookComponentessimplementeunarelacióndeasociación.Amenudoseusaparaindicarqueunaclasesabe(talvezcomoenrecibecomounargumentoaunmétodo)otieneotraclase(talvezcomounavariabledeinstancia).Sinningunadecoraciónoconunaflechaenambosextremos,larelaciónesbidireccional:lasdosclasescompartenlarelaciónyseconocenentresí.Enalgunoscasos,comolalínea1enlafigura,larelaciónesdireccional.LaclaseClientsabeacercadeBookComponent,perolocontrarionoesciertoyaqueBookComponentnotieneosabeacercadeClient.Tengaencuentaquetambiénhayotrasanotacionesquepuedenaparecerenlasrelacionesdeasociación,comolamultiplicidadolosrolesdeclase.

LasiguientelíneaeslalíneaqueconectaBookCompositeaBookComponent.Esunaasociación,aligualquelalíneaentreClientyBookComponent.Sinembargo,lasanotacionesenlospuntosqueetiqueté2y4agreganinformaciónadicionalsobrelarelación.Enlalíneadelpunto1,laflechaenelpunto2significalomismo:BookCompositeconocelasinstanciasdeBookComponent,peronoalrevés(unarelacióndireccional).Laanotaciónenelpunto4indicaunarelacióndeagregación:BookCompositeesunacoleccióndeBookComponent.Sinembargo,noesunarelaciónsólida(comoloeslarelacióndecomposiciónfuerte),porloquelaagregaciónindicaqueunBookComponentpuedeindicarenlugaresfueradeunBookComposite(nonecesitaunBookCompositeparatenerunBookComponent).

Algoatenerencuentaesquelaflechautilizadaparamostrarasociacionesdireccionalesnosueleserunaflechanegrasólida,comosemuestraenestaimagen.Normalmenteloveocomounaflechaabiertaqueseparecemásaunvdeloquesemuestraentuimagen.

Finalmente,elpuntoetiquetado3eslarelacióndeherenciaquemencionóensupregunta.

SiestáinteresadoenobtenermásinformaciónsobreelmodeladoUML,recomiendocomprar UML Distilled . Es un buen libro de Martin Fowler que cubre clase, secuencia, objeto, paquete, implementación, caso de uso, máquina de estados, actividad, comunicación, estructura compuesta, componente, colaboración, resumen de interacción y diagramas de tiempo.

    
respondido por el Thomas Owens 08.10.2012 - 23:20
2

Tu imagen muestra varias relaciones diferentes.

La relación entre las clases Cliente y BookComponent es una relación de Contención. Es decir. el cliente contiene una instancia de BookComponent.

BookComposite y BookComponent tienen dos relaciones: la punta de flecha abierta es una relación de Generalización (es decir, BookComponent generaliza BookComposite o, en otros términos, BookComposite se especializa / deriva de BookComponent). La cabeza cerrada con un diamante en la cola es una agregación. Es decir, BookComposite contiene una colección de BookComponent. El hecho de que el diamante no esté lleno también es significativo. Significa que el ciclo de vida de los BookComponents contenidos no está ligado a la vida de BookComposite que contiene. Si se llenara en lugar de la Agregación, sería una Composición y cuando se destruyera BookComposite, también lo serían los BookComponents

    
respondido por el Michael Brown 08.10.2012 - 22:41

Lea otras preguntas en las etiquetas

Comentarios Recientes

Nuestra posición en la flecha muestra si una flecha, que en su relación con la Flecha tiende a conducir a la conexión y la cooperación, muestra su verdadero significado o si debe considerarse como un obstáculo para el logro del objetivo objetivo de su relación con su estudiante. También puede sugerir la ubicación relativa de los puntos de conexión afectiva entre usted y su relación con el tema o involucrar las conclusiones extraídas de "el giro que se hará a tiempo". <| Endoftext |> De 1999 a 2010 (el último... Lee mas