Разница кратности UML
В чем разница между множественностью *
а также 0..*
?
Например, две версии (A и B) одного и того же отношения:
Что будет правильнее для утверждения, что веб-сервис используется любым количеством пользователей?
2 ответа
Они одно и то же; просто вопрос предпочтений. x..y
стиль особенно используется, если вы знаете ограничения, обычно отличные от 0 и *, например 1..10
или же 5..*
Хотя ответ Балы правильный, я хотел бы добавить для записей, что это не просто вопрос стиля. В спецификациях UML четко указано это сокращенное обозначение:
UML 2.5.1, стр . 35: если нижняя граница равна верхней границе, то в альтернативной нотации используется строка, содержащая только верхнюю границу. Например, «1» семантически эквивалентно кратности «1..1». Множественность с нулем в качестве нижней границы и неопределенной верхней границей может использовать альтернативное обозначение, содержащее одну звездочку «*» вместо кратности «0..*».
Итак, обе диаграммы эквивалентны. Более того, если вы явно используете 0..*, вы, вероятно, сделаете то же самое с 1..1: