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

структура

  1. Що таке діаграма стану UML?
  2. Для чого потрібна діаграма стану UML?
  3. Діаграма стану: структура та компоненти
    1. держава
    2. Перехід: як ви змінюєте стан?
      1. Зовнішній перехід: зміна стану
      2. Внутрішній перехід: незмінний стан
    3. Події: чому відбувається зміна держави?
    4. Псевдодержави
  4. Складні діаграми
  5. Створіть діаграму стану - Приклад простої діаграми

Що таке діаграма стану UML?

Діаграма стану UML (її також називають діаграмою стану, діаграмою переходу стану або діаграмою автомата) показує стани, через які проходить кінцевий автомат, тобто модель поведінки, що складається з дій і станів. Або переходить в інші стани. Діаграма забезпечує початковий і кінцевий стан, а також принаймні один проміжний стан для кожного об’єкта. Таким чином, діаграма стану дає змогу представити повний життєвий цикл будь-якої системи, підсистеми або компонентів або їх класів, таких як кавоварка, зчитувач електронних книг або технологічний компонент транспортного засобу.

Діаграма стану - це один з 14 типів діаграм, визначених в Уніфікованій мові моделювання (UML) або Уніфікованій мові моделювання та в Мові системних моделей (SysML). Це сходить до концепції, запропонованої Девідом Харелом у 1987 р. У його статті Statecharts: Візуальний формалізм для складних систем. Іншими типами діаграм UML є, наприклад, діаграма використання або діаграма компонентів.

Для чого потрібна діаграма стану UML?

Як ми вже згадували, метою діаграм стану є опис поведінки системи з максимальною точністю. Серед іншого це графічне зображення процесів повинні відповісти на такі запитання:

  • Що відбувається, коли об’єкт знаходиться в конкретному стані?
  • В якому стані повинен перебувати об’єкт, щоб змінити поведінку?
  • Які тригери?
  • Якими властивостями повинен володіти об’єкт, щоб мати можливість змінити стан?

Тому діаграми стану UML використовуються для оптимізації будь-якого процесу розробки, де корисно візуалізувати стану об’єкта та умови переходу з одного стану в інший. Вони зазвичай використовуються, наприклад, у дизайн вбудованої системи (Англійською мовою, вбудовані системи), де автоматизовані сигнали та фонові процеси повинні бути ідеально скоординованими. У цьому випадку діаграма стану допомагає розробникам візуалізувати всі функції контролю та регулювання Найважливіше за єдиною схемою.

функція зупинки водопровідного крана що є майже у всіх пральні машини може служити прикладом для уявлення діаграми стану UML. У цьому контексті ця функція буде представлена ​​як окрема система. У цьому випадку діаграма показує, в якому стані та за яких умов функція активована.

У різних галузях промисловості, таких як транспорт або технології охорони здоров’я, використовуються діаграми стану пояснити складні процеси. Вони також використовуються в розробці вимог та в управлінні продуктами та проектами.

Діаграма стану: структура та компоненти

Хоча діаграми стану UML базуються лише на кількох елементах, їх розумне поєднання дозволяє легко представляти складні послідовності станів. Які є основні компоненти і що таке базова структура діаграми стану?

держава

Держави є головною складовою діаграми стану. Кожен реальне стан він завжди відображається у прямокутнику із закругленим кутом. Наприклад, двері можуть мати два значення стану:

Два можливі стану двері: вона може бути відкритою або закритою, але не одночасно обома.

Аналогічно, діаграма стану дверей вказує на те, що завжди повинна бути виконана така умова:

  • Об'єкт завжди знаходиться в одному з двох станів: двері відкриті або закриті, але ніколи не відкриваються і не закриваються одночасно.

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

Перехід: як ви змінюєте стан?

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

Наприклад, на діаграмі стану ліфта для дії "закрити двері ліфта" можна вказати таку умову: що ліфт був відкритий принаймні за п'ять секунд до того, як стан зміниться з "відкритого" на "закритий".

Зовнішній перехід: зміна стану

Перехід у наступному прикладі вважається зовнішнім і призводить до стан зміни об’єкта (вхід/вихід).

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

Коли будильник активований, об’єкт змінює стан: якщо сигнал активувався мить тому, зараз він деактивується.

Внутрішній перехід: незмінний стан

Внутрішній перехід викликає не зміну стану, а a діяльність.

Приклад: Дещо системи бухгалтерського обліку вони повторно надсилають рахунки-фактури без автоматичної оплати клієнту (зовнішній перехід). Якщо що вони посилають є нагадування що рахунок-фактура очікує на оплату, це являє собою внутрішній перехід: тобто, незважаючи на те, що є дія (“надіслати нагадування”), рахунок-фактура залишається в тому ж стані (“не оплачений”) до подальшого повідомлення.

Події: чому відбувається зміна держави?

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

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

Подійна активація повинна відповідати наступним трьом терміни:

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

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

Стан дверей «закритий». Щоб увійти в цей стан, спочатку має відбутися подія «закрити двері» (вхід). Коли стан виходить, відбувається подія «відкрити двері» (вихід). Під час штату "двері (назавжди) закриті" (робити).

Події також можуть бути вказані стрілкою переходу:

На простих діаграмах стану події відзначаються на стрілці переходу.

Псевдодержави

У діаграмах стану UML, якщо якийсь елемент управління впливає на роботу автомата стану, але не має присвоєного значення, його називають псевдо станом. В UML 2, поточній версії Єдиної мови моделювання, визначено такі десять псевдо-станів:

Складні діаграми

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

  • Складений стан: ця структура дозволяє визначити Стан в глибині.

Приклад: двері можуть бути у двох станах: "відкриті" або "закриті". Підстанції "закритого" стану можуть бути "заблоковані" та "розблоковані".

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

Приклад: функція пробудження смартфона є однією з багатьох функцій, які можуть бути пов’язані з іншими станами. Якщо різні сигнали тривоги запрограмовані на різні години та дні тижня, весь процес буде складатися з підстанцій, які працюють незалежно.

Створіть діаграму стану - Приклад простої діаграми

Діаграми стану можна застосовувати до об'єктів усіх видів. У наступному прикладі ми покажемо вам, як включити кожен елемент у схему рахунка-фактури. Це найважливіші елементи діаграми стану UML:

Найважливіші елементи діаграми стану UML.

Якщо ми об'єднаємо елементи для нашого прикладу, проста діаграма може виглядати так:

У цьому прикладі діаграма стану UML представляє внутрішній перехід.

На початковому етапі рахунок-фактура знаходиться у псевдо-стані “письмовий”(Написано). У найкращих випадках перехід до статусу "платний" (платно). Цей перехід можна описати більш докладно, вказавши подію "надіслати".

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

Діаграми діяльності: робочий процес представлений графічно

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

6 інструментів UML на будь-який випадок

Шукаєте найкращий інструмент діаграми UML? Вам потрібен інструмент для швидкого створення ескізів та мозкового штурму разом зі своєю командою? Інструменти UML пропонують не лише шаблони діаграм для стандарту UML. Незалежно від того, чи шукаєте ви безкоштовний додаток для ефективного спілкування або комплексне рішення для вашої компанії: ми покажемо вам, на що звернути увагу, і представляємо 6.

Діаграми класів: створюйте структурні діаграми за допомогою UML

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

Діаграми послідовності: показують взаємодію з UML

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