SOA に基づくソソフトウェアア開発プロ
ロジェクト管
管理プロセ
セスのモデル化化と実行環環境の提案
案
M20 10MM025 近藤
藤 淳樹
指 導教員 青山 幹雄

1. はじめに
現在，グローバルソフ
フトウェア開発はは，開発プロジェク
クトの統一的なな実行と管理がが困難である．本稿
稿では人を含むむ活動をサービ
ビスとして考える
る．SOAによるソフトウェア開発プ
プロジ
ェクトマ
マネジメント(PM)をを実現するためめに，ソフトウェア
ア開発
PM を SSOA の 3 層モデ
デルで表現し，PMMBOK で定義さされる管理作作業に基づいた開開発管理サービススを定義した．ささらに，Web サ
サービスにより開開発担当者の決定定，変更を可能ととする．
プロトタ
タイプを開発し，提提案方法によるプロジェクトの実実行と管理を確確認し，提案方法法の妥当性を示示す．

2. 研究課題ソフト
トウェア開発プロ
ロジェクトがネットトワークを介してて協調して実行行するための課題題を以下に挙げ
げる．
(1) 開発発管理のためのプロセスが未定
定義
サービス指向ソフトウ
ウェア開発では，開発作業しか検検討さ理に必要な作業をを考慮していない
い．まれておらず，開発管理発プロセスの管理理方法がプロババイダごとに異ななってた，開発いる．そそのため，統一的的な開発管理方法法が必要である．
(2) リソ
ソース管理におけける開発担当者決決定方法が未確
確立
人手手の作業であるソ
ソフトウェア開発サ
サービスの処理理能力は開発発作業担当者に依依存する．サービ
ビス指向ソフトウ
ウェア
開発では，リソース情報報の管理を行う方方法とリソース情情報のある開発サービス
スの担当者を決決定する方法を定定義し１つであていない
い．そのため，リリソースの決定，変更方法を定義義する必要があある．

3.3. A Business-Driv
ven Web Servicee Creation Methoodology
ビジ
ジネスプロセスモ
モデルから SOA
A 上のサービスへへのマッピンング方法が提案さされている[1]．ビビジネスからサーービスを作成成する方法についいて議論するためめに，SOA の階階層構造を表表す 3 層モデルをを提案している． 本稿では，サーービスとソトウェ
ェア開発 PM プロ
ロセスの関連を明明確にし，ソフトウェア開発 PM
P における SOA を適用した 3 層モデルを提案
案する．

4. アプローチ
統一的にソフトウェ
ェア開発プロジェ
ェクトを実行，管理理するためにに以下のアプローーチをとる(図 1)．
(1) SOA に基づく開開発 PM プロセス
スの提案
OA の 3 層モデル
ル[1]に基づき， ソフトウェア開発
発 PM にSO
おけ
ける SOA を適用した 3 層モデル
ルを提案する．こ
ここで，開発ププロセスを管理すする PM プロセススを定義する．次に，開発管理
理サービスの条件件を明確にし，開開発管理サービス
スを定義するる．開発管理サーービスの中で，リソソースの管理にに着目し，リソーース管理サービス
スを定義する．
(2) リソース管理サーービスにおける開発開発担当者決定方法
法の定義
ソース情報である
る開発作業担当者者を，ネットワーークを介しリソて決決定と変更する方方法を提案する． そのために，リソソース情報をを定義し，開発ププロセスと PM プ
プロセスから参照とと操作が可能能なリポジトリを設設置する．次に， リソース管理サーービスを設計計し，担当者情報報の決定手順を示示す．

