47070 オブジェクト指向モデリング [13] 2003年 1月21日.

Slides:



Advertisements
Similar presentations
All Rights Reserved Copyright © 2004, Takashi Kobayashi 1 ロバストネス分析の演習問題 <問題1> 次の文をよんで問いに答えよ。 顧客は、 ATM により自分の口座から預金を払い出す。 顧客は、 ATM にキャッシュカードを挿入し、個人認証を行う。
Advertisements

ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
解説構造化システム設計手法. ・ 構造化分析設計技法 ・ オブジェクト指向分析・設計技法 ■ 現在の主なシステム分析設計技法 ・ データ中心分析設計技法 SA,SD (Structured Analysis and Structured Design) Data Oriented Analysis.
4 相互作用図 後半 FM13001 青野大樹.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
東京工科大学 コンピュータサイエンス 亀田弘之
ソフトウェア工学特論Ⅲ ユースケース図 後半
データモデリング トップダウンモデルと ボトムアップモデルの融合
ユースケース図 FM12012 比嘉久登.
データモデリング CRUD分析.
情報処理学会・経営情報学会 連続セミナー第3回 情報システム構築アプローチ 主旨
ソフトウェア工学 知能情報学部 新田直也.
会社間受注処理 SAP Best Practices.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
経済・経営情報コース コース紹介.
47070 オブジェクト指向モデリング [11] 2002年1月8日.
変数のスコープの設計判断能力 を育成するプログラミング教育
新幹線の最適化予約システム 親: iphoo さん KMSF B1 fuse.
BPMN(Business Process Modeling Notation)
ユースケース図2-4~ FM11012 中島拓也.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
ユースケース オブジェクト指向の要求分析のためのモデル。 スウェーデンのイヴァー・ヤコブソンが1990年代前半に開発。
UMLとは           032234 田邊祐司.
47070 オブジェクト指向モデリング [12] 2002年1月15日.
47070 オブジェクト指向モデリング [4] 2001年10月23日.
オブジェクト指向モデリング [3] 2003年10月14日.
ソフトウェア工学 第四回 知能情報学部 新田直也.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
47070 オブジェクト指向モデリング [1] 2001年10月2日.
47070 オブジェクト指向モデリング [1] 2002年10月1日.
47070 オブジェクト指向モデリング [6] 2001年11月13日.
その他の図 Chapter 7.
47070 オブジェクト指向モデリング [7] 2001年11月 12日.
ソフトウェアを取り巻く環境の変化がメトリクスに及ぼす影響について
在庫管理 東京工業大学 曹徳弼 内容 在庫の分類 ABC管理 ロット編成手法 EOQ WW法 新聞売り子問題 発注方式.
社会シミュレーションのための モデル作成環境
SOA基盤製品 「見る、聞く、体験する SOAノウハウツアー」
オブジェクト指向モデリング [2] 2003年10月 7日.
ミドルウェア”TSUNAGI”を 用いたWEBアプリケーションの構築
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
発注者側サイト操作説明書 作成日:2004年6月 Ver1.0 初版 改 訂:2005年9月 Ver1.2 株式会社 コニファ.
All Rights Reserved, Copyright © 2004, Kobayashi
シナリオのアニメーション表示による 妥当性確認支援
11.3 酒屋の在庫問題(8) ユースケース 仕入販売支援システム 11. モデリング 受注する 入庫を記録する 在庫を引き当てる 受付係
47070 オブジェクト指向モデリング [3] 2001年10月16日.
第15回放送授業.
データモデリング エンティティの切り出し.
JALオンラインクイックマニュアル(1) 1.メインメニュー 5.搭乗者名入力 2.日付・区間指定 6.座席指定 3.空席状況/運賃照会一覧
UMLの概要とオブジェクト指向の基本概念
BtoB WEB 受注システム事例・・・1 食品、名産品卸 A社での導入事例 株式会社 コニファ.
1998年度営業力強化方式研究分科会 第4回発表資料
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
All Rights Reserved, Copyright © 2004, Kobayashi
演習1に関する講評 ~ 業務仕様を書く難しさ ~
卒業テーマの発表 在庫量の効率管理    卒業テーマの発表        ------在庫量の効率管理      a6p21502 Huang Ping.
47070 オブジェクト指向モデリング [8] 2002年12月 3日.
オブジェクト指向モデリング [11] 2003年12月16日.
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
オブジェクト指向モデリング [9] 2003年12月2日.
在庫最適化システム WebInvのご紹介 Log Opt Co., Ltd..
1998年度営業力強化方式研究分科会 第4回発表資料
データ中心システム設計方法論“DATARUN” 
ソフトウェア工学 知能情報学部 新田直也.
47070 オブジェクト指向モデリング [3] 2001年10月15日.
より分かりやすい ユースケースモデルを作る
47070 オブジェクト指向モデリング [10] 2001年12月18日.
第6分科会 商品コンセプト開発の研究 要旨 2013年度テーマ 商品開発手法「キーニーズ法」(ニーズアプローチ)の有効性検証 1.研究の目的
オブジェクト指向モデリング [13] 2004年1月20日.
Presentation transcript:

