I would say that IAnimal would have food, since it was metabolized, but if you really want to designate HAS-A, I think it should be an aggregate (open diamond) or a symbol of the composition (filled with diamond), depending on the cascading ones removal characteristics.
There are two schools of thought with UML, according to Martin Fowler. There are “sketches” that use a whiteboard and odd sheets of paper to communicate their ideas to other developers.
Then there are those who view UML as engineering drawings, where every last detail of the design needs to be captured.
I am firmly in the former camp. As a former engineer, I can tell you from personal experience that UML does not have the power of real engineering drawings to completely capture the software design.
If you are fortunate enough to believe the latter, make a full desktop or web interface using UML and post it here.
source share