Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРС Б-П ИС.doc
Скачиваний:
10
Добавлен:
19.11.2018
Размер:
309.76 Кб
Скачать

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

Важной задачей систематизации информации о предметной области является разбиение большой системы на небольшие подсистемы. Именно здесь особенно заметны структурным и объектно-ориентированным различия между подходами. Одна из идей заключается в группировке классов в компоненты более высокого уровня. В UML такой механизм группировки носит название пакетов (package). Диаграммой пакетов является диаграмма, содержащая пакеты классов и зависимости между ними. Строго говоря , пакеты являются элементами диаграммы классов, то есть диаграмма пакетов – это всего лишь диаграмма классов. Отличаются эти диаграммы практическим назначением и использованием. Зависимость между двумя элементами имеет место в том случае, если изменения в определении одного элемента, могут повлечь изменения в другом.

Что касается классов, то причины зависимостей может быть разными:

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

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

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

Если класс меняет свой интерфейс, то сообщение, которое он посылает, может стать неправильным.

На рис. 8 показаны классы предметной области, возникающие при моделировании деятельности менеджера по управлению проектами. Они сгруппированы в пакеты: контракты, менеджеры, отчеты, исполнители. Приложение Проект имеет связь с пакетами предметной области Менеджеры, Отчеты, Контракты. Приложение Специалисты имеет связь с Исполнителями, через которых можно узнать какие отчеты они подготовили.

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

Диаграмма компонентов

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

      1. Нотации диаграммы пакетов и компонентов

  • Package - пакет.

  • Dependency - зависимость

  • Component – компонент

  • Subprogram Specification – спецификация подпрограммы

  • Subprogram Body – тело подпрограммы

  • Main Program – главная программа

  • Package Specification – спецификация пакета

  • Package Body – тело пакета

  • Task Specification – спецификация задания

  • Task Body – тело задания

Оприходование товара на складе

Рис. 2. Общая диаграмма Пакетов.

Рис. 3. Общая диаграмма Компонентов.

  1. Какую проблему призваны решить диаграммы пакетов?

  2. В чем отличия диаграмм пакетов от диаграмм классов?

  3. В чем смысл зависимости между элементами диаграммы пакетов

  4. Что такое интерфейс класса

  5. По каким признакам классы группируются в пакеты

15