1 / 25

オブジェクト指向モデリング [11]

47070. オブジェクト指向モデリング [11]. 2002 年 1 月 8 日. オブジェクト指向モデリング. 前回 モデル図の理解. 10.1 責任関係 10.2 勘定 10.3 生産管理システム 10.4 素材発注システム. 依頼者. *. *. 責任関係型. パーティ型. 1..*. 1..*. 実行者. *. *. 1..*. 1..*. 型. 1. 1. 型. 1. 1. 知識レベル. 操作レベル. *. *. 依頼者. *. *. *. *. パーティ. 1. 1. 責任関係. *.

Download Presentation

オブジェクト指向モデリング [11]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 47070 オブジェクト指向モデリング[11] 2002年1月8日

  2. オブジェクト指向モデリング 前回 モデル図の理解 10.1 責任関係 10.2 勘定 10.3 生産管理システム 10.4 素材発注システム

  3. 依頼者 * * 責任関係型 パーティ型 1..* 1..* 実行者 * * 1..* 1..* 型 1 1 型 1 1 知識レベル 操作レベル * * 依頼者 * * * * パーティ 1 1 責任関係 * * 作業 実行者 * * * 1 1 * * 有効期限 1 期間 人 組織 モデル図の理解 責任関係 • 知識レベルと操作レベル • パワータイプ(ベキ型) • 操作レベルの型の制約を記述 • 鏡像関係 inv: collx:set(責任関係)=self.the責任関係 collX->forALL( x | x.型.依頼者->includes(x.依頼者.型) and x.型.実行者->includes(x.実行者.型))

  4. {抽象} 勘定 構成要素 / 残高 : 量 * {階層} /対象エントリ * 0..1 エントリ 対象エントリ 要約勘定 明細勘定 トランザクション 数量 : 量 1 * 2..* 1 inv: /対象エントリ=self.対象エントリ inv: /対象エントリ=self.構成要素./対象エントリ モデル図の理解 勘定 このインスタンス図はどうなる? • 要約 • ロールアップ

  5. オブジェクト指向モデリング 第11回 モデリング1 11.1 自動改札システム 11.2 CS4 11.3 モデルの良さの基準 テキスト 第6章

  6. 自動改札システム チェックインする チェックアウトする 乗車料金を決定する 新幹線にチェックインする 乗客 事業者 検札する 切符を買う モデリング1 11.1 自動改札システム • 自動改札システムのユースケースを考えて • ユースケース図 • ユースケース記述 • システム境界 アクタは誰?

  7. 回数券 子供 学割 通勤 モデリング1 11.1 自動改札システム 普通 特急 急行 • 自動改札システム グリーン <<多重>> 便 座席 サービス * 指定席 事業者 有効期間 割引 * +乗車 * * * * * 乗車区間 駅 乗車権 +降車 * * /料金 * +経由 * * 乗客 行使前 行使中 行使済 決済方法 1 定期券 切符 プリペイドカード *

  8. モデリング1 11.1 自動改札システム • ユースケース記述 ユースケース名:チェックインする。 アクタ:乗客 目的:妥当な乗客であることを証明し入場する。 事前条件:アクタは入場していない。 基本系列:  ①アクタは,自分が妥当な乗客である証明をシステムに提示する。  ②システムはその証明を確認し,妥当であれば入場を許す(同時にその乗   客が入場した旨を記録する)。  ③アクタは入場する。  ④システムは,そのアクタが入場したとき,その証明を返却する(直ちに,他   の乗客が続いて入場しないようにする)。 事後条件:アクタは入場している(入場が記録されている)。 代替系列:A 基本系列②で証明が妥当でなかった場合,... 備考:システムは次の乗客を停滞させないこと。     システムは乗客の再入場を阻止する。

  9. アクタ U/I 自動改札機 切符 ドメイン アクタ : 乗車権 : 乗車区間 乗車駅 :駅 checkIn isValid isValid mark OK モデリング1 11.1 自動改札システム • チェックインする • アクタ • 乗客か自動改札機か • 現物とオブジェクトは別

  10. 打診 契約 Customer Performer Customer Performer 実行 報告 モデリング1 166~172ページ 11.2 CS4管理システム • CS4の優等コースの管理を支援するシステム • RFP(Request for Proposal) • 要求仕様書 • 複数のProposal • 目的 • スコープ(機能) • 体制 • 見積もり(工数,工期,スケジュール) • 入札,業者選定 • 契約 • 実行 • 納入

  11. 打診 契約 Customer Performer 実行 報告 モデリング1 11.2 CS4管理システム 166ページ • CS4コースの管理の現状説明 • 優等コース • CS学科のシラバス策定委員会 • 来年度の授業科目(module)を決定する • 学科主任 • 授業科目の講義担当者(講師;lecturer)の割当 • 講師 • コースハンドブックの紹介文の更新 • CS4とりまとめ担当者 • コースハンドブックの中核部分(紹介文以外)の更新 • 講師が書いたコースハンドブックの紹介文のチェック • ハンドブック(LATEX)をHTMLに変換 • 進級以外のCS4受講者(聴講生)をUTOに通知 • CS3とりまとめ担当者 • 進級する学生の一覧をCS4のとりまとめ担当者とUTOに通知

  12. モデリング1 11.2 CS4管理システム 166ページ • CS4コースの管理の現状 • 学習指導担当者(DoS) • Dosは1年生の時に一人ひとり決められて,以来,卒業まで固定 • 学生にアドバイスする • 履修授業科目選択の相談 • 学生 • 授業科目への仮登録;履修申請書を教務課に提出 • 教務課(UTO) • ハンドブックの印刷 • CS4学生原本を保守 • 履修者むけメーリングリスト(cs4class)の保守 • 履修申請をチェック • CS4の学生であること • 授業科目の組み合わせの妥当性 • 学生との話し合い • 履修者一覧を作成し,講師に渡す • 開講から3週以内に渡してほしい これは単なる意味の説明 これが本音?

  13. モデリング1 11.2 CS4管理システム 167ページ • RFPを受けての質問 • 認識の確認 • 不明の点 • 記述されない状況の明示化 • 不合理点の指摘 • 提案の方向性の確認 • 調査と分析 • こんな機能が欲しい? • 全職員(特にCS4とりまとめ担当者)の業務負荷を減らしたい • 学生が直接,オンラインで授業科目を登録するようにしたい • 最新の正確な情報を容易に得たい • 情報ソースの追跡を可能にしたい • 情報作成を自動化して,講師に対する情報提供を迅速にしたい 168ページ

  14. モデリング1 11.2 CS4管理システム • われわれの方法 • 基本定義 • コースハンドブックの作成から履修登録までを,より迅速かつ正確に行うことを支援するシステム Customer:講師,UTO,学生,CS4とりまとめ担当 Agent:講師,UTO,学生,CS4とりまとめ担当,CS3とりまとめ担当,学科主任,DoS Transformation:コースハンドブックを作成し,履修登録を行う Weltanschauung:講師の手間を省いて,授業に集中させたい Owner:大学 Environment:CS4学科 • 基本課題 • 迅速かつ正確な情報の収集と提供 →ワークフロー自動化(コミュニケーション) →進度管理 すなわち,基本的な現状モデル(as-is)が新モデル(to-be)

  15. シラバス策定委員会 学科主任 CS4とりまとめ担当者 講師 UTO 授業科目の設定 担当講師を決める コースハンドブックの中核部分を作成する コースハンドブック紹介文を更新する コースハンドブックをチェックする [問題あり] コースハンドブックをHTMLに変換 コースハンドブックを印刷する モデリング1 11.2 CS4管理システム • ワークフローの確認 • コースハンドブックの作成

  16. モデリング1 11.2 CS4管理システム • ワークフローの確認 • CS4学生一覧表の作成 CS3とりまとめ担当者 CS4とりまとめ担当者 UTO 進級学生一覧をとりまとめる CS4への聴講生一覧をとりまとめる CS4学生一覧表原本の保守 メーリングリストの更新

  17. モデリング1 11.2 CS4管理システム • ワークフローの確認 • 履修者一覧表の作成 学生 UTO DoS 履修申請書を作成する 履修申請書をチェックする [不明点あり] or UTOと話し合う 問い合わせを受ける [不明点なし] 授業科目ごとの履修者一覧の作成 一覧表の配付

  18. アクティビティの取り出し システム境界を決める 概念モデリング 機能の発明 モデリング1 11.2 CS4管理システム 教科書(p.168)のユースケースの粒度は大きすぎる • ユースケースの作成 • どのアクティビティを取り出すか • コースハンドブックを作成する • CS4学生リストを生成する • 履修申請する • システム境界を決める • 機能の発明 • 概念モデルを作る ユースケースの候補 1. コースハンドブックの授業科目紹介文を書く。 2. コースハンドブックの中核部分を書く。 3. コースハンドブックを編集する。 4. コースハンドブックをHTMLに変換する。 5. コースハンドブックを印刷する。 6. CS3→CS4進級者を登録する。 7. CS4聴講生を登録する。 8. CS4登録学生を保守する。 9. CS4メーリングリストを保守する。 10. 履修申請を行う。 11. 履修申請を照会する。 12. 履修申請を確定する。 13. 履修予定者リストを作成する。

  19. 打診 契約 Actor System 実行 報告 モデリング1 11.2 CS4管理システム • ユースケースの作成 ユースケース名:コースハンドブックの授業科目   紹介文を書く。 アクタ:講師 目的:学生が授業科目を正しく選択できるように情報を提供する。 事前条件:当該年度の紹介文は登録されていない。 基本系列:  ①アクタは,対象の授業科目を指定して紹介文の入力を要請する。  ②システムは授業科目のインデックス情報(と,過去の紹介文があればそれ)   を表示して,紹介文の入力を促す。  ③アクタは紹介文を入力する。  ④システムは,当該年度の紹介文が入力されたことを登録する。 事後条件:当該年度の紹介文が登録されている。 代替系列:... 備考:紹介文は400文字程度であること。

  20. 担当する 講師 授業科目 * * 6..* 6..* 6 6 履修する DoS 学生 1..* 1..* * * 1..* 1..* 聴講生 一般学生 優等コース * モデリング1 11.2 CS4管理システム • 概念モデリング • 主要な概念から着手 • 学生,講師,授業科目 • 時間の観念 170ページ

  21. 授業科目 <<UserInterface>> Login 科目名 講師 紹介文 担当する setup() * * 氏名 setLecturer() adminstratorLogin() checkOutDescription() addStudent() teachModule() checkInDescription() addLecturer() isUpToDate() addModule() makeStudentList() changeLecturer() studentLogin() 6..* 6..* DoS lecturerLogin() 1..* 1..* 履修登録 * * 成績 学生 氏名 registerEnroll() 6 6 deregisterEnroll() <<Facade>> chooseModule() Registry chooseStudent() 1..* 1..* 優等コース getStudent() 一般学生 getLecturer() 名称 聴講生 getDos() 一般説明文 getModule() * * validateChoices() getCourse() isHandbookReady() getEnroll() isAcceptable() モデリング1 11.2 CS4管理システム • 実装モデリング • 責任の配置 • 操作上の人工物 • 冗長な参照の削除

  22. アクタ : Registry : 学生 : 優等コース : 履修登録 getStudent( ) getModule( ) chooseModule( ) isAcceptable( ) new setEnroll( ) registerEnroll( ) モデリング1 11.2 CS4管理システム • ユースケース「履修申請を行う」 • シーケンス図の例

  23. モデリング1 11.2 CS4管理システム • ユースケース「授業科目紹介文を書く」 • シーケンス図の例

  24. モデリング1 11.3 モデルの良さの基準 • ユースケース • 妥当なユースケース • 目的充足性(効果的) • 型モデル(概念レベル) • 世界(UoD)が記述できている • 適度な抽象性 • 一般性 • 単純性(良い概念,良い構造) • 耐変更性 • 再利用性 • ユースケースが実現できている • 理解の共有 無名の質

  25. モデリング1 宿題 • 別紙の課題(酒在庫問題)を読んで, ①基本定義を想定する ②基本的なユースケースを記述する ③型モデル(概念レベル)を作ってください。 必要に応じてアクティビティ図などを作ってもかまいません。

More Related