What is the importance of association multiplicity in class diagrams?
What is the importance of association multiplicity in class diagrams? Why and when should we indicate them? Thank开发者_如何学编程s.
They allow the designer a quick visual way of communication that would be difficult without multiplicities. You would have to use notes or other space-eating annotations in the diagram.
In a UML diagram I want to have multiplicities for all other associations other than one-on-one.
Why?
- One-on-one is the visual cue you get from a simple association. It's sort of the default.
- Multiplicities contain domain knowledge (car->wheel is usually a 1 -> 4 association. The association without the multiplicity looks like a car has one wheel.
- A designer can "deserialize" the things he thinks are granted because everybody in the domain probably knows them, but the developer probably does not know!
They convey the business rules more directly. E.g an house contains one or more rooms.
UML gets used in many ways. There are a huge number of things a class diagram could show. If you're trying to exhaustively document a system's design then you may need to show them all. If you're trying to explain a more specific aspect of the design, only show it if it's relevant (i.e. has a bearing on how that aspect would be designed/implemented).
精彩评论