More Related Content
Similar to astah関西勉強会 (20)
More from Shintaro Hosoai (11)
astah関西勉強会
- 4. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
なぜモデリングするのか?
抽象
複雑な情報を取捨して簡単に
伝達
設計意図を伝える、合意する
分析
複数の観点から見て、抜け漏れを防ぐ
記録
開発文書の構造化
入力
モデルからコードへ
- 5. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
Unified Modeling Language
ソフトウェアモデリングの共通言語
観点と抽象度のテンプレート
すべての図を使う必要はない
- 6. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
図の種類
6
Unified Modeling Language 2.5 p683
Figure A.5 The taxonomy of structure and behavior diagrams
http://www.omg.org/spec/UML/2.5/
- 7. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
図の種類
7
Unified Modeling Language 2.5 p683
Figure A.5 The taxonomy of structure and behavior diagrams
図
構造図 振舞い図
プロファ
イル図
クラス図
コンポー
ネント図
オブジェ
クト図
配置図
パッケー
ジ図
合成
構造図
アクティ
ビティ図
ユース
ケース図
ステート
マシン図
シーケン
ス図
コミュニケー
ション図
インタラク
ション図
タイミング
図
インタラク
ション図
- 8. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
図の種類
8
構造図 振舞い図
プロファ
イル図
クラス図
コンポー
ネント図
オブジェ
クト図
配置図
パッケー
ジ図
複合
構造図
アクティビ
ティ図
ユース
ケース図
シーケン
ス図
コミュニケー
ション図
インタラク
ション図
タイミング
図
ステート
マシン図
※ざっくりした分類なので,厳密には異なる部分もあります
要求とステーク
ホルダを分析する
システムを塊で分割する
大きなふるまい
を定義する
要素間のふるまい
を定義する
システムを詳細に分割する
要素内のふるまい
を定義する
抽象度 高
抽象度 低
- 9. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
astah* エディション
クラス図
ユースケース図 シーケンス図アクティビティ図
ステートマシン図
コミュニケーション図 配置図 合成構造図
オブジェクト図 パッケージ図
ブロック定義図
内部ブロック図
パラメトリック図要求図
要求テーブル
ER図 フローチャートCRUD データフロー図プロセス図
コンポーネント図
マインドマップ 状態遷移表
- 10. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
astah Webページ
リニューアルしました!
http://astah.change-vision.com/ja/
チュートリアルなども充実しています。ぜひご確認ください!
- 12. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
参照プロジェクト
複数人で大きな図を共有したいとき
担当箇所が明確に分かれているとき
あくまで参照のみ。参照している要素は編集できま
せん。
PRO
- 13. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
プロジェクトの比較・マージ
二つのプロジェクトの比較
モデル要素の比較
図の比較
マージ
他方の変更を取り込む
基本的にどちらかを基準として、
コンフリクトがあった場合は、
基準側の要素を優先する
PRO
UMLPRO
- 14. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
XMLエクスポート・インポート
XMLプロジェクトをインポート・エクスポートできます
他社のUMLツールによってXMLの実装はまちまちで、
うまく読み込めないときもあります
他社ツールにインポート・エクスポートする際は、要
素のみで図は移動できません
astahのプロジェクトファイルはバイナリなので、バー
ジョン管理とあまり相性がよくありません
XML形式でバージョン管理すると、コンフリクト時に
多少ましになります
PRO
- 15. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
astah API
プログラムからastahを制御するための仕組み
Javaから使う
直接.astaファイルを操作する
astah Plugin
astah自体に機能を追加する
Script Plugin
astah上でスクリプトを実行する
astah APIできること
モデル操作
ビューエレメント操作
エディタ操作 など
PRO
UML 参照のみ
http://astah.change-vision.com/ja/plugins.html#create-plugins
- 16. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
astah Plugin
追加機能をモジュール化して、astahに追加できる機
構
Java + Maven環境で作成し、astah APIを使ってモデ
ル等の操作を行う
作成したプラグインはjarの形で配布可能
- 18. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
状態遷移表
ステートマシン図と状態遷移表を連携させるプラグ
インです
デモ
http://astah.change-vision.com/ja/feature/state-transition-table.html
- 19. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
Script Plugin
astah上で手軽にastah APIをスクリプトで試せるプラ
グインです
デモ
XMLエクスポートしてgitにコミットするスクリプト
- 20. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
Office連携
http://astah.change-vision.com/ja/feature/office-
plugin.html
astah上で描いたモデルを
直接Office上に描画可能
図を同期することも可能で
更新後に同期処理を行う
ことで、最新の図にできる
pkg
kansai
ƒ Nƒ ‰ƒ X1
ƒ Nƒ ‰ƒ X2
ƒ Nƒ ‰ƒ X0
ƒ Nƒ ‰ƒ X3
- 22. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
リバースモデリング
1MLoC程度のC/C++コードのリファクタリング支援
10~15年分、10世代程度、継ぎ足し、ifdef祭り
パッケージ、依存性解析、コールフロー解析
- 23. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
フォワードモデリング:astah m2t
コード生成プラグイン
クラス図・ステートマシン図からテンプレートに流し
込みます
LEDCampという組込みの教育イベント用に作成した
プラグインだったりします
LED-Camp1-2 : C++ : GR-Sakura + create2
LED-Camp3-4 : Python : Raspberry Pi + create2
LED-Camp5 : C++ : Raspberry Pi + Stepping Motor
System
- 24. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
astah plugin TIPS
Script Pluginで他のJVM言語を使う
ECMA Script(標準)のほかにjruby, groovy等が利用可能
Pluginのインストール手順と同じように、jvm言語のjarファ
イルをインストール
astah PluginでJava 8を使う
pom.xmlを開く
1.6 → 1.8
プロジェクトのJREの設定も1.8に
maven-bundle-pluginを2.5.0に
- 26. /33©2017 Shintaro Hosoai astah 関西勉強会 2017/07/14
ご相談ください
astahのカスタマイズ、機能追加、要望
モデリング、ソフトウェア設計などなんでもご相談く
ださい
まずはお気軽に下記までご連絡ください
shintaro.hosoai@change-vision.com