3. 関連研究3.1. SOOA に基づくソフ
フトウェア開発モデ
デル化方法論SOA の 3 階層に基づづいたソフトウェア開発のモデル
ル化を提案してている[3]．また，3 層モデルに基基づいたソフトウウェア
開発プロロセスのモデル
ル化から実行と管管理を含む一連ののプロセスを提提案している．ししかし，開発プロロセスの管理方法
法，開発サービ
ビスの具体的なな構造についてはは未定義である．
3.2. ソフ
フトウェア開発ササービスのモデル
ルと実行環境統一的なインタフェーースを持つ開発
発サービスのモデデルと実行環境環境を提案していいる[2]．開発サーービスを連携したた例題
による開開発と管理によっって提案手法の妥当性を確認ししている．しかかし，ソフトウェア開発 PM プロセ
セスと開発担当者者決定
方法につついては未定義義である．

図 1 SOA に基づくソフトウェア開発
開発プロジェクト

5. SOA に基づづくソフトウェ
ェア開発
5.1. ソフトウェア開発
発 PM への SO
OA の適用デル
5.1.1. ソフトウェア PM の 3 層モデ
OA の 3 層モデル
ルにソフトウェア
ア開発 PM の要素
素を対応SO付け，PPM プロセスと開開発管理サービス
ス，開発管理サーービスの構成要要素の関連を示
示すソフトウェア開開発 PM の 3 層層モデ
ルを提案
案する(図 2)．

図 2 ソフトウェアア開発 PM の 3 層モデル
5.1.2. ソフトウェア開発
発 PM のサービ
ビス化の SOA/Web サーービスにおけるササービスの条件
件[2]に従来のソフトウウェア開発管理ササービスを対応付付け，開発管理理サービスが満満たすべき条件件を以下に示す．
(1) サーービスの単位
本稿ででは，PMBOK の各知識領域でので行われる作業をを開発
管理サーービスとして定義義する．
(2) ソフフトウェア開発管理
管理サービスのインタフェース
開発管
管理サービスはは，ドキュメントややデータを入出力力として扱う．そのため，これれらに加えて，実実行命令などをイインタスとして考える．
フェース
5.2. リソ
ソース管理サービスにおける担当者決定方法のの提案
本稿ででは，開発担当当者情報を含むリリソース情報の管管理を，ネットワワークを介して行行う方法を提案する．
(1) 担当当者，タスク情報報の定義
開発ササービスの担当
当者において識別別と決定に必要要な情報を担当当者情報として定定義する．表 1 に担当者情報ととその概要を示示す．
表 1 担当者情報
名
名称

概要
要

ユーザ ID

担当者
者に割り振られた ID

所属担当者
者が所属する組織(またたは部署)

名前

担当者者名

稼働可能
能期間

担当者
者がタスクを稼働するこことができる期間

担当可能
能業務

担当者
者が処理可能な業務

スキル情
情報

担当者
者が持つスキル情報(例例:C 言語，Java など))

優先度

担当者
者に割り振られた優先
先度

タイムゾ
ゾーン

担当者
者が活動するタイムゾーン

利用言語
語

担当者
者が利用する言語(またたは利用可能な言語)語)

本稿ででは，開発サーービスの実行に必必要なリソース情情報をタスク情情報と呼ぶ．タス
スク情報は，開発発サービスを担当当する担当者情情報と予算，スケケジュールなどかから構成される．表 2にタスク
ク情報とその概要
要を定義する．

表 2 タスク情報
名称

概要

タス
スク ID

生成したタスクに割りり振られた ID

タス
スクの状態

タスクの現在の状態
態

担当
当者名

開発作業を担当するる人物名

担当
当者の所属組織担当者の所属する組
組織名

納期期

タスク完了までの期間
間

予算算
進捗
捗情報

タスクに割り振られた
た予算
タスクの進捗に関すする情報．PMBOK で定定義されるどの知識領域をママネジメントするかよっって入力される内容が異なる(2) リポジトリの構築
築
担当者情報を格納担納するためのリポポジトリを構築する
る．このリポジジトリは，開発プロロセスや PM プロロセスなどからののアクセスを想想定して配置する
る．リポジトリのデーータモデルを図
図 3 に示す．担当者情報は，データの識別にに必要な属性情情報と，担者の決定に必要なな割当情報の 2 つつのデータを集集約したも当者のでである．また，タススク情報は，タスククを担当するユーーザ情報，タスククの状態と識別 ID
I から成る属性
性情報，タスク実行
行に必要なリソ
ソース情報である計画情報，進進捗の取得に必要要な情報
であある進捗情報の 4 つのデータを集集約したものであある．
担
担当者情報

