Presentation is loading. Please wait.

Presentation is loading. Please wait.

オブジェクト指向モデリング [9] 2003年12月2日.

Similar presentations


Presentation on theme: "オブジェクト指向モデリング [9] 2003年12月2日."— Presentation transcript:

1 オブジェクト指向モデリング [9] 2003年12月2日

2 ○○のために,○○を行って,○○するシステム
9. 問題解決とモデリング 8.3 ソフトシステムズ方法論 ソフトな問題を扱う 複雑系,人間活動システム 合意形成(accommodation) 基本定義(root definition) CATWOEによるチェック Customer Actor Transformation Weltanschauung Owner Environment 基本定義の改訂 基本課題 解決策の“発明” ○○のために,○○を行って,○○するシステム 解決のビジョン 1.基本定義 2.CATWOE [合意] プラン 3.基本課題 4.問題解決案作成 0.世界認識 課題

3 9.1 協調図 相互作用図 協調図 ユースケース(シナリオ)に関するオブジェクト群の振る舞い オブジェクトどうしの関わりかた
9. 機能モデル2 9.1 協調図 相互作用図 ユースケース(シナリオ)に関するオブジェクト群の振る舞い 協調図 オブジェクトどうしの関わりかた オブジェクト図+メッセージフロー オブジェクト アクタ(イニシエータ) メッセージ番号 入れ子のナンバリング :会員 UsingUML: 書名 :本の借り手 イニシエータ #1234:本 2.1:borrowed borrow(#1234) 2:borrow 1:okToBorrow

4 9.2 シーケンス図 シーケンス図 オブジェクトどうしの関わりかた 生存線と活性区間 オブジェクト 受渡しメッセージとその順序 結果の戻り
9. 機能モデル2 9.2 シーケンス図 シーケンス図 オブジェクトどうしの関わりかた オブジェクト 受渡しメッセージとその順序 結果の戻り 生存線と活性区間 オブジェクト :本の借り手 :会員 #1234:本 UsingUML: 書名 borrow(#1234) 生存線 1:okToBorrow( ) 活性区間 時間の流れ 2:borrow( ) 2.1:borrowed( )

5 10.1 ステートチャート図 状態図 オブジェクトの状態変化 状態,遷移,イベント オブジェクトの状態 開始,終了状態 遷移
10. 状態モデル 10.1 ステートチャート図 貸出し中 書架にある return()/book.returned(self) borrow()/book.borrowed(self) return() borrow() 貸出し不可 returned() 貸出し可 borrowed()[最後の本] borrowed() [最後の本でない] イベント アクション ガード 状態 遷移 状態図 オブジェクトの状態変化 ステートチャート図 活動図 状態,遷移,イベント オブジェクトの状態 状態を持つオブジェクト 開始,終了状態 開始マーカ 終了マーカ 遷移 イベント[ガード]/ アクション

6 シラバス 授業計画 回 月日 内容 1 9月 30日 オリエンテーション:モデルとは何か。 2 10月 7日 モデリング言語:UMLの概要
オブジェクト指向モデリング シラバス 授業計画 月日 内容 1 9月 30日 オリエンテーション:モデルとは何か。 2 10月 7日 モデリング言語:UMLの概要 3 10月14日 静的モデル1:概念とクラス 4 10月21日 静的モデル2:関連 5 10月28日 静的モデル3:オブジェクト図 6 11月 4日 静的モデル3:オブジェクト図(続き),モデリング 7 11月11日 機能モデル1:ユースケース,シナリオ 8 11月18日 機能モデル2:要求抽出,協調図,シーケンス図,状態モデル:状態図 9 12月 2日 機能モデル2:活動図,静的モデル4:ユースケースに基づくモデリング 10 12月 9日 実装レベル:実装モデルとプログラム 11 12月16日 モデリング1:モデル図の理解:アナリシスパターン,事例 12 1月13日 モデリング2:モデル図の作成,モデルの評価基準 13 1月20日 モデリング3:例題によるモデル図の作成

