スライド 1 - Software Engineering Laboratory

第2回 SPARS プロジェクトミーティング
コンポーネントの接続情報を検索
する手法について
奈良先端科学技術大学院大学
情報科学研究科
情報科学センター
粕淵 健郎
飯田 元
1.研究の背景(1/5)
コンポーネント利用情報の収集と共有


複数のコンポーネント利用者から利用情報(事例)をネットワークを通じて収集し共有す
る.
他の利用者の利用情報を取得・閲覧し,再利用する.
コンポーネント
利用者
コンポーネント
ウェアハウス
・自分の利用情報
の抽出/送信
・他人の利用情報
の閲覧/再利用
2
カタログ
利用情報
の収集と
検索
仕様書
利用情報
2015/9/30
1.研究の背景(2/5)
コンポーネント利用情報の例




接続関係:コンポーネント同士の結合に関する情報
動作環境: 利用者が使用しているOSのバージョン,利用
地域等
利用者:そのコンポーネントを利用した者の名前,E-mail
アドレス,所属部署等
同時取得コンポーネント:そのコンポーネント取得時, 同
時に取得されたコンポーネントのリスト
⇒今回は,「ソフトウェアプロセスコンポーネント」についての
コンポーネント利用情報の収集・検索手法を説明する.
3
2015/9/30
1.研究の背景(3/5)
ソフトウェア開発における事例の資産化・共有
事例として資産化する対象はワークプロダクトである.
ワークプロダクト:開発時に作成されるあらゆるもの
プロセスモデル
ソフトウェア製品
PDSP
計画書
会議の議事録
部分タスクの作業手順
---------------------------------------------------------
etc・・・
成功事例の再利用
プロジェクトマネージャ
4
過去の事例の分析・評価
開発担当者
プロセスの分析担当者(SEPG)
2015/9/30
1.研究の背景(4/5)
PDSP(Project’s Defined Software Process)
PDSPとは『プロジェクトの定義されたソフトウェアプロセス』[1]のことで,
プロジェクトにおける作業の系列などが記述されたものである.
進捗管理や作業計画の支援
PDSP
プロジェクトマネージャ
計画
作成
設計
…
コーデ
ィング
作成
要求
仕様
計画書
設計書
作業の分析・評価
開発プロセスの改善を図るためには,
PDSPを資産として活用することが重要である.
[1] Paulk,M. ”CMM: Key Practice of the Capability Maturity Model, Version 1.1” CMU/SEI-93-TR-25, CMU/SEI
5
2015/9/30
1.研究の背景(5/5)
開発のコンテクストに応じた事例検索
プロセス資産を有効に活用するには,開発におけるコンテクストの類
似した事例を検索・参照できる仕組みが必要である.
プロセス資産
開発計画書
開発計画書
検索
ソフトウェア
役に立ちそうな事例
テスト手順
の手引き テスト計画
報告書・議事録
作業手順の手引き
参照
選び出す
開発における
「テスト」の担当者
テスト報告書
現在自分のおかれてい
る開発コンテクストと類似
した状況で作られたプロ
ジェクト事例はどれ?
6
2015/9/30
2.本研究の目的
現在の開発コンテクストに類似した開発プロジェクト事例をプロ
セス資産中から検索・参照する手法を提案する.
各ワークプロダクトの持つコンテクストとして,それが作られたプロジェクト
のPDSPの記述を関連付ける.(プロジェクト中のどの作業工程で作られた
ものなのかわかるようにする.)
PDSP内の作業系列の類似度をコンテクストの類似度とみなして比較する.


7
2015/9/30
3.検索対象の定義(1/4)
プロセス資産の種類
登録するもの
PDSP (Project’s Defined Software Process)
PDSP
プロジェクトのソフトウェアプロセス記述.
ワークプロダクト
プロジェクトにおける全ての作成物.
ワークプロダクト
プロセスコンポーネント
PDSP記述に必要な,プロセスの部分作業.
プロセスコンポーネント
PDSPは,ワークプロダクトやプロセスコンポーネントへの参照を含んでいる.
8
2015/9/30
3.検索対象の定義(2/4)
プロセスコンポーネント
プロセスコンポーネント・・・ソフトウェアプロセスにおける部分タスクの,具体
的な活動内容を記したもの.
プロセスコンポーネント自身にも,その作業についての情報が記載される.
そのため,これも検索対象として含める.
計画書
の作成
作業
見積もり
システム
要求分析
9
ID
pc0204
タスクタイプ
見積もり
作業管理者
プロジェクトマネージャ
作業担当
ソフトウェアエンジニアリンググループ
入力成果物
製品要件
顧客要件
出力成果物
タスク記述
活動内容
プロジェクトの範囲を見積もる
作業成果物とタスク属性の見積もりを確立する
プロジェクトのライフサイクルを定義する
2015/9/30
3.検索対象の定義(3/4)
PDSPの記述
要求
分析
計画
作成
各要素のメタデータ
タイトル
○○計画作成
ID
pc0304
データタイプ
Project Planning
実行者
○○
この要素を参照して作
られた要素
ID:pc0405
作成日
2003-01-05
.
.
.
要求
(Previous)
(Requires)
(Generates)
10
分析
結果
計画書
(Next)
(IsRequiredBy)
(IsGeneratedBy)
.
.
.
タイトル
○○計画書
ID
wp0307
データタイプ
Project Plan
作成者
○○
この要素を参照して作
られた要素
ID:wp0406,
ID:wp0703
作成日
2003-01-12
.
.
.
.
.
.
2015/9/30
3.検索対象の定義(4/4)
事例登録までの流れ
コンポーネントを
組み合わせて
PDSPを定義する.
プロジェクト開始
PDSPの定義
参照
作成
実際に成果物を
作り,PDSPと関
連付けてデータを
登録する.
プロジェクト
マネージャ
PDSP
組織の
プロセス
コンポーネント
DB
PDSP登録
開発実行
開発者
作成 ワークプロダクト
成果物登録
プロジェクト
事例共有DB
プロジェクト終了
11
2015/9/30
4.データの検索手法(1/5)
検索語によって開発のコンテクストを表現することができ,
かつ検索対象がそれにどれほど近いかを評価することの
出来る検索手法が必要である.
テキスト文書検索に用いられる「グラフモデルによる類似検
索手法」[2]をベースにした検索手法を提案する.
[2]富田準二,竹野浩,菊井玄一郎,林良彦,池田哲夫,“グラフモデルの提案とテキスト検索システムへの適用
による評価,”情報処理学会論文誌「データベース」Vol.43, No.SIG2(TOD13),pp.94-107, Mar.2002.
12
2015/9/30
4.データの検索手法(2/5)
グラフモデルによるPDSP類似検索の概要



