Программистам часто приходится рисовать диаграммы последовательности и блок-схемы в своей работе, особенно при написании документов. Обычно для рисования мы выбираем такие инструменты, как ProcessOn, но иногда может быть более эффективно рисовать с помощью кода, в конце концов, никто не знаком с кодом лучше, чем программисты. Сегодня я рекомендую инструмент для рисования PlantUML, который можно использовать с IDEA, чтобы сделать рисование более эффективным!
Адрес фактического центра электронной коммерции SpringBoot (50k+star):GitHub.com/macro-positive/…
Введение в PlantUML
PlantUML — это инструмент для рисования диаграмм UML с открытым исходным кодом, который поддерживает создание графики с помощью текста, что очень эффективно в использовании. Он может поддерживать рисование диаграмм последовательности, диаграмм классов, диаграмм объектов, диаграмм деятельности, карт разума и другой графики.
Давайте воспользуемся PlantUML, чтобы нарисовать блок-схему, которую можно просмотреть в режиме реального времени, и скорость очень высока!
Установить
Несомненно, удобнее всего использовать PlantUML, установив плагин в IDEA.Далее установим плагин PlantUML в IDEA.
- Первый поиск на рынке плагинов IDEA
PlantUML
, установите этот плагин №1;
- Иногда, если сеть плохая, она может не загрузиться, вы можете нажать
Plguin homepage
кнопку для доступа к домашней странице плагина, а затем выберите соответствующую версию для загрузки сжатого пакета;
- После успешной загрузки выберите локальную установку.
использовать
Затем мы используем подключаемый модуль PlantUML для рисования диаграмм последовательности, диаграмм вариантов использования, диаграмм классов, диаграмм деятельности и ментальных карт, чтобы проверить, действительно ли PlantUML прост в использовании!
Временная диаграмма
Sequence Diagram — это диаграмма взаимодействия UML. Он показывает динамическое сотрудничество между несколькими объектами, описывая хронологический порядок, в котором сообщения передаются между ними. Когда мы изучаем Oauth 2, первым шагом является понимание процесса Oauth 2. В настоящее время полезно иметь диаграмму последовательности. Ниже мы используем PlantUML, чтобы нарисовать диаграмму последовательности выпуска токенов с использованием шаблона кода авторизации в Oauth2.
- Во-первых, нам нужно создать новый файл PlantUML и выбрать диаграмму последовательности;
- Мы можем сгенерировать диаграмму последовательности Oauth2 с помощью синтаксиса, предоставленного PlantUML.Синтаксис по-прежнему очень прост.Подробности следующие:
@startuml
title Oauth2令牌颁发之授权码模式
actor User as user
participant "User Agent" as userAgent
participant "Client" as client
participant "Auth Login" as login
participant "Auth Server" as server
autonumber
user->userAgent:访问客户端
activate userAgent
userAgent->login:重定向到授权页面+clientId+redirectUrl
activate login
login->server:用户名+密码+clientId+redirectUrl
activate server
server-->login:返回授权码
login-->userAgent:重定向到redirectUrl+授权码code
deactivate login
userAgent->client:使用授权码code换取令牌
activate client
client->server:授权码code+clientId+clientSecret
server-->client:颁发访问令牌accessToken+refreshToken
deactivate server
client-->userAgent:返回访问和刷新令牌
deactivate client
userAgent--> user:令牌颁发完成
deactivate userAgent
@enduml
- Код сгенерирует следующую диаграмму последовательности, достаточно ли круто нарисовать диаграмму последовательности, написав код?
- Ключевые описания этой временной диаграммы следующие:
-
title
Может использоваться для указания заголовка диаграммы UML; - пройти через
actor
Участники, которые могут претендовать на гуманоида; - пройти через
participant
Могут быть объявлены общие типы акторов; - пройти через
as
Участникам можно давать псевдонимы; - пройти через
->
Отношения между участниками можно нарисовать, можно использовать пунктирные стрелки-->
; - После каждого отношения участника вы можете использовать
:
Добавьте описание отношения; - пройти через
autonumber
Мы можем автоматически добавлять серийные номера к отношениям участников; - пройти через
activate
иdeactivate
Можно указать линию жизни участника.
-
- Здесь есть и более волшебная функция: когда мы щелкаем правой кнопкой мыши по диаграмме последовательности, мы можем сгенерировать ссылку для онлайн-доступа;
- Перейдя прямо по этой ссылке, вы можете получить доступ к диаграммам последовательности UML онлайн и редактировать их, разве это не круто!
диаграмма вариантов использования
Диаграмма вариантов использования — это простейшее представление взаимодействия пользователя с системой, показывающее взаимосвязь между пользователем и связанными с ним вариантами использования. С помощью диаграммы вариантов использования мы можем легко выразить взаимосвязь между различными ролями и вариантами использования в системе.Затем мы используем PlantUML для рисования диаграммы вариантов использования.
- Во-первых, нам нужно создать новый файл PlantUML и выбрать диаграмму вариантов использования, которая используется для представления отношений между клиентами, поварами, гурманами и различными вариантами использования в ресторанах.Подробности следующие:
@startuml
left to right direction
actor Guest as g
package Professional {
actor Chief as c
actor "Food Critic" as fc
}
package Restaurant {
usecase "Eat Food" as uc1
usecase "Pay For Food" as uc2
usecase "Drink" as uc3
usecase "Review" as uc4
}
g--> uc1
g--> uc2
g--> uc3
fc--> uc4
@enduml
- Код сгенерирует следующую диаграмму вариантов использования;
- Ключевые описания этой диаграммы вариантов использования следующие:
-
left to right direction
Указывает, что диаграмма вариантов использования рисуется в порядке слева направо, по умолчанию — сверху вниз; - пройти через
package
Символы могут быть сгруппированы и варианты использования; - пройти через
actor
Пользователи могут быть определены; - пройти через
usecase
Варианты использования могут быть определены; - Можно использовать взаимосвязь между ролями и вариантами использования.
-->
Представлять.
-
Диаграмма классов
Диаграмма классов может представлять статическую структуру класса, такую как свойства и методы, содержащиеся в классе, и структуру наследования класса. Затем мы используем PlantUML для рисования диаграммы классов.
- Во-первых, нам нужно создать новый файл PlantUML и выбрать диаграмму классов, которая используется для представления структуры классов Person, Student и Teacher.Подробности следующие:
@startuml
class Person {
# String name
# Integer age
+ void move()
+ void say()
}
class Student {
- String studentNo
+ void study()
}
class Teacher {
- String teacherNo
+ void teach()
}
Person <|-- Student
Person <|-- Teacher
@enduml
- Код сгенерирует следующую диаграмму классов, посмотрите на код и диаграмму классов, вы обнаружите, что это очень похоже на то, как мы определяем классы с помощью кода;
- Ключевые описания этого типа диаграммы следующие:
- пройти через
class
класс может быть определен; - Видимость можно определить, добавив символы слева от свойств и методов,
-
выражатьprivate
,#
выражатьprotected
,+
выражатьpublic
; - пройти через
<|--
Указывает отношение наследования между классами.
- пройти через
диаграмма деятельности
Диаграмма активности — это UML-диаграмма, которую мы используем чаще, и она часто используется для представления бизнес-процессов, например, с ее помощью можно представить процесс заказа в электронной коммерции. Затем мы используем PlantUML для рисования диаграммы деятельности.
- Во-первых, нам нужно создать новый файл PlantUML и выбрать диаграмму деятельности.Здесь используется процесс создания подтверждения заказа в корзине в проекте торгового центра.Подробности следующие:
@startuml
title 生成确认单流程
start
:获取购物车信息并计算好优惠;
:从ums_member_receive_address表中\n获取会员收货地址列表;
:获取该会员所有优惠券信息;
switch(根据use_type判断每个优惠券是否可用)
case(0)
:全场通用;
if (判断所有商品总金额是否\n满足使用起点金额) then (否)
:得到用户不可用优惠券列表;
stop
endif
case(-1)
:指定分类;
if (判断指定分类商品总金额\n是否满足使用起点金额) then (否)
:得到用户不可用优惠券列表;
stop
endif
case(-2)
:判断指定商品总金额是否满足使用起点金额;
if (判断指定分类商品总金额\n是否满足使用起点金额) then (否)
:得到用户不可用优惠券列表;
stop
endif
endswitch
:得到用户可用优惠券列表;
:获取用户积分;
:获取积分使用规则;
:计算总金额,活动优惠,应付金额;
stop
@enduml
- Код сгенерирует следующую диаграмму действий, в которой мы можем либо использовать
if else
, и вы можете использоватьswitch
, вы даже можете использоватьwhile循环
, функция все еще довольно мощная;
- Ключевые описания этой диаграммы деятельности следующие:
- пройти через
start
иstop
Может указывать на начало и конец процесса; - пройти через
:
и;
Добавьте текст в середине, чтобы определить узел процесса действия; - пройти через
if
+then
+endif
Дайте определение условному суждению; - пройти через
switch
+case
+endswitch
Определите решение о переключении.
- пройти через
карта разума
Интеллект-карта — это эффективный графический инструмент для выражения дивергентного мышления, простой, но очень эффективный и практичный инструмент мышления. Я использовал его во многих местах в своем учебном пособии по торговому центру. Давайте использовать PlantUML для рисования карты разума.
- Во-первых, нам нужно создать новый файл PlantUML и выбрать интеллект-карту.Здесь используется представление схемы в маршруте обучения в торговом центре.Подробности следующие:
@startmindmap
+[#17ADF1] mall学习路线
++[#lightgreen] 推荐资料
++[#lightblue] 后端技术栈
+++_ 项目框架
+++_ 数据存储
+++_ 运维部署
+++_ 其他
++[#orange] 搭建项目骨架
++[#1DBAAF] 项目部署
+++_ Windows下的部署
+++_ Linux下使用Docker部署
+++_ Linux下使用Docker Compose部署
+++_ Linux下使用Jenkins自动化部署
--[#1DBAAF] 电商业务
---_ 权限管理模块
---_ 商品模块
---_ 订单模块
---_ 营销模块
--[#orange] 技术要点
--[#lightblue] 前端技术栈
--[#lightgreen] 进阶微服务
---_ Spring Cloud技术栈
---_ 项目部署
---_ 技术要点
--[#yellow] 开发工具
--[#lightgrey] 扩展学习
@endmindmap
- Код сгенерирует следующую карту разума.На самом деле, используя PlantUML, мы можем сами определить стиль графика.Здесь я настроил цвет;
- Ключевые моменты этой ментальной карты следующие:
- пройти через
+
и-
Он может представлять узлы на карте разума и имеет направленность; - пройти через
[#颜色]
Вы можете определить цвет границы узла; - пройти через
_
Границу узла можно удалить;
- пройти через
Суммировать
Хотя существует множество графических инструментов, которые могут рисовать диаграммы UML, для программистов может быть более прямым и эффективным использовать код для рисования, особенно с IDEA. Если вы хотите использовать код для рисования, попробуйте PlantUML.
использованная литература
Официальная документация:plantuml.com/zh/
Эта статьяGitHubGitHub.com/macro-positive/…Записано, приветствую всех на Star!