設計情報の再利用を目的とした 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
© Copyright 2024 ExpyDoc