🦒
System Analyst | Knowledge base
  • Введение
  • Soft skills
    • 📍Продукт
      • Роли в IT продукте
        • Системный аналитик (SA)
        • Бизнес-аналитик (BA)
        • SA vs BA
        • 📎Другие аналитики
      • Жизненный цикл продукта
      • Методологии разработки
        • Waterfall
        • Agile
          • Scrum
          • Kanban
      • 📎Целеполагание
        • SMART
        • Матрица Эйзенхауэра
        • RICE
        • 🔒HADI
    • 📍Требования
      • Классификация требований
        • Уровень: Бизнес
        • Уровень: Пользователь
          • Use case
          • User story
          • 📎Job story
        • Уровень: Продукт
          • Функциональные требования
          • Нефункциональные требования
      • Качества требований
      • Методы сбора требований
      • Техническое задание (ТЗ)
  • Hard skills
    • 📍Базы данных
      • Реляционные
        • Транзакции
          • 🔒CAP
        • Нормальные формы
        • SQL
          • DML
          • DDL/DCL/TCL
          • 📎Представления VIEW
        • Констрейты
        • 📎Типы данных
        • 🔒Middle+
          • Особенности работы с конкертными реляционными БД
      • Нереляционные
        • Примеры использования
        • 🔒Middle+
          • Колоночные
            • Сlickhouse
          • Ключ-значение
          • Матричные
          • Документо-ориентированные
          • Графовые
            • JanusGraph | Neo4j etc
      • Масштабирование БД
      • Оптимизация БД
        • 📎Типы индексов
        • 📎Уникальные индексы
        • 🔒Анатомия плана запроса
      • 📎Какую СУБД выбрать
      • 📎Хранение и анализ данных
        • ETL
        • DWH
          • DWH vs Data Lake vs Data Mart
        • OLAP
          • OLAP vs OLTP
        • BI-аналитика
    • 📍Интеграции
      • Форматы данных
        • JSON + JSON Schema
          • 🔒AVRO
        • JSON vs XML
      • Виды интеграций
        • Синхронное взаимодействие
          • REST
            • RESTful принципы
              • Отсутствие состояния (Авторизация)
                • 🔒OAuth / OpenID Connect
              • Кеширование
              • Единообразие интерфейса (CRUD)
                • Запрос/ответ
              • 🔒Cтепень зрелости REST API
            • Проектирование API
            • 📎Асинхронный REST
          • SOAP
            • XSD
            • WSDL
          • REST vs SOAP
        • Асинхронное взаимодействие
          • Kafka
          • RabbitMQ
          • Kafka vs RabbitMQ
          • ESB
          • gRPC
            • Правила proto-контракта
            • Protobuf vs JSON
            • Сравнительная таблица
          • Другое
          • 🔒WebSocket API
        • Sync vs Async
      • 🔒Middle+
        • Stateful vs Stateless
        • Apache Flink
        • оркестрация и хореография
    • 📍Проектирование
      • Архитектура
        • Монолит
        • Микросервисы
          • Паттерны реализации
        • Монолит vs Микросервисы
        • 🔒Middle+
          • Бессерверная
          • Сервис-ориентированная (SOA)
          • Другое
      • Нотации и диаграммы
        • UML
          • Диаграмма классов
          • Диаграмма последовательности
            • Фреймы
          • Диаграмма прецедентов (use case)
          • 🔒Middle+
            • Диаграмма деятельности/активности
            • Диаграмма состояний
        • BPMN
          • Основные элементы
        • BPMN vs UML
        • ERD
        • 📎IDEF0
      • Прототипирование
        • Figma vs Axure
      • Мониторинг
        • Логирование
        • Метрики
        • Алерты
        • 🔒Инструменты
          • Grafana
          • Prometheus
          • ELK
            • Elasticsearch
            • Logstash
            • Kibana
      • 🔐Системный дизайн
    • 📎DevOps for SA
      • Основы сетей
        • OSI
        • TCP/IP
        • HTTP
        • DNS
      • Git (VCS)
        • GitHub vs GitLab
      • Развертывание приложений
        • CI/CD
        • 🔒Middle+
          • Виртуализация/контеризация
            • ✍️Docker
            • Kubernetes
              • ✍️Openshift
      • Cloud Native
        • Сервисы облачных вычислений
        • Cloud-native app vs Traditional app
      • Командная строка
    • 📎QA for SA
      • Postman | Insomnia
      • Swagger
      • Верификация vs Валидация
      • Идентификация/Аутентификация/Авторизация
    • 📎PM for SA
      • Метрики
        • Метрики привлечения
        • Метрики вовлечённости
          • ARPU
          • LTV
          • NPV
          • ROI
          • NPS
      • Прокси метрики
      • Дерево метрик
      • Фреймворки
      • Юнит-экономика
      • Модель Кано
  • Другое
    • Литература
    • Советы по составлению резюме
    • Общие вопросы на собеседовании
    • Вопросы которые надо задать интервьюеру
  • Контакты
