オブジェクト指向モデリング [11]
DESCRIPTION
47070. オブジェクト指向モデリング [11]. 2002 年 1 月 8 日. オブジェクト指向モデリング. 前回 モデル図の理解. 10.1 責任関係 10.2 勘定 10.3 生産管理システム 10.4 素材発注システム. 依頼者. *. *. 責任関係型. パーティ型. 1..*. 1..*. 実行者. *. *. 1..*. 1..*. 型. 1. 1. 型. 1. 1. 知識レベル. 操作レベル. *. *. 依頼者. *. *. *. *. パーティ. 1. 1. 責任関係. *. - PowerPoint PPT PresentationTRANSCRIPT
オブジェクト指向モデリング[11]
2002 年 1 月 8 日
47070
2
前回 モデル図の理解10.1 責任関係10.2 勘定10.3 生産管理システム10.4 素材発注システム
オブジェクト指向モデリング
3
責任関係 知識レベルと操作レベル
パワータイプ(ベキ型) 操作レベルの型の制約を記述 鏡像関係
モデル図の理解
inv: collx:set( 責任関係 )=self.the 責任関係 collX->forALL ( x | x. 型 . 依頼者 ->includes(x. 依頼者 . 型) and x. 型 . 実行者 ->includes(x. 実行者 . 型))
知識レベル操作レベル
人 組織期間
作業パーティ責任関係
1**
**
** 1
**
1*
パーティ型
*
1
*
責任関係型
*
1
*
型
1..**
1..**
1..**
1..**
実行者
依頼者1
1
1
有効期限
依頼者
実行者
型 1
4
勘定 要約
ロールアップ
モデル図の理解
このインスタンス図はどう
なる?
inv: / 対象エントリ= self. 構成要素 ./ 対象エントリ
トランザクション対象エントリエントリ
数量 : 量12..*
/ 対象エントリ
構成要素{抽象}
勘定/ 残高 : 量
明細勘定要約勘定
*
0..1
*1
*
{階層 }
inv: / 対象エントリ= self. 対象エントリ
5
第 11 回 モデリング 1
11.1 自動改札システム11.2 CS411.3 モデルの良さの基準
オブジェクト指向モデリング
テキスト 第 6 章
6
11.1 自動改札システム 自動改札システムのユースケースを考えて
ユースケース図 ユースケース記述 システム境界
アクタは誰?
乗客
チェックインする
自動改札システム
チェックアウトする
切符を買う
乗車料金を決定する
新幹線にチェックインする
検札する
事業者
モデリング1
7
11.1 自動改札システム 自動改札システム 特急 急行
グリーン
指定席
切符 プリペイドカード
事業者
駅*
<< 多重 >>
有効期間
乗客
定期券
普通
決済方法行使前 行使中 行使済
乗車区間+ 乗車
+ 降車
+ 経由
*
1
*
*
*
サービス便 座席
** *
*
*
*
*
割引
*乗車権
/ 料金 子供 学割 通勤 回数券
モデリング1
8
11.1 自動改札システム ユースケース記述
ユースケース名:チェックインする。アクタ:乗客目的:妥当な乗客であることを証明し入場する。事前条件:アクタは入場していない。基本系列: ①アクタは,自分が妥当な乗客である証明をシステムに提示する。 ②システムはその証明を確認し,妥当であれば入場を許す(同時にその乗 客が入場した旨を記録する)。 ③アクタは入場する。 ④システムは,そのアクタが入場したとき,その証明を返却する(直ちに,他 の乗客が続いて入場しないようにする)。事後条件:アクタは入場している(入場が記録されている)。代替系列: A 基本系列②で証明が妥当でなかった場合 ,...備考:システムは次の乗客を停滞させないこと。 システムは乗客の再入場を阻止する。
モデリング1
9
11.1 自動改札システム チェックインする
アクタ 乗客か自動改札機か現物とオブジェクトは別
ドメイン
U/I
アクタ
自動改札機切符
: 乗車権 : 乗車区間 乗車駅 : 駅アクタ
isValidisValid
checkIn
mark
OK
モデリング1
10
11.2 CS4 管理システム CS4 の優等コースの管理を支援するシステム
RFP ( Request for Proposal ) 要求仕様書複数の Proposal
目的 スコープ(機能) 体制 見積もり(工数,工期,スケジュール)
入札,業者選定契約 実行納入
モデリング1166~ 172 ペー
ジ
CustomerCustomer PerformerPerformer
CustomerCustomer PerformerPerformer
打診 契約
実行報告
11
11.2 CS4 管理システム CS4コースの管理の現状説明
優等コース CS 学科のシラバス策定委員会
来年度の授業科目( module )を決定する 学科主任
授業科目の講義担当者(講師; lecturer )の割当 講師
コースハンドブックの紹介文の更新 CS4 とりまとめ担当者
コースハンドブックの中核部分(紹介文以外)の更新 講師が書いたコースハンドブックの紹介文のチェック ハンドブック( LATEX )を HTML に変換 進級以外の CS4受講者(聴講生)を UTO に通知
CS3 とりまとめ担当者 進級する学生の一覧を CS4 のとりまとめ担当者と UTO に通知
モデリング1
166 ページ
CustomerCustomer PerformerPerformer
打診 契約
実行報告
12
11.2 CS4 管理システム CS4コースの管理の現状
学習指導担当者( DoS ) Dos は1年生の時に一人ひとり決められて,以来,卒業まで固定 学生にアドバイスする 履修授業科目選択の相談
学生 授業科目への仮登録;履修申請書を教務課に提出
教務課( UTO ) ハンドブックの印刷 CS4 学生原本を保守 履修者むけメーリングリスト( cs4class )の保守 履修申請をチェック
CS4 の学生であること 授業科目の組み合わせの妥当性 学生との話し合い
履修者一覧を作成し,講師に渡す 開講から 3週以内に渡してほしい
モデリング1
166 ページ
これは単なる意味の説明
これが本音?
13
11.2 CS4 管理システム RFP を受けての質問
認識の確認 不明の点 記述されない状況の明示化 不合理点の指摘
提案の方向性の確認 調査と分析
こんな機能が欲しい? 全職員(特に CS4 とりまとめ担当者)の業務負荷を減らしたい 学生が直接,オンラインで授業科目を登録するようにしたい 最新の正確な情報を容易に得たい 情報ソースの追跡を可能にしたい 情報作成を自動化して,講師に対する情報提供を迅速にしたい
モデリング1
167 ページ
168 ページ
14
11.2 CS4 管理システム われわれの方法
基本定義 コースハンドブックの作成から履修登録までを,より迅速かつ正確
に行うことを支援するシステムCustomer :講師, UTO ,学生, CS4 とりまとめ担当Agent :講師, UTO ,学生, CS4 とりまとめ担当, CS3 とりまとめ担当,学科主任, DoS
Transformation :コースハンドブックを作成し,履修登録を行うWeltanschauung :講師の手間を省いて,授業に集中させたいOwner :大学Environment : CS4 学科
基本課題迅速かつ正確な情報の収集と提供→ワークフロー自動化(コミュニケーション)→進度管理
モデリング1
すなわち,基本的な現状モデル( as-is )が新モデル
( to-be )
15
11.2 CS4 管理システム ワークフローの確認
コースハンドブックの作成
モデリング1
授業科目の設定
[問題あり]
シラバス策定委員会 学科主任 講師CS4 とりまとめ担当者
コースハンドブックをチェックする
コースハンドブックを HTML に変
換
UTO
コースハンドブックを印刷する
担当講師を決める
コースハンドブック紹介文を更新す
る
コースハンドブックの中核部分を作
成する
16
11.2 CS4 管理システム ワークフローの確認
CS4 学生一覧表の作成
モデリング1
UTOCS4 とりまとめ担当者
進級学生一覧をとりまとめる
CS4 学生一覧表原本の保守
CS4への聴講生一覧をとりまとめる
CS3 とりまとめ担当者
メーリングリストの更新
17
11.2 CS4 管理システム ワークフローの確認
履修者一覧表の作成
モデリング1
UTO DoS
履修申請書を作成する
履修申請書をチェックする
学生
一覧表の配付
問い合わせを受ける
[不明点あり]
UTO と話し合う[不明点なし]
or
授業科目ごとの履修者一覧の作成
18
11.2 CS4 管理システム ユースケースの作成
どのアクティビティを取り出すか コースハンドブックを作成する CS4 学生リストを生成する 履修申請する
システム境界を決める機能の発明
概念モデルを作る
モデリング1
教科書( p.168 )のユースケースの粒度は大きす
ぎる
1. コースハンドブックの授業科目紹介文を書く。2. コースハンドブックの中核部分を書く。3. コースハンドブックを編集する。4. コースハンドブックを HTML に変換する。5. コースハンドブックを印刷する。6. CS3→CS4進級者を登録する。7. CS4聴講生を登録する。8. CS4登録学生を保守する。9. CS4メーリングリストを保守する。10. 履修申請を行う。11. 履修申請を照会する。12. 履修申請を確定する。13. 履修予定者リストを作成する。
ユースケースの候補
アクティビティの取り出しアクティビティの取り出し
システム境界を決めるシステム境界を決める
機能の発明機能の発明概念モデリング概念モデリング
19
11.2 CS4 管理システム ユースケースの作成
モデリング1
ユースケース名:コースハンドブックの授業科目 紹介文を書く。アクタ:講師目的:学生が授業科目を正しく選択できるように情報を提供する。事前条件:当該年度の紹介文は登録されていない。基本系列: ①アクタは,対象の授業科目を指定して紹介文の入力を要請する。 ②システムは授業科目のインデックス情報(と,過去の紹介文があればそれ) を表示して,紹介文の入力を促す。 ③アクタは紹介文を入力する。 ④システムは,当該年度の紹介文が入力されたことを登録する。事後条件:当該年度の紹介文が登録されている。代替系列: ...備考:紹介文は 400文字程度であること。
ActorActor SystemSystem
打診 契約
実行報告
20
11.2 CS4 管理システム 概念モデリング
主要な概念から着手 学生,講師,授業科目
時間の観念
モデリング1
聴講生
DoS
一般学生
講師
優等コース*
授業科目**担当する
1..*
6..*
1..*
6..*
学生**
1..*
6履修する
1..*
6
聴講生
DoS
一般学生
講師
学生**
履修登録66
優等コース**
授業科目**担当する
1..*
6..*
1..*
6..*
1..*1..*
コースハンドブック**
科目紹介**
**
年度**
** 170 ページ
21
11.2 CS4 管理システム 実装モデリング
責任の配置 操作上の人工物冗長な参照の削除
モデリング1
聴講生
DoS
学生氏名
**
一般学生
validateChoices()
講師氏名
teachModule()
優等コース名称一般説明文
isHandbookReady()isAcceptable()
**
履修登録成績
registerEnroll()deregisterEnroll()chooseModule()chooseStudent()
66
授業科目科目名紹介文
setLecturer()checkOutDescription()checkInDescription()isUpToDate()makeStudentList()
**担当する
1..*
6..*
1..*
6..*
1..*1..*
Registry
getStudent()getLecturer()getDos()getModule()getCourse()getEnroll()
<<Facade>>
Login
setup()adminstratorLogin()addStudent()addLecturer()addModule()changeLecturer()studentLogin()lecturerLogin()
<<UserInterface>>
22
11.2 CS4 管理システム ユースケース「履修申請を行う」
シーケンス図の例
モデリング1
アクタ : Registry : 優等コース : 履修登録 : 学生
getStudent( )
new
setEnroll( )
chooseModule( ) isAcceptable( )
getModule( )
registerEnroll( )
23
11.2 CS4 管理システム ユースケース「授業科目紹介文を書く」
シーケンス図の例
モデリング1
アクタ : 授業科目
getModule
addDescription
24
11.3 モデルの良さの基準 ユースケース
妥当なユースケース 目的充足性(効果的)
型モデル(概念レベル)世界( UoD )が記述できている
適度な抽象性 一般性 単純性(良い概念,良い構造) 耐変更性 再利用性
ユースケースが実現できている 理解の共有
モデリング1
無名の質
25
宿題 別紙の課題(酒在庫問題)を読んで,
① 基本定義を想定する② 基本的なユースケースを記述する③ 型モデル(概念レベル)を作ってください。
必要に応じてアクティビティ図などを作ってもかまいません。
モデリング1