#評価項目
今回フレームワークの評価をするにあたって、4つの評価項目を設定した。評価項目は以下のとおりである。
・使用感
・拡張性
・日本語資料
・セキュリティ
#評価基準
###使用感
開発を行う際の使用感を「一般的」「独自性」の2つに区別するよう評価を行う。現在、フレームワークで多く使用されているモデルとしてMVCモデルが存在する。MVCモデルを採用しているものは異なる言語でも、フレームワークの使用感やプログラムの構造自体に変わりはない。そのため、MVCフレームワークを採用したフレームワークを一般的な使用感とし、MVCモデルを使用しないフレームワークを独自性が高いフレームワークと評価する。
###拡張性
プラグイン数を基に5段階評価を行う。プラグイン数の基準値は、最も利用者数が多いJavaScriptフレームワークである「AngularJS」のプライグイン数を基に設定する。AngularJSのプラグイン数は2115個存在するため、他のフレームワークと比較して豊富である。そのため、約半数の1000個を基準とし評価を行う。ただしフレームワーク独自のIDEが存在する場合、プラグイン数が少ない、または不明な場合でも多くの拡張性を含んでいると判断し、拡張性が非常に高いと評価する。
###日本語資料
日本語資料数を基に5段階評価を行う。日本人が開発を行う際に、参考サイトが英語より日本語のサイトの方が分かりやすく、開発が容易だと考える。そのため、日本で最も使用されている検索エンジンである「Google検索」を利用し、日本語サイトの数を調べる。今回はデータベースを利用したWebアプリケーション開発を行ったため、「フレームワーク名 データベース」と検索ワードを統一する。資料数は拡張性と同様に「AngularJS」の日本語資料数を基に考える。AngularJSでの検索結果約200件を豊富な資料数とし、約半数の100個を基準とし評価する。
###セキュリティ
OWASP ZAPで検出された脆弱性のリスクレベルhigh、medium、lowを基に、5段階のセキュリティレベルで評価を行う。
###リスクレベルの定義
high ---- システムへの影響が大きく、至急対応が必要な脆弱性
medium ---- 至急対応する必要はないが、回避すべき脆弱性
low ---- システムへの影響が小さく、至急対応が不要な
###セキュリティレベルの定義
【レベル5】
システムへの影響が大きいhighの脆弱性が2つ以上検出された場合は、システムに重大な欠陥があると判断する。早急に対応をすると共にシステムの根本的な見直しの必要がある。レベル5の場合
の評価は、「セキュリティ水準が非常に低い」とする。
【レベル4】
システムへの影響が大きいhighの脆弱性が検出された場合は、システムに重大な欠陥があると判断する。早急に対応する必要がある。レベル4の場合の評価は、「セキュリティ水準が低い」とする。
【レベル3】
重大な欠陥はないが、システムを安全に稼働させるためには対策が必要である。レベル3の場合の 評価は、「セキュリティ水準がやや低い」とする。
【レベル2】
早急な対応は必要ないが、可能な限り脆弱性を回避することを推奨する。レベル2の場合の評価 は、「セキュリティ水準が高い」とする。
【レベル1】
システムの安全な稼働に影響がなく、早急な対応が必要でない。レベル1の場合の評価は、「セキュリティ水準が非常に高い」とする。