Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
36
Добавлен:
01.06.2015
Размер:
384 Кб
Скачать

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

(Software engineering)

Учебный курс

очного обучения по специальностям 220400 «Программное обеспечение вычислительной техники и автоматизированных систем»

351500 «Математическое обеспечение и администрирование информационных систем» кафедры

Л Е К Ц И Я

U3.7

МОП ЭВМ

8 семестр

Универсальный

язык

моделирования - UML.

Диаграмма

компонентов

В.В.Хашковский, к.т.н., доц. каф. МОП ЭВМ ТРТУ

Д.П.Калачев, доц., к.т.н., доц. каф. МОП ЭВМ

ТРТУ

UML. Диаграмма компонентов (component) Назначение.

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

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

соответствует файлу. Пунктирные стрелки, соединяющие модули, показывают отношения взаимозависимости, аналогичные тем, которые имеют место при компиляции

исходных текстов программ.

Основными графическими элементами диаграммы компонентов являются компоненты, интерфейсы и зависимости между ними. Диаграмма компонентов разрабатывается для следующих целей:

Визуализации общей структуры исходного кода программной системы.

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

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

© 2005, В.В.Хашковский, Д.П.Калачев.

2

UML. Диаграмма компонентов Компоненты

Для представления физических сущностей в языке UML применяется специальный термин - компонент (component). Компонент

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

© 2005, В.В.Хашковский, Д.П.Калачев.

3

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

 

Компоненты

 

Компонент как элемент физической реализации

 

представляет отдельный модуль кода, иногда его комментируют с

 

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

 

 

компоненты развертывания, которые обеспечивают

 

непосредственное выполнение системой своих функций:

 

динамически подключаемые библиотеки (а), Web-страницы (б) и

 

файлы справки (в).

 

 

компоненты-рабочие продукты. Как правило - это файлы с

 

исходными

 

текстами программ, например, для языка C++ (г).

 

 

компоненты исполнения, представляющие исполнимые модули -

 

файлы с расширением ехе.

 

Другой способ спецификации вида компонента - явное указание

 

стереотипа:

 

 

Библиотека (library) - представляется в форме динамической или

 

статической библиотеки.

 

 

Таблица (table) - представляется в форме таблицы базы данных.

 

Файл (file) - представляется в виде файлов с исходными

 

текстами программ.

 

 

Документ (document) - представляется в форме документа.

4

© 2005,В.В.Хашк вский, Д.П.Калачев.

Исполнимый (executable) - может исполняться в узле.

 

UML. Диаграмма компонентов Интерфейсы

Семантически линия означает реализацию интерфейса, а наличие интерфейсов у компонента означает, что данный компонент реализует соответствующий набор интерфейсов

Характер использования интерфейсов отдельными компонентами может отличаться.

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

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

© 2005, В.В.Хашковский, Д.П.Калачев.

5

UML. Диаграмма компонентов Зависимости

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

Применительно к диаграмме компонентов зависимости могут

связывать компоненты и импортируемые этим компонентом или

реализованные в нем интерфейсы.

© 2005, В.В.Хашковский, Д.П.Калачев.

6

UML. Диаграмма компонентов Зависимости

На диаграмме компонентов могут быть представлены

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

физического представлений модели системы. Разумеется, изменения в структуре описаний классов могут привести к изменению компонента.

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

компонента делится на две секции горизонтальной линией. Верхняя секция служит для записи имени компонента, а нижняя секция дополнительной информации.

© 2005, В.В.Хашковский, Д.П.Калачев.

7

UML. Диаграмма компонентов Зависимости

Другим случаем отношения зависимости на диаграмме компонентов является отношение

между различными видами компонентов

Наличие подобной зависимости означает,

внесение изменений в исходные тексты

динамические библиотеки приводит к изменениям самого

компонента. При этом характер изменений может быть отмечен дополнительно.

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

реализует три отдельных объекта. Подобная вложенность означает, что

выполнение компонента влечет выполнение соответствующих объектов.

© 2005, В.В.Хашковский, Д.П.Калачев.

8

UML. Диаграмма компонентов Заключение

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

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

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

объектов только при их необходимости.

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

При разработке интерфейсов следует обращать внимание на согласование (стыковку) различных частей

программной системы.

4. Наконец, завершающий этап связан с установлением и нанесением на диаграмму взаимосвязей между компонентами, а также отношений

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

исполнением отдельных частей программы на этапе ее выполнения.

В заключение следует обратить внимание, что диаграмма компонентов, как

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

© 2005, В.В.Хашковский, Д.П.Калачев.

9

Соседние файлы в папке Материал Курса