47070 オブジェクト指向モデリング [13] 2003年 1月21日

第12回 モデリング1 12.0 概念モデリングの手順 12.1 自動改札システム 12.2 CS4 12.3 実際のモデル オブジェクト指向モデリング 第12回 モデリング1 12.0 概念モデリングの手順 12.1 自動改札システム 12.2 CS4 12.3 実際のモデル 12.4 モデルの良さの基準 テキスト 第15章

12.0 概念モデリングの手順 要求を認識することから始まる ドメイン知識とモデリング技術が必要 とにかく書く モデリング1 12.0 概念モデリングの手順 要求を認識することから始まる ドメイン知識とモデリング技術が必要 とにかく書く 書いてから考える(思考のツール,概念の発見・発明) ドメインがある程度分からないと,要求も分からない 《プロセス》 初期モデル を書く 知識 初期モデル シーケンス図,協調図,ステートチャート図を書いてモデルをチェックする 《プロセス》 ユースケース を書く ユースケース 《プロセス》 モデルを補強 修正する 改訂モデル 知識 要求 《プロセス》 本質に迫る 《プロセス》 活動図 を書く 要求 補助図 本質モデル

12.0 概念モデリングの手順 要求を導く ステークホルダたちの合意のプロセス ビジョンの形成 モデリング1 ビジョン 前要求 知識 《プロセス》 現状を知る ビジョン 《プロセス》 ビジョンを 描く 前要求 知識 《プロセス》 基本定義 を書く 《プロセス》 CATWOEに よるチェック 《プロセス》 課題を満足す る要求を書く 基本定義 基本課題 要求

12.1 自動改札システム 改訂後 モデリング1 駅 乗車権 日付 * 時間割 * 便 * 座席 * 指定席 グリーン 有効期限 事業者 便の日付は有効期間中であること 日付 改訂後 * 時間割 * 便 * 座席 * 指定席 グリーン 有効期限 <<多重>> 事業者 普通 急行 特急 着席権 * * * 駅 入場 * 乗車権 子供 * 路線 名称 基準キロ数 割引 {ordered} 出場 * 入場日時 出場日時 料金 /運賃 * * から 学割 * /運賃 get基準キロ数() 営業キロ数 輸送料金 * 入場する() 出場する() まで * get運賃() 区間 から 区間 まで <<動的>> <<多重>> 行使前 行使中 行使済 * 定期券 切符 プリペイドカード * 購入料金 /残高 1 乗客 回数券 有効期限はない

