160 likes | 338 Views
特定アプリケーション開発における フレームワークの評価に関する考察. † 藤原 晃 † 今川 勝博 † 楠本 真二 †‡ 井上 克郎 * 大坪 稔房 * 湯浦 克彦 † 大阪大学大学院基礎工学研究科 ‡ 奈良先端科学技術大学院大学情報科学研究科 * 株式会社日立製作所ビジネスソリューション事業部. 研究の背景. 再利用のひとつとしてフレームワークを用いた手法が注目されている. フレームワーク:アプリケーション開発者がカスタマイズできるアプリケーションの枠組
E N D
特定アプリケーション開発におけるフレームワークの評価に関する考察特定アプリケーション開発におけるフレームワークの評価に関する考察 †藤原 晃 †今川 勝博 †楠本 真二 †‡井上 克郎 *大坪 稔房 *湯浦 克彦 †大阪大学大学院基礎工学研究科 ‡奈良先端科学技術大学院大学情報科学研究科 *株式会社日立製作所ビジネスソリューション事業部
研究の背景 • 再利用のひとつとしてフレームワークを用いた手法が注目されている. • フレームワーク:アプリケーション開発者がカスタマイズできるアプリケーションの枠組 • 開発組織によっては現場独自の再利用の仕組みを確立しており,フレームワークを用いた再利用手法を新たに導入するのは難しい. • フレームワークを用いた再利用手法の効果を定量的に示す必要がある.
研究の目的 • 従来の再利用手法とフレームワークを用いた再利用手法の効果を定量的に比較する. • 工数が削減されるか、品質は向上するか. • 対象:特定のアプリケーション開発(地方自治体向け窓口アプリケーション)
従来の再利用手法 • 各画面単位で処理プログラムを部品化して再利用する. 国民保険データ更新処理を行うアプリケーション 国民保険更新処理プログラム 画面遷移制御 検索条件 入力画面 検索結果 表示画面 国民保険 更新画面
住民票データ更新処理を行うアプリケーション住民票データ更新処理を行うアプリケーション 住民票更新処理プログラム 画面遷移制御 検索条件 入力画面 検索結果 表示画面 住民票 更新画面
フレームワークを用いた再利用手法 • 画面単位の処理プログラムの部品化に加え,画面遷移単位の処理をフレームワーク化し,再利用する. • 選択,検索,更新,参照などの処理が持つ画面遷移のタイプごとにフレームワーク化 国民保険データ更新処理を行うアプリケーション 国民保険更新処理制御 オブジェクト 更新処理 フレームワーク 検索条件 入力画面 検索結果 表示画面 更新画面
住民票データ更新処理を行うアプリケーション住民票データ更新処理を行うアプリケーション 住民票更新処理制御 オブジェクト 更新処理 フレームワーク 検索条件 入力画面 検索結果 表示画面 更新画面
評価方法 • 従来の再利用手法とフレームワークを利用した場合の 再利用における工数や品質に関する比較を行う. (CASE1)類似アプリケーションを複数開発する場合. (CASE2)あるアプリケーションに対して機能を順次追加していく場合. • 使用するメトリクス • 工数: OOFP(機能量) • 品質: ChidamberとKemererの複雑度メトリクス
OOFP(Object Oriented Function Points)§ • オブジェクト指向プログラムの機能量をあらわすメトリクス. • IFPUGのFP計測をオブジェクト指向ソフトウェアに対応させたもの. • アプリケーション内のクラスと、そのメソッドを抽出し、それぞれに重み付けして合計した数値. §:G.Caldiera, G.Antoniol, R.Fiutem, C.Lokan, “Definition and Experimental Evaluation of Function Points for Object-Oriented Systems”, IEEE, 1998
継承 DIT 継承木の根からそのクラスまでの段数 NOC あるクラスが持つサブクラスの数 結合 RFC あるクラスのメソッド数とそのメソッドの中でコールされるメソッド数の和 CBO あるクラスがメソッドの呼び出しを行う相手クラスの数 メソッド WMC クラスあたりの重み付きメソッド数 LCOM あるクラスのメソッドすべての組み合わせのうち,参照する属性に共通するもののない組み合わせのない数から,共通するものがある組み合わせの数を引いたもの ChidamberとKemererのメトリクス • オブジェクト指向プログラムの複雑度をあらわす 6つのメトリクス.
評価実験 概要 • 同機能を持つアプリケーションの開発において,フレームワークを用いる場合と用いない場合の機能量と複雑度を比較する. フレームワークあり フレームワークなし FW C P = 同機能 FW:フレームワーク C:新規開発クラス P:フレームワークを用いないアプリケーション ・・・計測範囲
評価対象アプリケーション • 「資格個人照会」「資格世帯照会」「賦課状況照会」 「資格取得転入」の各機能を持つアプリケーション. • フレームワークを用いて開発されたものと用いずに開発されたもの. • (計8種).
OOFPの比較 フレームワークを用いている方が機能量が少ない. →フレームワークによって開発工数が削減されている.
複雑度計測結果(1) CBO値の平均 フレームワークありの方がクラス間のメソッド呼び出しが多い. →フレームワーク内のクラスのメソッドを呼び出す場合がほとんどなので、フレームワーク部分の品質が高ければ影響は少ない.
複雑度計測結果(2) WMC値の平均 フレームワークを用いたほうがクラスあたりのメソッド数が多い. 属性のset, get(処理が1行程度のメソッド)がほとんど. →複雑度にあまり影響しない.
まとめ • 主な結果 • ChidamberとKemererのメトリクス,OOFPを用いてフレームワークの効果を評価する手法を検討した. • 実際のアプリケーションを対象にOOFPとC-Kメトリクスを用いて機能量と複雑さの計測と評価を行った. • 今後の課題 • 計測結果の妥当性の評価. • ファンクションポイントを用いた機能量の計測.