オブジェクト指向モデリング [1] 2003年9月30日 オブジェクト指向モデリング 講師紹介 児玉公信 (株)エクサ 技術部 兼 エンタープライズソリューション事業部 オブジェクト指向技術の社内・社外のコンサルテーション 生産管理システムのコンサルテーション SPBOM(オブジェクト指向による生産管理システム)の事業化 技術士(情報工学部門) 著書 「実践ファンクションポイント法」,日本能率協会マネジメントセンター,1999 「UMLによるシステム分析設計」,日経ITプロフェッショナル連載,2002.06~ 2003.12 訳書 Date著 「データベースシステム概論」,丸善,1997 Fowler著 「アナリシスパターン」,ピアソン,1998 Ricketts著 「ソフトウエア開発のプロジェクトマネジメント入門」,日刊工業,1999 Fowler著 「リファクタリング」,ピアソンエデュケーション,2000 Stevens著 「オブジェクト指向とコンポーネントによるソフトウェア工学」,ピアソン,2000 Marshal著 「企業情報システムの一般モデル」,ピアソン,2001 Erikkson & Penker著 「UMLによるビジネスモデリング」,ソフトバンク,2002 Garmus & Herron著 「ファンクションポイントの計測と分析」,ピアソン,2003 2 オブジェクト指向モデリング 参考文献 [1] Stevens,児玉監訳,「オブジェクト指向とコンポーネントによるソフトウェア工学- UMLを使って-」,ピアソンエデュケーション,2000,ISBN4-89471-263-6 [2] OMG,OMG Japan SIG翻訳委員会 UML作業部会訳,「UML仕様書」,アスキー, 2001 [3] Fowler,児玉ほか訳,「アナリシスパターン」,ピアソンエデュケーション,1998 [4] 児玉,「UMLによるシステム分析設計」,日経ITプロフェッショナル連載,2002.06 ~2003.12 [5] Marshal,児玉監訳,「企業情報システムの一般モデル」,ピアソン,2001 [6] Erikkson & Penker,児玉ほか訳,「UMLによるビジネスモデリング」,ソフトバンク, 2002 [7] GoF,本位田,吉田監訳,「デザインパターン(改訂版)」,ソフトバンク,1999 [8] Alexander,宮本訳,「オレゴン大学の実験」,鹿島出版,1977 [9] Jacobson,西岡ほか訳,「オブジェクト指向ソフトウエア工学OOSE」,トッパン,1995 [10] Wilson,根来監訳:「システム仕様の分析学」,共立出版,1996 3 オブジェクト指向モデリング この講義の主題と目標 思考を支えるモデリング ビジネス要求の本質を理解し,当事者間で共有する活動 システム思考(対象をシステムとして見る) 情報システムは成長(変化)するものだという考え方 学ぶこと 良いモデル ビジネス構造やビジネスルールを的確に記述 変更に耐えられる問題領域の概念構造を追求する モデルの書き方 要求記述,対象領域の概念構造の記述,業務フローの記述,オブジェク トどうしの対話の記述 4 オブジェクト指向モデリング シラバス 授業計画 回 月日 1 9月 30日 2 10月 7日 3 10月14日 4 10月21日 5 10月28日 6 11月 4日 7 11月11日 8 11月18日 9 12月 2日 10 12月 9日 11 12月16日 12 1月13日 13 1月20日 試験 1月27日 内容 オリエンテーション:モデルとは何か モデリング言語:UMLの概要 静的モデル1:概念とクラス 静的モデル2:関連 静的モデル3:オブジェクト図 静的モデル4:高度な関連 機能モデル1:ユースケース 機能モデル2:ユースケース記述,シナリオ 動的モデル:協調図,シーケンス図,状態図,活動図 モデル図の理解:アナリシスパターン,事例 モデリング1:モデル図の作成,モデルの評価基準 モデリング2:例題によるユースケース記述 モデリング3:例題によるモデル図の作成 UMLの基礎知識,オブジェクト図,ユースケース記述,モデル図の作成 5 大福帳 授業の途中で,ふと疑問に思ったことなどを「大福 帳」に書いてください。もちろん,その場で質問してい ただくことも歓迎します。 授業の終わりに回収します。 講師のコメントを記入して,次回の授業の始めに,教 室の前に置いておくので,取りに来てください。 自分の大福帳がすぐに分かるようにマークを付けて おくとよいでしょう。 1回目は,この授業に期待することなども書いていた だければうれしいです。 6 オブジェクト指向モデリング 1. モデルとは何か 1.1 モデル 1.2 概念モデル 1.3 認識主体 1.4 モデリングの歴史 7 1.モデルとは何か 1.1 モデル モデルとは, ある人にとっての, ある状況あるいは状況の概念の 明示的な解釈 モデルの分類 アイコン型モデル ミニチュア模型(or 拡大模型) 類比型モデル 実物の代わり 分析型モデル 数式表現 世界 概念モデル 8 1.モデルとは何か 1.2 概念モデル 概念モデル 関心領域についての考察を助ける 概念を図式化する 構造と論理を定義する 設計の前提とする メンタルモデル Johnson-Lairdなど 思考操作のための概念構造の表現 捨象,単純化 構造の理解→シミュレーション,予測 ミシンの上糸と下糸 認識の共有 モデル表記上の約束事→モデリング言語 9 1.モデルとは何か 1.3 認識主体 モデルの認識主体 システムのOwner/Observerの視点 システムの階層性 要求を持つもの アクタと役割(Role) 視点が異なるモデルは単純に接続できない 意味/世界観のギャップ 認識主体はモデルには現れない モデリングする人(modeler) 概念→仕様→実装 良いモデル 本質性 耐変更性 最小かつ完備 10 1.モデルとは何か 1.4 モデリングの歴史(1) *c==‘/’ c++ プログラムロジックの構造 c++ *c<>‘/’ 5つの構造 sequence if-then-else do-while/do-until switch search open yes *c==‘/’ no c++ c++ c++ get c *c==‘/’ yes *c==‘/’ no 構造図 c==1 i=0 c==2 yes no c==3 i+=i/2 i-=i/2 yes i > b no i++ get c c==‘/’ t[i]==a get c no yes c==‘*’ c=‘’ c=t[i] PADチャート 11 1.モデルとは何か 1.4 モデリングの歴史(2) プログラム構造図 モジュール構造図 請求する モジュール呼び出しと結果 モジュラリティ 結合度 利用 レコード 正常結合 基本料金を 計算する データ結合 同一データ結合(構造体) 制御結合(コマンド) 共通結合(大域領域の共有) 内容結合(相手の内容を直接参照) 基本 料金 利用 レコード 追加 料金 追加料金を 計算する モジュール図 凝集度 Factoring(単一の機能に分解) 12 1.モデルとは何か 1.4 モデリングの歴史(3) プログラム構造図 バッチ処理のプログラム * データの並び方の構造を反映 ST ○ 繰り返し 前処理 プログラム while ~EOF 主処理 後処理 ワーニエ法 open clear GT clear MT clear ST read sum ST read if ST break sum ST print ST MT += ST print MT GT += MT print GT close MT○ GT○ print ST MT += ST if MT break clear ST print MT GT += MT if GT break clear MT ジャクソン木 print GT clear GT ST key MT key GT key 13 1.モデルとは何か 1.4 モデリングの歴史(4) DFD(Data-flow Diagram) データが入って出ていくまで source と sink … 外部エンティティ しかし,そうはうまく行かなかった… 「機能」は分解できるのか process,data store,data flow 機能分割の原理 機能を分解して,最小単位でコーディング モジュールの再利用 再組立ては可能なのか 得られたモジュールの粒度は D A A C B G F D C H E E B J 14 1.モデルとは何か 1.4 モデリングの歴史(5) ワークフロー図 作業の順序 業務フロー 制御構造 並行処理(分岐と待ち合わせ) 作業間で渡されるデータ 注文データ 注文を受け る 在庫を確認 する IDEF0(SADT) 受注係 注文を受け る WfMC+Kodama 受注係 受注係 在庫を確認 する 出荷係 出荷指示を する 注文 出荷する 輸送係 納入する 出荷指示書 15 1.モデルとは何か 1.4 モデリングの歴史(6) データモデル キーの参照関係 バックマン線図 スキーマ図 親子関係 繰り返し(1 : n) 階層型データモデル ERD(Entity-Relationship Diag.) 3層スキーマモデル 外部スキーマ 概念スキーマ 物理スキーマ 意味データモデル 学生 学生 学生 学生 氏名 生年月日 履修 評価 科目 N 科目 成績 N 履修 履修 履修 * 成績 科目 * 科目 科目名 単位 16 1.モデルとは何か 1.4 モデリングの歴史(7) 1970年代 前半 1980年代 後半 前半 PASCAL smalltalk 構造化プログラミング 1990年代 後半 C(ANSI) Ada 構造化方法論 前半 Eiffel C++ IPT ワーニエ法 JSP モジュール構造図 構造化チャート DFD バックマン線図 ペトリネット 状態遷移図 E-R図 ラショナル 統一プロセス エクストリーム プログラミング CASE NSチャート SADT図 (IDEF0) IDEF1 IDEF1X デザインパターン シーケンス図 Odell図 MDA アナリシスパターン ビジネスモデリング モジュール図, プロセス図 さまざまな クラス図, オブジェクト図 前半 JAVA XML RAD HCP, PADなど JSD HIPO 後半 オブジェクト指向方法論 ウォータフォール 2000年代 1.0 UML 1.3 1.4 1.5 2.0 IDEF3 Harel図 シナリオ ユースケース 17 1.モデルとは何か 1.4 モデリングの歴史(8) プログラムから「概念」へ プログラムロジック モジュール プログラム構造 機能の構造 データの構造 概念の構造 要求の構造 ビジネスの仕組み 18 1.モデルとは何か 1.4 モデリングの歴史(8) 目に見えない「情報システム」をどう記述するべきか 3つの側面 データ ERD 処理 DFD 状態 STD 互いに整合 19 1.モデルとは何か 1.4 モデリングの歴史(9) UMLによる「情報システム」の記述 3つの側面 クラス図,オブジェクト図 協調図,シーケンス図 ステートチャート図,活動図 要求 ユースケース(図) 20
© Copyright 2024 ExpyDoc