
- •1. Знакомство с прецедентами
- •Что такое прецеденты
- •Зачем нужны прецеденты
- •Прецедент Покупка лимонада
- •Дополнительные прецеденты
- •Включение прецедента
- •Расширение прецедента
- •Анализ прецедента
- •2. Использование диаграмм прецедентов
- •Представление модели прецедента
- •Модель автомата по продаже лимонада
- •Отслеживание действий в сценариях
- •3. Визуализация взаимосвязей прецедентов
- •Включение
- •Расширение
- •Обобщение
- •Группировка
- •4. Роль диаграмм прецедентов в процессе анализа
- •5. Пример использования модели прецедентов
- •Изучение предметной области
- •Работа с пользователями
- •Описание прецедентов
- •Уточнение деталей
- •6. Резюме
- •Вопросы и ответы
- •Задание
Отслеживание действий в сценариях
Каждый прецедент представляет собой набор сценариев, а каждый сценарий является последовательностью шагов. Нужно отметить, что эти шаги не отражаются на диаграмме. Их также нет и в комментариях, связанных с прецедентами. Хотя в UML и не запрещается отображать дополнительную информацию, при создании диаграмм нужно добиваться доступности и ясности, а комментарии иногда только мешают. Как же отследить шаги выполнения сценария и где разместить пояснения по этому поводу?
Диаграмма прецедентов обычно представляет собой лишь часть документации, к которой обращаются клиент и разработчики системы. Каждая диаграмма должна размещаться на отдельной странице. Сценарий прецедента тоже должен располагаться на отдельной странице и содержать следующую информацию.
• Исполнитель-инициатор прецедента.
• Предусловия для прецедента.
• Последовательность шагов в сценарии.
• Постусловия сценария.
• Исполнитель, получающий пользу от прецедента.
Можно также привести перечень используемых предположений (например, автоматом по продаже лимонада покупатели пользуются по очереди) и краткое, размером в одно предложение, его описание.
Ранее были описаны альтернативные сценарии для прецедента Покупка лимонада. В соответствии с этим описанием, альтернативные сценарии можно рассматривать отдельно или в качестве исключений для первого сценария прецедента. Все определяется удобством представления сценария для разработчика, заказчика и пользователей.
Для отображения шагов выполнения сценария в UML существует и другая возможность — применение диаграммы видов деятельности UML.
3. Визуализация взаимосвязей прецедентов
Выше рассмотрены два типа взаимоотношений между прецедентами. Первый, включение, позволяет повторно использовать шаги одного прецедента в другом. Второй, расширение, позволяет создавать новый прецедент путем добавления некоторых шагов в существующий прецедент.
Существуют еще два способа взаимосвязи — обобщение (generalization) и группировка (grouping). Как и в случае классов, обобщение означает наследование одного прецедента другим. Группировка — простой способ создания набора прецедентов.
Включение
Рассмотрим прецеденты Заправка автомата и Сбор денег. Они оба начинаются с разблокирования и открытия автомата и заканчиваются закрытием и блокировкой. Прецедент Проникновение внутрь включает первые два шага, а Выход наружу — два остальных. Прецеденты Заправка автомата и Сбор денег включают в себя прецеденты Проникновение внутрь и Выход наружу.
Чтобы графически отобразить включение прецедентов, используется обозначение зависимости между классами в виде соединительной пунктирной линии со стрелкой, указывающей на тот класс, от которого зависит другой. Прямо над линией вписывается стереотип — слово «включает» в двойных прямых кавычках. На рис. 4 показано отношение включения в модели прецедентов для автомата по продаже лимонада.
Нужно отметить, что включенный прецедент никогда не используется самостоятельно. Он лишь является частью включающего его прецедента.
В текстовом описании указывается последовательность шагов и отмечаются включенные прецеденты. Первый шаг прецедента Заправка автомата — это реализация включенного прецедента (Проникновение внутрь).
Рис. 4. Модель прецедентов для автомата по продаже лимонада с включением