Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры-2модуль-ТРПО.doc
Скачиваний:
31
Добавлен:
21.03.2015
Размер:
1.2 Mб
Скачать

2.5. Диаграммы пакетов

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

Диаграмма пакетов – это модель, содержащая пакеты классов и зависимости между ними.

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

- Один класс посылает сообщение другому

-Один класс включает часть данных другого класса

-Один класс ссылается на другой, как на параметр операции.

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

При проектировании больших систем зависимости должны минимизироваться – таким способом снижается воздействие изменений и требуется меньше усилий на их внесение.

На рисунке 2.10 приведен пример диаграммы пакетов. Здесь AWT – это Средство Разработки Графического Интерфейса Пользователя.

Рисунок 2.10. Диаграмма пакетов.

На этой диаграмме классы предметной области, моделирующие деятельность организации, сгруппированы в 2 пакета: Заказа и Клиенты. Приложение Сбора Заказов имеет зависимости с обоими пакетами Предметной области. Пользовательский Интерфейс Сбора Заказов имеет зависимости с пакетами Приложение Сбора Заказов и Средство разработки Графического Интерфейса Пользователя.

Зависимости между двумя пакетами существуют, если существует какая-либо зависимость между любыми двумя классами в пакетах. Например, если любой класс в пакете Список Рассылки зависит от какого-то класса в пакете Клиенты, то между соответствующими пакетами существует зависимость.

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

Диаграммы пакетов являются основным средством управления общей структурой системы.

Если нужно показать содержимое пакета, то имя пакета помещается в верхнюю «этикетку», а содержимое помещается внутрь основного прямоугольника. Это содержимое может быть перечнем классов, другой диаграммой пакетов или диаграммой классов. По отношению к пакетам можно использовать механизм обобщения.

Применение диаграмм пакетов.

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

    1. Диагр-ы взаимодействия