12.2 CS4管理システム 概念モデリング 主要な概念から着手 時間の観念 モデリング1 学生,講師,授業科目 170ページ 聴講生 DoS 一般学生 講師 優等コース * 授業科目 担当する 1..* 6..* 学生 6 履修する 概念モデリング 主要な概念から着手 学生,講師,授業科目 時間の観念 聴講生 DoS 一般学生 講師 学生 * 履修登録 6 優等コース 授業科目 担当する 1..* 6..* コースハンドブック 科目紹介 年度 170ページ

オブジェクト指向モデリング 第13回 モデリング2 教科書外 13.1 酒在庫問題 13.2 まとめ

モデリング2 13.1 酒在庫問題 課題   酒類卸売り業(A社)の倉庫には,仕入注文に応じて,メーカ(B社)から毎日数個のコンテナが搬入されてくる。その内容はビン詰めの酒で,1つのコンテナには複数の銘柄が積み込まれている。   倉庫係は,商品(酒)をコンテナから取り出して倉庫に保管し,それを記録した入庫票を受付係へ手渡す。また逆に,受付係からの出荷指示によって倉庫から商品を出荷する。    受付係は毎日,電話で小売店からの注文を,納入希望日の前日までに受ける。受付係は,その都度それを受注票に記入し,そのコピーを出荷指示として倉庫係に渡す。   注文の納入希望日の朝時点で当該商品の在庫数量が不足すると予測される場合には,受付係は不足分について在庫不足リストに記入し,当日の夕方に,入庫希望日別,商品別に集計して仕入発注書を作成し,メーカに発注する。翌日入庫希望分は翌日の夕方に入庫される。

13.1 酒在庫問題 A社のビジネスフロー モデリング2 卸売商 B社 酒メーカ A社 C社 小売店 倉庫 コンテナ 受注係 倉庫係 仕入注文 [顧客]注文 仕入発注書 在庫不足リスト 受注票 コンテナ 出荷指示 (受注票コピー) 入庫票

13.1 酒在庫問題 ワークフローの整理 入庫 仕入注文 受注 出荷 モデリング2 倉庫係 受付係 受付係 商品を倉庫に保管する 在庫不足リストを日別商品別に分類 注文を受ける 入庫票に記入する 仕入を発注する 在庫を確認する [在庫数量不足] 出荷 在庫不足リストに記入する 受付係 倉庫係 出荷指示をする 出荷する 出荷を記録する 当日分だけを選択

13.1 酒在庫問題 問題 在庫があるとき モデリング2 酒メーカ 小売店 C社 B社 受注係 倉庫係 注文する 出庫を指示する 出荷する 出荷を報告する 受領を報告する

当日,翌日納入の場合は欠品する可能性がある モデリング2 13.1 酒在庫問題 問題 在庫がないとき 翌々日にしか出荷できない(機会損失) 当日,翌日納入の場合は欠品する可能性がある 酒メーカ 小売店 B社 C社 受注係 倉庫係 注文を受ける 在庫不足リスト書く 0日 仕入注文する 入庫する +1日 入庫票を渡す 出庫を指示する 出荷する +2日

13.1 酒在庫問題 基本定義 「商品の仕入と販売を的確に行うことを支援するシステム」 CATWOE分析 的確さを決める世界観 モデリング2 Customer:小売店 Agent:受付係,倉庫係 Transformation:商品を仕入れて販売する Weltanschauung:的確に…? Owner:A社 Environment:酒類市場 的確さを決める世界観 在庫負担を最小にする(保有量を最小に,かつ滞留期間を最短に)   or 受注から出荷までの日数(リードタイム)を最短に 機会損失を最小にする(欠品しない;安全在庫は保有する) 課題記述には直接現れない概念 メーカ依存

