Yes, you are right, domain model is very confusing, specially product-completeddesign. I am unable to understand under what business circumstances multiple product will be part of a single completed design. if we select new product and complete the design, it makes more sense to create a new CompletedDesign object rather than asking user to associate with an existing one. I can imagine if same product with slight modification can be considered different completed design. I think I will just draw this cardinality without giving it too much importance.