Slide 1

Slide 1 text

のモデルから 情報を引き出して 活用しよう! 第2回astah勉強会関西 2018年7月7日(土) 2018年9月8日(土) @tokudiro

Slide 2

Slide 2 text

自己紹介 兒玉 督司(こだま とくじ) 1996年より民生機器、携帯電話、生産機 器など、色々なソフトウェア開発に従事。 2002年頃よりアジャイル開発に興味を持 ち、「バグがないプログラムの作り方」 を共著。 現在は、組込&オブジェクト指向のソフ トウェア開発のコンサルタントとして、 レガシーコード改善に奮闘中。

Slide 3

Slide 3 text

みなさん、 astah APIって ご存知ですか?

Slide 4

Slide 4 text

みなさん、 astah APIを 使ってますか?

Slide 5

Slide 5 text

astah APIとは? http://astah.change-vision.com/ja/astah-api.html

Slide 6

Slide 6 text

操作をしなくても、プログラムから 読み出し・書き込み ができます! astah API 読み出し 書き込み プログラム は読み込みのみ。 は両方。 と 詳しくは ⇒ http://astah.change-vision.com/ja/astah-api.html#api-comparison

Slide 7

Slide 7 text

スクリプトエディタプラグイン  astahAPIへのアクセスは、プラグインを開発しなくても、 スクリプトを作成することで簡単に使用できます。

Slide 8

Slide 8 text

例1:クラス一覧を出力する Class1 Class2 Class3 Class3 Class1 Class2

Slide 9

Slide 9 text

例2:思考した結果を出力する(1)  マインドマップの内容をテキストに出力する トピック8 トピック7 トピック6 トピック5 トピック4 トピック3 トピック2 トピック1 トピック0 マインドマップ0 https://ja.astahblog.com/sample-scripts/#printtopic * マインドマップ0 * トピック0 * トピック1 * トピック2 * トピック3 * トピック4 * トピック5 * トピック6 * トピック7 * トピック8

Slide 10

Slide 10 text

例2:思考した結果を出力する(2)  UMLのノートをテキストに出力する メモ2 メモ1 メモ3 メモ4 メモ1 メモ2 メモ3 メモ4

Slide 11

Slide 11 text

ビューに書込 → モデルに反映 モデル ビュー ここに 書き込む ことで こちらに 反映 される

Slide 12

Slide 12 text

astah API astahのモデル情報を絞り込む 絞り込んだ 情報 スクリプト 別視点の ビュー

Slide 13

Slide 13 text

例3:レビューコメントを抜き出す  モデルレビューの実施でノートにコメントを記録し、 そのコメントを一覧として出力する

Slide 14

Slide 14 text

情報が多いときは、  検索したり  フィルタを通したり ってしますよね?

Slide 15

Slide 15 text

テキストのフィルタ処理  sort  uniq  grep など メモ2 メモ1 メモ3 ゴミ メモ1 メモ4 メモ1 メモ2 メモ3 メモ4 cat memo.txt | sort | uniq | grep –v “ゴミ” > new_memo.txt 注) Windowsにuniqコマンドはないため、 https://kunst1080.hatenablog.com/entry/2015/12/21/105036 を 利用させてもらうことを想定 cat memo.txt | sort | uniq | find /V “ゴミ” > new_memo.txt UNIX or Mac Windows

Slide 16

Slide 16 text

『UNIXという考え方』の定理 スモール・イズ・ビューティフル 一つのプログラムには一つのことをうまくやらせる できるだけ早く試作を作成する 効率より移植性 数値データはASCIIフラットファイルに保存する ソフトウェアの梃子を有効に利用する シェルスクリプトを使うことで梃子の効果と移植性を高める 過度の対話的インタフェースを避ける すべてのプログラムをフィルタにする 定理1 定理2 定理3 定理4 定理5 定理6 定理7 定理8 定理9 参考 : https://www.amazon.co.jp/dp/4274064069

Slide 17

Slide 17 text

与えられているPCの開発環境 与えられている開発環境は、いろいろ制約多し。 Windows7 Microsoft Office Astah Professional とはいえ、

Slide 18

Slide 18 text

与えられているPCの開発環境 与えられている開発環境でも JavaScriptならいけそう! Windows7  WSHで、JScriptをサポート Microsoft Office  JScriptからActiveXObjectを使えばExcelもアクセス可能 Astah Professional  JREを一緒にインストールしている しかしながら、

Slide 19

Slide 19 text

astahを起動せずに、スクリプトを実行したい!  Javaに付属のjjsを使用するという方法。  チェンジビジョンさんのastahサポートへ問い合わせたところ、 動作保証対象外ですが教えていただきました!  jjsは、JavaScriptエンジンのNashornをコマンドラインから実行 できます  詳しくは → https://docs.oracle.com/javase/jp/8/docs/technotes/tools/unix/jjs.html

Slide 20

Slide 20 text

用意するファイル astah APIを使用するJavaScript と 次の2ファイル を用意します。

Slide 21

Slide 21 text

astahを起動せずに、スクリプトを実行 print_Classes.bat jjs.exe -cp astah-api.jar;astah-community.jar openProject.ajs list_Classes.ajs closeProject.ajs -- %1 openProject.ajs list_Classes.ajs closeProject.ajs 開けて 閉める xxxx.ajs ⇔ ここを交換すれば、 いろいろできる! 詳しくは、 https://qiita.com/tokudiro/items/6524451e86a8b0e818bd もしくは、 「astahAPI jjs」で検索

Slide 22

Slide 22 text

astahAPI利用のコツ  astahAPI JavaDoc  http://members.change-vision.com/javadoc/astah- api/7_0_0/api/ja/doc/javadoc/index.html  XML出力