担当者
情報

属性情報

割当情報

名前

ユーザID

担当可能
業務

所属

タ
タスク情報

タスクの状態

タイム・ゾーン
優先度

利用
用言語

タスク
情報

ユーザ
情報

属性情報

タス
スクID

スキル
ス
情報

稼働可能
期間

所属
属
組織
織名

担当者名

計画情報

納期
期

進 捗情報

予算・・・

図 3 リポ
ポジトリで扱うデデータモデル(3) リソース情報の管管理方法を定義
義を操作する機能
担当者情報を含む
担むリソース情報を能を持つ
Webb サービスを構築
築する．これをリソ
ソース管理サーービスと呼ぶ．リソース管理サーービスが開発プロプロセスと PM プロセス，
プ
開発
発サービス担当者
者から利用されるることで，ネットワークを介ししてリポジトリに格格納される情報のの操作を実現する
る．
(4) 担当者情報決定
定手順の定義記により，担当者情情報をリポジトリにに格納し，操作するることがで上記
きる．担当者情報の決決定手順は図4 に示示す以下の3 つかからなる．
1) 更新
作業担当者が定作定期的に担当者情情報の更新を行行う
2) 参照
担当者を決定す担する開発管理者ががリソース管理ササービスを呼び出して担当を当者情報を参照す
する
3) 割当て開発管理者が担開担当者を決定し， リソース管理サービスを介してタスク情報を介を更新する

図 4 担当者者決定のシーケ
ケンス図6. 開発管理のププロトタイプ
提案内
内容に基づき，ププロトタイプの開開発を行った．
6.1. ププロトタイプの構成
成
全体構成と開発規規模
6.1.1. プロトタイプの全構成を図 5 に示す
す．プロトタイプはは，開プロトタイプの全体構
セスの実行などをを行う開発サービ
ビスプロバイダ，開発
発プロセ
管理作
作業と進捗の取得得を行う開発管理
理サービスプロバ
バイダ，リソースス管理機能を提供供するリソース管
管理サービスプロロバイ
ダの 3 つつから構成される．

(1) プロセス実行エンジン
開発サービスと開開開発管理サービススであるヒューマ
マンタスクの連連携と呼出しを実実行する．
(2) 監視モニタ
ソース管理サービスを介してタススク情報の進捗をを取得し,リソ
アーーンドバリューを表表示する．
(3) リソース管理サーービス
担当者情報とタス担
ソース情報を操作作する機ク情報などのリソ能をを持ち，開発プロセ
セスと PM プロロセス，担当者かから利用されるることで，リポジトリリに格納される情情報の操作を実現
現する．
6.2. プロセスの実装
装ロセス実行エンジジンとして，Oraclle BPEL Process Manager
プロを用用いた．実行エンジジン上で実行すする PM プロセスと開発プ
ロセ
セスの実装には，OOracle JDevelopeer を使用した．
6.3. リソース管理サ
サービスの実装
本稿では，リソース本稿
ス管理サービスののアプリケーションサー
バとして Tomcat5.5 を使用し，Web サービスフレー
ームワークに Apache
AAxis2 を使用した．リソー
ース管理サービス
スとして，リポジ
ジトリ内のデータタの表示，更新， 追加，削除のオオペレーションンを実装した．
6.4. 監視モニタの実実装
監視視モニタとして PMBOK
Pのコストトマネジメントにおけるコストココントロールのツツールを実装した
た．コストコントロールのプロセスでは，開発作業の進捗かららコストや資源のパフォーママンスを用いてププロジェクトの実績績を評価する．本
本稿では，Javaa から提供される API である JFreeechart を使用し，Java で実装装した．

