Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
UML モデルを使った自動生成
自己紹介
 株式会社アクティア
 代表取締役社長 大島則人
 モデルベースソフトウェア開発との出会い
 2003年頃 Executable UML との出会い
 動かないモデルはただのスケッチだ!
 OMG MDA ガイドライン v...
コミュニティでの活動テーマ
動くモデルを作ろう!
動くって何?
動くモデル
モデル
↓
Transformation
↓
コード
動くモデル ≒ コード生成
モデルからコードを生成する
public class 顧客 {
private String 顧客名;
public String get顧客名() {
return this.顧客名;
}
public void set顧客名(String ...
動いた?
うれしい?
自動生成は戦略ありき(方法論)
UML でモデリングしたものをコード生成する
自動生成するためのモデルを UML で作る
静的構造のモデリング
クラスモデル
 クラスに役割(stereotype)を付ける
 データベースエンティティ?
 サービスクラス?
 役割毎にテンプレートを換える
どんな役割を作るか?
 標識が無いと役割(stereotype)が決まらない
 設計の方法論が必要
DDD の主なクラス分類
 Entity
 永続化されるドメインオブジェクト
 顧客、社員、注文
 Value Object
 ドメインの値クラス
 顧客名、社員番号、注文日、電話番号
 Service
 複数のドメインオブジェ...
ドメインモデル
VALUEOBJECTS
SERVICE / REPOSITORY
振る舞い(操作)のモデリング
振る舞いのモデリング
 シーケンス図、コミュニケーション図で最終コー
ドは作れない。
※ 作れるかもしれないですが保守したくない。
Domain Specification Language
操作のコメントへ記述
暗黙に追加される操作
導出属性にも対応
合計旅費の計算
ステレオタイプの利用
ステレオタイプとタグ付き値で対応付け
/employee へ GET リクエストを送ると
社員サービス#一覧を取得する() が呼び出される
デモンストレーション
Upcoming SlideShare
Loading in …5
×

UMLモデルを使った自動生成

2,590 views

Published on

モデルベースソフトウェア開発コミュニティでの発表資料

Published in: Engineering
  • Be the first to comment

UMLモデルを使った自動生成

  1. 1. UML モデルを使った自動生成
  2. 2. 自己紹介  株式会社アクティア  代表取締役社長 大島則人  モデルベースソフトウェア開発との出会い  2003年頃 Executable UML との出会い  動かないモデルはただのスケッチだ!  OMG MDA ガイドライン v1.0  2008年4月モデルベースソフトウェア開発開始
  3. 3. コミュニティでの活動テーマ 動くモデルを作ろう!
  4. 4. 動くって何?
  5. 5. 動くモデル モデル ↓ Transformation ↓ コード
  6. 6. 動くモデル ≒ コード生成
  7. 7. モデルからコードを生成する public class 顧客 { private String 顧客名; public String get顧客名() { return this.顧客名; } public void set顧客名(String 顧客名) { this.顧客名 = 顧客名; } }
  8. 8. 動いた? うれしい?
  9. 9. 自動生成は戦略ありき(方法論) UML でモデリングしたものをコード生成する 自動生成するためのモデルを UML で作る
  10. 10. 静的構造のモデリング
  11. 11. クラスモデル  クラスに役割(stereotype)を付ける  データベースエンティティ?  サービスクラス?  役割毎にテンプレートを換える
  12. 12. どんな役割を作るか?  標識が無いと役割(stereotype)が決まらない  設計の方法論が必要
  13. 13. DDD の主なクラス分類  Entity  永続化されるドメインオブジェクト  顧客、社員、注文  Value Object  ドメインの値クラス  顧客名、社員番号、注文日、電話番号  Service  複数のドメインオブジェクトを操作する  Repository  永続化装置とドメインの境界
  14. 14. ドメインモデル
  15. 15. VALUEOBJECTS
  16. 16. SERVICE / REPOSITORY
  17. 17. 振る舞い(操作)のモデリング
  18. 18. 振る舞いのモデリング  シーケンス図、コミュニケーション図で最終コー ドは作れない。 ※ 作れるかもしれないですが保守したくない。 Domain Specification Language
  19. 19. 操作のコメントへ記述
  20. 20. 暗黙に追加される操作
  21. 21. 導出属性にも対応 合計旅費の計算
  22. 22. ステレオタイプの利用 ステレオタイプとタグ付き値で対応付け /employee へ GET リクエストを送ると 社員サービス#一覧を取得する() が呼び出される
  23. 23. デモンストレーション

×