特定アプリケーション 開発における フレームワークの

特定アプリケーション開発における
フレームワークの評価に関する考察
†
藤原 晃
†
†
今川 勝博 †楠本 真二
*
大坪 稔房 *湯浦 克彦
†‡
井上 克郎
大阪大学大学院基礎工学研究科
‡
奈良先端科学技術大学院大学情報科学研究科
*
株式会社日立製作所ビジネスソリューション事業部
研究の背景

再利用のひとつとしてフレームワークを用いた手法が注
目されている.
– フレームワーク:アプリケーション開発者がカスタマイズできるア
プリケーションの枠組

開発組織によっては現場独自の再利用の仕組みを確立
しており,フレームワークを用いた再利用手法を新たに
導入するのは難しい.

フレームワークを用いた再利用手法の効果を定量的に
示す必要がある.
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