第 4 章 ユーザ要件に基づく 情報統合環境の構築
4.4. 評価
4.4.1 評価方法
まず,データ独立性の評価方法について説明する.本研究では,問い合わせ文の変更に より,プログラムの変更がどのくらい必要なのかを調べることでデータの独立性の評価を 行う.そのために,三つの問い合わせ文を用意し,問い合わせ処理を行うプログラムをそ れぞれの問い合わせ文に対して三種類用意した.
問い合わせ文の内訳は,(1) 基準となる問い合わせ文,(2)前の文に条件文を追加した問 い合わせ文,(3)そしてプログラムから変更される問い合わせ文である.
同じく準備したプログラムの内訳は,(1) RDFView 利用プログラム,(2) SPARQL
Endpoint利用プログラム,(3) Jena データベース利用プログラムである.これらのプロ
グラムは全て Jenaライブラリを利用して作成され,問い合わせ文に対応して作られた.
したがって,合計九つのプログラムを用意したことになる.本研究では,これらのプログ ラムの行数を計測することで,データ独立性の評価を行った.プログラム行数の計測には,
Eclipse Metrics Plug-in[115]を利用した.
76
棒グラフによる計測結果を図4.9に示す.図中のラベルRDFViewがRDFViewを利用 したプログラム,endpointがSPARQL Endpointを利用したプログラム,JenaDBがJena データベースを利用したプログラムを表している.また,ラベルの後ろの数字は問い合わ せ文の種類を表す.
計測結果からRDFViewを利用したプログラムでは基準となる問い合わせ文と条件を追 加した問い合わせ文によるプログラム行数の変化はみられない.一方,SPARQL Endpoint と Jenaデータベースを利用したプログラムでは問い合わせ文の変更によるプログラム行 数の変化がみられる.一方,三番目の問い合わせ文を利用したプログラムではプログラム 行数が全ての手法で増加している.
次にプログラムの可読性の評価を行った.本研究ではプログラム可読性の評価項目とし てメトリクスを利用する.メトリクスはプログラムの可読性を評価する尺度として一般的 に利用されている.メトリクスには,McCabe の循環複雑度[117]と Chidamber and Kemererのオブジェクト指向メトリクス(C&Kメトリクス)[118]を利用する.
これらメトリクスの計測にはMcCabeの循環複雑度をEclipse Metrics Plug-inで,C&K メトリクスの計測にはckjm[116]を利用した.
図4.9 プログラム行数(メソッド行数)の比較
77
計測の結果,McCabeの循環複雑度は全てのプログラムで同値で循環複雑度3であった.
C&Kメトリクスの計測結果を表4.2に示す.表中のWMC(Weighted methods per class) はクラスにおけるメソッドの割合,DIT(Depth of Inheritance Tree)は継承の深さ,
NOC(Number of Children)はクラスの子の数,CBO(Coupling between object classes)は 他クラスとの関連度,RFC(Response for a Class)は他クラスのメソッドの関連度,
LCOM(Lack of cohesion in methods)はクラス内のメソッド数を表す.C&Kメトリクスの 計測結果から,CBOとRFCに値に各手法の変化が現れた.なお,実験に利用した問い合 わせ文,プログラムは付録Aに示す.
表4.2 C&Kメトリクスの計測結果
Program WMC DIT NOC CBO RFC LCOM RDFView1 3 1 0 4 11 3 RDFView2 3 1 0 4 11 3 RDFView3 3 1 0 4 15 3 endpoint1 3 1 0 8 13 3 endpoint2 3 1 0 8 13 3 endpoint3 3 1 0 8 16 3 JenaDB1 3 1 0 15 18 3 JenaDB2 3 1 0 15 18 3 JenaDB3 3 1 0 15 21 3
78