UMLをソースで管理 (Mac + ATOM + PlantUML)


はじめに

 PlantUMLは、DSLをコーディングすることでUMLが描ける、Java製のツールです。
 メリットとしては、git などのバージョン管理システムと組み合わせることで、
 ソースとして管理できる為、再利用・差分情報の抽出が容易であることだと考えています。

 Mac、ATOM、PlantUML(ATOMのPackage)の組み合わせで、
 インストールから、簡単なクラス図を出力するまでを記載します。
 ※ マシンのOSのバージョンは、macOS High Sierra 10.13.4です。
 ※ ATOM+mermaidも試しましたが、クラス図はPlantUMLの方が見やすかった為、
  ATOM+PlantUMLの環境を選択しました。

前提条件

 以下の2つを事前に準備する必要があります。
 ・JDK
  PlanuUMLはJavaで動くので、Javaの実行環境がインストールされている必要があります。
  JDKがインストールされていない場合は、参考情報(JDK インストール)を参照して下さい。
 ・Graphviz
  Graphvizがインストールされていないとシーケンス図以外のダイアグラムが正常に表示されません。
  Graphvizがインストールされていない場合は、参考情報(Graphviz インストール)を参照して下さい。

1. ATOM

1-1. ダウンロード

  ATOM を以下のサイトからダウンロードします。
  https://atom.io/

1-2. インストール

  (1) ダウンロードしたファイル「atom-mac.zip」を実行します。
  (2) ATOMが展開されるので、Applicationsにドラッグ&ドロップします。

2. PlantUML

2-1. インストール

  ATOMのInstall Packageとして、PlantUMLをインストールします。
  具体的には、「plantuml-viewer」「language-plantuml」をインストールします。

Package Note
plantuml-viewer PlantUMLで記述したテキストをUMLの図変換します
language-plantuml PlantUMLで記述したテキストをシンタックスハイライト表示します

   (1) メニューのAtom → Preferencesを選択します。
   (2) Installを開き、「PlantUML」を検索します。
    

   (3) plantuml-viewerのInstallボタンを選択します。
    

   (4) language-plantumlのInstallボタンを選択します。
    

2-2. 設定

  plantuml-viewerの設定を行います。
   (1) Settingsボタンを選択します。
    

  (2) 各項目の設定を行います。
   例では、Charsetのみ「UTF-8」に変更しています。
   

   参考に各項目の説明を以下に示します。

Item Note
Charset 変換前のテキストのエンコーディングを指定します
Config File 変換時に読み込まれる、共通の処理を記載しておくPlantUMLファイルのパスを指定します
Grammars 対象となるファイルの拡張子を指定します
Graphviz Dot Executable インストールしたGraphivizのパスを指定します。
本手順では設定は不要でした。
Live Update チェックを外すと、図の自動更新を無効にできます
Open in Split Pane チェックを外すと、図のプレビューを分割ペインではなく、通常のタブに表示するようになります

3. UMLの作成

 UMLを作成する準備が整いました。
 クラス図を例にATOM+PlantUMLで作成します。

3-1. クラス図のUMLを記載します。

@startuml

interface Aggregate {
  iterator()
}
interface Iterator {
  hasNext()
  next()
}
class BookShelf {
  books
  last
  getBookAt()
  appendBook()
  getLength()
  iterator()
}
class BookShelfIterator {
  bookShelf
  index
  hasNext()
  next()
}
class Book {
  name
  getName()
}

Aggregate -ri-> Iterator
BookShelf .up.|> Aggregate
BookShelfIterator .up.|> Iterator
BookShelfIterator o-le-> BookShelf
BookShelf o-down-|> Book

@enduml

3-2. previewを開きます。

  メニューのPackages → PlantUML Viewer → Toggle Viewを選択します。
  以下のように表示されていれば、正常にUMLが記述出来ています。
  

参考情報(JDK インストール)

 1. ダウンロード
  (1) 以下のURLにアクセスし、Java SE 8のJDKのDOWNLOADボタンを押下します。
   http://www.oracle.com/technetwork/java/javase/downloads/index.html
    

  (2) Mac OS X x64のインストーラーを選択します。
   

 2. インストール
  ダウンロードしたファイル「jdk-8u171-macosx-x64.dmg」をダブルクリックします。
  特別な選択はなく、そのまま進めて行くとインストールできます。

 3. インストールの確認
  ターミナルで以下のコマンドを実行して下さい。
  /usr/libexec/java_home -V
 
  以下のように表示されれば、インストールが正常にできています。
   $ /usr/libexec/java_home -V
   Matching Java Virtual Machines (1):
    1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
   /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

参考情報(Graphviz インストール)

 1. インストール
  ターミナルで以下のコマンドを実行して下さい。
  brew install graphviz
  ※1 以下のエラーが発生した場合、App StoreでXcodeをインストールもしくはアップデートして下さい。 
   Error: Your Xcode (8.0) is too outdated.
   Please update to Xcode 9.3 (or delete it).
   Xcode can be updated from the App Store.
  ※2 以下のエラーが発生した場合、ターミナルで「sudo xcodebuild -license accept」を実行して下さい。
   Error: You have not agreed to the Xcode license. Please resolve this by running:
    sudo xcodebuild -license accept

 2. インストールの確認
  ターミナルで以下のコマンドを実行して下さい。 
  dot -V

  以下のように表示されていれば正常にインストールされています。
  $ dot -V
  dot - graphviz version 2.40.1 (20161225.0304)

参考元