Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Кратность

Кратность (multiplicity) — это количество экземпляров одного класса, которые могут быть связаны с одним экземпляром другого класса через одну ассоциацию. Кратность ограничивает количество связанных между собой объектов. В литературе чаше всего рассматриваются два значения кратности: 1 и «много», но в общем случае кратность может быть потенциально бесконечным подмножеством неотрицательных целых чисел. На диаграммах UML кратность указывается явно около конца линии, которой обозначается ассоциация. Значение кратности указывается в виде диапазона, например «1» (ровно один), «1..*» (один и более) или «3..5» (от трех до пяти включительно). Специальный символ «*» обозначает слово «много» (many) — нуль и более.

Рисунок 5 демонстрирует ассоциацию многие-к-многим (кратность «много» на обоих концах). Человек может владеть акциями произвольного количества компаний. Владельцами акций конкретной компании может быть произвольное число людей. В нашем конкретном случае Джон и Мэри владеют акциями GE, Элис владеет акциями IBM, Сью является держателем акций обеих компаний, а Джефф вообще никаких акций не покупал. Акции GE принадлежат троим, a IBM — двоим держателям.

На рис. 6 показана ассоциация один-к-одному и соответствующие ей связи. В каждой стране есть ровно одна столица. Столица относится только к одному государству. (Вообще говоря, в некоторых странах столиц может быть несколько, например в Нидерландах и Швейцарии. Если это важно, модель можно изменить, поменяв кратность или создав отдельную ассоциацию для каждого типа столиц.)

На рис. 7 приведен пример кратности нуль-или-один. Одно из окон рабочей станции может быть выделено для сообщений об ошибках. Однако можно и не выделять такого окна. (Слово console на диаграмме — это название полюса ассоциации.)

Не следует путать кратность с количеством элементов. Кратность (multiplicity) — это ограничение на размер совокупности, а количество элементов (cardinality) — это число элементов, которые фактически входят в совокупность. Следовательно, кратность ограничивает количество элементов.

 

Рисунок 6 – Ассоциация один-к-одному

 

Рисунок 7 – Ассоциация нуль-или-один

 

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

 

Рисунок 8

Рисунок 9

 

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

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

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

 

<== предыдущая лекция | следующая лекция ==>
Концепции связи и ассоциации | Имена полюсов ассоциации
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 496; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.