LR 6 - stankin/design-part-2 GitHub Wiki
Лабораторная №6. Описание алгоритма ✋ в формате UML (Sequence) ✋
1. Идентификатор прецедента
Лабораторная №6
2. Название прецедента
Разработка UML Sequence
3. Контекст
Дисциплина "Проектирование информационных систем"
4. Участники (actors) и цели (goals)
Участник | Категория | Цель (goal) |
---|---|---|
Студент | Основной | Освоить методику проектирования взаимодействия объектов |
Куратор | Внешний | Стимулировать освоение методики |
Лектор | Внешний | Сократить количество ошибок |
Репозиторий | Инструмент | Предоставить место размещения |
PlantUML | Инструмент | Предоставить средства генерации диаграмм |
5. Предусловия (pre-conditions)
- Определен процесс для детализации в Use Case
- Определены участники UML-диаграммы
- Определен сценарий основного потока выполнения процесса
Практическое применение теоретических знаний лабораторной работы №3 осеннего семестра
6. Постусловия (post-conditions)
-
Описанные процессы и потоки данных (main flow)
-
Диаграмма UML Sequence
7. Основной поток (main flow)
Необходимо определить взаимодействие между объектами и расположить их в хронологическом порядке.
Участник | Действие (activity) | Ожидаемый результат |
---|---|---|
Студент | Определяет инициатора, результат | Инициатор должен попасть в левую часть диаграммы |
Студент | Определяет средства взаимодействия с пользователем | Средства находятся правее пользователя |
Студент | Определяет сервер | К серверу приходят запросы пользователя |
Студент | Определяет БД | С БД взаимодействуют потоки данных сервера |
8. Исключения (exceptions)
Условие (риск) | Последствия | Реакция |
---|---|---|
Закончилось отведенное время | Недоделанная работа | Доделать работу дома |
Выбран слишком большой сценарий | Диаграмма слишком громоздкая | Разбить сценарий на два |
Выбран слишком малый сценарий | на диаграмме один инициатор действий и одна пара запрос-ответ от программных средств | Переделать сценарий на больший |
В сценарии нет действий для заявленных ролей | На диаграмму не попали некоторые роли | Добавлять действия для ролей |
В сценарии нет линии жизни | Отсутствие линий жизни на диаграмме не дает возможности оценить периоды занятости действующих лиц | Добавить линии жизни для определения продолжительности непрерывной занятости действующих лиц |
9. Альтернативы (alternates)
Что может повлиять на путь перехода от предусловий к постусловиям?
- замена на UML Activity
Участник | Действие (activity) | Ожидаемый результат |
---|---|---|
Студент | Завалить экзамен | Прийти на пересдачу экзамена |
10. Временные параметры
Задать частотно временные характеристики, включая нормативное время (продолжительность) однократного выполнения сценария
-
Триггер (событие, стартующее прецедент): начало занятия по расписанию
-
Номинальная частота повторения прецедента: 1 раз в семестр * число студентов (60)
-
Продолжительность прецедента: 4 ак.часа = 3 нормочаса
Пример UML Sequencе
Рассмотрим пример диаграммы последовательности:
-
Описываемые процессы и потоки данных: Передача информации о заказе между клиентом и менеджером.
-
Обратите внимание на линии жизни! Используйте следующий синтаксис:
activate - Активирован, появляется линия жизни
deactivate - Дезактивирован
- :heavy_exclamation_mark: Если диаграмма получается слишком громоздкой, используйте перенос строк - \n
Не забывайте - на каждое действие должен быть результат. Действия должны идти в хронологическом порядке.