13.1 酒在庫問題 基本定義の再設定 「安全在庫を確保しつつ,販売状況に合わせて商品を仕入れることを支援するシステム」 CATWOE分析 モデリング2 13.1 酒在庫問題 基本定義の再設定 「安全在庫を確保しつつ,販売状況に合わせて商品を仕入れることを支援するシステム」 CATWOE分析 Customer:小売店 Agent:受付係,倉庫係 Transformation:商品を仕入れて販売する Weltanschauung:在庫負担を最小化するが,欠品は避ける Owner:A社 Environment:酒類市場 安全在庫 飛び込み注文対応分 翌日夕方入庫までのつなぎ 注文のキャンセルや変更もある 時間 在庫量 期首 実績 予定 現在 安全在庫

13.1 酒在庫問題 ユースケース モデリング2 仕入販売支援システム 受注する 入庫を記録する 在庫を引き当てる 受付係 倉庫係 出荷指示する 出荷を記録する 仕入注文をする 安全在庫を設定する

13.1 酒在庫問題 ユースケース記述 モデリング2 ユースケース名:受注する。 アクタ:受付係 目的:小売店からの注文を記録して,出荷指示をしたい。 事前条件:注文が記録されていない。 基本系列:  ①アクタは,システムに注文を記録する旨を示す。  ②システムはアクタに注文の入力を促す。  ③アクタは注文内容(送り先名,{商品名,数量,納入希望日},受注日)を入   力する。  ④システムは,注文内容が妥当であることを確認し,注文番号を発行して,   それらを記録する。 事後条件:注文が記録されている。 代替系列:A 基本系列④で注文内容が妥当でなかった場合,... 備考:注文内容が妥当であるとは,...     注文番号は一連番号とし,ユニーク性を保証すること。

13.1 酒在庫問題 ユースケース記述 モデリング2 商品名 1/15 12 1/16 1/17 1/18 1/19 1/14 2 2 -8 計画ホライゾン ユースケース記述 商品名 1/15 マッカラン 12 1/16 1/17 1/18 1/19 1/14 2 2 -8 ユースケース名:在庫を引き当てる。 アクタ:受付係 目的:注文に対する在庫不足分を明らかにしたい。 事前条件:未処理の注文がある。 基本系列:  ①アクタは,システムに在庫の確認処理を要請する。  ②システムは,商品別,納入希望日順に在庫量から注文分を減じる。当日お   よび翌日の在庫が安全在庫を割った場合はアクタに警告する。  ③システムは,処理した注文に対して「処理済み」をマークする。 事後条件:未処理の注文がない。 代替系列:なし 備考:在庫引き当ては,商品別,日別の予定在庫を減じることで表現する。     「仕入注文をする」ユースケースでは,安全在庫を加味して仕入数量を    決める)。     当日夕方までの受注分を対象とするバッチ処理。     安全在庫量は別途設定する。 注文日:1/14  マッカラン 10本 1/15  マッカラン 10本 1/16 仕入注文日:1/14  マッカラン 10本 1/15

モデリング2 13.1 酒在庫問題 概念モデリング 初期モデル

13.1 酒在庫問題 在庫とは ユースケースは不変? 実在庫 ある時点での予定在庫 入庫,出荷は実績 仕入,注文は 入庫予定,出荷予定 モデリング2 13.1 酒在庫問題 在庫とは 実在庫  期首在庫+Σ入庫-Σ出荷 ある時点での予定在庫  実在庫+Σ仕入-Σ注文 入庫,出荷は実績 仕入,注文は    入庫予定,出荷予定 ユースケースは不変? 時間 累積量 注文 仕入 期首 在庫 滞留時間 実績 予定 現在 flow 出荷 入庫 時間 在庫量 期首 実績 予定 現在 安全在庫 stock ②システムは,商品別,納入希望日順に在庫量から注文分を減じる。当日および翌日の在庫がマイナスになった場合はアクタに警告する。 内部を書きすぎだった

モデリング2 13.1 酒在庫問題 代替案 ものの動きに注目 最初の案はビジネスプロセスにのみ注目していた

13.1 酒在庫問題 さらに代替案 ビジネスプロセスとものの動きの両方をとらえる モデリング2 一方を導出型とする e.g. 「仕入」のインスタンスを書くと同時に「入庫・予定のトランザクション」,「エントリ」を書く

