Зависимости

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

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

Также на диаграмме могут быть представлены отношения зависимости между компонентами и реализованными в них классами. Эта информация имеет важное значение для обеспечения согласования логического и физического представлений модели системы.

7.2.2 Рекомендации по построению диаграммы компонентов

Разработка диаграммы компонентов предполагает использование информации, как о логическом представлении модели системы, так и об особенностях ее физической реализации. До начала разработки необходимо определиться с выбором языковой платформы и операционной системы.

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

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

7.3 Содержание отчета

1. Наименование и цель работы, номер варианта.

2. Разработанная диаграмма компонентов.

3. Спецификация диаграммы компонентов.

4. Выводы.

7.4 Контрольные вопросы

1. Физическая модель программной системы.

2. Назначение диаграммы компонентов.

3. Цели разработки диаграммы компонентов.

4. Элементы диаграммы компонентов. Компоненты.

5. Элементы диаграммы компонентов. Зависимости.

8 ЛАБОРАТОРНАЯ РАБОТА №7. ДИАГРАММА РАЗВЕРТЫВАНИЯ

8.1 Цель работы

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

8.2 Теоретические сведения

8.2.1 Диаграмма развертывания

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

- сложные программные системы могут реализовываться в сетевом варианте на различных вычислительных платформах и технологиях доступа к распределенным базам данных;

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

- технологии доступа и обработки данных в схеме "клиент-сервер" требует размещения больших баз данных в различных сегментах корпоративной сети, их резервного копирования для обеспечения необходимой производительности системы в целом.

Диаграмма развертывания (синоним — диаграмма размещения) применяется для представления общей конфигурации и топологии распределенной программной системы и содержит распределение компонентов по отдельным узлам системы. Кроме того, диаграмма развертывания показывает наличие физических соединений — маршрутов передачи информации между аппаратными устройствами, задействованными в реализации системы.

Диаграмма развертывания предназначена для визуализации элементов и компонентов программы, существующих лишь на этапе ее исполнения (runtime). При этом представляются только компоненты-экземпляры программы, являющиеся исполнимыми файлами или динамическими библиотеками.

Итак, перечислим цели, преследуемые при разработке диаграммы развертывания:

- определить распределение компонентов системы по ее физическим узлам;

- показать физические связи между всеми узлами реализации системы на этапе ее исполнения;

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

Узел

Узел (node) представляет собой некоторый физически существующий элемент системы, обладающий некоторым вычислительным ресурсом. В качестве вычислительного ресурса узла может рассматриваться наличие хотя бы некоторого объема электронной памяти и/или процессора. В последней версии языка UML понятие узла расширено и может включать в себя не только вычислительные устройства (процессоры), но и другие механические или электронные устройства.

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