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