Is there any difference between 0..* and * for representing multiplicity in UML Class Diagrams? I cannot find a comprehensive guide online for multiplicity notations. To me they both seem to be saying the same thing conceptually.
Is there any difference between 0..* and * for representing multiplicity in UML Class Diagrams? I cannot find a comprehensive guide online for multiplicity notations. To me they both seem to be saying the same thing conceptually.
While Dave's answer is correct, I'd like to add for the records that it's not just a question of personal opinions. The UML specifications are explicit about this notational shortcut:
UML 2.5.1, p.35: If the lower bound is equal to the upper bound, then an alternate notation is to use a string containing just the upper bound. For example, “1” is semantically equivalent to “1..1” multiplicity. A multiplicity with zero as the lower bound and an unspecified upper bound may use the alternative notation containing a single star “ * ” instead of “0..*” multiplicity.
There's not any difference, or at least I've never heard of anyone using them differently.
To me, 0..* is more explicit in the sense that it says explicitly that 0 is an expected case. In another case you may write 1..* to show that 0 is not allowed.
In general, I would just pick one style and stick with it for consistency.