Моделювання станів (State Modelling)

Моделювання станів (State Modelling) використовується для опису та аналізу різних можливих станів об'єкта в системі, того, як цей об'єкт переходить з одного стану в інший, і що може статися з об'єктом, коли він перебуває в кожному з цих станів.

Моделювання станів (State Modelling) це одна з методик BABOK v3 (розділ 10.44).

Опис Моделювання станів (State Modelling) у BABOKv3 (10.44.2)

Сутність (entity) - це об'єкт або поняття в системі. Сутність може використовуватися в декількох процесах. Життєвий цикл кожної сутності має початок і кінець.

У моделі станів (яку також іноді називають моделлю переходу станів) стан - це формальне представлення статусу. Вона використовується, коли необхідно мати точне і послідовне розуміння сутності, яка має складну поведінку і складні правила щодо цієї поведінки.

Модель станів описує

  • набір можливих станів об'єкта
  • послідовність станів, в яких може перебувати об'єкт
  • як сутність переходить з одного стану в інший,
  • події та умови, які спричиняють зміну станів об'єкта, та
  • дії, які можуть або повинні бути виконані об'єктом у кожному стані, коли він рухається через свій життєвий цикл.

У той час як модель процесу може показати всі об'єкти, які використовуються в цьому процесі або на які він впливає, модель стану показує додатковий погляд: що відбувається з одним об'єктом у всіх процесах, які впливають на нього або використовують його.

Елементи Моделювання станів (State Modelling) у BABOKv3 (10.44.3)

Стан (State)

Сутність має скінченну кількість станів протягом свого життєвого циклу, хоча вона може перебувати в більш ніж одному стані одночасно. Кожен стан описується назвою та діями, які можна виконувати, перебуваючи у цьому стані. Можуть існувати правила щодо того, які дії повинні або можуть бути виконані, і на які події вона може реагувати або викликати.

Складний стан можна розкласти на підстани.

Перехідний стан (State Transition)

Те, як об'єкт змінюється або переходить з одного стану в інший, може визначатися кроками процесу, бізнес-правилами або змістом інформації. Послідовність станів об'єкта не завжди лінійна; об'єкт може пропустити кілька станів або повернутися до попереднього стану, можливо, більше одного разу.

Перехід може бути умовним (викликаним певною подією або досягненням певної умови) або автоматичним (викликаним завершенням необхідних дій під час перебування в попередньому стані або з плином часу). Він також може бути рекурсивним, тобто виходити з одного стану і повертатися в той самий стан.

Перехід описується в термінах події, яка спричиняє перехід, умов, які визначають, чи повинен суб'єкт реагувати на цю подію, та дій, які відбуваються у зв'язку з цією подією.

Діаграма станів (State Diagram)

Діаграма станів показує життєвий цикл одного об'єкта, починаючи з моменту, коли об'єкт вперше з'являється на світ, і рухаючись через усі різні стани, в яких може перебувати об'єкт, доки він не буде викинутий і більше не буде використовуватися.

Стан на діаграмі станів зображується у вигляді прямокутника із закругленими кутами. Станів може бути будь-яка кількість. Стан може бути розбитий на підстани.

Перехід з одного стану в інший показується односпрямованою стрілкою, що вказує з початкового стану в кінцевий, необов'язково позначеною назвою події, яка спричиняє зміну стану сутності з одного стану в інший, і необов'язково умовами та діями.

Початок і кінець життєвого циклу сутності показані спеціальними символами як для початкового стану, який вказує на те, що сутність з'явилася на світ, так і для кінцевого стану, який вказує на те, що сутність ліквідована і життєвий цикл завершено.

Рисунок 10.44.1: Діаграма переходу станів

Таблиці стану (State Tables)

Таблиця станів - це двовимірна матриця, що показує стани та переходи між ними. Вона може бути використана під час виявлення та аналізу як альтернатива, попередник або доповнення до діаграми станів. Це простий спосіб розпочати роботу над моделлю станів, щоб отримати назви станів та подій від експертів предметної області.

Кожен рядок показує початковий стан, перехід і кінцевий стан. Якщо один стан може реагувати на декілька переходів, то для кожного переходу буде окремий рядок.

Стан, який відображається як кінцевий в одному рядку, може бути початковим в іншому рядку.

Міркування щодо використання Моделювання станів (State Modelling) у BABOKv3 (10.44.3)

Сильні сторони Моделювання станів (State Modelling)

  • Визначає бізнес-правила та інформаційні атрибути, які застосовуються до об'єкта, що моделюється.
  • Ідентифікує та описує дії, які застосовуються до об'єкта в різних станах об'єкта.
  • Є більш ефективним інструментом документування та комунікації, ніж звичайний текст, особливо якщо об'єкт, що описується, має більше кількох станів, переходів та умов, що визначають ці переходи.

Обмеження використання Моделювання станів (State Modelling)

  • Зазвичай використовується лише для розуміння і спілкування про інформаційні об'єкти, які сприймаються як складні; прості об'єкти можуть бути зрозумілі без витрат часу і зусиль, необхідних для побудови моделі стану.
  • Побудова моделі станів здається простою на перший погляд, але досягнення консенсусу серед малих та середніх підприємств домену щодо деталей, необхідних для моделі, може бути складним і трудомістким завданням.
  • Для побудови діаграми станів необхідний високий ступінь точності опису станів і переходів; деякі малі та середні підприємства галузі та фахівці з бізнес-аналізу відчувають дискомфорт, намагаючись описати такий рівень деталізації.