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

Жизненный цикл программного обеспечения. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Для иллюстрации особенностей параллельных процессов выпол­нения действий рассмотрим ставший уже классическим пример с приготовлением напитка. Достоинство этого примера состоит в том, что он практически не требует никаких дополнительных пояснений в силу своей очевидности (рис. 9.7).
Поискать на пит ок
[ Кофе не найден ]
[ Кофе найде н ]
Засыпать
кофе в
фильтр
Вставить фильтр в
кофев арку
Налить
воду в
резерв уар
Включить
кофе варку
Сварить коф е
Найти чашку
Налить коф е в
чашку
Выпить на питок
[ нашлась банка кв аса ]
Открыть
банку с квас ом
[ кваса тоже нет ]
Рис. 9.7. Диаграмма деятельности для примера с приготовлением напитка
91
При этом разделение (concurrent fork) имеет один входящий пере­ход и несколько выходящих (рис. 9.8, а). Слияние (concurrent join), наоборот, имеет несколько входящих переходов и один выходящий (рис. 9.8, б).
Де йствие 1 Д е йств ие 4
Де йствие 2 Действие 3
а) Разделение
Рис. 9.8. Графическое изображение разделения
и слияния параллельных потоков управления
б) Слияние
Действие 5
Де йств ие 6
Диаграммы деятельности могут быть использованы не только для спецификации алгоритмов вычислений, или потоков управления, в программных системах. Не менее важная область их применения связана с моделированием бизнес-процессов. Деятельность любой компании (фирмы) также представляет собой не что иное, как сово­купность отдельных действий, направленных на достижение требуе­мого результата. Однако применительно
к бизнес-процессам жела­тельно выполнение каждого действия ассоциировать с конкретным подразделением компании. В этом случае подразделение несет от­ветственность за реализацию отдельных действий, а сам бизнес­процесс представляется в виде переходов действий из одного под­разделения к другому.
Для моделирования этих особенностей в языке UML используется
специальная конструкция, получившая название
дорожки (swimlanes). Имеется в виду визуальная аналогия с плавательными дорожками в бассейне, если смотреть на соответствующую диаграмму. При этом все состояния действия на диаграмме деятельности делятся на от­дельные группы, которые отделяются друг от друга вертикальными линиями. Две соседние линии и образуют дорожку, а группа состоя­ний между этими линиями выполняется отдельным
подразделением
(отделом, группой, отделением, филиалом) компании (рис. 9.9).
92
Отдел приема и оформления заказов
р
р
р
е
у
Принять заказ на
това
Отдел продаж
Склад
Получить оплату за
това
Отправить
товар
клиент
Подобрать товар
Подготовить
товар к
отп
авк
Отпустить товар
Рис. 9.9. Фрагмент диаграммы деятельности для торговой компании
Названия подразделений в явном виде указываются в верхней части дорожки. Пересекать линию дорожки могут только переходы, которые в этом случае обозначают выход или вход потока управле­ния в соответствующее подразделение компании. Порядок следова­ния дорожек не несет какой-либо семантической информации и оп­ределяется соображениями удобства.
В качестве примера рассмотрим фрагмент
диаграммы деятельно­сти торговой компании, обслуживающей клиентов по телефону. Подразделениями компании являются отдел приема и оформления заказов, отдел продаж и склад. Этим подразделениям будут соответ­ствовать три дорожки на диаграмме деятельности, каждая из которых специфицирует зону ответственности подразделения. В данном слу-
93
чае диаграмма деятельности заключает в себе не только информацию о последовательности выполнения рабочих действий, но и о том, ка­кое из подразделений торговой компании должно выполнять то или иное действие (см. рис. 9.9).
В общем случае действия на диаграмме деятельности выполняют­ся над теми или иными объектами. Эти объекты либо инициируют выполнение
действий, либо определяют некоторый результат этих действий. При этом действия специфицируют вызовы, которые пере­даются от одного объекта графа деятельности к другому. Поскольку при этом объекты играют определенную роль в понимании процесса деятельности, иногда возникает необходимость в явном виде указать их на диаграмме деятельности.
Для графического представления объектов используется прямо­угольник класса, с тем отличием, что имя объекта подчеркивается. Далее после имени может указываться характеристика состояния объекта в квадратных скобках. Такие прямоугольники объектов при­соединяются к состояниям действия отношением зависимости пунк­тирной линией со стрелкой. Соответствующая зависимость опреде­ляет состояние конкретного объекта после выполнения предшест­вующего действия.
На диаграмме деятельности с
дорожками расположение объекта может иметь некоторый дополнительный смысл. А именно, если объект расположен на границе двух дорожек, то это может означать, что переход к следующему состоянию действия в соседней дорожке ассоциирован с готовностью некоторого документа (объект в неко­тором состоянии). Если же объект целиком расположен внутри до­рожки, то и
состояние этого объекта целиком определяется дейст-
виями данной дорожки.
Возвращаясь к предыдущему примеру с торговой компанией, можно заметить, что центральным объектом процесса продажи явля­ется заказ, вернее, состояние его выполнения. Вначале, до звонка от клиента, заказ как объект отсутствует и возникает лишь после такого звонка. Однако этот заказ еще не заполнен
до конца, поскольку тре­буется подобрать конкретный товар в отделе продаж. После подго­товки товара он передается на склад, где вместе с отпуском товара заказ окончательно оформляется. Наконец, после получения под­тверждения об оплате товара эта информация заносится в заказ и он считается выполненным и закрытым. Данная информация может быть
представлена графически в виде модифицированного варианта
диаграммы деятельности этой же торговой компании (рис. 9.10).
94
Отдел приема и оформления заказов
р
у
р
р
р
у
Принять заказ
на това
[заказ получе н]
Отдел продаж Склад
Подобрать товар
Получить
оплат
за това
[заказ оформлен]
[заказ выполнен]
От править
клиент
това
Подготовить
товар к
отп
авке
Рис. 9.10. Фрагмент диаграммы деятельности торговой
компании с объектом-заказом
9.2. Порядок выполнения работы
[заказ подготовлен]
От пус тить товар
1. Запустите StarUML (иконка на рабочем столе). На экране появится окно среды StarUMLNew Project By Approach с требо­ванием указать подход к моделированию. Здесь надо выбрать иконку
Rational Approach и нажать на кнопку OK (см. рис. 6.8).
95
2. В пункте меню Model выберите подпункт Add и затем Model,
как показано на рис. 6.9.
3. В пункте меню Model выберите подпункт Add diagram и затем
Activity Diagram, как показано на рис. 9.11.
Рис. 9.11. Выбор диаграммы деятельности
4. Создайте диаграмму деятельности для системы управления
банкоматом, как показано на рис. 9.12.
Диаграмма деятельности системы управления банкоматом содер­жит 6 состояний и 4 знака разветвления, 4 знака слияния и 5 нетриг­герных переходов.
96
[ ПИН-код верный ]
[ сумма не превышает кредит ]
[ достаточно наличны х ]
Встав ить
карточку
[ не читается ]
[ читается ]
Ввести
ПИН-код
[ ПИН-код неверный ]
Ввести сумму
[ сумма превышает кредит ]
[ недостаточно наличных ]
Получить наличные
Сообщить об ошибке
Получить карточку
Рис. 9.12. Диаграмма деятельности системы управления банкоматом
Создание состояния действия осуществляется с помощью иконки
ActionState, которая устанавливается в нужном месте в области диа-
97
граммы, после чего указывается имя состояния, например «Вставить карточку»:
Вставить карточку
Имя состояния действия задается с помощью свойства Name это­го состояния действия. Переход строится с помощью иконки Transi-
tion, как показано на рис. 9.4.
9.3. Задание для самостоятельной работы
Создать диаграммы деятельности для систем, указанных препода­вателем.
98
Лабораторная работа 10
МОДЕЛИРОВАНИЕ ВЗАИМОДЕЙСТВИЯ КЛАССОВ
ПРОГРАММНЫХ СИСТЕМ С ИСПОЛЬЗОВАНИЕМ
ДИАГРАММ КООПЕРАЦИИ И ДИАГРАММ
ПОСЛЕДОВАТЕЛЬНОСТИ С ПОМОЩЬЮ СРЕДЫ
STARUML
Цель работы – изучение средств построения диаграмм взаимо­действия в среде StarUML, построение диаграммы кооперации и диаграммы последовательности системы управления банкоматом, разработка диаграмм взаимодействия для варианта, предложенного преподавателем.
10.1. Основные понятия и определения
Диаграммы взаимодействия отображают один из процессов обра­ботки информации в варианте использования, т.е. описывают, какие объекты нужны потоку, какими сообщениями обмениваются объек­ты, какие действующие лица инициируют поток и в какой последо­вательности отправляются сообщения. Для одного потока событий может быть построено несколько диаграмм взаимодействия.
Основной элемент диаграмм взаимодействия – это ектом описывают нечто содержащее в себе данные и поведение. Это термин, описывающий реальные, конкретные предметы или абст­рактные сущности.
Объекты изображаются в виде прямоугольников так же, как и классы, но имена объектов подчеркиваются. Внутри прямоугольни­ка, обозначающего объект, записывается с большой буквы имя объ­екта. Имя объекта подчеркивается. слов, то все они должны начинаться с большой буквы.
Существует два типа диаграмм взаимодействия – диаграммы по­следовательности (или последовательности действий) и диаграммы кооперации. Первые отображают обмен сообщениями между объек­тами во времени, а вторые отображают структуру взаимодействия. На обеих диаграммах отображается одна и та же информация, но разными способами: диаграмма последовательностей изображает поток управления, а диаграмма кооперации – поток данных.
Если оно содержит несколько
объект. Объ-
99
Диаграммы последовательности
На диаграмме последовательности (Sequence diagram) изобража­ются исключительно те объекты, которые непосредственно участву­ют во взаимодействии, и не показываются возможные статические ассоциации с другими объектами. Для диаграммы последовательно­сти ключевым моментом является именно динамика взаимодействия объектов во времени. При этом диаграмма последовательности имеет как бы два измерения. Одно – слева направо в
виде вертикальных линий, каждая из которых изображает линию жизни отдельного объ­екта, участвующего во взаимодействии. Графически каждый объект изображается прямоугольником и располагается в верхней части своей линии жизни (рис. 10.1). Внутри прямоугольника записывают­ся имя объекта и имя класса, разделенные двоеточием. При этом вся запись подчеркивается, что является признаком объекта, который, как известно, представляет собой экземпляр класса.
ObjectA
аб
Рис. 10.1. Варианты изображения объекта
ObjectB : ClassB
на диаграмме последовательности
: ClassC
в
Имя объекта может быть задано тремя различными способами:
1) указано только имя объекта (рис. 10.1, а);
2) указано имя объекта и имя класса (рис. 10.1, б);
3) безымянный объект, указано только имя класса (рис. 10.1, в).
100