Просмотр исходного кода

начал спецификацию UC

Евгений Колесников 5 лет назад
Родитель
Сommit
5c2e353146
2 измененных файлов с 77 добавлено и 0 удалено
  1. 72 0
      articles/5_1_1_10_uml_uc_spec.md
  2. 5 0
      readme.md

+ 72 - 0
articles/5_1_1_10_uml_uc_spec.md

@@ -0,0 +1,72 @@
+# UML. Спецификация вариантов использования (прецедентов)
+
+Дальнейшее развитие модели поведения системы предполагает описание прецедентов. Типичное описание содержит следующие разделы:
+
+* Имя прецедента
+* Идентификатор прецедента (встречается не всегда)
+* Краткое описание;
+* Участвующие субъекты (акторы, иногда разделяются на основных и второстепенных);
+* Предусловия, необходимые для инициирования прецедента;
+* Основной поток событий;
+* Альтернативный поток событий;
+* Постусловия, определяющие состояние системы, по достижении которого прецедент завершается.
+
+**Основной поток** описывает «идеальный» ход развития событий в прецеденте.
+
+**Альтернативные потоки** могут перехватывать ошибки, ответвления и прерывания основного потока.
+
+Основной поток *всегда начинается с действий главного актера*, направленных на инициацию прецедента.
+
+## Запись основного потока
+
+* Удачным способом начала потока можно считать следующую форму записи:
+
+    `Прецедент начинается, когда <актер> <действие>.`
+
+    Например, `Прецедент начинается, когда покупатель выбирает товар`
+
+* Каждый этап потока прецедента должен быть выражен в следующей форме:
+
+    `<номер> <ктолибо> <совершает некоторое действие>.`
+
+* Альтернативные потоки могут быть заменены с помощью ключевого слова **Если**
+
+    ```
+    1. Прецедент начинается, когда Покупатель выбирает товар
+    2. Если Покупатель выбирает товар у которого есть дополнительные товары
+        2.1 Менеджер предлагает дополнительные товары
+    3. Если Покупатель выбирает товар которого нет в наличии
+        3.1 Менеджер предлагает оформить заказ
+    ```
+
+* Альтернативные потоки могут не возвращаться в основной поток после
+выполнения, т.к. обрабатывают ошибки, исключительные ситуации и т.п.
+
+* Для алтернативных потоков оформляется отдельная спецификация. Структура аналогична основной, только идентификатор следующего уровня (например, если у основного потока ID 2., то у альтернативного 2.1)
+
+В итоге должна получиться таблица (правая колонка, слева описание):
+
+&nbsp; | &nbsp;
+--|------ 
+*Имя прецедента* | Прецедент: Выбор товара
+*Идентификатор прецедента* | ID 1
+*Краткое описание* | Краткое описание<br/>Покупатель выбирает товар в магазине автосервиса
+*Акторы, вовлеченные в прецедент* | Главные акторы:<br/>Покупатель<br/>Второстепенные акторы:<br/>Менеджер
+*Состояние системы на начало прецедента* | Предусловия:<br/>нет
+*Фактические этапы прецедента* | Основной поток:<br/>1. Прецедент начинается, когда Покупатель выбирает товар<br/>2. Если Покупатель выбирает товар у которого есть дополнительные товары<br/>&nbsp;&nbsp;&nbsp;&nbsp;2.1 Менеджер предлагает дополнительные товары<br/> 3. Если Покупатель выбирает товар которого нет в наличии<br/>&nbsp;&nbsp;&nbsp;&nbsp;3.1 Менеджер предлагает оформить заказ
+*Альтернативные потоки* | Альтернативные потоки:<br/>2.1 Менеджер предлагает дополнительные товары<br/>3.1 Менеджер предлагает оформить заказ
+*Состояние системы после окончания прецедента* | Постусловия<br/>1. Покупатель выбрал товар<br/>2. Покупатель отказался от покупки 
+
+
+&nbsp; | &nbsp;
+-|------ 
+ | Прецедент: Оформление заказа
+ | ID 2
+ | Краткое описание<br/>Покупатель оформляет заказ на товар, которого нет в наличии
+ | Главные акторы:<br/>Покупатель<br/>Второстепенные акторы:<br/>Менеджер
+ | Предусловия:<br/>Покупатель выбрал товар
+ | Основной поток:<br/>1. Прецедент начинается, когда Покупатель оформляет заказ<br/>2. Менеджер принимает заказ
+ | Альтернативные потоки:<br/>нет
+ | Постусловия:<br/>1. Покупатель оставил заказ
+
+ 

+ 5 - 0
readme.md

@@ -68,6 +68,11 @@
 
 11. [UML. Диаграмма вариантов использования (прецедентов, use case)](articles/5_1_1_10_uml_use_case.md)
 
+[2+0 => 30+0]: _
+
+12. [UML. Спецификация вариантов использования (прецедентов)](articles/5_1_1_10_uml_uc_spec.md)
+
+
 11. [Особенности информационного, программного и технического обеспечения различных видов информационных систем. Экспертные системы. Системы реального времени](articles/5_1_1_11.md)
 
 [22+0]: _