トップエスイー： サイエンスによる知的ものづくり教育プログラム文部科学省科学技術振興調整費 産学融合先端ソフトウェア技術者養成拠点の形成
国立情報学研究所National Institute of Informatics
トップエスイー～サイエンスによる知的のものづくり教育プログラム～
トップエスイー修了制作
OOA/OOD
ﾃﾞｻﾞﾊﾟﾀ
新人技術者教育におけるソースコード評価メトリクスの分析
キヤノン株式会社吉住 英樹yoshizumi.hideki@canon.co.jp
自社教育における問題点手法・ツールの適用による解決
初期のＳＥ育成において、プログラミングレベ
ルでの教育は非常に重要である。
しかし、自社新人技術者教育において、講座
内容に伴う“ソースコード指導基準”が抽象的であるため、プログラミングの指導が不十分である可能性が高い。
ＳＷメトリクスを用いた、具体的“ソースコード指
導基準”を策定する。
そのために、「R」や「Excel」を用いて過去の
ソースコードデータを分析し、従来のの暗黙の指導基準の推測や、メトリクスごとの値の分布傾向を把握、指針策定に活用する。
ソースコード
分析環境 解析ツール：R（統計処理ソフトウェア）、Excel
メトリクス計測ツール：QAC++、 EclipseMetricsPlugin
分析メトリクス：上記ツールデフォルトのメトリクス
分析対象 分析コード：C++、Java実習成果物
開発期間：10日前後
開発規模：約1000行
対象人数：過去5年 約50名
分析対象・環境
Step①講座内容に伴うメトリクスの抽出
講座内容に伴うプログラム上のポイントを計測できるメトリクスを選定
C++： メソッドの結合度・凝集度Java： クラス・パッケージの
結合度・凝集度
＋メトリクスのイロハに着眼し選定
Step②指導基準に向くメトリクスの抽出
過去データより、メトリクスごとのばらつき傾向を把握
相対的な指導の容易性に着眼。メトリクス計測値のばらつき（変動係数）が大きいものを抽出
Step④講座別教育指針メトリクスの策定
Step①～③を踏まえて、各講座の指導指針を策定
規定メトリクス 意味
STLCM(max) メソッドの凝集度
STCBO(max) ｵﾌﾞｼﾞｪｸﾄ間凝集度
STSUB(max)関数の呼び出し数
STCYC(max) メソッドの複雑度
STMIF(max)ネストの深さ
STPTH(max)静的経路数
CA（CE）(max) パッケージの凝集度
PAR(max)メソッドパラメータ数
WMC(max)クラスの複雑度
NBD(max)ネストの深さ
Step③従来の指導基準のばらつきの確認
従来の抽象的指導基準に伴うばらつきを確認。
過去の評価結果とメトリクスの関係性はやはりバラバラしかし年度ごとに暗黙の指導基準有り