КАТЕГОРИИ: Архитектура-(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) |
Агрегация
Модули Интерфейсы Рисунок 9.4 демонстрирует отображение интерфейсов модулей средствами UML. Интерфейсы на диаграммах UML обозначаются в виде «кружков на палочке». Присоединять их можно, помимо прочего, к классам и подсистемам. Кроме того, UML позволяет стереотипировать в качестве интерфейсов символы классов (прямоугольники); пунктирная стрелка с треугольным наконечником проводится из элемента, реализующего данный интерфейс (на который указывает стрелка). В нижней части символа класса можно размещать сигнатуру интерфейса: имена его методов, аргументы, типы аргументов и т. д. Нотация «кружок- палочка» наилучшим образом показывает зависимости, связывающие элементы к интерфейс. Прямоугольная нотация, в свою очередь, предусматривает более п0дровное описание синтаксиса интерфейса — в частности, предоставляемых им операций. Конструкции, предназначенные для отображения разного рода модулей, представлены в UML весьма обширно. Некоторые примеры таковых приводятся на рис. 9.5. Конструкция класса в UML соответствует объектно-ориентированной специализации модуля. В случаях, когда значительную роль играет группировка функциональности — например, при отображении уровней и классов, — удобнее обращаться к пакетам. Конструкция подсистемы применяется при необходимости специфицирования интерфейса и поведения. На рис. 9.6 приводится пример обозначения (средствами UML) отношений, присущих модульным представлениям. Декомпозиция на модули базируется на отношении «является частью». Для представления использования модулей применяют отношение зависимости, а, скажем, для представления классов модуля — обобщение или отношение «является» (оно же — «наследование»). С помощью конструкции подсистемы в UML можно отображать модули, содержащие другие модули; прямоугольник класса, как правило, применяется в листьях декомпозиции. Подсистемы отображаются двояко — как пакеты и как классификаторы. В первом случае существует возможность декомпозиции подсистем, а значит, и агрегации (так здесь называют группировку) модулей. Подсистемы, изображаемые в качестве классификаторов, инкапсулируют свое содержимое и предоставляют явный интерфейс. UML предусматривает три способа обозначения агрегации: ♦ модули могут быть вложенными (рис. 9.7, слева); ♦ можно изобразить последовательность двух (в том числе связанных) диаграмм, вторая из которых обозначает содержимое модуля, показанного в первой; ♦ ребро, обозначающее композицию (ромбик примыкает к контуру агрегата), соединяет родительский и дочерний модули (рис. 9.7, справа). Композиция в UML понимается как разновидность агрегации с подразумеваемой жесткой принадлежностью — другими словами, ее части рождаются и умирают вместе с целым (агрегатом). Если, к примеру, модуль А состоит из модулей В и С, то последние не могут существовать без первого; соответственно, в случае уничтожения А в период прогона исчезают В и С. Таким образом, отношение композиции в UML выходит за рамки структурирования блоков реализации; оно также затрагивает элементы, принадлежащие к периоду прогона. Прежде чем принимать решение о введении отношения композиции UML, архитектор должен тиражировать соответствие этой принадлежности.
Дата добавления: 2015-04-25; Просмотров: 597; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |