Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программная инженерия.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
938.2 Кб
Скачать

Кратность.

Кратность – это количество экземпляров одного класса которые могут быть связаны с одним экземпляром другого класса через одну ассоциацию. Кратность ограничивает количество связанных между собой объектов. На диаграммах кратность указывается явно около конца линии которой обозначается ассоциация.

(2)

В каждой стране есть одна столица и столица относится только к одному государству. В общем случае кратность обозначается в виде диапазона N..M:

n-чило

m-(число) or( * - много)

Участие объекта в ассоциации не является обязательным.

Window

Workstation

+console

  1. 0..1

Одно из окон рабочей станции(workstation) может быть выделено для сообщения об ошибках, однако можно не выделять такое окно.

Не следует путать кратность с количеством элементов. Кратность это размер совокупности, а количество элементов это число элементов которые фактически входят в совокупность , иными словами кратность ограничивает количество элементов. Кратность (* - много) указывает на то что объект может быть связан с произвольным количеством объектов. Однако для каждой ассоциации между конкретной парой объектов может существовать только одна связь( за исключением мультимножеств и последовательностей). Если между объектами должно быть дву связи необходимо создать две ассоциации и т.д.

Между классами может быть несколько ассоциаций.

B

А

anAssociation

* AnotherAssociation *

На начальных этапах разработки не следует особо беспокоиться о значениях кратности. Сначала следует определить классы и ассоциации. Если на диаграмме кратность не указана она считается не определенной.

Имена полюсов ассоциаций.

Кратность неявно подразумевает наличие полюсов ассоциаций. Полюс ассоциаций может иметь не только кратность, но и имя. Имена полюсов ассоциаций часто присутствуют в описании к задаче в виде существительных.

Каждый полюс ассоциации может иметь имя.

(3)

User

Directory

На диаграмме Person и Company участвуют в ассоциации WorksFor . Человек по отношению к компании является сотрудником а компания по отношению к человеку работодатель. Каждый полюс бинарной ассоциации ссылается на объект или множество объектов связанных с исходным объектом. Имена полюсов ассоциаций обязательны для установления ассоциаций между двумя объектами одного и того же класса.

+owner 1 *

0..1 +container

+authorizedUser * * * +contents

Имена Container и Contents позволяют различить два способа использования класса Dir.

Имена полюсов ассоциации позволяют различать между собой разные ассоциации между одними и теми же классами. Каждый каталог имеет только одного владельца и множество пользователей которые имеют право работать с каталогом. Имена полюсов позволяют унифицировать несколько ссылок на один и тот же класс, при построении диаграмм следует корректно использовать имена полюсов ассоциаций и не вводить отдельный класс для каждой ссылки.

Корректной модели экземпляр человека принимает участие в двух и более связях: Дважды в качестве родителя и произвольное количество раз в качестве ребенка, так же здесь отображен случай что ребенок не обязательно должен иметь родителя.

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