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

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

.pdf
Скачиваний:
4
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
71
Прецедент — это набор действий, совершаемых в системе, для достижения определенной цели. Прецедент должен описы­вать вариант использования системы без ориентации на опреде­ленное проектное решение или реализацию. Другими словами, прецедент описывает, что должна делать система, не определяя, как она это делает. Обозначается прецедент эллипсом и кратким именем. Имя прецедента (см. рис. 2.9) может находиться как внутри эллипса, так и под ним.
Исполнители и прецеденты изображаются на диаграммах прецедентов. Исполнитель, инициирующий определенный пре­цедент, обычно изображается на диаграмме слева.
– Прецеденты помещаются в центре.
– Все остальные исполнители, задействованные в данных прецедентах, изображаются в правой части диаграммы.
– Стрелки указывают на то, какие исполнители заняты в каких прецедентах.
На рис. 2.10 показано, как исполнители и прецеденты изображаются на диаграмме прецедентов UML. Из рисунка так­же видно, что Исполнитель 1 занят во всех трех прецедентах, Исполнитель 3 активно участвует в Прецеденте 3, а Исполни­тель 2 просто получает результаты Прецедента 2.
Рис. 2.10. Диаграмма прецедентов
72
2.4.3. Диаграмма последовательностей
Объекты взаимодействуют друг с другом посредством об­мена сообщениями. Сообщение — это связь между двумя объек­тами или в пределах одного объекта, означающая какой-либо вид деятельности. Обычно вид деятельности состоит из одного или нескольких действий (исполняемых выражений), которые приводят к изменению одного или нескольких атрибутов объек­та или к возврату некоторого значения (значений) объекту, от­правившему сообщение.
Действия бывают пяти разных типов.
1. Действие вызова — это вызов метода объекта. Действие
вызова синхронно, что означает: отправитель предполагает, что получатель готов принять сообщение, он отправляет сообщение и ожидает ответа от получателя до выполнения других действий. Обозначается стрелкой, направленной к вызываемому объекту.
2. Действие возврата — это возврат значения в ответ на
действие вызова. Действие возврата обозначается пунктирной линией со стрелкой, ведущей от объекта, который отправляет значение, к объекту, который его получает (другими словами, от вызываемого объекта к вызывавшему). Обозначается пунктир­ной стрелкой.
3. Действие создания создает объект. Другими словами,
оно отправляет запрос классу на создание его экземпляра.
4. Действие уничтожения уничтожает объект. Если быть
точным, то оно дает объекту команду уничтожить себя. Обозна­чается перечеркиванием линии жизни объекта.
5. Действие отправки сигнала объекту. Сигнал — это ме-
тод синхронной коммуникации между объектами: один объект «генерирует» сигнал другому объекту, который его «перехваты­вает», но в отличие от отправки сообщений отправитель сигнала не ожидает ответа от получателя. Обозначается половинной стрелкой. Обычно типом сигналов являются исключения, то есть ошибочный вариант развития сценария.
Диаграмма последовательностей в UML отображает вре­менной порядок сообщений, передаваемых между объектами. Основные понятия, используемые в этой диаграмме:
73
– Верхняя строка диаграммы содержит перечень объектов, участвующих, например, в каком-то прецеденте. Их можно представить в виде прямоугольников, или в виде пиктограмм.
– У каждого объекта есть линия жизни — вертикальная пунктирная линия, обозначающая период существования объек­та. (Если на линии жизни объекта нет символа «уничтожения», можно считать, что объект является долгоживущим.)
– Сообщения иллюстрируют действия, совершаемые объ­ектами по отношению друг к другу и по отношению к самим себе (горизонтальные стрелки).
– Фокус управления — это длинный узкий прямоуголь­ник, находящийся на линии жизни объекта. Прямоугольник представляет период времени, в течение которого объект кон­тролирует поток событий, например, когда объект вызывает ме­тод или создает объект (указывать его необязательно).
Пример диаграммы последовательностей приведен на рис. 2.11. Слева даны пояснения к диаграмме, которые не входят в диаграмму.
Рис. 2.11. Диаграмма последовательностей прецедента «Регистрация»
74
2.4.4. Диаграммы состояний
Используются для описания поведения сложных систем, они определяют все возможные состояния, в которых может находиться объект, а также процесс смены состояния объекта в результате некоторых событий. Эти диаграммы используются для описания поведения одного объекта в нескольких прецеден­тах и отражает его жизненный цикл (ЖЦ) в реальном или аб­страктном мире. Диаграмма состоит из множества:
– состояний объекта;
– событий, сообщающих о перемещении объекта в новое состояние;
– правил переходов, определяющих новое состояние объ­екта при возникновении тех или иных событий;
– действий, которые должны быть выполнены объектом, когда он переходит в новое состояние.
Состояние — условие или ситуация в ходе ЖЦ объекта, в течение которого он либо выполняет определенную деятель­ность, либо ожидает событие. Состояние объекта характеризует­ся определенными значениями его атрибутов. На диаграмме со­стояния обозначается скругленными прямоугольниками, кото­рые представляют состояния, через которые проходит объект в течение своего жизненного цикла. Существует также два вида псевдосостояний: начальное, в котором находится объект сразу после его создания (обозначается сплошным кружком), и конеч- ное, которое объект не может покинуть, если перешел в него (обозначается кружком, обведенным окружностью).
Переход (transition) в следующее состояние возможен либо по окончании выполнения действий, которые он выполнил в этом состоянии, либо при возникновении внешних событий (по­лучении объектом сообщения или приеме сигнала), либо при сочетании и первого, и второго.
Пребывание моделируемого объекта или системы в пер­вом состоянии может сопровождаться выполнением некоторых внутренних действий или деятельности (см. рис. 2.12).
75
Рис. 2.12. Пример состояния
При этом изменение текущего состояния объекта будет возможно либо после завершения этих действий (деятельности), либо при возникновении некоторых внешних событий. В обоих случаях говорят, что происходит переход объекта из одного со- стояния в другое. На диаграммах состояния можно на переходе указать имя события и действия, производимые объектом в от­вет на внешние события при переходе из одного состояния в другое. Переходы имеют метки, которые состоят из трех необя­зательных частей, — это события, условия, действия:
<событие> <[условие]> </действие>
На диаграммах также отображаются функции, которые выполняются объектом в определенном состоянии.
На рис. 2.13 показаны триггерный переход (для ИС охран­ной системы) и нетриггерный (для вывода отчета). Триггерный переход означает, что что-то случилось, и объект перешел в дру­гое состояние. Нетриггерный переход — выполнение всех дей­ствий, запланированных на текущее состояние.
Диаграмма состояний может выглядеть так, как представ­лена на рис. 2.14.
76
Рис. 2.13. Переходы на диаграмме состояний: а — триггерный;
б — нетриггерный
Рис. 2.14. Диаграмма состояний для объекта ― прохождение курса
2.4.5. Диаграммы деятельности
Диаграмма деятельности — это, по существу, блок-схема, которая показывает, как поток управления переходит от одной деятельности к другой.
Как правило, они применяются, чтобы промоделировать последовательные (а иногда и параллельные) шаги вычисли-
77
тельного процесса. С их помощью можно также моделировать жизнь объекта, когда он переходит из одного состояния в другое в разных точках потока управления, но они пригодны и для мо­делирования потока управления при выполнении некоторой операции. Если в диаграммах последовательностей акцент дела­ется на переходах потока управления от объекта к объекту, то диаграммы деятельности описывают переходы от одной дея­тельности к другой.
Деятельность (Activity) это некоторый относительно про­должительный этап выполнения в автомате. В конечном итоге деятельность сводится к некоторому действию. Действие может заключаться в вызове другой операции, посылке сигнала, созда­нии или уничтожении объекта либо в простом вычислении, ска­жем, значения выражения.
Диаграмма деятельности моделирует поток управления, в котором происходят различные события. Можно вычислить вы­ражение, в результате чего изменяется значение некоторого ат­рибута или возвращается некоторое значение. Можно выполнить операцию над объектом, послать ему сигнал или даже создать его или уничтожить. Все эти выполняемые атомарные вычисле­ния называются состояниями действия и изображаются прямо­угольниками с закругленными краями (рис. 2.15).
Рис. 2.15. Состояния действия
Когда действие или деятельность в некотором состоянии завершается, поток управления сразу переходит в следующее состояние действия или деятельности. Для описания этого пото­ка используются переходы, показывающие путь из одного со­стояния действия или деятельности в другое. В UML переход представляется простой линией со стрелкой.
78
Наряду с простыми последовательными переходами встречается ветвление, которое описывает различные пути вы­полнения в зависимости от значения условия (Булевского выра­жения). Точка ветвления представляется ромбом. В точку ветв­ления может входить ровно один переход, а выходить два или более. Для каждого исходящего перехода задается булевское выражение, которое вычисляется только один раз при входе в точку ветвления (см. рис. 2.16).
В диаграммах деятельности можно встретить и параллель­ные потоки, и это особенно характерно для моделирования биз­нес-процессов. Для их обозначения используется синхронизаци­онная черта жирная вертикальная или горизонтальная линия. Она может означать как разделение параллельных процессов, так и их слияние.
Рис. 2.16. Ветвление
Итак, диаграмма деятельности может быть ассоциирована с потоком управления, но в ней могут участвовать объекты. Рас­смотрим последовательность операций по обработке заказа. Словарь проблемной области включает такие классы, как «за­каз» и «счет». Некоторые виды деятельности будут порождать объекты-экземпляры этих классов (например, команда «Обрабо­тать заказ» создаст объект «заказ»), или модифицировать эти объекты (например, команда «Отгрузить заказ» может изменить состояние объекта «заказ» на «Не выполнен»).
79
Диаграммы деятельности особенно часто используются для иллюстрации бизнес-процессов. Иногда бывает полезно раз­бить состояния деятельности на диаграммах деятельности на группы, каждая из которых представляет отдел компании, отве­чающий за ту или иную работу. В UML такие группы называют­ся дорожками (Swimlanes), поскольку визуально каждая группа отделяется от соседних вертикальной чертой, как плавательные дорожки в бассейне (рис. 2.17).
Каждой дорожке присваивается уникальное имя. Никакой глубокой семантики дорожка не несет, это просто сфера ответ­ственности за часть всей работы, изображенной на диаграмме. Каждая деятельность (прямоугольник) принадлежит ровно од­ной дорожке, но переходы могут пересекать границы дорожек.
Рис. 2.17. Дорожки на диаграмме деятельностей
80
Вопросы и задания для самопроверки
1. Разрабатывается система ПО для автоматизации биб-
лиотечного каталога. Эта система будет содержать информацию о всех книгах в библиотеке и будет полезна библиотечному пер­соналу, абонентам и читателям. Система должна иметь средства просмотра каталога, средства создания запросов и средства, поз­воляющие пользователям резервировать книги, находящиеся в данный момент на руках. Определите основные опорные точки зрения, которые необходимо учесть при выявлении требований. Постройте диаграммы классов и объектов UNL, необходимые для разработки этой системы.
2. Для трех точек зрения, определенных в системе библио-
течного каталога, составьте диаграммы нескольких прецедентов.
3. Для сервисов, определенных в упражнении 1, укажите
наиболее важные нефункциональные ограничения.
4. Что является принципиально различным в функцио-
нально-структурной и объектно-ориентированной методиках?
5. Постройте диаграммы IDEF0 для библиотечной систе-
мы (упражнение 1).
6. Постройте диаграммы состояний UNL для некоторых
объектов библиотечной системы (упражнение 1).
7. В чем отличие функционально-структурного подхода к проектированию от объектно-ориентированного? Это отличие первично для описания структуры или динамики проекта?
8. Какие диаграммы UNL служат для описания структуры проекта?
9. Чем отличаются классы и объекты?
10. Какие диаграммы UNL служат для описания динамики проекта?
11. Что такое прецедент и какие моменты прецедента от- ражаются на диаграмме прецедентов?
12. Что именно описывают диаграммы состояний и дея- тельностей?
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]