2020/05/06

PlantUMLで配置図作成

背景


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

記事の目的


PlantUMLで配置図を作成する

配置図


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

配置図とは

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

配置図の描き方

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

まとめ


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

参考文献


変更履歴


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

0 件のコメント:

コメントを投稿

MQTTの導入

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