47070 オブジェクト指向モデリング [5] 2001年11月 6日 オブジェクト指向モデリング 前回 初歩のケーススタディ 4.1 図書館問題 4.2 ユースケース 4.3 ソフトウェアプロセス 4.4 型の認識 4.5 振る舞いのモデル 4.6 概念モデルから実装モデルへ 2 初歩のケーススタディ 4.1 図書館問題 基本定義 大学が保有する図書を利用者に貸出して,返却までを追跡 するシステム CATWOE分析 システムが備えるべき機能 基本課題 要求記述としてのユースケース 概念の認識 命名と抽象 初期のモデル 型図(クラス図),シーケンス図,状態図,アクティビティ図 3 オブジェクト指向モデリング 第5回 静的モデル1 5.1 型の認識 5.2 関連 5.3 属性と操作 5.4 汎化関係 5.5 概念レベルでの特殊な表現 5.6 リファクタリング テキスト 第5章 4 静的モデル1 5.1 型の認識 型 エンティティ 実在する概念 名前を持つ 指し示されるもの 指し示すもの 境界を持つ 定義 属性 ユニークであること 別名でない 属性でない 集合 分類 <<type>> 三角形のようなもの 三角形のようなもの 5 静的モデル1 5.1 型の認識 型の識別 識別された型の相互作用で要求が完結 将来の変更にも耐えられる一般性を持つ 名詞抽出法(データ駆動) システムに関する記述から名詞(句)を抽出 妥当な概念を残すように「ふるい」にかける 冗長,あいまい,イベント,操作,メタ,スコープ(,属性) CRCカード(責任駆動) Classes - Responsibilities - Collaborators ユースケースをやってみる(ロールプレイ) 必要な責任を見出して,クラスに割り当てる クラス(型)名 責任 協調相手 6 静的モデル1 5.1 型の認識 型になるもの 目に見える「もの」:本,商品 役割(ロール):従業員,顧客 事象:受注,退会 相互作用:? 属性:高さ,灰色さ,時点,名前,住所 属性か型かは非常に微妙 基本型 UoD,文脈,視点 オブジェクトの相互作用がシステムである 制御オブジェクトは要注意! 7 静的モデル1 5.2 関連 関連(association) ソースを主語とし,関 連名を述語として読 めるように... 図書館にある「本」 関連の方向 ソース → ターゲット 本 is a copy of 0..* 1..1 著書 実践ファンクションポイント法 1番め 2番め リファクタリング 3番め UMLを使って 本 著書 8 静的モデル1 5.2 関連 多重度(multiplicity) インスタンスどうしの対応(リンク)数 対応の方向 0,1,* 最小値..最大値 本 is a copy of 0..* 1..1 著書 実践ファンクションポイント法 1番め 2番め リファクタリング 3番め UMLを使って 本 著書 9 静的モデル1 5.2 関連 演習 問 「学生」は最多で6つまでの「授業科目」を履修でき,各 「授業科目」には最多で25人の「学生」を登録できる。 学生 0..25 0..6 授業科目 問 このような関連の実装方法を考えてください。 10 静的モデル1 5.2 関連 演習 多重度を指定してください。 親 子 11 静的モデル1 5.2 関連 演習 多重度を指定してください。 親 0..* 0..* 子 Aさん Dさん Eさん Fさん Bさん Cさん 親 子 12 静的モデル1 5.2 関連 これで正しいですか 親の親は?子の子は? 再帰関連 0..* 親 人 子 ロール(役割) 0..* 親 Dさん Eさん 子 Fさん Aさん Bさん 人 Cさん 13 静的モデル1 5.2 関連 演習 じゃあ,兄弟は?叔父叔母は?いとこは? 0..* 親 人 子 0..* 宿題 6親等までを扱うための型モデルを書いてください 養子縁組はないものとする 離婚,再婚はないものとする 14 静的モデル1 5.3 属性と操作 属性 理解に必要な属性 本 何番め 購入日 借りた日 返却予定日 : 著書 is a copy of 0..* 1..1 書名 著者 訳者 発行日 ISBN 貸出可能数 : 15 静的モデル1 5.3 属性と操作 操作 責任の割当てを指定(暗示的仕様) 本 何番め 購入日 借りた日 返却予定日 : is貸出可能() 借りる() : 著書 is a copy of 0..* 1..1 書名 著者 訳者 発行日 ISBN 貸出可能数 : 貸出実施() ユースケースを 実現するために 必要な操作 16 静的モデル1 5.3 属性と操作 操作の割当て 著書 a:会員 b:本 c:著書 Aさん:利用者 isValid(Aさん) 借りる(b) is貸出可能() 借りる() 書名 著者 訳者 発行日 ISBN 貸出可能数 : 貸出実施() 貸出実施() 1..1 is a copy of 0..* 本 会員 氏名 住所 : isValid() 借りる(本) : borrows/returns 1..1 何番め 購入日 1..* 借りた日 返却予定日 : is貸出可能() 借りる() : 17 静的モデル1 5.3 属性と操作 操作の割当て d:貸出 a:会員 c:著書 b:本 利用者 著書 書名 著者 訳者 発行日 ISBN /貸出可能数 : new 1..1 is a copy of 0..* 会員 氏名 住所 : isValid() : 貸出 本 借りた日 0..* 返却予定日 1..1 : 借りる() 返却() : 0..* 何番め 購入日 1..1 : is貸出可能() : 18 静的モデル1 5.4 汎化関係 汎化 部分集合 責任の特化 会員 会員 職員の会員 職員の会員 List 複素数 実数 AddressBook 実数 複素数 AddressBook List 19
© Copyright 2025 ExpyDoc