Діаграма послідовності (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)
Лінія життя представляє тривалість життя об'єкта впродовж сценарію, що моделюється на діаграмі послідовності. У прикладі нижче показано порядок об'єктів. Лінія життя намальована у вигляді пунктирної лінії, яка вертикально спускається від кожного об'єкта до нижньої частини сторінки.
![](https://www.maxzosim.com/content/images/2023/06/image-15.png)
Активаційна скринька (Activation Box)
Поле активації представляє період, протягом якого виконується операція. Виклик на активацію представлений стрілкою з суцільним наконечником, що веде до об'єкта активації. Лінія життя може бути завершена символом X.
![](https://www.maxzosim.com/content/images/2023/06/image-16.png)
Повідомлення (Message)
Повідомлення - це взаємодія між двома об'єктами. Повідомлення відображається у вигляді стрілки, що йде від поля активації об'єкта, який надсилає повідомлення, до поля активації об'єкта, який отримує повідомлення.
Назва повідомлення розміщується над лінією зі стрілкою. Існують різні типи повідомлень:
- Синхронний виклик (Synchronous Call): передає управління об'єкту, що отримує. Відправник не може діяти, доки не отримає відповідне повідомлення.
- Асинхронний виклик (Asynchronous Call): (також відомий як сигнал) дозволяє об'єкту продовжувати власну обробку після надсилання сигналу. Об'єкт може надсилати багато сигналів одночасно, але може приймати лише один сигнал за раз.
![](https://www.maxzosim.com/content/images/2023/06/image-17.png)
Міркування щодо використання діаграми послідовностей в BABOK v3 (10.42.2)
Сильні сторони діаграми послідовностей
- Показує взаємодію між об'єктами системи в хронологічному порядку, в якому відбувається взаємодія.
- Показує взаємодію між об'єктами у візуальній формі, що дозволяє відносно легко перевірити логіку зацікавленим сторонам.
- Варіанти використання можуть бути деталізовані в одну або декілька діаграм послідовності для того, щоб забезпечити додаткову деталізацію і більш глибоке розуміння бізнес-процесу.
Обмеження використання діаграми послідовностей
- Можна витратити час і зусилля на створення повного набору діаграм послідовності для кожного варіанту використання системи, який може бути непотрібним.
- Історично використовувалися для моделювання системних потоків і можуть вважатися занадто технічними за інших обставин.
Якщо стаття була для вас корисна підпишіться на розсилку або на мій телеграм канал.