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