Top Banner
Учебный курс Язык UML в анализе и проектировании программных систем и бизнес-процессов Лекция 7 Диаграмма компонентов языка UML 2 Автор: Леоненков Александр Васильевич кандидат технических наук, старший научный сотрудник
24

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

Aug 15, 2015

Download

Software

DEVTYPE
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Диаграмма компонентов

Учебный курсЯзык UML в анализе и проектировании

программных систем и бизнес-процессов

Лекция 7

Диаграмма компонентовязыка UML 2

Автор:Леоненков Александр Васильевич

кандидат технических наук,старший научный сотрудник

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

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

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

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

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

Компонент (component)

– элемент модели, представляющий некоторую модульную часть системы с инкапсулированным содержимым, спецификация которого является взаимозаменяемой в его окружении.Имя экземпляра компонента записывается аналогично имени линии жизни на диаграммах взаимодействия в следующем формате (БНФ):<имя-экземпляра-компонента>::=[<собственное-имя-компонента>] [‘:’<имя-типа>],при этом собственное имя компонента записывается со строчной буквы, а в качестве имени экземпляра компонента должен присутствовать хотя бы один терм.

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

Примеры изображения простого компонента и компонента с интерфейсами

«component»Заказ

IDialog

IApplication«component»Контроллер

ISensor

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

Примеры изображения компонента в нотации черного и белого ящика

«provided interfaces» МестонахождениеТовара Сопровождение«required interfaces» ЗаказываемыйТовар Клиент

«component»Заказ

«realizations» ЗаголовокЗаказа СтрокаТовара

«artifacts» Заказ.jar

«provided interfaces» МестонахождениеТовара Сопровождение«required interfaces» ЗаказываемыйТовар Клиент

«component»Заказ

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

Интерфейсы

Предоставляемый интерфейс (provided interface) – интерфейс, который компонент предлагает для своего окружения.Требуемый интерфейс (required interface) – интерфейс, который необходим компоненту от своего окружения для выполнения заявленной функциональности, контракта или поведения.

ЗаказываемыйТовар

Счет-фактура

«component»Товар

СопровождениеМестонахождение

Товара

«component»Заказ

Клиент

ЗаголовокЗаказа

СтрокаТовара

заказ

элемент *

1

ЗаказываемыйТовар

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

Представление интерфейсов в форме символа классификатора с отношениями

зависимости и реализации

«interface»МестонахождениеТовара

задать() изменить() получитьДетали()

«component» Заказ

«interface»Заказываемый

Товар

найтиПоИмени() задатьКоличество() получитьДетали()

«use»

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

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

ЗаказываемыйТовар

СопровождениеМестонахождение

Товара

«component»Заказ

Клиент

ЗаголовокЗаказа

СтрокаТовара

заказ

элемент *

1

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

Собирающий соединитель(assembly connector)

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

«component»:Заказ

Сопровождение

«component»Заказ

«component»Товар

ЗаказываемыйТовар

«component»:Товар

ЗаказываемыйТовар

ЗаказываемыйТовар

ЗаказываемыйТовар

Сопровождение

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

Пример диаграммы компонентов с собирающими соединителями для одинаковых интерфейсов

ЗаказываемыйТовар

ЧеловекМестоположение Местонахождение

Товара

Клиент

:Товар

:ФизическоеЛицо

:Заказ

:Сервис

Сопровождение:Компания

:ОтмененныйЗаказ

Клиент

Организация

Сопровождение

:Склад

:Поставщик

Местоположение

ЗаказываемыйТовар

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

Делегирующий соединитель(delegation connector)

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

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

МестонахождениеТовара

«component»Заказ

:ЗаголовокЗаказа

:СтрокаТовара

Клиент

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

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

Клиент

«delegate»

МестонахождениеТовара

Клиент

«delegate»

Счет

Счет

«component»:Товар

«component» :Заказ

«component» :Физическое Лицо

«component»:Магазин

МестонахождениеТовара

ЗаказываемыйТовар

ЗаказываемыйТовар

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

Пример отношений зависимости между компонентом

Товар

ФизическоеЛицо

Заказ

Сервис

Компания

ОтмененныйЗаказ

Склад

Поставщик

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

