MVCモデルにおける結合度予測に関する研究

 

  

                                                                                                                                                                                        村澤 富美恵


 

 

1.背景と目的

ソフトウエア開発を容易にするためには、デザインパターンを有効に活用する必要がある。

ソフトウエア構造の代表的なパターンまたはモデルとして以下がある。

 

    @Layer(レイヤ)

 

APipe&Filter(パイプ&フィルタ)

 

    BBlack board(黒板)

 

    CBroker(ブローカ)

 

    DModel-View-Controller(MVC)

 

    EReflection(自己反映)

  特に対話型システムでは、MVCモデルが多く利用されている。ただし、有効性を統計的に確認したデータは少ない。

Smalltalkには、モデル・ビュー・コントローラ(Model-View-Controller:MVC)と呼ばれるデザインパターンが存在する。そこで、MVCモデルが持つ要素間と他の要素モデルとのメッセージ交換比率をMVCの結合度として定義し、結合度の大きさによってMVCモデルが有効であるかを明らかにすることが目的である。

 

2.研究内容

本研究では、結合度を次のように定義した。

結合度=MVC間でやり取りされるメッセージ数/他のクラスも含めてやり取りされるメッセージ数

 

(1)Smalltalkの持つ3つの基本構成要素Model-View-Controllerについて調査し、結合度を求めるためにMVCクラス間で交換されるメッセージ数を測定した。

 

(2)結合度に影響を与えると思われる要因候補について考察した。候補として以下がある。

 

  @それぞれのMVCクラスがもつ変数の数

 

AそれぞれのMVCクラスがもつメソッドの数

 

(3)結合度と変数の数、メソッド数の間の相関を分析した。これによって、変数の数、メソッド数が判明するとMVCの結合度予測できる。

 

4.評価および結果

Smalltalkにあるサンプルプログラムから、MVCを組としたサンプルを取り上げた。変数の数、メソッド数、MVC間でやり取りされるメッセージ数、外部に送っているメッセージ数、内部でのメッセージ数を集計し、評価した。

  MVCモデルの調査および相関分析から、MVCモデル間のメッセージ数とMVCモデル間のメソッド数の間に高い相関が認められた。これにより、MVCモデルは結合度が高く、プログラムに有効であるという結果が得られた。

 

5.まとめ

調査サンプル数は、MVCを組として9サンプルを取り上げた。

変数の数、メソッドの数によって、MVCの有効性が予測できるので事前にMVCモデルの効果が評価できることが判明した。しかしながら、今回のMVCモデルの調査では、継承などを詳細に区別して調査をしていないので、更に詳しく研究を進めていくことが今後の課題である。

 

参考文献

[1]青木淳: Smalltalkイディオム、ソフトリサーチセンター(1997).

[2]F.ブッシュマン/R.ムニエ/H.ローネスト/P.ゾンメルラード/M.スタル: ソフトウエアアーキテクチャ(ソフトウエア開発のためのパターン体系)、トッパン(1999).

[3]長谷川勝也:Excelで学ぶ統計学入門(確立・統計編)、技術評論社(1998).

[4]橋本智雄:入門 統計学、共立出版株式会社(1996).