Диаграмма последовательности (sequencediagrams)
Диаграмма последовательности отражает поток событий, происходящих в рамках варианта использования.
Все действующие лица показаны в верхней части диаграммы. Стрелки соответствуют сообщениям, передаваемым между действующим лицом и объектом или между объектами для выполнения требуемых функций.
На диаграмме последовательности объект изображается в виде прямоугольника, от которого вниз проведена пунктирная вертикальная линия. Эта линия называется линией жизни (lifeline) объекта. Она представляет собой фрагмент жизненного цикла объекта в процессе взаимодействия.
Каждое сообщение представляется в виде стрелки между линиями жизни двух объектов. Сообщения появляются в том порядке, как они показаны на странице сверху вниз. Каждое сообщение помечается как минимум именем сообщения. При желании можно добавить также аргументы и некоторую управляющую информацию. Можно показать самоделегирование (self-delegation) – сообщение, которое объект посылает самому себе, при этом стрелка сообщения указывает на ту же самую линию жизни.
Рисунок 1 - Пример диаграммы последовательности
Порядок выполнения работы:
Постановка задачи.Согласовав основные бизнес процессы с директором, прогаммист приступил к построению модели бизнес- процессов, что бы ответить на вопрос - «как это должно делаться в системе». Для начала он выбрал наиболее важный Вариант использования – «Ввод нового заказа» и построил для него диаграммы взаимодействия.
Диаграммы взаимодействия включают в себя два типа диаграмм-Последовательности и Кооперативную.
1. Создание диаграммы Последовательности.В правом окне программы«ModelExplorer» на вкладке «Model» щелкнув правой кнопкой мыши, выберите действие «AddDiagram» и выберите тип диаграммы «SequenceDiagram».
2. Назовите новую диаграмму «Ввод заказа» во вкладке «Properties» в поле «Name».
3. Дважды щелкнув на этой диаграмме, откройте ее.
4.Добавление на диаграмму действующего лица и объектов. Перетащите действующее лицо «Продавец» из окна «ModelExplorer» из диаграммы использования на диаграмму «Ввод заказа»
5. Выберите объект «Lifeline» и поместите его на диаграмму.
6. Назовите объект Выбор варианта заказа (рис.1).
7. Повторив шаги 5 и 6, поместите на диаграмму объекты:
- Форма деталей заказа;
- Заказ №1234.
Рисунок 1 – Добавление объекта «Выбор варианта заказа»
8. Добавление сообщений на диаграмму.В окне«Toolbox»нажмите кнопку«Message» (Сообщение объекта).
9. Проведите мышью от линии жизни действующего лица «Продавец» к линии жизни объекта «Выбор варианта заказа».
10. Введите его имя Создать новый заказ.
11. Повторив шаги 8 и 9, поместите на диаграмму сообщения:
- Открыть форму -междуВыбор Варианта Заказа и Форма деталей Заказа;
- Ввести номер заказа, заказчика и число заказываемых предметов -междуПродавеци Форма Деталей Заказа;
- Сохранить заказ -междуПродавеци Форма Деталей Заказа;
- Создать пустой заказ -междуФорма Деталей Заказа и Заказ N1234;
- Ввести номер заказа, заказчика и число заказываемых предметов -междуФорма Деталей Заказа и Заказ N1234;
- Сохранить заказ -междуФорма Деталей Заказа и Заказ N1234.
Завершен первый этап работы. Готовая диаграмма Последовательности представлена на рис. 2.
Рисунок 2– Диаграмма последовательности без управляющих элементов
Теперь нужно позаботиться об управляющих объектах и о взаимодействии с базой данных. Как видно из диаграммы, объект Форма Деталей Заказа имеет множество ответственностей, с которыми лучше всего мог бы справиться управляющий объект. Кроме того, новый заказ должен сохранять себя в базе данных сам. Вероятно, эту обязанность лучше было бы переложить на другой объект.
12.Добавление на диаграмму дополнительных объектов.Поместите новыйобъект между объектами Форма Деталей Заказа и Заказ №1234. Введите имя объекта «Управляющий заказами».
13. Справа отЗаказ №1234 расположите другой новый объект под названием «Управляющий транзакциями».
14. Назначение ответственностей объектам.Выделите сообщение №5«Создать пустой заказ».
15. Нажав правой кнопкой мыши на сообщении, удалите его, применив действие «DeletefromModel».
16. Повторите шаги 14 и 15 для удаления двух последних сообщений:
- Вести номер заказа, заказчика и число заказываемых предметов;
- Сохранить заказ.
17. Поместите на диаграмму новое сообщение «Сохранить заказ», расположив его под сообщением 4 междуФорма деталей заказа и Управляющий заказами.
18. Повторите шаги 16 – 17, добавив сообщения с шестого по девятое и назвав их:
Создать новый заказ между–Управляющий заказами и Заказ №1234; Ввести номер заказа, заказчика и число заказываемых предметов –между Управляющий заказами и Заказ №1234; Сохранить заказ –между Управляющий заказами и Управляющий транзакциями; Информация о заказе –между Управляющий транзакциями и Заказ №1234.
19. В окне «Toolbox» нажмите кнопку SelfMessage (Сообщение себе).
20. Щелкните на линии жизни объекта Управляющий транзакциями ниже сообщения 9, добавив туда рефлексивное сообщение, назвав его «Сохранитьинформацию о заказе в базе данных».
21. Соотнесение объектов с классами.
1. Щелкните правой кнопкой мыши наобъекте Выбор варианта заказа.
2. В открывшемся меню выберите пункт OpenSpecification (Открыть спецификацию).
3. В раскрывающемся списке классов выберите пункт <New> (Создать). Появится окно спецификации классов.
4. В поле Name введите Выбор заказа.
5. Щелкните на кнопке ОК. Вы вернетесь в окно спецификации объекта.
6. В списке классов выберите класс Выбор Заказа.
7. Щелкните на кнопке ОК, чтобы вернуться к диаграмме. Теперь объект называется Выбор варианта заказа:Выбор Заказа
8. Для соотнесения остальных объектов с классами повторите шаги с 1 по 7:
- Класс Детали заказа соотнесите с объектом Форма деталей заказа
- Класс Упр_заказами — с объектом Управляющий заказами
- Класс Заказ — с объектом ЗаказN1234
- Класс Упр_транзакциями — с объектом Управляющий транзакциями
Дата добавления: 2021-07-22; просмотров: 695;