いまさら聞けない 構造化手法とオブジェクト指向の違い

いまさら聞けない
構造化手法とオブジェクト指向の違い
株式会社オージス総研
組み込みソリューション部
Copyright 2010 OGIS-RI Co. Ltd. All rights reserved.
素朴な疑問
構造化⼿法とオブジェクト指向…
どちらの⼿法が
優れているの?
結局何が
違うんだろう?
両⼿法の違いをお話します。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
2
構造化手法とオブジェクト指向の違い
• 特徴
• 強み・弱み
• まとめ
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
3
構造化手法とオブジェクト指向の違い
• 特徴
• 強み・弱み
• まとめ
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
4
開発プロセス中の位置づけ
ソフトウェア開発の分析・設計・実装の⼿法
ソフトウェア・エンジニアリング・プロセス
ソフトウェア要求定義
ソフトウェア総合テスト
分
析
ソフトウェア・
アーキテクチャ設計
ソフトウェア結合テスト
設
計
ソフトウェア詳細設計
単体テスト
プログラミング
実装
※プロセス定義は ESPR ver2.0 より
これ以外の活動(ビジネス分析)などもありますが、
入⾨的なところにフォーカスして、お話を進めます。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
5
視点
対象を⾒る視点が異なります
構造化手法
オブジェクト指向
機能とデータに分解
部品に分解
データ
開発
対象
機能
オブジェクト
オブジェクト
オブジェクト
データ
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
6
結果
視点が違うので結果が違います
構造化手法
オブジェクト指向
機能とデータに分解
部品に分解
.
開発
情報
対象
機能が詳細化されていく
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
部品が抽出されていく
7
構造化手法の特徴
機能を整理する
構造化手法
機能とデータに分解
•
強み
– ヌケモレを防止しながら、機能
を整理する
•
弱み
– 複雑な対象の設計
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
8
オブジェクト指向の特徴
部品の関係を整理する
•
オブジェクト指向
強み
– 複雑な対象の設計
•
部品に分解
弱み
– 機能と実装の対応が見えにくい
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
9
構造化手法とオブジェクト指向の違い
• 特徴
• 強み・弱み
• まとめ
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
10
構造化手法:ヌケ・モレの防止に強み
整合性を確認しつつ段階的に機能を詳細化する
– データフローダイアグラム
表で網羅的に考える
– デシジョンテーブル
– 状態遷移表
デシジョンテーブル、状態遷移表は構造化手法のためのものではなく、
独立したツールだが、手法のなかで使用が勧められている。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
11
構造化手法:複雑な対象の設計に弱み
機能毎に同じような処理を設計する傾向にある
– 展開された機能の実現手段を考えるとき、機能毎にある
同じような処理を見つけ、まとめるのが難しいため。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
12
オブジェクト指向:複雑な対象の設計に強み
複雑な対象の共通部分をまとめ、局所化する
– モノ(=部品)のほうが認知しやすく、一意に特定しやすい。
– 部品に関連した処理・データもまとまる。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
13
オブジェクト指向:機能と実装の対応が見えにくい
機能の実装がどこにもないように⾒える
– 部品の組み合わせ⽅で機能を
実現するので、「機能が実装さ
れているのはこの関数」のよう
な対応付けが出来ない。
.
.
.
.
.
.
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
14
構造化手法とオブジェクト指向の違い
• 特徴
• 強み・弱み
• まとめ
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
15
まとめ (1/5)
違いは「整理の仕⽅」
構造化手法
特徴
ヌケ・モレを防止しながら、機能を
整理する (機能展開)
オブジェクト指向 複雑な対象を部品を抽出しなが
ら整理する (部品展開)
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
16
まとめ (2/5)
⽬的は同じ
– システム開発における様々な情報を整理すること。
– 実装の前に図面を作る (=モデリングする) 。
なぜ整理するか?
– 何を作るのかを明確にする
• 不具合が発見しやすい
– 理解しやすい構造を得る
• 保守しやすい
システム開発にとって整理は
とても重要。
構造化⼿法もオブジェクト指
向もその⼿段の1つ。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
17
まとめ (3/5)
「⼿法ありき」は良くない考え
– オブジェクト指向は、構造化手法の問題を解決するものと
して生まれたが、構造化手法を置き換えるものではない。
– 構造化手法では、複雑な機能の設計に対処するのは
難しく、オブジェクト指向が有利。
違いとその関係を認識した上
で、状況に即した⼿法を使う
ことが⼤事。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
18
まとめ (4/5)
開発プロセスでも、両⽅の⼿法を使っている。
– 要求分析で、モノや概念、部品を考えるだろうか?
これはオブジェクト指向?
携帯電話
電話をする
メールをする
ユーザ
オブジェクト指向が前提の開
発プロセスも、構造化⼿法の
応用が⾒て取れます。
ウェブを見る
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
19
まとめ (5/5)
• モデリングによる整理が⼤事で、⼿法は⼿段で
しかない。
• 最近の複雑な対象を扱うには、構造化⼿法に加
えてオブジェクト指向を適用するのがおすすめ。
Copyright 2010 OGIS-RI Co., Ltd. All rights reserved.
20
いまさら聞けない
構造化⼿法とオブジェクト指向の違い
参考文献)
• 構造化分析とシステム仕様, 1986, トム・デマルコ(著)
• 組込みソフトウェア開発のための構造化モデリング, 2006, SESSAME WG2(著)
• 組込みソフトウェア向け開発プロセスガイド 改訂版, 2007, IPA SEC (編著)
Copyright
Copyright©2010
2010OGIS-RI
OGIS-RICo.,
Co.,Ltd.
Ltd.All
Allrights
rightsreserved.
reserved.
以上です。
21