Собственно, сделайте это несколько любительских вопросов UML! При создании диаграммы UML для моделирования некоторых концепций домена вы сталкиваетесь с концепцией домена, которая "хранит" некоторую информацию о другой концепции, лучше ли хранить штамп/ссылку на этот объект или удерживать весь объект в самой модели? Пожалуйста, имейте в виду, что это связано с созданием простой модели высокого уровня - я уверен, что на этапе реализации все будет немного отличаться.
Например, какая из двух моделей ниже на самом деле правильная? Первый имеет составные отношения, при этом FlightBooking держит весь Flight. Во втором, FlightBooking просто имеет ссылку на Flight.
Во-вторых, при создании высокоуровневой UML-диаграммы, моделирующей концепции домена, сколько деталей вы действительно хотите? Например, на приведенной ниже диаграмме полет может содержать сведения о происхождении/назначении в виде строк, или я мог бы моделировать отдельные классы для этих понятий и создавать композиционные отношения. Какой из двух рекомендуется?
Кроме того, еще одна вещь, при моделировании выше, где Flight "удерживает" начало/назначение как другой класс, а не строку, какой из двух способов является правильным способом моделирования этого? Я довольно смущен, когда показываю ассимиляцию и когда показываю композицию.