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

metoda_2013

.pdf
Скачиваний:
54
Добавлен:
03.05.2015
Размер:
6.36 Mб
Скачать

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

27. UML. Диаграмма кооперации (collaboration diagram) .

Назначение. Пример использования.

Одна из четырех диаграмм взаимодействия.

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

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

Схема нумерации следующая:

1

1.1

1.1.1

1.1.2

1.2, и т.д.

Новый числовой сегмент начинается для нового слоя обработки, что было бы эквивалентно обращению к методу.

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

140

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

Communication Diagram Elements

Действующее лицо – пользователь системы.

Объект. Отдельный экземпляр класса.

Граница – шаблонный объект, моделирующий некоторые границы/ограничения системы. Типичный пример: пользовательский интерфейс.

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

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

Пакет – пространство имен, которое так же может входить в другие пространства имен.

Communication Diagram Connectors

Ассоциация между объектами

Вложение объектов

Объект реализует свойства другого объекта

С UML (Unified Modeling Language) 1.4 collaboration diagram (диаграмма кооперации) была переименована в communication diagram и упрощена.

141

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

28. UML. Диаграммы реализации (implementation diagrams) . Назначение. Пример использования.

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

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

Этот тип диаграмм предназначен для распределения классов и объектов по компонентам при физическом проектировании системы.

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

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

142

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

Компонент служит для общего обозначения элементов физического представления модели и может реализовывать некоторый набор интерфейсов. Имя компонента подчиняется общим правилам именования элементов модели в языке UML и может состоять из любого числа букв, цифр и знаков препинания. Если компонент представляется на уровне типа, то записывается только имя типа с заглавной буквы в форме: <Имя типа>. Если же компонент представляется на уровне экземпляра, то его имя записывается в форме: <имя компонента ‘:' Имя типа>.

В качестве собственных имен компонентов принято использовать имена исполняемых файлов (динамических библиотек, Web-страниц, текстовых файлов).

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

1.стереотипы для компонентов развертывания, которые обеспечивают непосредственное выполнение системой своих функций: динамически подключаемые библиотеки, Web-страницы.

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

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

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

Другой способ спецификации различных видов компонентов — указание текстового стереотипа компонента перед его именем. В языке UML для компонентов определены

следующие стереотипы:

<<file>> – произвольный физический файл.

<<executable>> –исполнимый файл.

<<document>> –документ произвольного содержания, не являющегося исполнимым файлом или файлом с исходным текстом программы.

<<library>> – динамическая или статическая библиотека.

<<source>> файл с исходным текстом программы.

143

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

<<table>> – таблица базы данных.

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

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

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

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

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

Узел Узел представляет собой физически существующий

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

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

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

144

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

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

Имя типа узла указывает на разновидность узлов, присутствующих в модели системы. Так, на представленном рисунке узел с именем Видеокамера относится к общему типу и никак не конкретизируется. Второй узел является узлом-

экземпляром конкретной модели сканера.

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

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

предложены следующие текстовые стереотипы: "processor"

(процессор), "sensor" (датчик), "modem" (модем), "net" (сеть), "printer" (принтер) и другие, смысл которых понятен из контекста.

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

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

устройство (device) - узел без процессора и памяти (б).

Соединения и зависимости на диаграмме развертывания В качестве отношений выступают физические соединения

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

145

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

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

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

29. UML. Диаграмма компонентов (component diagram).

Назначение. Пример использования.

Этот тип диаграмм предназначен для распределения классов и объектов по компонентам при физическом проектировании системы.

146

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

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

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

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

на уровне типа, то записывается только имя типа с заглавной буквы в форме: <Имя типа>. Если же компонент представляется на уровне экземпляра, то его имя записывается в форме: <имя компонента ‘:' Имя типа>.

В качестве собственных имен компонентов принято использовать имена исполняемых файлов (динамических библиотек, Web-страниц, текстовых файлов).

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

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

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

147

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

4. стереотипы для компонентов в форме рабочих продуктов. Как правило – это файлы с исходными текстами программ.

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

Другой способ спецификации различных видов компонентов — указание текстового стереотипа компонента перед его именем. В языке UML для

компонентов определены следующие стереотипы:

<<file>> – произвольный физический файл.

<<executable>> –исполнимый файл.

<<document>> –документ произвольного содержания, не являющегося исполнимым файлом или файлом с исходным текстом программы.

<<library>> – динамическая или статическая библиотека.

<<source>> файл с исходным текстом программы.

<<table>> – таблица базы данных.

Интерфейсы Интерфейсы обеспечивают не только совместимость

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

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

148

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

Зависимости между компонентами Отношение зависимости служит для представления факта

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

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

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

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

Control .exe использует или импортирует некоторую функциональность компонентa Library .dll, вызывает страницу гипертекста Home .html и файл помощи Search .hlp, а исходный текст этого исполнимого компонентa хранится в файле Control

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

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

149

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]