勉強会資料 Uml概要

22
Unified Modeling Language 図で事象を捉えること 住友 孝郎

Transcript of 勉強会資料 Uml概要

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図で事象を捉えること

ご静聴ありがとうございました

企画・製作

住友