Материал: 4970

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

81

Графически диаграмма деятельности является блок-схемой выполнения элементарных операций в контексте состояния объекта. Пример диаграммы деятельностей приведён на рисунке 24.

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

Автор настоящего пособия не ставил целью изложение методической и последовательной проработки всех стадий проектирования программных систем. Для получения более подробных сведений автор рекомендует воспользоваться специальной справочной литературой (см.[14],[15],[16]) по языку UML. В краткой форме приведём описание диаграмм кооперации, компонентов и диаграмм развёртывания.

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

 

82

Пакет

 

Подача документов в

вуз

Начальное

 

 

состояние

 

Собрать комплект документов

Состояния

Написать заявление о приёме

 

действия

 

 

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

 

Сдать комплект в приёмную комиссию

 

Комплект не принят

 

Комплект принят

 

Получить расписку

 

конечное

 

состояние

 

Рисунок 24 − Диаграмма деятельностей

Основной акцент в диаграмме кооперации сделан на структурной организа-

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

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

в зависимости от времени, но показывает другие нюансы: кратность объектов

(связь один ко многим, например, сотрудник − должности); направление связи

83

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

Диаграммы компонентов иллюстрируют, как классы соотносятся с готовыми физическими компонентами системы. Диаграмма отражает принцип наращивания функционала ядра системы основанный на идее полиморфизма. Из диаграмм компонентов и размещения можно сделать выводы о составе программного комплекса в виде .ЕХЕ и .DLL и других файлов, а также место их размещения в информационных сетях. Компонент − это физическая заменяемая часть системы, которая соответствует некоторому набору интерфейсов и обеспечивает его реализацию. Компонент, как правило, представляет собой физическую упаковку логических элементов, таких, как классы, интерфейсы и кооперации. Графически компонент изображается в виде прямоугольника с вкладками и именем. Пример изображения компонента приведён на рисунке 25.

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

monitor.exe

Рисунок 25 – Пример изображения компонента

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

84

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

Распределённые узлы локальной сети

 

Сервер

Сервер

Сервер

СУБД

почтовый

доступа

 

Рисунок 26 – Диаграмма развёртывания

Контрольные вопросы и задания

1.Что является целью объектно-ориентированного проектирования?

2.В чём заключаются особенности объектно-ориентированного проектирования?

3.В чём состоит назначение языка UML?

4.Перечислите основные группы элементов языка UML, каково их назначение?

5.С какой целью и посредством каких элементов языка UML осуществляется семантическая связь между диаграммами?

6.Каково назначение диаграммы вариантов использования?

7.Каково назначение сценария и в чём состоят особенности его составления?

8.Перечислите отношения в диаграмме вариантов использования.

9.Каково назначение диаграммы классов?

10.Перечислите отношения в диаграмме классов.

11.Каково назначение диаграммы последовательностей?

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

13.Каково назначение диаграмм состояний?

14.Перечислите отношения диаграммы состояний.

15.Каково назначение диаграммы деятельностей?

16.В чём различие диаграмм состояний и деятельностей?

85

ПРИЛОЖЕНИЕ А Пример объектной декомпозиции предметной области

Предметная область: «Автоматизация кассового обслуживания клиентов банка посредством банкомата".

Задача: выполнить объектную декомпозицию процесса «Идентификация клиента и предоставление выбора операций»

Этап №1. Сценарий процесса «Идентификация клиента и предоставление выбора операций»

Описание процесса в виде сценария безальтернативного варианта развития событий (т.е. с достижением клиентом желаемой цели – получением доступа к выбору операций со своим счётом):

1) операционная система банкомата, банкомат и удалённая связь с банком находятся в рабочем состоянии и в готовности обслужить запрос клиента;

2)идентификационная пластиковая карта клиента находится в приёмнике банкомата, после чего операционная система банкомата проверяет тип карты на соответствие типу данного банкомата и выводит сообщение с предложением клиенту ввести посредством клавиатуры свой идентификационный код (PINкод);

3)клиент вводит свой идентификационный код, операционная система банкомата считывает и проверяет введённый код на соответствие учётной записи о клиенте в банке;

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

Примечание: сущности предметной области выделены подчёркиванием. Дальнейший ход развития событий должен сопровождаться дополнительны-

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

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

Источник: https://studfile.net/preview/16710630/