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

25
オオオオオオオオオオオオオ [11] 2002 オ 1 オ 8 オ 47070

Upload: stephanie-gutierrez

Post on 02-Jan-2016

21 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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

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

2002 年 1 月 8 日

47070

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

2

前回 モデル図の理解10.1 責任関係10.2 勘定10.3 生産管理システム10.4 素材発注システム

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

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

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

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

4

勘定 要約

ロールアップ

モデル図の理解

このインスタンス図はどう

なる?

inv: / 対象エントリ= self. 構成要素 ./ 対象エントリ

トランザクション対象エントリエントリ

数量 : 量12..*

/ 対象エントリ

構成要素{抽象}

勘定/ 残高 : 量

明細勘定要約勘定

*

0..1

*1

*

{階層 }

inv: / 対象エントリ= self. 対象エントリ

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

5

第 11 回 モデリング 1

11.1 自動改札システム11.2 CS411.3 モデルの良さの基準

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

テキスト 第 6 章

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

6

11.1 自動改札システム 自動改札システムのユースケースを考えて

ユースケース図 ユースケース記述 システム境界

アクタは誰?

乗客

チェックインする

自動改札システム

チェックアウトする

切符を買う

乗車料金を決定する

新幹線にチェックインする

検札する

事業者

モデリング1

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

7

11.1 自動改札システム 自動改札システム 特急 急行

グリーン

指定席

切符 プリペイドカード

事業者

駅*

<< 多重 >>

有効期間

乗客

定期券

普通

決済方法行使前 行使中 行使済

乗車区間+ 乗車

+ 降車

+ 経由

*

1

*

*

*

サービス便 座席

** *

*

*

*

*

割引

*乗車権

/ 料金 子供 学割 通勤 回数券

モデリング1

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

8

11.1 自動改札システム ユースケース記述

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

モデリング1

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

9

11.1 自動改札システム チェックインする

アクタ 乗客か自動改札機か現物とオブジェクトは別

ドメイン

U/I

アクタ

自動改札機切符

: 乗車権 : 乗車区間 乗車駅 : 駅アクタ

isValidisValid

checkIn

mark

OK

モデリング1

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

10

11.2 CS4 管理システム CS4 の優等コースの管理を支援するシステム

RFP ( Request for Proposal ) 要求仕様書複数の Proposal

目的 スコープ(機能) 体制 見積もり(工数,工期,スケジュール)

入札,業者選定契約 実行納入

モデリング1166~ 172 ペー

CustomerCustomer PerformerPerformer

CustomerCustomer PerformerPerformer

打診 契約

実行報告

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

11

11.2 CS4 管理システム CS4コースの管理の現状説明

優等コース CS 学科のシラバス策定委員会

来年度の授業科目( module )を決定する 学科主任

授業科目の講義担当者(講師; lecturer )の割当 講師

コースハンドブックの紹介文の更新 CS4 とりまとめ担当者

コースハンドブックの中核部分(紹介文以外)の更新 講師が書いたコースハンドブックの紹介文のチェック ハンドブック( LATEX )を HTML に変換 進級以外の CS4受講者(聴講生)を UTO に通知

CS3 とりまとめ担当者 進級する学生の一覧を CS4 のとりまとめ担当者と UTO に通知

モデリング1

166 ページ

CustomerCustomer PerformerPerformer

打診 契約

実行報告

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

12

11.2 CS4 管理システム CS4コースの管理の現状

学習指導担当者( DoS ) Dos は1年生の時に一人ひとり決められて,以来,卒業まで固定 学生にアドバイスする 履修授業科目選択の相談

学生 授業科目への仮登録;履修申請書を教務課に提出

教務課( UTO ) ハンドブックの印刷 CS4 学生原本を保守 履修者むけメーリングリスト( cs4class )の保守 履修申請をチェック

CS4 の学生であること 授業科目の組み合わせの妥当性 学生との話し合い

履修者一覧を作成し,講師に渡す 開講から 3週以内に渡してほしい

モデリング1

166 ページ

これは単なる意味の説明

これが本音?

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

13

11.2 CS4 管理システム RFP を受けての質問

認識の確認 不明の点 記述されない状況の明示化 不合理点の指摘

提案の方向性の確認 調査と分析

