Обзор
Вам не нужны ассоциации «Вероятность» от «Y» до «P (Y)» или от «X» до «P (X)». Они избыточны.
Ваш класс или объект «Вероятность» представляет ассоциацию. Оставьте ассоциации, формирующие этот класс, объекту.
Иногда операция, метод или ассоциация также могут быть представлены или осмыслены как класс или как экземпляр класса (также известный как «переменная»).
Длинный скучный развернутый ответ
Моделирование объектов, классов и ассоциаций может быть немного громоздким.
У вас есть переменная, которая в какой-то момент будет иметь какое-то значение.
Схема объекта 1 (неполная)
...............
..+---------+..
..| 5 |..
..+---------+..
...............
Поскольку UML был разработан для моделирования программ, вам необходимо указать его тип, в этом случае ваше значение не является полным объектом, а просто числом с плавающей запятой.
Схема объекта 2 (неполная)
...............
..+---------+..
..| Float |..
..+---------+..
..| 5 |..
..+---------+..
...............
Если бы это были более сложные значения, вы могли бы использовать свойства, методы и другие функции UML, но на данный момент это не так.
Для того же понятия или переменной могут быть и другие значения, например:
Схема объекта 3 (неполная)
............................
..+---------+..+---------+..
..| Float |..| Float |..
..+---------+..+---------+..
..| 5 |..| 3.1416 |..
..+---------+..+---------+..
............................
..+---------+..+---------+..
..| Float |..| Float |..
..+---------+..+---------+..
..| -55.12 |..| 0 |..
..+---------+..+---------+..
............................
Каждое значение может иметь несколько других значений, которые представляют вероятность.
Следовательно, существует связь между каждым исходным значением и значениями вероятности.
Давайте смоделируем несколько примеров объектов.
Схема объекта 4 (неполная)
....................................
..+---------+..........+---------+..
..| Float |..........| Float |..
..+---------+..........+---------+..
..| 5 +-------+--+ -444 |..
..+---------+.......|..+---------+..
....................|...............
....................|..+---------+..
....................|..+ Float |..
....................|..+---------+..
....................+--+ 0 |..
....................|..+---------+..
....................|...............
....................|..+---------+..
....................|..| Float |..
....................|..+---------+..
....................+--+ +1 |..
.......................+---------+..
....................................
Может быть больше примеров для каждого исходного значения и его значений вероятности, но их представление может быть очень сложным.
Давайте изменим этот пример диаграммы объектов на более концептуальную диаграмму классов.
У вас есть диаграмма класса, которая представляет переменную или может быть создана переменной. В какой-то момент времени вы сохраните значение этой переменной.
И, давайте назовем это «X».
Диаграмма классов 5 (неполная)
..................
..+------------+..
..| X: Float |..
..+------------+..
..................
Помните, что «X» представляет или имеет одно значение за раз, но оно может измениться.
Теперь может быть несколько значений вероятности для «X». Давайте представим их всех одним блоком классов, а не многими.
И назовите их «PX» без круглых скобок, потому что они не могут использоваться в качестве имен переменных или классов в UML.
Диаграмма классов 5 (неполная)
........................................
..+------------+........+------------+..
..| X: Float |........| PX: Float |..
..+------------+........+------------+..
........................................
Поскольку эта пара значений связана, давайте добавим строку для представления ассоциации.
Диаграмма классов 5 (неполная)
........................................
..+------------+........+------------+..
..| X: Float +--------+ PX: Float |..
..+------------+........+------------+..
........................................
Но для каждого значения «X» может быть несколько значений «PX», давайте добавим ромб, чтобы обозначить это.
Бывают случаи, когда есть связь один-к-одному, но это случай связи один-ко-многим.
Диаграмма классов 6
........................................
..+------------+...../\.+------------+..
..| X: Float +----< >+ PX: Float |..
..+------------+.....\/.+------------+..
........................................
Ромб нарисован рядом с полем, представляющим «многие» значения.
Давайте добавим необязательную метку, чтобы объяснить цель ассоциации.
И стрелка, указывающая, как применить эту стрелку.
Диаграмма классов 7
........................................
..........<<..Probability Of............
..+------------+...../\.+------------+..
..| X: Float +----< >+ PX: Float |..
..+------------+.....\/.+------------+..
........................................
Сводка
Ассоциаций может быть несколько видов, вы используете ассоциацию "наследство", которая к вашему случаю не относится.
Диаграммы объектов хороши для конкретных примеров, имеют значения и не часто используют переменные.
Диаграммы классов представляют собой концептуальные представления и обычно имеют переменные или свойства и используют значения только для начальных значений или констант.
Многие разработчики UML пропускают диаграммы объектов и используют диаграммы классов непосредственно для представления некоторого сценария. Хотя диаграммы объектов все еще полезны.
«Диаграммы объектов» представлены скругленными прямоугольниками, диаграммы классов используют острые углы. Я не мог хорошо представить их с примерами ASCII.
Фоновые точки не отображаются на диаграмме UML, я просто использую их, чтобы выделить диаграммы.
person
umlcat
schedule
22.03.2016