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

Slides:



Advertisements
Similar presentations
オブジェクト指向 言語 論 第八回 知能情報学部 新田直也. 多相性(最も単純な例) class A { void m() { System.out.println( “ this is class A ” ); } } class A1 extends A { void m() { System.out.println(
Advertisements

C++ 基礎. 目次 C++ とは? C++ におけるオブジェクト指向 課題 C++ とは? Cには足りなかったものが付与されて出来た物 具体的には、 情報の隠蔽(カプセル化) 共通の名前付け(関数のオーバーロード) 再利用の仕組み クラスの導入 など オブジェクト指向 C++ では大規模なプログラミングの.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
オブジェクト指向プログラミング(4) 静的分析(2)
アルゴリズムとデータ構造1 2007年6月12日
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也.
C#とC++とオブジェクト指向 上甲 健史.
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
プログラミング演習3 第2回 GUIの復習.
ソフトウェア工学 第四回 知能情報学部 新田直也.
プログラム実行時情報を用いたトランザクションファンクション抽出手法
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
暗黙的に型付けされる構造体の Java言語への導入
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
第11週:super/subクラス、継承性、メソッド再定義
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
プログラミング演習3 第2回 GUIの復習.
オブジェクト指向 プログラミング 第七回 知能情報学部 新田直也.
C#言語ソースプログラムの原型 C言語 C#言語 Hello World! Hello Students! オマジナイ! 適当なクラス名
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
第7回放送授業.
第8回放送授業.
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
C#プログラミング実習 第3回.
ソフトウェア制作論 平成30年11月28日.
Chapter 5 5.5 thisキーワード 5.6 インスタンス変数とインスタンスメソッド 結城 隆
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
モグラたたき.
ソフトウェア工学 知能情報学部 新田直也.
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
cp-1. クラスとメソッド (C++ オブジェクト指向プログラミング入門)
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第十回 知能情報学部 新田直也.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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; } クラス名 メソッド定義 フィールド定義, メンバ定義

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