Powered by GitBook
On this page
  • Фрейм Alt
  • Фрейм Opt
  • Фрейм Loop
  • Фрейм Par
  • Фрейм Neg
  • Фрейм Ref
  • Фрейм SD

Was this helpful?

  1. Hard skills
  2. Проектирование
  3. Нотации и диаграммы
  4. UML
  5. Диаграмма последовательности

Фреймы

PreviousДиаграмма последовательностиNextДиаграмма прецедентов (use case)

Last updated 1 year ago

Was this helpful?

Фреймы — это структурированные блоки, которые используются для организации группы сообщений в логически связанные последовательности.

Фрейм Alt

На диаграмме последовательности фрейм alt используется для представления условного оператора, позволяющего определить две или более взаимоисключающие альтернативы выполнения действий в зависимости от условия. Он может содержать один или несколько блоков альтернатив.

Блок альтернативы представляет собой условный блок, содержащий один или несколько сообщений. Каждый блок альтернативы имеет свое условие, которое должно быть истинным для того, чтобы блок выполнился. Если условие блока не истинно, то блок пропускается.

На диаграмме фрейм alt строится с помощью ключевых слов alt, else и end и отображается в виде горизонтального прямоугольника, разделенным пунктирной линией на несколько блоков альтернатив. Код, расположенный между alt и else, описывает условие, при котором нужно выполнить определенный блок действий. Код, расположенный между else и end, описывает действия, которые нужно выполнить, если условие не выполнено.

Фрейм Opt

Фрейм opt (от «optional», на русском «необязательный») — позволяет указать, что определенные сообщения являются необязательными. Таким образом, если условие выполняется, то сообщение отправляется, а если нет, то сообщение не отправляется.

Фрейм opt используется, когда выполнение какой-то части последовательности необязательно и может быть пропущено, если не выполняется определенное условие. Например, процесс покупки товара онлайн,он может использоваться для отображения условия наличия купона на скидку. Если купон есть, то будет отправлено сообщение для применения скидки, а если нет, то этот шаг может быть пропущен.

На диаграмме он отображается как прямоугольник, содержащий условие в квадратных скобках. Если условие выполняется, то соответствующее сообщение будет отправлено, иначе он будет пропущен.

Фрейм Loop

Фрейм loop на диаграмме последовательности используется для описания повторяющегося процесса или цикла. Он указывает, что определенная последовательность действий должна быть выполнена несколько раз, пока не будет выполнено определенное условие.

Ключевое слово «loop» указывает на начало цикла, а «end loop» — на его конец. Условие, которое указывается в квадратных скобках, определяет, когда цикл должен завершиться.

Фрейм «loop» отображается в виде прямоугольника, внутри которого располагается последовательность действий, которые должны быть выполнены в рамках цикла. В верхней части прямоугольника указывается условие завершения цикла.

Фрейм Par

Фрейм par (parallel) используется на диаграммах для отображения параллельных процессов, которые происходят одновременно и независимо друг от друга. Он позволяет разделять диаграмму на несколько потоков выполнения, которые могут выполняться параллельно.

Фрейм par представляется как прямоугольник, внутри которого располагаются стрелки, отображающие процессы, выполняющиеся параллельно. Каждый из этих процессов представлен в виде своей собственной последовательности шагов и взаимодействий.

Фрейм Neg

Фрейм neg (или Negative Frame) на диаграмме используется для представления альтернативной сценарной ветки, которая не должна происходить в системе. То есть он используется для описания ошибок или невозможных сценариев.

На диаграмме фрейм neg отображается в виде прямоугольника, с диагональной чертой, разделяющей область выполнения на две части. Фрейм neg может содержать вложенные элементы, такие как сообщения, объекты, а также другие фреймы.

Фрейм Ref

На диаграмме фрейм Ref (Reference) используется для ссылки на другую диаграмму или фрагмент кода, который описывает детали процесса внутри данного фрейма. Он позволяет вынести подробную информацию на отдельную диаграмму, упрощая основную диаграмму и делая её более читабельной.

Фрейм SD

На диаграмме последовательности фрейм SD (Sequence Diagram) позволяет очертить всю диаграмму и указать ее имя. Обычно используется если на диаграмму ссылается другая диаграмма.

Источники:

📍
https://itonboard.ru/analysis/394-diagramma_posledovatelnosti_sequence_diagrams_uml/
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-sequence-diagram/
Пример фрейма alt на диаграмме последовательности
Пример фрейма opt на диаграмме последовательности
Пример фрейма loop на диаграмме последовательности
Пример фрейма par на диаграмме последовательности
Пример фрейма ref на диаграмме последовательности
Пример фрейма sd на диаграмме последовательности