オブジェクト指向分析・設計法1
前回の演習で誤りがあったらしいのですが、見えない&聞き取れないで何のことだかさっぱりでした。←【情報システム構築学】シラバスへ
<<構造化手法の問題>>
前の回で習った構造化手法ですが、問題点があったそうです。
機能中心主義
機能拡張や仕様変更への対処が難しい。
データと手続きの分離
データ構造の変更の影響をプログラムが受けやすい。
それらをどうにかしようとして定着してきたのがオブジェクト指向的手法です。
<<オブジェクト指向の基礎概念>>
オブジェクト指向に関する最低限の概念に付いて書きます。 オブジェクトクラス
- 現実の世界に存在する、境界の明確な「もの」を指す。「もの」は、人、物、などの物理的なものだけではなく、組織、出来事と言った概念的なものも含まれる。
属性
- オブジェクトのうち、「パソコン」のように、似た性質をもつオブジェクトを抽象化したオブジェクトはクラスと呼ぶ。クラス「パソコン」はコンピュータの一形態であると考えることができ、クラス「コンピュータ」のサブクラスと定義することができる。この場合、クラス「コンピュータ」は「パソコン」のスーパークラスとなる。
メソッド(手続き)
- オブジェクトが保有する性質を表すデータ
抽象化
- オブジェクトが保有する手続き、あるいは機能。
カプセル化
- 現実世界の「もの」をそのままオブジェクトとしてモデル化するのではなく、問題の重要な側面、あるいは注目したい問題の側面のみを強調すべきであり、これを抽象化という。なお、クラスをグループ化してスーパークラスを定義することも抽象化と呼ばれる。
継承
- データとメソッドを一括してオブジェクトに保持させ、データをオブジェクトの外部からは隠蔽し、そのメソッドだけを公開すること。これにより、オブジェクトの利用者は内部データ構造を知る必要はなく、使い方のみを意識すれば良い。
状態
- スーパークラスやサブクラスを利用することにより、クラスの階層化を図ることができる。クラスを階層化すると、下位のクラスは、上位のクラスの持つ属性メソッドを受け継ぐことができる。
メッセージ
- オブジェクトが保有するメソッドの動作環境を規定したもの。
is-a関係
- オブジェクトが保有するメソッドを起動させるための依頼
part-of関係
- クラス間の概念的な包合関係で、たとえば、「コンピュータ」と「パソコン」の関係がこれに該当する。
関連
- オブジェクト間の構造的な集約関係で、たとえば「パソコン」と「キーボード」の関係がこれにあたる。
- オブジェクト間の参照、利用関係。
これらのオブジェクトの構造は以前習ったE-R図を拡張した形のオブジェクト図によって記述します。
<<オブジェクト指向分析・設計>>
- オブジェクト指向分析
- オブジェクト指向設計
- オブジェクト指向的手法と構築プロセス