OpenU.Ru
Определение диапазона кардинальных допустимых значений (размера) множества.
Множественность может быть указана на полюсах ассоциации, частях композитных
классов, повторах сообщений и т. д. По сути, множественность является подмножеством
(возможно, бесконечным) неотрицательных целых чисел.
См. для сравнения cardinality.
См. multiplicity (of association);
multiplicity (of class).
Семантика
Множественность - это ограничение количества элементов (размера) множества.
Вообще, это подмножество неотрицательных целых чисел. На практике множественность
обычно представляет собой конечное множество числовых интервалов, чаще всего
один интервал с минимальным и максимальным значением. Любое множество должно
быть конечным. Впрочем, верхняя его граница может быть как конечной, так и неопределенной
(множественность "много"). В любом случае верхняя граница должна быть
больше нуля - едва ли удобно пользоваться множественностью, которая допускает
только нуль значений, то есть пустое множество. Обозначается множественность
В виде строки.
В большинстве случаев множественность можно определить как ряд целых чисел -
промежуток между минимальным и максимальным элементами множества. Однако теоретически
она может представлять собой дискретное подмножество неотрицательных чисел.
Множество чисел может быть бесконечным, - в случае если не определена его верхняя
граница (следует отметить, что количество элементов в каждом отдельном взятом
множестве конечно).
В большинстве случаев на практике множество целых чисел может быть представлено
как конечный список, состоящий из непересекающихся, несвязанных числовых интервалов.
Интервалом называется множество смежных чисел, характеризующееся минимальным
и максимальным значениями. Некоторые бесконечные множества описать таким образом
невозможно, - например, множество четных целых чисел, - однако, как правило,
мало что меняется, если просто включить в это множество и промежутки. Впрочем,
для большинства случаев проектирования для обозначения множественности будет
достаточно одного интервала с минимальным и максимальным значениями, поскольку
основная ее цель - обозначить размер контейнера для элементов.
См. multiplicity (of association)
и multiplicity (of class), в которых
использование множественности описано более подробно.
Нотация
Множественность описывается в виде текстового выражения, состоящего из списка
числовых интервалов, разделенных между собой запятыми:
минимум..максимум
где минимум и максимум являются целыми числами. Кроме того, максимум может также
быть выражен звездочкой (*), что указывает на неопределенность верхней границы
множества. Выражение 2..* обозначает "от двух и более".
Числовой интервал может также быть описан следующим образом:
число
где число является целым числом, представляющим собой интервал, состоящий из
одного числа.
Множественность, указанная в виде звездочки (*), соответствует выражению 0..*
- то есть неограниченное количество (от нуля до бесконечности). Такой вид множественности
встречается довольно часто, называется он "много".
Пример
0..1
1
0..*
*
1..*
1..6
1..3.7..10.15.19..*
Стилистические указания
Обсуждение
В выражение множественности можно включать переменные, однако, после завершения
работы над моделью они должны преобразовываться в числовые значения. Иначе говоря,
представлять собой параметры или константы. Множественность не вычисляется динамически
во время выполнения, подобно размеру динамически выделяемого в памяти массива.
Его определяет ряд возможных значений (в худшем случае), которые допускают множество
и к которым, следовательно, должны быть приспособлены структуры данных и операции.
Множественность - это константа периода моделирования. Если границы множественности
являются переменной времени выполнения, то правильным значением множественности
является "много" (0..*).
На диаграмме множественность может и не быть указана, тем не менее, в базовой
модели она существует. В законченной модели нет понятия "незаданной"
множественности. Если значение множественности неизвестно, значит, оно эквивалентно
множественности "много", ибо при отсутствии указаний на множественность
берётся любое значение.
См. unspecified value.