7. 例題の実行
例
行トタイプの全体構成
成図5 プロト
本稿でで開発したリソーース管理サービ
ビス，監視モニタ
タ，PMプロセスス，開発プロセススの開発規模を表表 3 に示す．
表 開発規模表3
名称
リソー
ース管理サービス
監視モ
モニタ
PMプ
プロセス
開発プ
プロセス

開発環境(LOC))
5583
2229
6627
4480

言語
Java
Java
BPEL
BPEL

6.1.2. プロトタイプの機
機能
プロトタ
タイプの機能を図
図6 に示す．
プロセス
実行エンジン監
監視モニタ

各プロセスの作成

監視モニタの起動

プロジェク
クト
各プロセス
マネージャ
ャの実行
(PM)
各プロセスの変更
ヒューマン
ン ヒューマンタスク
タスク
開発の呼び出しサービス()

リソース管理
サービス

開発作業
監視モニタ

ヒューマン
タスク
開発管理
サービス

()

進捗の確認

ヒュ
ューマン
タスク
リソース 開発
管理 サービス
ササービス

()

ヒューマン
ヒ
タスク
開
開発管理
サ
サービス

図 6 プロトタイプの機能
プ能

タスク情報の参照

タス
スク情報
リポ
ポジトリ

タスク情報の更新
担当者情報の参照

開発作業
開担
担当者

担当者情報
担当
当者情報の更新
リポジトリ

7.1. 実行する例題
フトウェア開発プ
プロジェクトの中でで，開発プロセススの開発
ソフ
工程
程，PM プロセスの計画プロセスス群，実行プロセセス群，監視プ
プロセス群を対象象として実装，実実行した．また，開開発管理を行行うための知識領領域として，コストトとスケジュールをを適用した．こ
このため，開発管理のための進進捗情報としてコ
コストとス
ケジ
ジュールの観点かから必要な情報ののみを取得した．
7.2. 例題によるソフ
フトウェア開発プ
プロジェクトの実行
行
題実行時におけけるプロトタイプのの振舞いを図 7 に示す．
例題
PMははPMプロセスとと開発プロセスををサービスである
るヒューマ
ンタススクの連携としてて BPEL で記述述する．次に，開発発管理サービ
ビス (ヒューマンタタスク)がリソースス情報を決定し，，開発サービ
ビスプロバイダにに情報を送信する
る．そして，開発ササービスがリソ
ソース管理サービスを介して担当当者情報を操作作する．担
当者者はリソース管理
理サービスを介しして定期的に担当当者情報の更更新と確認を行い
い，作業担当者としして任命された場
場合に開発作作業を行い，タスク情報を更新すする．また，監視モモニタにより作作業のアーンドババリューを確認しし，開発時のボトトルネックを発発見した場合，リソソースの再割当ててを必要に応じてて行う．

プロセス実行エンジン(BPEL)

PM
起動

Human
Task

作成 開発管理
プロセス
作成

開発
プロセス
タスク呼出
コスト情報返信
タスク呼出
コスト情報返信

リソース タスク 担当者 プロセス管理
情報 情報 監視モニタ
サービス
サービス
呼出
情報更新
コスト計算

スケジュール計算

情報送信 タスク呼出 サービス
呼出情報
更新

ヒューマンタスク呼出 サービス
呼出担当者
情報参照

担当者情報送信

作業担当者

担当者
決定

実行命令，情報送信 タスク呼出 サービス呼出
ヒューマンタスク呼出9. 今後の課題

情報更新
モニタの起動サービス呼出
担当者情報 参照

サービス 呼出Loop

