Создание профессиональной диаграммы вариантов использования системы управления складом с помощью PlantUML и VPasCode

При проектировании сложных корпоративных приложений, таких как система управления складом (WMS), визуализация границ системы, акторов и вариантов использования имеет решающее значение. Как эксперт-преподаватель по техническим вопросам в компании Visual Paradigm, я часто получаю вопросы о том, как создавать чистые, готовые к презентации архитектурные диаграммы, не увязая в громоздких инструментах перетаскивания. В этом мастер-классе я подробно расскажу о своём подходе к созданию комплексной диаграммы вариантов использования WMS с помощью PlantUML внутри бесплатного редактора PlantUML, VPasCode.

Вот предварительный просмотр финальной диаграммы, которую мы создадим вместе:

Final Use Case Diagram for Warehouse Management System

Финальная диаграмма вариантов использования для системы управления складом

1. Настройка глобальных стилей и базовой структуры

Каждый раз, когда я начинаю новый проект диаграммы как код, моя первая задача — установить последовательную визуальную иерархию и эстетику. Стандартные диаграммы часто выглядят загромождёнными, поэтому я предпочитаю заранее переопределять стили по умолчанию, чтобы обеспечить чистые линии, читаемую типографику и структурированные цветовые палитры.

Я начинаю с настройки ортогональных соединителей (linetype ortho) для того, чтобы все соединительные линии были чистыми, горизонтальными или вертикальными — избегая беспорядочных диагональных линий, пересекающих текст. Затем я настраиваю пользовательскую цветовую кодировку для акторов и вариантов использования, чтобы сразу различать основных акторов, вторичные сущности и внутренние границы системы.

@startuml
skinparam linetype ortho
skinparam defaultFontSize 14
skinparam defaultFontColor #333333
skinparam vpDiagramType UseCaseDiagram
skinparam actor {
  BackgroundColor #E8F5E9
}
skinparam usecase {
  BackgroundColor #BBDEFB
  BorderColor #1976D2
  ArrowColor #1976D2
}

left to right direction

2. Определение акторов системы и границ системы

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

  • Менеджер склада:Основной актор, отвечающий за ежедневные операции, уровни запасов и перемещения товаров.
  • Администратор:Основной актор, управляющий общими подсчётами запасов, заказами на закупку и системными отчётами.
  • Поставщик:Вторичный актор, инициирующий входящие поставки и оприходование товаров с внешней стороны.

Я помещаю все внутренние функциональные возможности системы внутрь прямоугольникаконтейнера, представляющего Систему управления складом. Это чётко отделяет внутренние варианты использования от внешних акторов.

actor "Менеджер складаn(Основной)" as manager
actor "Администраторn(Основной)" as admin
actor "Поставщикn(Вторичный)" as supplier

rectangle "Система управления складом" {
  usecase "Получение входящих товаров" as UC1
  usecase "Обработка заказа на закупку" as UC2
  usecase "Регистрация входящей поставки" as UC3
  usecase "Оприходование товаров" as UC4
  usecase "Формирование заказов на отгрузку" as UC5
  usecase "Обработка заказа на продажу" as UC6
  usecase "Списание товаров" as UC7
  usecase "Управление уровнями запасов" as UC8
  usecase "Проведение инвентаризации" as UC9
  usecase "Генерация отчётов" as UC10
}

3. Отображение связей акторов и цветовая кодировка

Чтобы диаграмма была интуитивно понятной и легко просматриваемой, я отображаю связи между акторами и их соответствующими вариантами использования. Я применяю цветные ссылки, соответствующие каждому типу актора: нейтральный чёрный для менеджеров склада, багряный для администраторов и золотисто-жёлтый для поставщиков. Эта техника значительно снижает когнитивную нагрузку при анализе прав доступа к системе рецензентами.


менеджер -[#black]- UC1
менеджер -[#black]- UC5
менеджер -[#black]- UC10
менеджер -[#black]- UC8
администратор -[#crimson]- UC2
администратор -[#crimson]- UC6
администратор -[#crimson]- UC9
UC3 -[#goldenrod]- поставщик
UC4 -[#goldenrod]- поставщик

4. Установление связей между случаями использования (включает и расширяет)

Финальный шаг — определение того, как внутренние случаи использования связаны друг с другом с помощью стрелок зависимостей. Я использую<<include>> связи для отображения обязательных подпроцессов (например, получение входящих товаров, требующих регистрации отгрузки и регистрации поступления на склад), а также<<extend>> связи для опционального или условного поведения, такого как управление уровнем запасов во время отсутствия товара.

UC1 ...> UC2 : <>
UC1 ...> UC3 : <>
UC1 ...> UC4 : <>
UC2 ...> UC6 : <>
UC5 ...> UC6 : <>
UC8 <... UC7 : <>
@enduml

Почему стоит использовать VPasCode для вашего рабочего процесса создания диаграмм?

A screenshot of Visual Paradigm VPasCode showing the creation of a Use Case Diagram

Создание этой диаграммы внутриVPasCodeпредоставляет вам несколько явных преимуществ по сравнению с традиционными настольными инструментами для рисования:

  • Рендеринг в реальном времени:По мере ввода или изменения вашего кода PlantUML визуальный предварительный просмотр обновляется мгновенно.
  • Автоматическое определение формата:Вам никогда не нужно вручную указывать движок синтаксиса — VPasCode автоматически определяет PlantUML, Mermaid и другие форматы в реальном времени.
  • Бесплатные варианты экспорта:Скачивайте готовые архитектурные диаграммы в формате высококачественных PNG или масштабируемых SVG, либо мгновенно делитесь ими с командой через защищённые URL-адреса.

Готовы создавать свои собственные диаграммы за секунды?

Испытайте самый простой способ написания, рендеринга и обмена техническими диаграммами с помощью кода.

Попробуйте бесплатный онлайн-редактор VPasCode

Прокрутить вверх