オブジェクト指向モデリング [2] 2003年10月 7日 授業資料の置き場 URL http://www.crew.sfc.keio.ac.jp/ lecture/2003objmodel/index.html 2 1.モデルとは何か 1.1 モデル モデルとは, ある人にとっての, ある状況あるいは状況の概念の 明示的な解釈 概念モデル 関心領域についての考察を助ける 構造と論理を定義する 解釈の主体 観察の視点 3 オブジェクト指向モデリング シラバス 授業計画 回 1 2 3 4 5 6 7 8 9 10 11 12 13 月日 9月 30日 10月 7日 10月14日 10月21日 10月28日 11月 4日 11月11日 11月18日 12月 2日 12月 9日 12月16日 1月13日 1月20日 内容 オリエンテーション:モデルとは何か。 モデリング言語:UMLの概要 静的モデル1:概念とクラス 静的モデル2:関連 静的モデル3:オブジェクト図 静的モデル4:高度な関連 機能モデル1:ユースケース 機能モデル2:ユースケース記述,シナリオ 動的モデル:協調図,シーケンス図,状態図,活動図 モデル図の理解:アナリシスパターン,事例 モデリング1:モデル図の作成,モデルの評価基準 モデリング2:例題によるユースケース記述 モデリング3:例題によるモデル図の作成 4 オブジェクト指向モデリング 2. モデリング言語 2.1 UMLの歴史 2.2 表記法の概要 2.3 開発プロセスとモデル 5 2. モデリング言語 2.1 UMLの歴史 Three Amigos James Rumbaugh Grady Booch Ivar Jacobson Unified Modeling Language 1995年10月 1997年 1月 1998年 6月 2001年 2月 2003年 5月 2003年12月? Openなプロセスに Unified Method V0.8 よって改良 UML 1.1 on OMG UML 1.3 ISO/IEC 19501-1(DIS) UML 1.4 UML 1.4.1 UML 1.5 UML 2.0 UML Specification 手続き中 6 2. モデリング言語 2.2 表記法の概要(0) 9種の表記法 関心 観点 静的側面 概念レベル 仕様レベル 実装レベル 図の要素 モデル管理 汎用拡張機構 アクションの記述 機能側面 動的側面 物理側面 ③ユースケース図 ①クラス図 ②オブジェクト図 ④協調図 ⑤シーケンス図 ⑥ステート ⑦活動図 チャート図 ⑧コンポーネント図 ⑨配置図 ノート,型-インスタンスの対応 パッケージ 制約と注釈,ステレオタイプ アクションセマンティクス 7 2. モデリング言語 2.2 表記法の概要(1) 制約: 対応する明細の価格の合計は 1円以上であること 共通の図形要素 ノート パッケージ 依存性の矢印 ステレオタイプ 明細 価格 {ordered} ノート 取引 * パッケージ 人事 給与 厚生 《requirement》 A社の構造体に合わせる 依存性の矢印 《実装クラス》 銀行口座 《実装》 《type》 銀行口座 請求管理 口座管理 8 2. モデリング言語 2.2 表記法の概要(2) クラス図 オブジェクト図 蔵書している 1 リファクタリング 2 集合と要素 6 3 アナリシスパターン 4 5 :本 蔵書番号=1 借りた日=02.06.20 返却予定日=02.07.10 : オブジェクト 本 :書名 :本 書名=リファクタリング 著者=Fowler,M. 訳者=児玉公信 現在の貸出し可能数=2 : 蔵書番号=2 借りた日= 返却予定日= :本 蔵書番号=3 借りた日= 返却予定日= 書名 本 蔵書番号 借りた日 返却予定日 : is貸出し可能() 借りる() : 書名 関連名 蔵書している * 関連 多重度 1 書名 著者 訳者 現在の貸出し可能数 : 貸出し実施() 返却() リンク クラス 9 2. モデリング言語 2.2 表記法の概要(2) クラス図の例 カテゴリ 名称 /売上金額 /在庫 日 /在庫量 * 1 /商品別集計 日 /売上金額 /製造原価 /利益 1 1 * 商品 商品名 日 単価 原価 /在庫 1 * {xor} * Entry 数量 * 1 Transaction 日 時 1 導出: let x:Entry=self.the商品.theEntry in /製造原価 =x->select(e| (isTypeOf(e.theTansaction) =製造 or 廃棄) and (e.theTransaction.日=self.日) -> forAll(e| e.数量 * self.the商品.原価) ->sum * 現物 製品番号 /賞味期限 1 theTransactionが 生産または廃棄 のとき,the商品は 導出 廃棄 製造 販売 /合計金額 10 2. モデリング言語 2.2 表記法の概要(3) ユースケース 貸出要求 司書 ユースケース図 ユースケース(記述) 返却情報 図書館システム 本の情報 機能要求の記述 どんな機能が必要かは分解していけばわか る? シナリオ 図書館システム 本を貸出す 本の返却を受付ける 司書 本を書架に戻す 11 2. モデリング言語 2.2 表記法の概要(4) 相互作用図 :書名 責任の配分 オブジェクト間の対話 :本の借り手 1.2:貸出し実施 借りたい 協調(collaboration)図 シーケンス図 :会員 :本 1:借りる 1.1: is貸出し可能 :会員 :本 :書名 :本の借り手 借りたい 1:借りる( ) 1.1:is貸出し可能( ) 生存線 活性期間 1.2:貸出し実施( ) 12 2. モデリング言語 2.2 表記法の概要(5) 状態図 ステートチャート図 状態 遷移 イベント[ガード]/アクション 返却() 返却() 遷移の矢印 貸出し不可 初期状態 貸出し可 貸出し実施()[最後の本] 状態 イベント 貸出し実施()[最後の本でない] 13 2. モデリング言語 2.2 表記法の概要(6) 状態図 会員 司書 本を検索する 貸出を確認 する 活動(activity)図 制御構造 if-then-else do-while / do-until [なし] [だめ] [あり] ワークフロー 書架に本を 見つける the本:蔵書 [未貸出] 貸出を記録 する split / join 貸出を申し出 る オブジェクトフロー 遷移の矢印 [よし] 帯出を許可 する 許可 [不可] [可] 帯出する the本:蔵書 [貸出済] オブジェクト 14 2. モデリング言語 2.2 表記法の概要(7) 物理図 :司書モジュール コンポーネント図 配置図 コンポーネント is貸出し可能 《CORBA》 :蔵書モジュール pc1 《LAN》 m1: mailserver :hub fw1: firewall server1: httpserver ノード 15 2. モデリング言語 2.3 開発プロセスとモデル ソフトウエアプロセス ワークフロー フェーズ設定 制約,価値観 変換(演繹) 判断 Function Function Requirements 要求記述 変換 機能 機能 方向づけ 推敲 構築 移行 分析 設計 制作 検査 制約,価値観 変換(演繹) 判断 変換 Feature Feature Feature 機能 機能 機能 制約,価値観 変換(演繹) 判断 変換 Artifact Artifact Artifact Artifact 実装 実装 実装 実装 要求記述(ユースケース) 分析 設計 概念レベル 仕様レベル 型図(クラス図) クラス図 ワークフロー(活動図) 相互作用図 制作 検査 実装レベル クラス図 配置図 16
© Copyright 2025 ExpyDoc