情報 更新
サービス
呼出8.3. プロトタイプによる妥当性の確認プロトタイプにより，開発プロセスと PM プロセスの並列実行によって，統一的な方法でプロジェクトが実行可能となることを確認した．また，リソース情報を Web サービスから設定，変更することでプロジェクトの実行時に動的に担当者情報などのリソース情報を操作できるのを確認した．さらに，監視モニタを用いて進捗を確認することで，進捗に応じてリソースの再割り当てが可能であることを確認した．

情報 更新

実績確認
情報 参照

完了
完了

図 7 実行時の振る舞い

8. 提案方法の評価
8.1. SOA に基づく PM プロセスの妥当性
本稿では，ソフトウェア開発 PM プロセスとサービスの関連を表す 3 層モデルを提案した．次に，従来の Web サービスにおけるサービス条件から，ソフトウェア開発管理サービスの条件を定義した．これらによって，ソフトウェア開発 PMへの SOA の適用を明確にした．
ソフトウェア開発 PM の工程をサービス単位とし，ソフトウェア開発管理サービスは独立した機能を提供できる．開発
管理サービスの協調によってソフトウェア開発PMを実行することで，各サービス内の作業やデータの交換が隠蔽され，サービス単位の制御とサービスのインタラクションのみを考慮することで，PM が可能となる。また，開発プロセスと PMプロセスを記述し，実行することで統一的な方法でソフトウェア開発プロジェクトの実行と管理が可能となる．
8.2. リソース管理サービスの妥当性
本稿ではリソース管理を行うために，リソース管理サービスを提案した．リソース情報として，担当者情報とタスク情報を定義し，リポジトリに格納した．リソース管理を開発サービ
スや開発管理サービスとは独立したサービスとし，オペレーションをインタフェースとして公開することで，開発プロセ
スと PM プロセス，担当者などからプロジェクトの実行時に動的にリソース情報の割り当てと変更などの操作をすることを可能とした．これらにより，リソース情報の割り当て，担当者の決定，進捗の取得が可能となる．

(1) WS-HumanTask に基づく開発サービスの導入
現在のプロトタイプでは，タスクの詳細な情報を扱っていない．そこで，関連研究[3]のモデルに基づく開発サービスを実装することで，インタフェースを用いてプロセスから直接タスクの詳細な状態を操作し，タスク情報の操作，担当者の決定と変更が可能となる．
(2) 各知識領域に対応した監視ツールの作成
本稿では，コストとスケジュールのみを対象とした監視ツールを実装した．しかし，実際のプロジェクトでは様々な知識領域に対してマネジメントを行う必要がある．今後，PMBOK で定義されるすべての知識領域に対してマネジメントを可能とする監視ツールを作成する必要がある．

10. まとめ
本稿では，ソフトウェア開発PM プロセスをサービスの複合体と考え，ソフトウェア開発 PM におけるサービス指向の適当を適用した．ソフトウェア開発 PM における SOA の 3 層モデルを提案し，サービス条件を比較することでソフトウェア開発管理サービスが満たすべき条件を定義した．これらにより，SOA に基づくソフトウェア開発 PM プロセスの提案を行った．
また，リソース情報の定義とリソース情報を管理するリソース管理サービスを提案した．さらに，プロトタイプを作成し，提案手法によるプロジェクトの実行を確認した．

参考文献
[1]

[2]
[3]

[4]

[5]

M. Aoyama, A Business-Driven Web Service Creation
Methodology, Proc. IEEE SAINT 2002, IEEE
Computer Society，Feb. 2002，pp. 225-228.
T. Erl, Service-Oriented Architecture, Prentice Hall, 2005.
長澤 伸治, ほか, ソフトウェア開発管理サービスのモデルと実行環境の提案, 情報処理学会 第 171 回
ソフトウェア工学研究会, Mar. 2011, 8pages.
大原 晋吾, ほか, サービス指向に基づくソフトウェア開発モデル化方法論の提案, 情報処理学会 第 163
回 ソフトウェア工学研究会, Mar. 2009, pp. 249-256.
Project Management Institute, A Guide to the ProjectManagement Body of Knowledge, 4th ed., PMI, 2008.