オブジェクト指向モデリング [1] 2003年9月30日.

Slides:



Advertisements
Similar presentations
Chapter1 UML の概要とオブジェクト指向の基本概念 1 情報工学専攻 MFM10004 奥平 健太.
Advertisements

ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
4 相互作用図 後半 FM13001 青野大樹.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
C言語システムプログラミング クラス分け 1の人:紫合クラス(302教室) 学籍番号を3で割った余りが、 0の人:冬爪クラス(208教室)
リレーショナル・データベース データベース論 第10回.
オブジェクト指向プログラミング(4) 静的分析(2)
SQL J2EE I 第3回 /
ユースケース図 FM12012 比嘉久登.
情報処理学会・経営情報学会 連続セミナー第3回 情報システム構築アプローチ 主旨
グループ研究1班 第一章 経営戦略とは何か 雨森 彩 大嶋 健夫 小沢 博之.
経済情報処理ガイダンス 神奈川大学 経済学部.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
情報科学1(G1) 2016年度.
UMLの概要と オブジェクト指向の 基本概念
経済情報処理ガイダンス 神奈川大学 経済学部.
変数のスコープの設計判断能力 を育成するプログラミング教育
プログラミング言語論 プログラミング言語論 ガイダンス 水野 嘉明 ガイダンス 1 1.
BPMN(Business Process Modeling Notation)
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
ユースケース オブジェクト指向の要求分析のためのモデル。 スウェーデンのイヴァー・ヤコブソンが1990年代前半に開発。
朝日大学大学院 経営学研究科 奥山 徹 データベース論 朝日大学大学院 経営学研究科 奥山 徹 2006/05/29 データベース論(7回目)
オブジェクト プログラミング 第1回.
UMLとは           032234 田邊祐司.
経済情報処理ガイダンス 神奈川大学 経済学部.
47070 オブジェクト指向モデリング [12] 2002年1月15日.
オブジェクト指向モデリング [3] 2003年10月14日.
ソフトウェア工学 第四回 知能情報学部 新田直也.
チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室
47070 オブジェクト指向モデリング [1] 2001年10月2日.
47070 オブジェクト指向モデリング [1] 2002年10月1日.
その他の図 Chapter 7.
47070 オブジェクト指向モデリング [7] 2001年11月 12日.
Structured programming
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
社会シミュレーションのための モデル作成環境
オブジェクト指向モデリング [2] 2003年10月 7日.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
All Rights Reserved, Copyright © 2004, Kobayashi
シナリオのアニメーション表示による 妥当性確認支援
11.3 酒屋の在庫問題(8) ユースケース 仕入販売支援システム 11. モデリング 受注する 入庫を記録する 在庫を引き当てる 受付係
47070 オブジェクト指向モデリング [3] 2001年10月16日.
物理的側面を表現する図 Chapter6 物理的側面を表現する図について徐研究室の大楠が発表します。 FM13005 大楠拓也 徐研究室.
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
オブジェクト指向言語論 第十四回 知能情報学部 新田直也.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
UMLの概要とオブジェクト指向の基本概念
情報処理基礎A・B 坂口利裕 横浜市立大学・商学部
ソフトウェア工学 知能情報学部 新田直也.
All Rights Reserved, Copyright © 2004, Kobayashi
「クラナビ」 カード操作規約 enTranceプロジェクト.
リレーショナル・データベース J2EE I (データベース論) 第2回 /
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
オブジェクト指向モデリング [9] 2003年12月2日.
データ中心システム設計方法論“DATARUN” 
ソフトウェア工学 知能情報学部 新田直也.
47070 オブジェクト指向モデリング [3] 2001年10月15日.
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
SQL J2EE I (データベース論) 第3回 /
オブジェクト指向モデリング [13] 2004年1月20日.
Presentation transcript:

オブジェクト指向モデリング [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

オブジェクト指向モデリング 参考文献 [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

この講義の主題と目標 思考を支えるモデリング 良いモデル モデルの書き方 ビジネス要求の本質を理解し,当事者間で共有する活動 オブジェクト指向モデリング この講義の主題と目標 思考を支えるモデリング ビジネス要求の本質を理解し,当事者間で共有する活動 システム思考(対象をシステムとして見る) 情報システムは成長(変化)するものだという考え方 学ぶこと 良いモデル ビジネス構造やビジネスルールを的確に記述 変更に耐えられる問題領域の概念構造を追求する モデルの書き方 要求記述,対象領域の概念構造の記述,業務フローの記述,オブジェクトどうしの対話の記述

シラバス 授業計画 回 月日 内容 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の基礎知識,オブジェクト図,ユースケース記述,モデル図の作成

大福帳 授業の途中で,ふと疑問に思ったことなどを「大福帳」に書いてください。もちろん,その場で質問していただくことも歓迎します。 授業の終わりに回収します。 講師のコメントを記入して,次回の授業の始めに,教室の前に置いておくので,取りに来てください。 自分の大福帳がすぐに分かるようにマークを付けておくとよいでしょう。 1回目は,この授業に期待することなども書いていただければうれしいです。

オブジェクト指向モデリング 1. モデルとは何か 1.1 モデル 1.2 概念モデル 1.3 認識主体 1.4 モデリングの歴史

1.1 モデル モデルとは, モデルの分類 ある人にとっての, ある状況あるいは状況の概念の 明示的な解釈 アイコン型モデル 類比型モデル 1.モデルとは何か 1.1 モデル モデルとは, ある人にとっての, ある状況あるいは状況の概念の 明示的な解釈 モデルの分類 アイコン型モデル ミニチュア模型(or 拡大模型) 類比型モデル 実物の代わり 分析型モデル 数式表現 概念モデル 世界

1.2 概念モデル 概念モデル メンタルモデル 認識の共有 関心領域についての考察を助ける 概念を図式化する 構造と論理を定義する 1.モデルとは何か 1.2 概念モデル 概念モデル 関心領域についての考察を助ける 概念を図式化する 構造と論理を定義する 設計の前提とする メンタルモデル Johnson-Lairdなど 思考操作のための概念構造の表現 捨象,単純化 構造の理解→シミュレーション,予測 ミシンの上糸と下糸 認識の共有 モデル表記上の約束事→モデリング言語

1.3 認識主体 モデルの認識主体 モデリングする人(modeler) システムのOwner/Observerの視点 良いモデル 1.モデルとは何か 1.3 認識主体 モデルの認識主体 システムのOwner/Observerの視点 システムの階層性 要求を持つもの アクタと役割(Role) 視点が異なるモデルは単純に接続できない 意味/世界観のギャップ 認識主体はモデルには現れない モデリングする人(modeler) 概念→仕様→実装 良いモデル 本質性 耐変更性 最小かつ完備

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チャート

1.4 モデリングの歴史(2) プログラム構造図 モジュール構造図 モジュラリティ モジュール呼び出しと結果 結合度 凝集度 1.モデルとは何か 1.4 モデリングの歴史(2) プログラム構造図 モジュール構造図 モジュール呼び出しと結果 モジュラリティ 結合度 正常結合 データ結合 同一データ結合(構造体) 制御結合(コマンド) 共通結合(大域領域の共有) 内容結合(相手の内容を直接参照) 凝集度 Factoring(単一の機能に分解) 請求する 利用 レコード 基本 料金 利用 レコード 追加 料金 基本料金を 計算する 追加料金を 計算する モジュール図

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 ワーニエ法

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

1.4 モデリングの歴史(5) ワークフロー図 作業の順序 業務フロー 制御構造 並行処理(分岐と待ち合わせ) 作業間で渡されるデータ 1.モデルとは何か 1.4 モデリングの歴史(5) ワークフロー図 作業の順序 業務フロー 制御構造 並行処理(分岐と待ち合わせ) 作業間で渡されるデータ 注文を受ける 注文データ 在庫を確認する IDEF0(SADT) 受注係 受注係 受注係 出荷係 輸送係 注文を受ける 在庫を確認する 出荷指示をする 出荷する 納入する 出荷指示書 注文 WfMC+Kodama

1.4 モデリングの歴史(6) データモデル キーの参照関係 3層スキーマモデル 意味データモデル バックマン線図 階層型データモデル 1.モデルとは何か 1.4 モデリングの歴史(6) データモデル キーの参照関係 バックマン線図 スキーマ図 親子関係 繰り返し(1 : n) 階層型データモデル ERD(Entity-Relationship Diag.) 3層スキーマモデル 外部スキーマ 概念スキーマ 物理スキーマ 意味データモデル 学生 履修 成績 評価 科目 学生 N 履修 N 科目 学生 履修 科目 学生 履修 科目 * * 氏名 生年月日 成績 科目名 単位

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図 状態遷移図 シナリオ ユースケース

1.4 モデリングの歴史(8) プログラムから「概念」へ プログラムロジック モジュール プログラム構造 機能の構造 データの構造 1.モデルとは何か 1.4 モデリングの歴史(8) プログラムから「概念」へ プログラムロジック モジュール プログラム構造 機能の構造 データの構造 概念の構造 要求の構造 ビジネスの仕組み

1.4 モデリングの歴史(8) 目に見えない「情報システム」をどう記述するべきか 3つの側面 互いに整合 データ ERD 処理 DFD 1.モデルとは何か 1.4 モデリングの歴史(8) 目に見えない「情報システム」をどう記述するべきか 3つの側面 データ ERD 処理 DFD 状態 STD 互いに整合

1.4 モデリングの歴史(9) UMLによる「情報システム」の記述 3つの側面 要求 クラス図,オブジェクト図 協調図,シーケンス図 1.モデルとは何か 1.4 モデリングの歴史(9) UMLによる「情報システム」の記述 3つの側面 クラス図,オブジェクト図 協調図,シーケンス図 ステートチャート図,活動図 要求 ユースケース(図)