This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
multiplicity: ... Discussion: ... The multiplicity may be suppressed on a diagram, but it exists in the underlying model. In a finished model, there is no meaning to an "unspecified" multiplicity. Not knowing the multiplicity is no different from saying that it is many, because in the absence of any knowledge, the cardinality might take any value, which is just the meaning of many. See unspecified value.
unspecified value: ... Discussion: ... For example, multiplicity cannot be unknown; it must have some value. A lack of any knowledge is tantamount to a multiplicity of many. The semantics of UML therefore do not allow or deal with the absence of values or unspecified values. ... There is another sense in which "unspecified" is a useful part of an unfinished model. It has the meaning "I have not yet though about this value, and I have made a note of it so that I will remember to give it a value later". ... Semantically complete UML models do not have default or unspecified values; they simply have values.
So in the absence of any other knowledge an association with unspecified multiplicities is interpreted as many-to-many. So you better specify your multiplicities somewhere even if the association is many-to-many to avoid any confusion.
Joined: Jun 14, 2006
Thank you very much for the authoritative response!