...

OOTの優位性 - JAIST 北陸先端科学技術大学院大学

by user

on
Category: Documents
19

views

Report

Comments

Transcript

OOTの優位性 - JAIST 北陸先端科学技術大学院大学
内容と予定(1)
• 目標と範囲
• 基礎概念の獲得
– オブジェクト指向の基礎概念:世界の表現
– オブジェクト指向の基礎概念:再利用
– オブジェクト指向プラグラムの構造
– オブジェクト指向技術の優位性
• モデリング手法の獲得
– 静的モデル:クラスと関連
– 動的モデル:状態機械
– 動的モデル:相互作用図
– 並行性の記述:アクティブオブジェクトとマルチスレッ
ドプログラミング
– UML2.0の概要
北陸先端大 落水浩一郎
オブジェクト指向アプローチ
の利点(歴史と展望)
落水 浩一郎
北陸先端大 情報科学研究科
北陸先端大 落水浩一郎
ソフトウェア工学研究の枠組み
•
•
•
•
•
•
生産の場におけるさまざまな問題現象のうち、「自身の関心」を一口で言い切る
。 例:プログラムのデータ構造を変更すると、その影響がプログラム中のあちこ
ちに波及し変更が容易でない
「問題」とその「効果」を抽象する。 例:データ構造とそれに付随する操作を、プ
ログラムコード中にまとめて書くと、データ構造の変更の波及が局所化される
「問題の抽象」と「効果の抽象」に対して名前を与える。 例:情報隠蔽またはデ
ータ抽象、変更波及の局所化
上記ステップを経て、実世界の問題を理論の世界に移すことができ、式、アルゴ
リズム、言語、ツール等による問題解決に思考を集中できる。 例:情報隠蔽の実
現法、新しい言語
抽象化された世界における解を実世界にフィードバックし、その効果を評価する
。
例:データ構造の変更は容易になったが、類似の記述がプログラム
中に数回あらわれ無駄が多い
ここでワンサイクル完成。新しく得られた問題をさらに追及することで、過去の成
果を踏まえた新しい成果が得られる。
北陸先端大 落水浩一郎
オブジェクト指向技術以前
(構造化プログラミング)
• 限られた能力をもつ人間が巨大なプログラムをシステマ
ティックに作成し、正しさを確認するのは容易でない
• 問題を解決する理想的な仮想機械を想定し、その仮想機
械命令および仮想機械データ型を段階的に詳細化して
いく。仮想機械プログラムは一入力/一出力の制御構造
を利用してプログラミングする。アサーションにより作業の
分割と正しさの確認が局所化される
• パールとネックレス、構造化プログラミング
• 方法論、言語、正当性確認のための理論
• 仮想機械命令の詳細化については所期の目的を達成し
たが、仮想機械のデータ型を詳細化するとその波及が関
係する命令すべてに及ぶ問題が発生した
北陸先端大 落水浩一郎
オブジェクト指向技術の発展
(情報隠蔽またはデータ抽象)
• データ構造変更の波及はプログラムコード
中に散在する
• データ構造とそれに付随する操作をカプセ
ル化することにより、波及を限定させる
• 情報隠蔽、変更波及の局所化
• パーナスモジュール
• データ構造の変更は局所化された。類似
の記述が出現し記述が冗長である
北陸先端大 落水浩一郎
オブジェクト指向技術の発展
(抽象データ型またはクラス)
• インスタンス毎にデータ抽象を定義すると
類似の定義が出現し記述が冗長になる
• パーナスモジュールを型定義することによ
り、ソースコードの変更は一度で済む
• 抽象データ型
• 新しい言語(CLU)
• 類似した抽象データ型の定義が存在する
北陸先端大 落水浩一郎
オブジェクト指向技術の発展
(実装の継承)
• 類似したクラス定義は煩雑である
• クラス間の共通性と差異を木構造として整
理すると差分定義が可能になる
• 実装の継承
• クラスライブラリの整備
• スーパクラス・センシティビティ。アプリケー
ション分野に依存する領域ではクラスライ
ブラリの保守が困難である。
北陸先端大 落水浩一郎
オブジェクト指向技術の発展
(インタフェースの継承)
• スーパクラス・センシティビティ
• 種々の実装を具象クラスとし、その呼び出し法を
抽象クラスによって統一すれば、変更に対して閉
じ、拡張に対してオープンな構造が実現できる
• インタフェースの継承
• 抽象クラスの用途の新展開
• インタフェース定義は長期にわたり安定している
とはいえない
北陸先端大 落水浩一郎
オブジェクト指向技術の発展
(オブジェクト合成)
• 継承だけではハンドリングできない再利用
形態がある
• プリミティブな機能をもつコンポーネントを
用意しそれを組合わせて使えばよい
• オブジェクト合成による再利用
• コンポーネントインタフェース仕様技術
• 部品の信頼性が問題、ベンダーごとに利
用インタフェースが異なる
北陸先端大 落水浩一郎
オブジェクト指向技術の発展
(デザインパターン)
• クラスレベルの再利用は粒度が小さすぎる。
プロのオブジェクトの組合わせ方には一定
のパターンがある。
• データ構造以外の変更の局所化、マイクロ
アーキテクチャとしての再利用
• デザインパターン
• PLOPによる組織的な収集
• 適切なパターンの選択とカスタマイズ
北陸先端大 落水浩一郎
達成点
• オブジェクト指向プログラミングの技術的優
位性
– 変更の局所化(データ抽象、情報隠蔽)
– 型定義による冗長記述の除去(抽象データ型)
– 実装の継承による再利用
– インタフェースの継承による拡張容易性
北陸先端大 落水浩一郎
粗粒度レベルの再利用
独立(ド
メインの
用語を利
用しな
い)
システム開発
フレーム
ワーク
領
域
依
存
度
軸
詳細(ド
メインの
用語を利
用する)
キット
新フ
レーム
ワーク
開発
キット
開発
デ
ザ
イ
ン
パ
タ
|
ン
ドメイン
モデル
問題領域
の分類
アプリ
ケー
ション
具体的(機械可読)
アーキテク
チャ・スタイル
実装軸
抽象的(自然語または図式で表現)
北陸先端大
落水浩一郎
W.M.Tepfenhart and J.J. Cusick,”A
Unified
Object Topology”, IEEE Software Jan/Feb. pp.31-35,1997.
Fly UP