NB-IoT网络总体架构 by PlantUML

1. 准备

基于Sublime的PlantUML开发环境搭好后,准备小试一下。

  1. 安装Sublime
  2. 安装PlantUML插件
  3. 安装Graphviz组件
    参考这里

2. 组件图

  1. 代码@startuml [NB-IoT UE] as UE [E-UTRAN] as eNodeB [SGW] [PGW] [MME] [HSS] [SCEF] [SCS/AS] @enduml
  2. UML图在这里插入图片描述

3. 接口图

  1. 代码@startuml () "LTE-Uu" as Uu () "S1-AP" as S1AP () "S1-U" as S1U () "S11" () "S6a" () "S6t" () "S5/S8" as S5S8 () "SGi" () "T6" () "API" @enduml
  2. UML图在这里插入图片描述

4. 组件+接口图

  1. 代码@startuml 'Components [NB-IoT UE] as UE [E-UTRAN] as eNodeB [MME] [SGW] [PGW] [HSS] [SCEF] [SCS/AS] as SCS 'Interfaces () "LTE-Uu" as Uu () "S1-AP" as S1AP () "S1-U" as S1U () "S11" () "S6a" () "S6t" () "S5/S8" as S5S8 () "SGi" () "T6" () "API" 'Architecture UE - Uu Uu - eNodeB eNodeB - S1U S1U - SGW eNodeB - S1AP S1AP - MME MME - S6a S6a - HSS MME - T6 T6 - SCEF SGW - S11 S11 - MME SGW - S5S8 S5S8 - PGW PGW - SGi SGi - SCS HSS - S6t S6t - SCEF SCEF - API API - SCS @enduml
  2. UML图在这里插入图片描述
  3. 问题:所有的网元和接口完全平铺,看不出来原来的网络架构。在这里插入图片描述

5. 组件+位置图

  1. 增加位置:PlantUML中使用的是相对位置,不是绝对位置。参考这里
  2. 代码@startuml 'Components [NB-IoT UE] as UE [E-UTRAN] as eNodeB [MME] [SGW] [PGW] [HSS] [SCEF] [SCS/AS] as SCS 'Architecture SGW -up- MME SGW -right- PGW eNodeB -left- UE eNodeB -up- MME SGW -left- eNodeB MME -up- HSS MME -right- SCEF HSS -down- SCEF SCEF -right- SCS PGW -up- SCS @enduml
  3. UML图在这里插入图片描述

6. 增加接口

  1. 代码@startuml 'Components [NB-IoT UE] as UE [E-UTRAN] as eNodeB [MME] [SGW] [PGW] [HSS] [SCEF] [SCS/AS] as SCS 'Interfaces () "LTE-Uu" as Uu () "S1-AP" as S1AP () "S1-U" as S1U () "S11" () "S6a" () "S6t" () "S5/S8" as S5S8 () "SGi" () "T6" () "API" 'Architecture UE -right- Uu Uu -right- eNodeB eNodeB -right- S1AP S1AP -right- MME eNodeB -right- S1U S1U -right- SGW MME -up- S6a S6a -up- HSS MME -down- S11 S11 -down- SGW MME -right- T6 T6 -right- SCEF HSS -down- S6t S6t -down- SCEF SGW -right- S5S8 S5S8 -right- PGW SCEF -right- API API -right- SCS PGW -up- SGi SGi -up- SCS @enduml
  2. UML图在这里插入图片描述

7. 后记

相比Visio,使用PlantUML整体的视觉效果要差一些;但是其代码编写的特性,决定了PlantUML可以和其他的开发工具结合,根据代码自动生成UML图,自动化维护开发文档,提高开发效率。

猜你喜欢

转载自blog.csdn.net/Pinto_ShadowKnight/article/details/86071374