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