PDSPを,要素とリンクで描かれるグラフであるとみなす.
検索者は,自分の参照したいPDSPの部分グラフを検索語として入力する.
検索語と類似したプロセスの流れを持つPDSP
(=類似したグラフの形状を持つPDSP)
は,検索者のコンテクストに適した事例であるとし,高いランキングを与える.
検索対象(PDSP)
検索語
(コンテクストを表現する部分グラフ)
システム
設計
情報検索者
(「システム設計&実装」の担当者)
13
システム
設計
計画
作成
検索
実装
実装
類似した流れを
持つかどうかで
評価する
分析
された
要求
計画書
設計
2015/9/30
4.データの検索手法(3/5)
グラフの類似度

グラフの重要度と関連度に基づいて,グラフ間の類似度を算出し,
ランク付けを行う.
重要度・・・検索者にとって興味ある作業・ワークプロダクトかどうか
グラフ間の共通要素がそれぞれデータとして持っている,
「過去に再利用された回数」に比例する値
関連度・・・検索者が参照したいプロセスの流れにどれだけ近いか
グラフ間の共通要素間の関連(リンク)がどれだけ近い形
を持っているかを示す値
類似度=重要度の重みI×正規化関数f(共通要素の重要度の和)
+関連度の重みR×正規化関数g(共通要素の関連の関連度の和)
14
2015/9/30
4.データの検索手法(4/5)
具体例1
プロジェクト事例A
計画
作成
検索語X
システム
設計
関連度
・・・共通要素間の経路
のパス数の逆数
システム
設計
1.0
実装
0.5
0.7
検索
実装
分析
された
要求
計画書
設計
重要度
・・・これまでにこの要素が
再利用された頻度
情報検索者
15
類似度
=重要度の重みI×正規化関数f(出現要素の重要度の和)
+関連度の重みR×正規化関数g(出現関連の関連度の和)
=p×((0.5+0.7)/1.5)+(1-p)×(1/1)
=0.5×1.2/1.5 + 0.5×1
=0.9
2015/9/30
関連度
が「具体例1」より小さ
い
4.データの検索手法(5/5)
具体例2
プロジェクト事例B
計画
作成
検索語X
システム
設計
システム
設計
0.4
0.5
設計の
検証
実装
0.9
検索
実装
分析
された
要求
計画書
設計
検証
済み
設計
重要度
類似度
=p×{(0.4+0.9)/1.5}+(1-p)×{(0.5)/1}
=0.5×1.3/1.5 + 0.5×0.5
実際にはもっと複雑な検索語を用いることが出来る.
=0.68
(p=0.5, f=1.5, g=1のとき)
(PDSPそのものを検索語にしてPDSP同士の類似度を計算する,など)
情報検索者
16
2015/9/30
5.検索手法の利用シーン
例.PDSP作成支援
事例DB
検索
プロジェクトA
プロジェクトB
プロジェクトA
PDSP
PDSP
プロジェクトマネージャ
参照
検索結果
成果物
成果物
メタデータ
メタデータ
1.プロセスの大まかな流れを考える
2.作成途中のPDSPをそのまま検索語として与え,類似事例を得る
3.事例を参照し,作成中のPDSPに反映する
17
2015/9/30
6.関連研究

ワークフローシステムの研究の一環として,知識やノウハウをワークフ
ローにおける業務アクティビティと関連付けて蓄積するようなシステムの
研究が行われてきている[3].
業務アクティビティ
ワークフロー
知識・
ノウハウ

18
本研究で対象としているソフトウェアプロセスは,ワークフローよりも複
雑で,かつ対象ソフトウェア製品によって多様なパターンを持っている.
そのため,この研究をそのまま利用することはできない.
[3]敷田幹文,門脇千恵,国藤進,“フローに連携した組織内インフォーマル情報共有手法の提
案,”情報処理学会論文誌Vol.41, No.10,pp.2731-2741, Oct.2000.
2015/9/30
7.まとめと今後の課題
まとめ

本研究では,ソフトウェア開発におけるプロジェクト事例検
索手法を提案した.


作業とワークプロダクトを関連付けた記述(PDSP)を事例として取
り扱うので,開発のコンテクストに適した事例を検索・参照できる.
グラフモデルに基づく類似検索手法を用いることで,検索者が
• 要素間の関係が類似している
• よく参照されている
といった要素にアクセスしやすいランク付けを行う.
今後の課題


19
類似度計算式の評価検討,改良
ソフトウェアコンポーネントへの応用
2015/9/30
補足資料
21
2015/9/30