title: UML association vs. composition and detail level
body: <p>Actually, make that a couple of amateur UML questions! When creating a UML diagram to model some domain concepts and you come across a domain concept that "holds" some information about another concept, is it better to hold a stamp/reference to that entity or hold the whole entity in the model itself? Please bear in mind that this is relating to creating a simple high-level model - I'm sure in the implementation stage things would be slightly different.</p>
  
  <p>For example, which of the two models below is actually correct? The first one has a composition relationship, with FlightBooking holding the whole of Flight. In the second one, FlightBooking just has a reference to Flight.</p>
  
  <p><img src="https://i.stack.imgur.com/RblwN.png" alt="http://imageshack.us/m/96/2227/flightiu.png"></p>
  
  <p>Secondly, when creating a high level UML diagram modelling domain concepts, how much detail are you really meant to go? For example, in the diagram below, a flight could hold details about origin/destination as strings, or I could model separate classes for these concepts and create a composition relationship. Which of the two is advisable?</p>
  
  <p><img src="https://i.stack.imgur.com/Idffa.png" alt="http://imageshack.us/m/23/3395/flight2s.png"></p>
  
  <p>Also, just another thing, when modelling the above where a Flight "holds" an orig/destination as another class rather than a string, which of the two ways is the correct way of modelling this? I'm quite confused as to when to show assosciation and when to show composition.</p>