6AE-9

オブジェクト定義に基づくソフトウェアプロセス管理システムの試作
山本哲男

藤原豊

大下誠

松下誠

井上克郎

大阪大学大学院基礎工学研究科

1

はじめに近年，ソフトウェアの開発過程 (ソフトウェアプロセス又はプロセスと呼ぶ) を明らかにし，その改善を通じて生産性や品質の向上と開発期間の短縮を図る研究が盛んになってきている．
そのなかで，プロセス記述のためのモデルの研究が数多く行なわれている．これらのモデルでは，主に開発の作業手順を記述することでプロセスを3 システム
上記のモデルに基づいたソフウェアプロセス管理システムについて述べる．
本システムはソフトウェア開発の環境を提供する．このシステムを用いてソフトウェア開発を行なうことで，開発作業の進捗状況の把握を容易にし，管理することができる．
本システムは以下のものから構成される．

 リポジトリ リポジトリアクセスプログラム
 メソドエンジン
 HTML トランスレータ
 メソドセンダ
 メソドエグゼキュータ

表現している．しかし，オブジェクト指向やコンポーネント指向のソフトウェア開発では，開発時の生成物に着目した開発が行われている．
そこで本研究では，開発の作業手順ではなく，開発時における生成物や資源を属性とメソドで構成されたオブジェクトで表現するモデルの提案を行う．また，本モデルに基づくソフトウェアプロセ
ス管理システムの試作を行った [2]．

2モデル化手法オブジェクトはソフトウェア開発環境におけるさまざまな生成物や資源を表し，属性とメソドから構成される．
属性は，オブジェクトについての情報，状態を表すものである．属性名は各オブジェクトにおいて一意に定められ，属性値として属性名が示す内容が表される．

また，この他にも Web ブラウザ，http サーバを使用する．これらは既存のものを用いた．今回の試作は，UNIX(FreeBSD) 上で行った．図 1にシステムの構成を示す．
3.1

リポジトリ

リポジトリではオブジェクトの集合，メソドの実行履歴を蓄えておく．このリポジトリがある計算機をサーバ，開発者が作業を行なっている計算機のをクライアントと呼ぶ．リポジトリへのアクセスはすべてリポジトリアクセスプログラムを使用して行う．このようにする事で，リポジトリの構造が変化しても他のリポジトリをアクセスするプメソドはオブジェクトに対して許された操作でログラムは変更する必要がない．今回，リポジトある．メソド名は各オブジェクトにおいて一意にリは UNIX のファイルシステムを用いて実装した．

定められる．メソド本体に作業の内容を記述する．

開発者はオブジェクトを参照することで，現在オブジェクトの状態を変化させることにより，ソのオブジェクトの情報・状態を得る．また，開発フトウェア開発を進める．このような状態の変化

作業はオブジェクトのメソドを実行することで行をソフトウェアプロセスと呼ぶ．

なう．
3.2

Trial of Software Process Management System Based on
Object De nition
Tetsuo Yamamoto, Yutaka Fujiwara, Makoto Oshita,
Makoto Matsushita, and Katsuro Inoue
Graduate School of Engineering Science, Osaka University, 1-3 Machikaneyama, Toyonaka, Osaka, 560 JAPAN.

ユーザインタフェース

オブジェクトの属性を参照したり，メソドの実行はすべて Web ブラウザから行なう．各オブジェク
トは唯一の URL(Universal Resource Locator) を持つ．Web ブラウザで閲覧したいオブジェクトにメソド解釈スするまでについての一連の作業を規定している．

メソド
エンジン

メソド
センダ

HTML生成httpサーバ

まず，この例題のなかで，デザイン，ソースコーリポジトリ
アクセスプログラム

ド，オブジェクトコード，テスト結果等，作業時の生成物をオブジェクトとして定義した．また，作HTML
トランスレータ

リポジトリ

業に携わる人，人の役割，グループもオブジェク
トとした．次に，各オブジェクトに対して，属性とサーバ

メソドを考える．例えば，「ソースコード」というオブジェクトの場合，属性としてファイルの存在

TCP/IP

場所，オブジェクトコードのオブジェクト名，編Webブラウザ

集可能者等の情報，メソドとして編集を行う，コンパイルする，コード変更の修了を通知する等をメソド
エグゼキュータ

クライアント定義した．
このようにして，すべてのオブジェクトを定義しリポジトリに保存することで，開発作業の記述

図 1: システムの構成図を行った．また，そのリポジトリでシステムを動作させた．
この適用の結果，ソフトウェアプロセスをオブ対する URL を指定することで，そのオブジェクトのページが表示される．この時，HTML トランスレータが URL で指定されたオブジェクトの属性，メソドをリポジトリから取り出し，HTML に変換する．また，HTML トランスレータはユーザ認証ジェクトの集合で表せることが分かった．また，開発作業をメソドで定義でき，そのメソドを実行することにより開発をすすめることができることも分かった．

5 まとめも受け持つ．ユーザ認証を行うことで，だれがオ開発の作業手順によらず，開発時における生成ブジェクトのメソドを実行したかを認識できるよ

物や資源をオブジェクトとして捉え，それを用いうになる．

たプロセスのモデル化を行なった．また，そのプメソドの実行は Web ブラウザでメソド名を選ぶことで起動される．この時，メソドエンジンにクライアントの計算機名，使用者名，オブジェクト名，メソド名が伝えられ，メソドエンジンがリポジトリからメソド本体を取り出し，メソドの解釈を行う．また，作業履歴の記録も行う．もし，この際にクライアントの計算機でツールの起動等の処理が必要ならば，メソドセンダに依頼を行う．依ロセスモデルに基づくソフトウェアプロセス管理システムの試作を行なった．
本システムでは，オブジェクトに対する操作をメソドという形で限定し，すべての作業を自動的に記録する．それにより，進捗状況の把握が容易になる．また，ツールの自動起動などの開発支援も行えると考えられる．
今後の課題としては，システムの有効性を実験頼されたメソドセンダは，クライアント上のメソ的に評価すること，UNIX 以外のプラットホーム

ドエグゼキュータに TCP でコネクションを張り，への対応が挙げられる．

ツールを起動するためのコマンドを送る．そして，参考文献

コマンドを受け取ったメソドエグゼキュータがク

ソフトウェアプロセスモデリングのための例題[1] Kellner,M.I., Feiler,P.I., Finkelstein,A., Katayama,T., Osterweil,L.J., Penedo,M.H. and Rombach,H.D.: \Software Process Modeling Example Problem", Proceedings of the 6th International Software Process Workshop, pp.19{29(1990).

[1] を本システムにどのようにして適用したかにつ[2] 大下誠, 松下誠, 飯田元, 井上克郎: \オブジェク

ライアント上にツールの起動を行う．

4

適用

いて述べる．この例題では，要求の変更からはじまり，コードを変更し，そのコードが単体試験をパトに着目したソフトウェア開発管理システムの提案", 情報処理学会第 54 回 (平成 9 年前期) 全国大会

4U-10, pp. 1-425 - 1-426 (1996).