Unified Modeling Language
図で事象を捉えること
住友 孝郎
はじめに
本日のお題
UMLとは何か
例)ある事象の3つのモデル化
UMLのメリットとデメリット
最後に
UMLとは何か
Unified Modeling Language
13種類の図から構成される表現方法
OMG(Object Management Group)が管理
様々な側面から対象を描くことができる
先人達のベストプラクティス
何に使うか
スケッチとして
設計図として
プログラミング言語として
何故UMLか(1/2)
一般的な表記法
フローチャート
バブルチャート
データフロー図
主な問題
表現力が弱い
扱いやすい反面、表現力の弱さを補うため
「独自の表記法」が混入される
何故UMLか(2/2)
独自の表記法の問題
描いた人にしかわからない
矛盾が発生しやすい
解決するには?
こなれた標準的な表記法を使用する
すなわちUMLを用いる
UMLの図の種類(1/2)
振る舞い図 相互作用図
構造図
UMLは大きく分けて3種類の図から成る
構造図
振る舞い図
相互作用図
UMLの図の種類(2/2)
構造図
オブジェクト図
クラス図
パッケージ図
コンポーネント図
複合構造図
配置図
振る舞い図
ユースケース図
アクティビティ図
ステートマシン図
相互作用図
コミュニケーション図
シーケンス図
タイミング図
相互作用概要図
例)前回の提案力の問題
契約業務プロセスの改善
登場する物
営業担当者
顧客
審査部
法務部
主な課題
契約業務の効率化
売掛金の回収不安
今回は現状をモデル化する際の例を考える
例)アクティビティ図(1/3)
アクティビティ図の要素
開始ノード
終了ノード
アクションノード
オブジェクトノード
デシジョンノード
マージノード
[条件1]
[条件2]
順次処理や並列処理を表記できる
フローチャートに似た表記法である
開始ノードから終了ノードへの一連の流れで表す
例)アクティビティ図(2/3)
与信審査システムに
与信審査申請を行う
与信枠を決定する
算出した
与信枠
顧客への
提案内容を検討
提案を行う
注文を受ける
営業担当者顧客 審査部 法務部
[受注]
[else]
A
例)アクティビティ図(3/3)
要求された
記載項目を送る
顧客固有の
記載項目
契約書を
検討する
契約書 契約書
契約を
集結する
契約の
交渉を行う
契約書コピーを
保管する。
契約書原本を
送る
集結には顧客と
営業部長の
記名・捺印が必要
[固有の記載が有る]
[else]
[else]
[合意]
A
営業担当者顧客 審査部 法務部
契約書を
登録する
契約書原本
例)シーケンス図(1/2)
オブジェクト間の相互作用を表す
相互作用の順序を厳密に表すことが出来る
横方向にオブジェクトを並べて表記する
上から下へ時系列順に表記する
営業担当者顧客 審査部 法務部
(1)
(2-1)
(2-2)(2-3)
(3)
(4a)
(4b)
(4c-1)
(4c-2)
(4c-3)
(5)
(6-1)
(6-2)
(6-3)
例)シーケンス図(2/2)
営業担当者顧客 審査部 法務部
(1)申請
(2-1)倒産確率の計算
(2-2)与信枠を決定
(2-3)与信枠を通知
(3)提案
(4a)注文
(4b)契約書の作成
(4c-*)[固有の記載項目が有る]
(4c-1)顧客要求を送付
(4c-2)契約書の検討
(4c-3)変更案を送付
(5)契約の集結
(6-1)契約書コピーを保管
(6-2)契約書原本を送付
(6-3)契約書の登録
(1)
(2-1)
(2-2)(2-3)
(3)
(4a)
(4b)
(4c-1)
(4c-2)
(4c-3)
(5)
(6-1)
(6-2)
(6-3)
例)コミュニケーション図(1/2)
オブジェクト間の相互作用を表す
オブジェクト間の接続(関係)を表す
審査部
営業担当者
与信審査システム
顧客
倒産確率検査システム
法務部
(1)
(2-1)
(3)(5)
(4b)
(6-1)
(4c-1)
(6-2)(4c-2)
(4c-3)
(2-2)
(4a)
(2-3)契約管理システム
(6-3)
例)コミュニケーション図(2/2)
審査部
営業担当者
与信審査システム
顧客
倒産確率検査システム
法務部
外部DBの
財務データを
使用する
(1)
(2-1)
(3)(5)
(4b)
(6-1)
(4c-1)
(6-2)(4c-2)
(4c-3)
(2-2)
(1)申請
(2-1)倒産確率の計算
(2-2)与信枠を決定
(2-3)与信枠を通知
(3)提案
(4a)注文
(4b)契約書の作成
(4c-*)[固有の記載項目が有る]
(4c-1)顧客要求を送付
(4c-2)契約書の検討
(4c-3)変更案を送付
(5)契約の集結
(6-1)契約書コピーを保管
(6-2)契約書原本を送付
(6-3)契約書の登録
(4a)
(2-3)契約管理システム
(6-3)
例)この例の考察(1/2)
アクティビティ図
流れを把握しやすいが
全体が把握し難い
シーケンス図
時系列は解るが
各オブジェクトの関連が解らない
コミュニケーション図
厳密な流れは読みにくいが
関係と流れの両方が読み取れる
例)この例の考察(2/2)
この問題はコミュニケーション図のように
モデル化して捉えると考えやすい
モデル化の過信も禁物
逆に盲点を生むことがあるので注意
UMLのメリット
矛盾が発生しにくい
一つの事象を複数の方面から捉えられる
他人との意思疎通に使える
詳細な図はコードに落としやすい
UMLのデメリット
冗長な表記が多い
言語が肥大し複雑
肥大のため学習が大変
最後に
UMLに限らず物事をモデル化して捉えよう
自身の思考のモデルを増やそう
意思疎通を取る手段を増やそう
Unified Modeling Language
図で事象を捉えること
ご静聴ありがとうございました
企画・製作
住友

勉強会資料 Uml概要