7 10.2 活動図(1) 活動図 状態図の拡張 制御構造を書く オブジェクトフロー 活動(activity) 遷移 同期バー 判断 開始マーカ
10. 状態モデル 10.2 活動図(1) 活動図 状態図の拡張 活動(activity) 遷移 同期バー 判断 開始マーカ 終了マーカ レーン(アクタ) 制御構造を書く ワークフロー図 split と join loop オブジェクトフロー 会員 図書館の職員 [書名が わかっている] 貸出の申し出を受ける 書架に本を見つける 文献を検索する 貸出を記録する 本を受け取って帯出する 本の帯出許可をする [帯出許可前] [帯出許可後] 図書館の職員に貸出を申し出る [書名がわからない]

8 10.2 活動図(2) ビジネスプロセス 活動と情報システムの支援 ワークフローで表現 ワークフローの基本単位
10. 状態モデル 10.2 活動図(2) ビジネスプロセス ワークフローで表現 ワークフローの基本単位 Customer-Performer 活動と情報システムの支援 Customer Performer 打診 契約 実行 報告

9 10.2 活動図(3) ワークフロー図で書かれるもの ワークフロー図書かれないもの 活動(アクタ自身の作業)
10. 状態モデル 10.2 活動図(3) ワークフロー図で書かれるもの 活動(アクタ自身の作業) 情報システムの支援あり 情報システムの支援なし 状態遷移するオブジェクト(オブジェクトフロー) cf. IDEF0 ワークフロー図書かれないもの システム外部のコミュニケーション Customer-Performer コミュニケーションの媒体 情報システムの本質 ユースケース 《Activity》 control resource

10 10.2 活動図(4) ワークフロー図 WfMC+Kodama 活動(アクタの振舞い) システム外のアクタ間の通信
10. 状態モデル 10.2 活動図(4) 出荷係 受注係 Object [状態] 出荷指示をする 出荷する ワークフロー図 WfMC+Kodama 活動(アクタの振舞い) システム外のアクタ間の通信 実行コスト(所要時間,必要スキル) 注文を受ける 在庫を確認する 出荷指示をする 納入する 出荷する 顧客→受注係 受注係 出荷係 輸送係 出荷指示書 cancel

11 Process Goal: QuantitativeGoal
10. 状態モデル 10.2 活動図(5) Eriksson & Penkerの拡張 プロセス図 = 《process》 Process 《control》 《physical》 PhysicalObjB 《information》 InformationObj OutputObj 《achieve》 《supply》 InputObjB InputObjA 《people》 PeopleObj 《goal》 Process Goal: QuantitativeGoal

12 10.2 活動図(6) ATOのモデル Benetonのビジネスモデル 製品在庫最小化(中間製品での在庫)
10. 状態モデル 10.2 活動図(6) ATOのモデル Benetonのビジネスモデル 製品在庫最小化(中間製品での在庫) 染色を最終工程に(オプションを最終工程で実装する) 《供給》 売れ行き, 注文 市場に対する情報,知識,予測 《physical》 材料,部品 最終製品 中間製品 発注 製品 [出荷済] 《process》 販売 販売計画 染色 生産

13 10.2 活動図(7) 演習13 プロセス図を使って,ファーストフード店のビジネスプロセスを書いてください
10. 状態モデル 10.2 活動図(7) 演習13 プロセス図を使って,ファーストフード店のビジネスプロセスを書いてください 窓口業務だけでなく周辺のプロセスも考えて

14 11. 静的モデル4 11.1 世界認識 11.2 基本定義 11.3 基本課題 11.4 ユースケース記述
オブジェクト指向モデリング 11. 静的モデル4 11.1 世界認識 11.2 基本定義 11.3 基本課題 11.4 ユースケース記述 11.5 概念レベルのモデリング 11.6 モデルの揺さぶり

