Как показать условие "если" в описании варианта использования?
Когда мы пишем таблицу прецедентов * (идентификатор, описание, субъект, предусловие, постусловие, базовый поток, альтернативный поток)*, в основном потоке мы показываем простые шаги взаимодействия между субъектами и системой. Интересно, как показать условие в базовом потоке варианта использования? AFAIK, основной поток содержит простые простые шаги один за другим для варианта использования. Но я не могу показать условия без псевдокода? Разрешены ли псевдокоды в основном потоке описания прецедентов UML?
Каковы будут шаги для последовательности ниже?
Для приведенной выше диаграммы должна быть таблица ниже?
-------------------------------------------------------------
| ID | UC01 |
-------------------------------------------------------------
| Description | do something |
-------------------------------------------------------------
| Precondition | -- |
-------------------------------------------------------------
| Postcondition | -- |
-------------------------------------------------------------
| Basic flow | 1. actor requests system to do something |
| | 2. if X = true |
| | 2.1 system does step 1 |
| | else |
| | 2.3 system does step 2 |
| | 3. system return results to actor |
-------------------------------------------------------------
| Alternate flow| -- |
-------------------------------------------------------------
2 ответа
- Используйте альтернативные и исключительные потоки для документирования такого поведения.
do something
а такжеstep 1
явно разных уровней, лучше поместить их в отдельные варианты использования.Actor
не лучшее название для актерской роли, скажем, этоUser
,- Я должен был изменить
Step 1
вCalculation 1
чтобы избежать путаницы.
пример
------------------------------------------------------------------------
| ID | UC01 |
------------------------------------------------------------------------
| Level | User goal, black box |
------------------------------------------------------------------------
| Basic flow | 1. User requests Robot System to do something. |
| | 2. Robot System performs UC02. |
| | 3. Robot System return results to User. |
------------------------------------------------------------------------
------------------------------------------------------------------------
| ID | UC02 |
------------------------------------------------------------------------
| Level | SubFunction, white box |
------------------------------------------------------------------------
| Basic flow | 1. Robot System validates that X is true. |
| | 2. Robot System does Calculation 1. |
------------------------------------------------------------------------
| Alternate flow 1 | Trigger: Validation fails at step 1, X is false. |
| | 2a. Robot System does Calculation 2. |
------------------------------------------------------------------------