こんな機能が欲しい? 全職員(特に CS4 とりまとめ担当者)の業務負荷を減らしたい 学生が直接,オンラインで授業科目を登録するようにしたい 最新の正確な情報を容易に得たい 情報ソースの追跡を可能にしたい 情報作成を自動化して,講師に対する情報提供を迅速にしたい

モデリング1

167 ページ

168 ページ

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

14

11.2 CS4 管理システム われわれの方法

基本定義 コースハンドブックの作成から履修登録までを,より迅速かつ正確

に行うことを支援するシステムCustomer :講師, UTO ,学生, CS4 とりまとめ担当Agent :講師, UTO ,学生, CS4 とりまとめ担当, CS3 とりまとめ担当,学科主任, DoS

Transformation :コースハンドブックを作成し,履修登録を行うWeltanschauung :講師の手間を省いて,授業に集中させたいOwner :大学Environment : CS4 学科

基本課題迅速かつ正確な情報の収集と提供→ワークフロー自動化(コミュニケーション)→進度管理

モデリング1

すなわち,基本的な現状モデル( as-is )が新モデル

( to-be )

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

15

11.2 CS4 管理システム ワークフローの確認

コースハンドブックの作成

モデリング1

授業科目の設定

[問題あり]

シラバス策定委員会 学科主任 講師CS4 とりまとめ担当者

コースハンドブックをチェックする

コースハンドブックを HTML に変

UTO

コースハンドブックを印刷する

担当講師を決める

コースハンドブック紹介文を更新す

コースハンドブックの中核部分を作

成する

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

16

11.2 CS4 管理システム ワークフローの確認

CS4 学生一覧表の作成

モデリング1

UTOCS4 とりまとめ担当者

進級学生一覧をとりまとめる

CS4 学生一覧表原本の保守

CS4への聴講生一覧をとりまとめる

CS3 とりまとめ担当者

メーリングリストの更新

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

17

11.2 CS4 管理システム ワークフローの確認

履修者一覧表の作成

モデリング1

UTO DoS

履修申請書を作成する

履修申請書をチェックする

学生

一覧表の配付

問い合わせを受ける

[不明点あり]

UTO と話し合う[不明点なし]

or

授業科目ごとの履修者一覧の作成

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

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. 履修予定者リストを作成する。

ユースケースの候補

アクティビティの取り出しアクティビティの取り出し

システム境界を決めるシステム境界を決める

機能の発明機能の発明概念モデリング概念モデリング

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

19

11.2 CS4 管理システム ユースケースの作成

モデリング1

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

ActorActor SystemSystem

打診 契約

実行報告

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

20

11.2 CS4 管理システム 概念モデリング

主要な概念から着手 学生,講師,授業科目

時間の観念

モデリング1

聴講生

DoS

一般学生

講師

優等コース*

授業科目**担当する

1..*

6..*

1..*

6..*

学生**

1..*

6履修する

1..*

6

聴講生

DoS

一般学生

講師

学生**

履修登録66

優等コース**

授業科目**担当する

1..*

6..*

1..*

6..*

1..*1..*

コースハンドブック**

科目紹介**

**

年度**

** 170 ページ

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

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>>

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

22

11.2 CS4 管理システム ユースケース「履修申請を行う」

シーケンス図の例

モデリング1

アクタ : Registry : 優等コース : 履修登録 : 学生

getStudent( )

new

setEnroll( )

chooseModule( ) isAcceptable( )

getModule( )

registerEnroll( )

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

23

11.2 CS4 管理システム ユースケース「授業科目紹介文を書く」

シーケンス図の例

モデリング1

アクタ : 授業科目

getModule

addDescription

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

24

11.3 モデルの良さの基準 ユースケース

妥当なユースケース 目的充足性(効果的)

型モデル(概念レベル)世界( UoD )が記述できている

適度な抽象性 一般性 単純性(良い概念,良い構造) 耐変更性 再利用性

ユースケースが実現できている 理解の共有

モデリング1

無名の質

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

25

宿題 別紙の課題(酒在庫問題)を読んで,

① 基本定義を想定する② 基本的なユースケースを記述する③ 型モデル(概念レベル)を作ってください。

必要に応じてアクティビティ図などを作ってもかまいません。

モデリング1