Алексею Ширшову
Алексей, хочу представить Вам небольшой пример из книги Дж. Рамбо и М. Блаха "Объектно-ориентиованнное моделирование и проектирование с UML" (в русском переводе: UML2.0 Объектно-ориентированное моделирование и разработка 2 издание)
Представлен пример про банкомат.
В ходе анализа выделены такие внешние действующие лица:
Клиент - берет деньги работает со счетом
Банк - хранит деньги, предоставляет деньги, работае со счетом
Консорциум - организует взаимодействие различных банокв и сети банкоматов
Далее предложены такие варианты использования банкомата:
Начать сеанс - Банкомат проверяет личность пользователя и предлагает ему список счетов и действий
Опросить счет - система предосталяет общие сведения о счетет: баланс, дата последней операции и т.п.
Выполнить операцию - банокмат выполняет действие влияющее на баланс счета: снятие денег, вклад, перевод. Банкомат гарантирует, что все операции будут записаны в базу данных
Передать данные - банкомат использует возможности консорциума для взаимодействия с компьютерами конкретного банка.
Т.е. вот некоторое представление о действиях системы и круге внешних действующих лиц и том функционале, который они ожидают от банкомата.
Модель вариантов использования - фактически дает картину о границах системы(банкомата) показывает нам, какие внешние интерфейсы важны и нужны.
При этом уровень демонстрации такой модели может быть совершенно разным.
Первый уровень ориентирован на неподготовленного читателя, того же клиента, представителя банка или консорциума. Модель представляется наиболее наглядно и просто: минимум структуризации, максимум простоты
Второй уровень уже ориентирован на команду разработчиков. Он уже сложнее более формализован, более информативен и структурирован.
Возьмем в качестве примера ВИ Обработать операцию:
1. Банкомат выдает меню счетов и команд
2. Клиент выбирает снятие денег со счета
3. Банкомат запрашивает требуемую сумму
4. Клиент вводит 10000
5. Банкомат проверяет сумму на превышение лимита выдачи наличных денег
6. Банкомат связывается с консорциумом и банком для проверки наличия достаточной суммы на счете
7. Банкомат выдает деньги и просит клиента забрать их
8. Клиент берет наличные
9. Банкомат выдает меню счетов и команд
Получаем 9 шагов, причем 9-ый явно лишний. Далее у вас есть желание детализировать этот ВИ сделать его более информативным (но заметьте и более ограничивающим последующие рассуждения). Для этого обычно строят диаграмму последовательности - смотри прицеп:
Как мы видим там шагов прибавилось, сценарий стал более подробный и более определенный