Шаг 86.
Унифицированный язык моделирования UML.
Классы ассоциаций и примечания

    На этом шаге рассмотрим классы ассоциаций и примечания.

    Рассмотрим пример, продемонстрированный на рис. 1.


Рис.1. Ограничения

    На нем показана ассоциация "множество-множество" между классами Crop (Растение) и Nutrient (Питание). Это значит, что урожай каждого растения зависит от N видов удобрений, а каждое удобрение может использоваться для выращивания N растений.

    Класс NutrienSchedule (РасписаниеПодкормки) на самом деле представляет свойство отношения "множество-множество", экземпляр которого является конкретным отображением урожай-удобрения. Для выражения этого семантического факта от ассоциации Crop-Nutrient (снабженной атрибутами) проведена пунктирная линия к классу NutrienSchedule (атрибут ассоциации). Каждая ассоциация должна иметь по крайней мере один такой атрибут, называемый классом ассоциаций (association class), а имя такой ассоциации должно совпадать с именем класса, используемого в качестве атрибута.

    Сама идея снабжать ассоциации атрибутами является обобщением. В частности, в ходе анализа и проектирования существует огромное количество на первый взгляд случайных предположений и решений, собираемых разработчиками.

    Впоследствии многие из этих идей теряются из-за отсутствия удобного места для их хранения. Таким образом, полезно дополнить элементы диаграмм примечаниями, описывающими предположения и проектные решения. На рис. 1 показаны два таких примечания. Примечание, сопровождающее класс NutrientSchedule, сообщает нечто об ожидаемой уникальности его экземпляров. Другое примечание, соответствующее классу Nutrient, отражает ожидания разработчиков, которые заключаются в том, что атрибут unitCost (стоимость единицы) будет запрашиваться из базы данных.

    Для изображения таких примечаний используются пиктограммы в виде блокнотного листка, которые соединяются с соответствующим элементом с помощью пунктирной линии. В зависимости от используемого программного обеспечения содержание примечаний может быть любым, включая текст, фрагменты кода или ссылки на другие документы. Примечание, относящееся к диаграмме в целом, не соединяется ни с одним ее элементом.

    На следующем шаге рассмотрим понятие классификатора.




Предыдущий шаг Содержание Следующий шаг