2020/05/06

PlantUMLで配置図作成

背景


システムの全体設計で配置図を作成する必要があり、Gitで差分管理が可能な配置図作成ツールを調査した。

記事の目的


PlantUMLで配置図を作成する

配置図


配置図について記載する。

配置図とは

配置図は、システムの物理的側面(ハードウェア構成や通信経路等)を記述したものである。

配置図の描き方

  • 要素
    1. @startuml
    2. actor Actor
    3. card Card
    4. cloud Cloud
    5. component Component
    6. database Database
    7. file File
    8. folder Folder
    9. frame Frame
    10. interface Interface
    11. node Node
    12. package Package
    13. storage Strage
    14. @enduml
    システムの構成要素を表す。
    • 利用者(Actor)
      利用者を表す。
    • カード(Card)
      認証カードや社員証などのカードを表す。
    • クラウド(Cloud)
      AWSやAzureなどのクラウドサービスを表す。
    • コンポーネント(Component)
      クラスやオブジェクトなどのソフトウェアの最小単位
    • データベース(Database)
      SQLやMongoなどのデータベースを表す。
    • ファイル(File)
      データの最小単位。
    • フォルダ(Folder)
      ファイルをまとめた構造体を表す。
    • フレーム(Frame)
      特定の構造、規則に基づいて作成されたソフトウェア群を表す。
    • インターフェース(Interface)
      ネットワークインターフェースなど、複数要素の接続点を表す。
    • ノード(Node)
      PCなどのハードウェアの最小単位
    • パッケージ(Package)
      特定の目的のために作成されたソフトウェア群を表す。
    • ストレージ(Strage)
      NAS、blob-strageなどの記憶媒体を表す。
  • 入れ子表現
    1. @startuml
    2. node "Controle PC" {
    3. frame "ROS" {
    4. component "Controle node"
    5. }
    6. }
    7. @enduml
    システムの親子関係を表すことができる。
  • 接続
    1. @startuml
    2. node "Control PC" as p{
    3. frame "ROS" {
    4. component "Control node" as c
    5. component "Communication node" as com
    6. component "rviz" as r
    7. }
    8. interface "/dev/usb_ctr" as i1
    9. interface "Full size HDMI" as i2
    10. interface "LTE dongle" as i3
    11. }
    12. node "Robot arm" as a
    13. node "Monitor" as m
    14. cloud "Cloud vpn network" {
    15. interface "10.0.0.2" as n1
    16. }
    17. /'ROS network'/
    18. com --> c
    19. c --> r
    20. /'Control network'/
    21. c -> i1
    22. i1 --> a: USB
    23. /'Monitor network'/
    24. r -left-> i2
    25. i2 -down-> m: HDMI
    26. /'Communication network'/
    27. com <-left-> i3
    28. i3 <-up-> n1: LTE
    29. @enduml
    システムの接続関係を表すことができる。矢印はデータの流れる向きを表す。ノードの中身を抽象化し、省略する場合もある。

まとめ


  • PlantUMLでコンポーネント図を作成する方法を調査、記載した

参考文献


変更履歴


  1. 2020/05/06: 新規作成

0 件のコメント:

コメントを投稿

MQTTの導入

背景 IoTデバイスの接続環境構築のため、MQTT(mosquitto)の導入を行った。 記事の目的 MQTT(mosquitto)をUbuntuに導入する mosquitto ここではmosquittoについて記載する。 MQTT MQTT(Message Qu...