Моделирование альтернативных потоков

У каждого прецедента есть основной поток и может быть множество альтернативных потоков. Они являются альтернативными путями в прецеденте, которые перехватывают ошибки, ответвления и прерывания основного потока. Как мы видели, спецификация прецедента включает основной поток и список имен альтернативных потоков.
Ключевым моментом является то, что альтернативные потоки часто не возвращаются в основной поток. Это происходит потому, что они обычно обрабатывают ошибки и исключения основного потока и имеют другие постусловия.
Альтернативные потоки могут быть задокументированы отдельно или добавляться в конце прецедента. Мы предпочитаем документировать их отдельно.
Как видим, у этого прецедента три альтернативных потока: InvalidEmailAddress (недействительный адрес электронной почты), InvalidPassword (недействительный пароль) и Cancel (отмена).
Обратите внимание, что для ввода альтернативных потоков в шаблон прецедента было внесено несколько изменений:
• Имя – для альтернативных потоков используется следующая схема присваивания имен:
Альтернативный поток: CreateNewCustomerAccount: InvalidEmailAddress.
Такое имя говорит о том, что это альтернативный поток InvalidEmailAddress для прецедента CreateNewCustomerAccount.
• ID – обратите внимание на применение иерархической системы нумерации для обеспечения связи альтернативного потока с основным прецедентом.
• Актеры – перечислены актеры, принимающие участие в альтернативном потоке.
• Предусловия и постусловия – альтернативные потоки могут иметь собственный набор предусловий и постусловий, отличный от набора прецедента. Если альтернативный поток возвращается в основной поток, его постусловия добавляются к постусловиям основного потока.
• Альтернативный поток – шаги альтернативного потока.
• У альтернативного потока не должно быть альтернативных потоков, иначе описание прецедента становится слишком запутанным. Читать далее…

Запись опубликована в рубрике Компьютеры и интернет с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code