設計情報の再利用を目的としたUML図の自動推薦ツール

設計情報の再利用を目的とした
UML図の自動推薦ツール
基礎工学部情報科学科
井上研究室
松下 誠
1
背景


上流工程で問題を見逃すと大きなコストがかかる
ソフトウェア再利用

利点



生産性の向上
信頼性の向上
対象


ソースコードなどのプログラム
ソフトウェアの設計情報
設計情報の再利用を促進するツールの作成
2
研究の方針



設計情報としてよく用いられるUML図を扱う
自動的に検索を行い再利用可能なUML図を提
示する
検索クエリには編集中のUML図を利用する
3
推薦の流れ
提案手法
検索処理
索引作成処理
検索開始
検索指示
監視
特徴抽出
特徴
検索クエリ作成
UML図
編集
UMLエディタ
検索クエリ
検索実行
UML図
リポジトリ
索引作成
索引
検索結果
推薦
開発者
推薦画面
4
索引作成処理

特徴抽出



ノードのテキスト記述を加工して単語に分解
各単語の出現回数を重みとして<単語,重み>の集合
(特徴)を作成
索引作成

各UML図が持つ特徴をまとめて保存する
特徴
単語
className
property
method
Article
- name : String
actor
テキスト記述
+ getName() : String
+setName(newName : String) : void
重み
article
1
name
4
string
3
get
1
set
1
new
1
void
1
5
検索処理

検索クエリ生成



検索実行


検索クエリと索引中の特徴を比較し,類似した特徴を持つUML
図を抽出
結果の提示


クエリ:作図中のUML図の特徴
索引作成処理の特徴抽出と同じ
検索結果の上位数件を開発者に提示
検索開始

編集中のUML図の特徴が変化したとき
6
ツールの実装

ツールの機能

UMLエディタ


Violet UML Editor(既存のアプリケーション)
作成可能な図



クラス図・ユースケース図・アクティビティ図・
シーケンス図・オブジェクト図・状態遷移図
推薦結果の提示
インポート機能
7
ツールの外観
作成中のUML図
推薦画面
8
インポート機能
9
評価実験

目的


開発者がどの程度作図を行うと,目的の設計情報が
推薦されるかを確認する
検索対象のリポジトリ

大学の履修管理システムの設計情報



クラス図:73
シーケンス図:8
ユースケース図:10
10
実験内容

リポジトリのすべてのUML図に対して以下の処
理を行う
1.
2.
3.


UML図中の単語の一部をランダムに抽出して検索ク
エリを生成
リポジトリに対して検索を実行
元のUML図が推薦されるかどうかを確認
検索クエリ生成に用いる単語の割合は5%から
100%まで5%刻みで変化させて行う
試行は10回ずつ行う
11
実験結果
検索結果上位に入っていた割合
100%
90%
80%
70%
60%
割
50%
合
40%
30%
20%
10%
0%
10位以内
5位以内
3位以内
1位
0%
10%
20%
30%
40%
50%
60%
70%
80%
90% 100%
残した単語の割合
12
実験考察
検索に用いる単語の割合が低い段階でも上位
に推薦された
開発者がUML図の一部を記述すれば再利用に
適したUML図が推薦されると考えられる
13
まとめと今後の課題

まとめ




設計情報の再利用の促進を目的としたツールを提案した
UML図の自動推薦を行うツールを作成した
実験を行い,ツールの検索精度を確認した
今後の課題


検索に用いる情報として,UML図のグラフ構造も扱う
被験者を用いた実験を行う
14
15