Presentation is loading. Please wait.

Presentation is loading. Please wait.

ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.

Similar presentations


Presentation on theme: "ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票."— Presentation transcript:

1 ソフトウェア工学 理工学部 情報システム工学科 新田直也

2 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票

3 演習問題 2 の解答例  クリーニング屋さんの DFD (料金計算処理) 品名 料金計算 処理本体 お客さん 最新整理番号 料金表 チケット 名前 電話番号 加工オプション チケット 発行処理 料金 クリーニング屋さんの DFD( 料金計算処理 ) 整理番号 タグ 発行処理

4 演習問題 2 の解答例  クリーニング屋さんの DFD (タグ発行処理) 品名 タグ発行処理 お客さん クリーニング 屋さん店員 タグ 加工オプション クリーニング屋さんの DFD( タグ発行処理 ) タグ 発行処理 整理番号

5 オブジェクト指向言語の歴史  プログラミング言語 Simula67 が実質上の起源.  1970 年代 Smalltalk で発展. Smalltalk は XEROX パロ・アルト研究所でアラ ン・ケイらによって開発された.「オブジェクト指 向」という言葉はアラン・ケイによると言われる.  1979 年 C++  1991 年 Java  2000 年 C#

6 オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク トに分解する.  オブジェクト指向の構成概念は 3 つ カプセル化(抽象データ型) 継承 多相性(ポリモルフィズム)

7 構造化パラダイムから オブジェクト指向へ  構造化パラダイムではソフトウェアは入出力を持 つ 処理(関数)に分解された. 基本的に,計算結果を出力したら何も残らない. → 科学技術計算や事務処理などの「計算」が中心と なるアプリケーションに向いている.  処理内容よりも残存するデータの方が重要なので は ? 入力出力 入力出力 処理 データ 処理 データ

8 酒屋の在庫問題を例に  酒屋の在庫問題では,在庫ファイルと在庫不足 リストが処理後も残存するデータである.  残存するデータに処理がくっついていると考え よう. 倉庫係 出庫依頼 出庫処理依頼者 積荷票 倉庫係 在庫不足リスト 依頼者 在庫なし連絡 空予定コンテナ 在庫ファイル 入庫処理 出庫指示書

9 カプセル化  データに(それを操作する)処理をくっつけたものをオ ブジェクト(クラス)という.またそのときの処理をメ ソッドという.  データと処理を一体化することをカプセル化という.  情報隠蔽: カプセル化を行い,さらにデータと処理内 容を外部から隠すこと. 倉庫係 出庫依頼 依頼者 積荷票 倉庫係 在庫不足リスト 依頼者 在庫なし連絡 空予定コンテナ 在庫ファイル 出庫指示書 酒屋オブジェクト 出庫処理 入庫処理

10 オブジェクトとメッセージ  オブジェクトは互いに他のオブジェクトのメ ソッドを呼び出すことができる.メソッドの呼 び出しをメッセージ送信ということもある. オブジェクト A メソッド 1 オブジェクト B 呼び出し オブジェクト A オブジェクト B メソッド 2

11 酒屋オブジェクトシステム 在庫ファイル オブジェクト 倉庫係 オブジェクト 依頼者 オブジェクト 入庫処理(積荷票) 書く(データ) 読む 酒屋 オブジェクト 出庫処理(出庫依頼) 在庫不足 リスト オブジェクト 書く(データ) 読む 出庫指示  オブジェクト指向では処理の構造が不明確にな る代わりに,データ間の関係が明確になる.

12 なぜカプセル化をするのか  データを中心に処理をまとめると理解し易い. 一緒にまとめられている処理を眺めるだけでほぼ動作 を理解することができる.  データを中心に処理をまとめると再利用し易い. あるデータ構造を別の場所でも使いたい場合,カプセ ル化されていれば,そのデータ構造に対する処理も一 緒についてくる.  データ構造の変更に対して強い. 隠蔽しているデータの構造が変わっても,メソッド群 (インタフェース)さえ変わらなければ,使う側には 影響が及ばない. List オブジェクト add( 要素 ) get( 順番 ) delete( 順番 ) size()

13 オブジェクトの例  Window システムが好例 Window オブジェク ト スライドオブジェ クト 矩形オブジェク ト 線分オブジェク ト 円オブジェクト ツールバーオブジェク ト

14 クラスとインスタンス  同じデータ構造を持つものがたくさんある場合. データ構造やメソッドの定義 → クラス 定義に基づく 1 つ 1 つの個体 → インスタンス(オブ ジェクト) 円クラス 半径 中心座標 色 データ 拡大縮小 移動 円 インスタンス 拡大縮小 移動 円インスタンス 拡大縮小 移動 円インスタンス 拡大縮小 移動 円インスタンス

15 Java におけるオブジェクト指向  クラスの定義 class Circle { double radius; // 半径 double x; // x 座標 double y; // y 座標 int color; // 色 void move(double px, double py) { x = px; y = py; } void resize(double scale) { radius = radius * scale; } クラス名 メソッド定義 フィールド定義, メンバ定義

16 本日のまとめ  オブジェクト指向の基本概念: カプセル化 継承 多相性  カプセル化について.  オブジェクトとメソッド(メッセージ)  クラスとインスタンス


Download ppt "ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票."

Similar presentations


Ads by Google