Отношения зависимости на диаграмме компонентов с интерфейсами

ЗаказываемыйТовар

ЧеловекМестонахождениеТовара

Товар

ФизическоеЛицо

Заказ

Сервис

Сопровождение

Компания

Клиент

Организация

Сопровождение

Поставщик

Местоположение

ЗаказываемыйТовар

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

Реализация (realization)

– специализация отношения зависимости для связи компонентов с классификаторами, которые реализуют функциональность этого компонентаРеализация компонента может быть дополнительно помечена стереотипом «implement»

«component» Заказ

ЗаголовокЗаказа

СтрокаТовара

<<implement>><<implement>>

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

Изображение графических стереотипов компонентов Г.Буча

Dialog.dll Index.html Context .hlp Main.cpp

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

Графические стереотипы компонентов Дж. Коналлена

<<server page>>

Серверная страница представляет Web-страницу, содержащую выполняемые сервером сценарии.Эти сценарии могут взаимодействовать с серверными ресурсами, такими как базы данных, бизнес-логика и внешние системы.Операции реализуемых компонент классов являются функциями сценария, а их атрибуты — переменными, видимыми в пределах этой страницы.

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

Клиентская страница <<client page>>

Представляет Web-страницу в формате HTML, а также данные, элементы интерфейса и даже бизнес-логику.Клиентские страницы отображаются клиентскими броузерами и могут содержать сценарии, которые интерпретируются броузером.Операции клиентской страницы могут соответствовать функциям, содержащимся в дескрипторах сценария страницы. Атрибутам клиентской страницы соответствуют объявленные в дескрипторах сценария переменные, которые доступны любой функции в пре делах этой страницы.

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

Форма

Является набором полей ввода и представляет собой часть клиентской страницы.Форма преобразуется непосредственно в дескрип тор HTML <form>.Атрибуты формы могут представлять поля ввода, текстовые поля, переключатели, флажки, скрытые поля формы HTML.С формой не связано никаких операций, поскольку их нельзя в ней инкапсулировать.Любые операции взаимодействия с формой являются свойствами содержащей ее страницы.

<<form>>

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

Набор фреймов

Представляет собой контейнер, состоящий из нескольких Web-страниц.Прямоугольная область просмотра делится на не сколько фреймов.Каждый фрейм может быть связан с одним объектом со стереотипом «target», однако это необязательно.Содержимым фрейма может быть Web-страница или другой фрейм. Набор фреймов преобразуется непо средственно в набор фреймов Web-страницы и дескриптор HTML <frame>.

<<frame set>>

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

Цель

Представляет собой именованную область окна броузера, в которой могут отображаться Web-страницы.Имя цели соответствует имени целевого объекта.Обычно целью является один из фреймов набора.Однако целью может быть и новое окно броузера. Для цели может быть задано место назначения, где будет отображена новая Web-страница.Имя цели должно быть уникальным для каждого клиента системы.

<<target>>

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

Web-страница

Броузер может запрашивать Web-страницу по ее имени.Этот компонент при необходимости может содержать клиентские или сервер ные сценарии.Обычно web-страницы являются текстовыми файла ми, доступ к которым можно получить через Web-сервер.Однако они могут быть также компилируемыми модулями, загружаемыми и запускаемыми Web-сервером.В любом случае при доступе к такой странице, хранящейся в файле или исполняемой Web-сервером, она генерирует документ в формате HTML, который отправляется в ответ на запрос броузера.

<<web-page>>

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

JSP и сервлет

Этот компонент представляет Web-страницы, реализующие код JSP серверной части при ложения. Этот стереотип применим лишь к приложениям, в которых используется технология Java Server Pages. Этот компонент представляет сервлет Java. Стереотип применим лишь к приложениям, поддерживающим сервлеты компании Sun.

<<java serverpage>>

<<servlet>>

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

Самостоятельное задание №8

Выполнить текущее тестирование: вопросы 34-36Разработать диаграмму компонентов для ATM

Изобразить следующие компоненты: Главная программа, Программа обслуживания банкомата, Transaction, Устройства банкомата.Интерфейс IATMBankПоместить на диаграмму все классы, представленные на диаграмме классовИзобразить отношения между ними