オブジェクト指向モデリング [9] 2003年12月2日 9. 問題解決とモデリング 8.3 ソフトシステムズ方法論 ソフトな問題を扱う ○○のために,○○を行って, 複雑系,人間活動システム ○○するシステム 合意形成(accommodation) 基本定義(root definition) CATWOEによるチェック Customer Actor Transformation Weltanschauung Owner Environment 基本定義の改訂 基本課題 解決策の“発明” 0.世界認識 1.基本定義 2.CATWOE 解決の ビジョン [合意] 3.基本課題 課題 4.問題解決案作成 プラン 2 9. 機能モデル2 9.1 協調図 相互作用図 ユースケース(シナリオ)に関するオブジェクト群の振る舞い 協調図 オブジェクトどうしの関わりかた オブジェクト図+メッセージフロー オブジェクト アクタ(イニシエータ) メッセージ番号 イニシエータ UsingUML: 書名 :本の借り手 2.1:borrowed borrow(#1234) 入れ子のナンバリング :会員 #1234:本 2:borrow 1:okToBorrow 3 9. 機能モデル2 9.2 シーケンス図 シーケンス図 オブジェクトどうしの関わりかた オブジェクト 受渡しメッセージとその順序 結果の戻り オブジェクト 生存線と活性区間 :本の借り手 :会員 #1234:本 生存線 borrow(#1234) 活性区間 時間の流れ UsingUML: 書名 1:okToBorrow( ) 2:borrow( ) 2.1:borrowed( ) 4 10. 状態モデル 10.1 ステートチャート図 状態図 オブジェクトの状態変化 ステートチャート図 活動図 ステートチャート図 状態,遷移,イベント オブジェクトの状態 状態 遷移 イベント return() 貸出し中 書架にある borrow() return()/book.returned(self) 貸出し中 書架にある borrow()/book.borrowed(self) 状態を持つオブジェクト アクション 開始,終了状態 returned() 開始マーカ 終了マーカ 遷移 イベント[ガード]/アクション returned() 貸出し不可 貸出し可 borrowed()[最後の本] ガード borrowed() [最後の本でない] 5 オブジェクト指向モデリング シラバス 授業計画 回 1 2 3 4 5 6 7 8 9 10 11 12 13 月日 9月 30日 10月 7日 10月14日 10月21日 10月28日 11月 4日 11月11日 11月18日 12月 2日 12月 9日 12月16日 1月13日 1月20日 内容 オリエンテーション:モデルとは何か。 モデリング言語:UMLの概要 静的モデル1:概念とクラス 静的モデル2:関連 静的モデル3:オブジェクト図 静的モデル3:オブジェクト図(続き),モデリング 機能モデル1:ユースケース,シナリオ 機能モデル2:要求抽出,協調図,シーケンス図,状態モデル:状態図 機能モデル2:活動図,静的モデル4:ユースケースに基づくモデリング 実装レベル:実装モデルとプログラム モデリング1:モデル図の理解:アナリシスパターン,事例 モデリング2:モデル図の作成,モデルの評価基準 モデリング3:例題によるモデル図の作成 6 10. 状態モデル 10.2 活動図(1) 活動図 状態図の拡張 活動(activity) 遷移 同期バー 判断 開始マーカ 終了マーカ レーン(アクタ) 会員 [書名が わかっている] [書名がわからない] 文献を検索する 書架に本を見つける 図書館の職員に貸出を申し出る 本 [帯出許可前] 貸出の申し出を受ける 貸出を記録する 制御構造を書く ワークフロー図 図書館の職員 本を受け取って帯出する 本 [帯出許可後] 本の帯出許可をする split と join loop オブジェクトフロー 7 10. 状態モデル 10.2 活動図(2) ビジネスプロセス ワークフローで表現 ワークフローの基本単位 Customer-Performer 活動と情報システムの支援 打診 Customer 契約 Performer Customer 報告 Performer 実行 8 10. 状態モデル 10.2 活動図(3) ワークフロー図で書かれるもの 活動(アクタ自身の作業) 情報システムの支援あり 情報システムの支援なし ユースケース 状態遷移するオブジェクト(オブジェクトフロー) cf. IDEF0 ワークフロー図書かれないもの システム外部のコミュニケーション Customer-Performer コミュニケーションの媒体 control 《Activity》 resource resource 情報システムの本質 control 9 10. 状態モデル 10.2 活動図(4) 受注係 出荷係 ワークフロー図 WfMC+Kodama Object 出荷指示をする [状態] 活動(アクタの振舞い) システム外のアクタ間の通信 実行コスト(所要時間,必要スキル) 顧客→受注係 注文を受け る 受注係 在庫を確認 する 出荷する 受注係 出荷係 出荷指示を する 出荷する 輸送係 納入する cancel 出荷指示書 10 10. 状態モデル 10.2 活動図(5) Eriksson & Penkerの拡張 プロセス図 = 《goal》 《people》 Process Goal: QuantitativeGoal PeopleObj 《control》 《achieve》 《information》 《process》 InputObjA 《physical》 Process OutputObj 《physical》 InputObjB 《supply》 《supply》 《physical》 《information》 PhysicalObjB InformationObj 11 10. 状態モデル 10.2 活動図(6) ATOのモデル Benetonのビジネスモデル 製品在庫最小化(中間製品での在庫) 染色を最終工程に(オプションを最終工程で実装する) 売れ行き, 注文 市場に対する 情報,知識, 予測 《physical》 材料,部品 《process》 《process》 販売計画 販売 発注 《physical》 製品 [出荷済] 《供給》 《process》 《process》 生産 染色 《physical》 最終製品 《physical》 中間製品 12 10. 状態モデル 10.2 活動図(7) 演習13 プロセス図を使って,ファーストフード店のビジネスプロセスを 書いてください 窓口業務だけでなく周辺のプロセスも考えて 13 オブジェクト指向モデリング 11. 静的モデル4 11.1 世界認識 11.2 基本定義 11.3 基本課題 11.4 ユースケース記述 11.5 概念レベルのモデリング 11.6 モデルの揺さぶり 14 6.高度な関連 6.6 型モデルの演習(2) 手順 基本定義から基本課題を発明 する 基本課題からユース ケースを発明する ワークフローを書い て,隠れたユース ケースを洗い出す 初期の概念モデルを書く モデルを揺さぶる 疑問点を考える 本質的な概念モデルを導く 15 11. 静的モデル4 11.1 世界認識 ファーストフード店の窓口システム 世界認識 メニューから商品を選択する その都度商品(現物)を作る 同時に0個以上の商品を注文する その場で精算する 利益の源泉は… 16 11. 静的モデル4 11.2 基本定義 ファーストフード店の窓口システム 基本定義 お客様の注文を聞いて,販売するシステム CATWOE Customer:窓口係,調理係 Actor:窓口係 Transformation:商品を販売する Weltanschauung:商品がたくさん売れることはいいことだ Weltanschauung:利益率の高い商品が売れることはいいことだ Owner:店長 Environment:他にもファーストフード店がある 基本定義(再定義) お客様の注文を素早くさばく(回転率を上げる)ことを支援し,売上 げを確保するシステム 17 11. 静的モデル4 11.3 基本課題 ファーストフード店の窓口システム 基本課題 簡単に注文を入れるためには,どうすればいいか。 品質を維持しつつ,素早く注文品を出すにはどうすればいいか。 機能 客がメニューから自分で注文を入れるようにする。 客が入ってきた時点で(注文を聞く前に),何を注文するかを予想し て商品を作り始める。 窓口係の報酬を,扱った客数を基準にして支払う。 : : 18 11. 静的モデル4 11.4 ユースケース記述 ユースケース「需要を予測する」 ユースケース名:需要を予測する アクタ:調理担当者 目 的:需要に合わせて,あらかじめ商品を作っておきたい。 事前条件:なし(需要モデルがある)。 基本系列:①アクタがこのユースケースを起動する。 ②システムは予測パラメタの指定を要求する。 ③アクタはそれらの値を提示する。 ④システムは商品別の需要予測量を求めて提示する。 代替系列:なし。 事後条件:なし(予測量が提示されている)。 備 考:①実績データが必要 たぶん,意味の ない機能 19 11. 静的モデル4 11.4 ユースケース記述 ユースケース「販売を記録する」 ユースケース名:販売を記録する アクタ:窓口係 目 的:実績を記録して,売上げ額,利益を知りたい。統計情報を得て,販売戦略に 活かしたい。 事前条件:その販売実績は記録されていない。 基本系列:①アクタがこのユースケースを起動する。 ②システムは販売した商品,数量,顧客タイプの入力を促す。 ③アクタはそれらの値を提示する。 ④システムはそれらの値と日時,担当者を記録する。 代替系列:なし。 事後条件:その販売実績が記録されている。 備 考:①顧客タイプとは,顧客の分類で,性別×年齢層で表現する。年齢層とは, 20才未満,20歳代,30歳代,40歳以上。 ②担当者情報は,このユースケース起動以前(ログイン時)にシステムに設 定されているものとする。 20 11. 静的モデル4 11.5 概念レベルのモデリング 演習14 前のユースケース「販売を記録する」を考慮して,概念レベル の型モデルを書いてください。 [解答例] 21
© Copyright 2024 ExpyDoc