UML asociación vs. composición y nivel de detalle

En realidad, ¡haz un par de preguntas UML de aficionados! Al crear un diagrama UML para modelar algunos conceptos de dominio y te encuentras con un concepto de dominio que "contiene" información sobre otro concepto, ¿es mejor tener un sello / referencia a esa entidad o mantener toda la entidad en el modelo mismo? Tenga en cuenta que esto se relaciona con la creación de un modelo simple de alto nivel: estoy seguro de que en la etapa de implementación las cosas serían ligeramente diferentes.

Por ejemplo, ¿cuál de los dos modelos a continuación es realmente correcto? El primero tiene una relación de composición, con FlightBooking con todo el vuelo. En el segundo, FlightBooking solo tiene una referencia a Flight.

En segundo lugar, al crear un concepto de dominio de modelado de diagramas UML de alto nivel, ¿cuántos detalles realmente quieres ir? Por ejemplo, en el diagrama a continuación, un vuelo podría contener detalles sobre el origen / destino como cadenas, o podría modelar clases separadas para estos conceptos y crear una relación de composición. ¿Cuál de los dos es aconsejable?

Además, solo otra cosa, al modelar lo anterior donde un Vuelo "mantiene" un origen / destino como otra clase en lugar de una cadena, ¿cuál de las dos formas es la forma correcta de modelar esto? Estoy bastante confundido sobre cuándo mostrar la asociación y cuándo mostrar la composición.

Respuestas a la pregunta(4)

Su respuesta a la pregunta