14
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

#はじめに
 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」を検索します。
    pkg01.png

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

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

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

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

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

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が記述出来ています。
  pkg06.png

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

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

 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)

#参考元

 

14
11
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?