13.1 酒在庫問題 責任の配置 ユースケース:受注する モデリング2 受付係 : アクタ : 注文 : 小売店 : 銘柄 create isValid

13.1 酒在庫問題 責任の配置 ユースケース:在庫を引き当てる 注文からトランザクションを生成 モデリング2 受付係 : アクタ : 注文 : /トランザクシ ョン : 勘定 : 払い : 受け process create getUnprocessed getAccount

13.1 酒在庫問題 仕様モデル,実装モデル 機能実現の具体的な方法 アーキテクチャの設計 ユーザインタフェース設計 モデリング2 13.1 酒在庫問題 ユーザーインタフェース層 仕様モデル,実装モデル 機能実現の具体的な方法 設計判断 実装判断 アーキテクチャの設計 レイヤリング フレームワークの当てはめ ユーザインタフェース設計 オブジェクト永続化の方法 オブジェクト指向データベース リレーショナルデータベースへは複雑なマッピングが必要 インピーダンスのミスマッチ 関連の実装 アプリケーション層 ドメイン層 永続層 RDB OODB

13.1 酒在庫問題 情報システムによらない解決法 A社に一旦保管するから1日余計にかかる メーカから直接小売店に配送する 卸売業の自滅? モデリング2 13.1 酒在庫問題 情報システムによらない解決法 A社に一旦保管するから1日余計にかかる メーカから直接小売店に配送する 卸売業の自滅? 輸送費は? キャッシュフローは?

13.2 まとめ 情報システム工学 人間活動システム 効果的な情報システム システム論 ソフトな問題 モデリング2 13.2 まとめ 情報システム工学 人間活動システム システム論 システム要素間の相互作用→創発 階層と通信 ソフトな問題 構造化できない問題 自分自身がシステムの一部分 効果的な情報システム 目的(ビジョン,ミッション,ゴール,目標値)の達成 アプローチ(戦略,戦術,作戦)の選択と合意形成 フィードバックと目的・アプローチの修正の繰り返し 目標値と現状との乖離=動的テンション 敏感でいること 正解がない 対策がまた新たな問題の原因に Embrace Change !

13.2 まとめ 情報システム学 変化し続ける人間活動システム システムの基本定義 基本課題の合意 基本課題を満足する機能要求 モデリング2 13.2 まとめ 情報システム学 変化し続ける人間活動システム 現実世界(real world)と認識世界(Universe of Discourse) システムの基本定義 CATWOE分析 Customer: Agent: Transformation: Weltanschauung: Owner: Environment: 基本定義のrefine 基本課題の合意 基本課題を満足する機能要求

13.2 まとめ モデリング 理解と合意のプロセス ドメインと外部機能の分離 要求記述としてのユースケース 外部機能の実現 良いモデルの基準 モデリング2 13.2 まとめ モデリング 理解と合意のプロセス モデリング言語(UMLの登場) ドメインと外部機能の分離 ドメインの定義 Ownerによる世界認識(UoD) をそのまま実装したい レイヤー構造 要求記述としてのユースケース 外部機能の実現 良いモデルの基準 適度な抽象性 一般性,単純性,耐変更性,再利用性 piecemeal growth アプリケーション(機能) ドメイン(概念の世界) 永続化 ユーザインタフェース

13.2 まとめ 情報システム工学とオブジェクト指向 概念モデルとの素直な対応 変更吸収の仕組み 概念の実装としてのクラス-インスタンス モデリング2 13.2 まとめ 情報システム工学とオブジェクト指向 概念モデルとの素直な対応 概念の実装としてのクラス-インスタンス 概念階層 ソフトウェア工学からの「良い概念」の基準 結合度 凝集度 オブジェクトメタファー 通信と相互作用 変更吸収の仕組み 拡張のメカニズム 継承 フレームワークの発想 リファクタリングのプラクティス