15 ワークフローを書いて,隠れたユースケースを洗い出す
6.高度な関連 6.6 型モデルの演習(2) 手順 基本定義から基本課題を発明する 基本課題からユースケースを発明する ワークフローを書いて,隠れたユースケースを洗い出す 初期の概念モデルを書く モデルを揺さぶる 疑問点を考える 本質的な概念モデルを導く

16 11.1 世界認識 ファーストフード店の窓口システム 世界認識 メニューから商品を選択する その都度商品(現物)を作る
11. 静的モデル4 11.1 世界認識 ファーストフード店の窓口システム 世界認識 メニューから商品を選択する その都度商品(現物)を作る 同時に0個以上の商品を注文する その場で精算する 利益の源泉は…

17 11.2 基本定義 ファーストフード店の窓口システム 基本定義 CATWOE
11. 静的モデル4 11.2 基本定義 ファーストフード店の窓口システム 基本定義 お客様の注文を聞いて,販売するシステム CATWOE Customer:窓口係,調理係 Actor:窓口係 Transformation:商品を販売する Weltanschauung:商品がたくさん売れることはいいことだ Owner:店長 Environment:他にもファーストフード店がある Weltanschauung:利益率の高い商品が売れることはいいことだ 基本定義(再定義) お客様の注文を素早くさばく(回転率を上げる)ことを支援し,売上げを確保するシステム

18 11.3 基本課題 ファーストフード店の窓口システム 基本課題 機能 簡単に注文を入れるためには,どうすればいいか。
11. 静的モデル4 11.3 基本課題 ファーストフード店の窓口システム 基本課題 簡単に注文を入れるためには,どうすればいいか。 品質を維持しつつ,素早く注文品を出すにはどうすればいいか。 機能 客がメニューから自分で注文を入れるようにする。 客が入ってきた時点で(注文を聞く前に),何を注文するかを予想して商品を作り始める。 窓口係の報酬を,扱った客数を基準にして支払う。

19 11.4 ユースケース記述 ユースケース「需要を予測する」 たぶん,意味のない機能 ユースケース名:需要を予測する アクタ:調理担当者
11. 静的モデル4 11.4 ユースケース記述 ユースケース「需要を予測する」 ユースケース名:需要を予測する アクタ:調理担当者 目   的:需要に合わせて,あらかじめ商品を作っておきたい。 事前条件:なし(需要モデルがある)。 基本系列:①アクタがこのユースケースを起動する。 ②システムは予測パラメタの指定を要求する。 ③アクタはそれらの値を提示する。 ④システムは商品別の需要予測量を求めて提示する。 代替系列:なし。 事後条件:なし(予測量が提示されている)。 備   考:①実績データが必要 たぶん,意味のない機能

20 11.4 ユースケース記述 ユースケース「販売を記録する」 ユースケース名:販売を記録する アクタ:窓口係
11. 静的モデル4 11.4 ユースケース記述 ユースケース「販売を記録する」 ユースケース名:販売を記録する アクタ:窓口係 目   的:実績を記録して,売上げ額,利益を知りたい。統計情報を得て,販売戦略に 活かしたい。 事前条件:その販売実績は記録されていない。 基本系列:①アクタがこのユースケースを起動する。 ②システムは販売した商品,数量,顧客タイプの入力を促す。 ③アクタはそれらの値を提示する。 ④システムはそれらの値と日時,担当者を記録する。 代替系列:なし。 事後条件:その販売実績が記録されている。 備   考:①顧客タイプとは,顧客の分類で,性別×年齢層で表現する。年齢層とは,  20才未満,20歳代,30歳代,40歳以上。 ②担当者情報は,このユースケース起動以前(ログイン時)にシステムに設  定されているものとする。

21 11.5 概念レベルのモデリング 演習14 前のユースケース「販売を記録する」を考慮して,概念レベルの型モデルを書いてください。 [解答例]
11. 静的モデル4 11.5 概念レベルのモデリング 演習14 前のユースケース「販売を記録する」を考慮して,概念レベルの型モデルを書いてください。 [解答例]


Download ppt "オブジェクト指向モデリング [9] 2003年12月2日."

Similar presentations


Ads by Google