Продолжение...
Я изменил диаграмму.
1) Как адекватно прописать альтернативные потоки на ввод корректных данных? В спецификации у меня на ввод имени, телефона и почты отдельные альтернативные потоки. На диаграмме их также отдельно указывать или можно просто написать проверка ввода данных?
2)
В языке есть средства, чтобы обойтись одной стрелкой.
Я так понял что пунктиром обводятся все действия, к которым есть общий альтернативный поток и отдельно этот альтернативный поток для них прописывается. Только я в visio не нашел таких объектов ((
Поэтому пока нет на диаграмме альтернативного потока "отмена заказа".
3) Может ли быть на диаграмме два окончания? Сейчас у меня одно окончание - это оформление заказа. А второе может быть как раз "отмена заказа", так как пользователь отменяет заказ путем перехода на любую страницу сайта (в корзину, в каталог, на главную и т.д.) При этом товары в корзине конечно останутся и пользователь зайдя в корзину может начать заново оформление заказа, но это уже совсем другая история =)
4) Во вложении диаграмма и ниже спецификация.
ID: 2.
ВИ: Оформление заказа.
Краткое описание: Оформление заказа на покупку товара в интернет-магазине.
Основное действующее лицо: Клиент.
Второстепенные действующие лица: нет.
Предусловия:
В корзине клиента присутствуют товары.
Постусловия:
1. Система автоматизации торговли получила заказ.
2. Клиент зарегистрирован в системе.
3. Система отправила клиенту письмо с информацией о его заказе.
Основной поток:
1. ВИ начинается, когда клиент входит в виртуальную корзину.
2. Система отображает содержимое виртуальной корзины клиента и стоимость.
3. Если клиент выбирает опцию «Удалить товар».
3.1. Система удаляет отмеченные товары из корзины.
3.2. Система пересчитывает стоимость содержимого корзины.
4. Клиент выбирает опцию «Оформить заказ»
5. Система отображает форму оформления заказа.
6. Если клиент авторизирован в системе.
6.1. Система заполняет поля с контактными данными клиента из БД.
7. Если клиент не авторизирован.
7.2. Клиент осуществляет ввод необходимых контактных данных.
8. Клиент вводит адрес доставки и выбирает способ доставки.
9. Клиент подтверждает оформление заказа.
10. Система отправляет заказ на исполнение.
Альтернативные потоки:
10.1. Клиент ввел имя короче 2-х символов.
10.1.1. Система сообщает пользователю, что необходимо ввести имя не короче 2-х символов.
10.2. Клиент ввел не корректный e-mail.
10.2.1. Система сообщает пользователю, что адрес электронной почты должен содержать символ “@”.
10.3. Клиент ввел уже зарегистрированный e-mail.
10.3.1. Система сообщает клиенту, что пользователь с таким e-mail уже зарегистрирован в системе, и предлагает пройти процедуру авторизации.
10.4. Клиент ввел не корректный номер телефона.
10.4.1. Система сообщает пользователю, что необходимо ввести номер телефона по маске ввода.
10.5. Возврат к пункту 6.
10.6 Клиент отменяет заказ.
10.6.1. Происходит переход на страницу, выбранную клиентом.