Діаграма послідовності (Sequence Diagrams)

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

Діаграма послідовності (Sequence Diagram) це одна з методик BABOK v3 (розділ 10.43)

Опис діаграми послідовності в BABOK v3 (10.42.2)

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

Діаграма послідовності (Sequence Diagrams) показує, як взаємодіють об'єкти, що використовуються у сценарії, але не те, як вони пов'язані один з одним. Діаграми послідовності також часто використовуються для того, щоб показати взаємодію компонентів інтерфейсу користувача або компонентів програмного забезпечення.

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

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

Діаграми послідовності (Sequence Diagrams) іноді називають діаграмами подій (event diagrams).

Стандартна нотація для діаграм послідовності визначена як частина специфікації Unified Modelling Language™ (UML®).

Елементи діаграми послідовностей в BABOK v3 (10.42.3)

Лінія життя (Lifeline)

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

Малюнок 10.42.1: Лінія життя

Активаційна скринька (Activation Box)

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

Малюнок 10.42.2: Коробка активації

Повідомлення (Message)

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

Назва повідомлення розміщується над лінією зі стрілкою. Існують різні типи повідомлень:

  • Синхронний виклик (Synchronous Call): передає управління об'єкту, що отримує. Відправник не може діяти, доки не отримає відповідне повідомлення.
  • Асинхронний виклик (Asynchronous Call): (також відомий як сигнал) дозволяє об'єкту продовжувати власну обробку після надсилання сигналу. Об'єкт може надсилати багато сигналів одночасно, але може приймати лише один сигнал за раз.
Малюнок 10.42.3: Повідомлення

Міркування щодо використання діаграми послідовностей в BABOK v3 (10.42.2)

Сильні сторони діаграми послідовностей

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

Обмеження використання діаграми послідовностей

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

Якщо стаття була для вас корисна підпишіться на розсилку або на мій телеграм канал.