品質評価規格文書の構造化とそれに基づくプロセス評価支援システムの試作
松下 誠y世利 至彦z飯田 元z

y 大阪大学〒井上 克郎yz 奈良先端科学技術大学院大学

560 大阪府豊中市待兼山町 1-3〒630-01 奈良県生駒市高山町 8916-5プロセスの品質評価を行なう際には，品質評価規格文書を参照しながら行なう場合が多い．しかし，品質評価時に必要となる情報は，品質評価規格文書の各所に点在しており，文書中から捜し出すのに非常に手間がかかるといった問題がある．本研究では，品質評価規格文書として代表的なものの 1 つである SPICE(Software Process Improvement Capability dEtermination) を対象とし，品質評価時に必要な情報の効率の良い抽出，参照方法について検討した．まず，品質規格文書中から，評価時に必要となる情報を実際に抽出した．抽出した情報を分析した結果に基づいて文書の構造化を行なうために文書構造定義言語である SGML(Standard Generalized Markup Language) で用いられている方式を採用した．また，このようにして構造化された規格文書を入力として，必要な情報を検索，表示を行なうツールと，プロセス評価支援を行なうツールを試作した．これらのツールを使用することで，品質評価規格文書中に記述されている情報を容易に抽出することが可能となり，品質評価を効率よく作業が行なえることが期待できる．

Process Assessment Supporting System
Based on Structuring of Assessment Documents
Makoto Matsushitay Yoshihiko Seriz Hajimu Iidaz Katsuro Inouey
Osaka University
1-3 Machikaneyama, Toyonaka,
Osaka 560, Japan

Nara Institute of Science and Technology
8916-5 Takayama, Ikoma,
Nara 630-01, Japan

Process is usually assessed by comparing with the assessment documents, though the information for
the assessment are scattered, it is a time-cosuming job to gather them. In this paper, we investigated the method to obtain information for process assessment by means of SPICE (Software Process
Improvement Capability dEtermination). First, we extracted the information related to processes,products, levels.

Then, to construct the SPICE documents based on that extracted information,

SGML (Standard Generalized Markup Language) was adopted.

Based on the constructed SPICE

documents, we have made prototypes of two tools, a tool which shows the information about processassessment on the display, and a tool which investigates relations between processes and products.
These tools enable us easily to get information for process assessment, and to improve process assessments greatly.

11

はじめにEngineering
システムやソフトウェアの仕様策定，実装，保ソフトウェア開発プロセスを改善することは，生守に直接影響のあるプロセス．

産効率の向上，コストの削減などに直接影響を与えるため，非常に大きな意味を持つ．ソフトウェア開発プロセスの改善を行なうためには，まず現Project
開発プロジェクトの立案，およびプロジェクト在行なわれているソフトウェア開発がどのようににおける調整，資源の管理を行なうプロセス．

行なわれているか評価することが必要となろう．
このような背景から，近年ソフトウェアプロセス

の品質保証に関する研究が盛んに行なわれて，利用されている[1, 2]．現在までに，ソフトウェアプロSupport
プロジェクト中における他のプロセスの運用を支援するプロセス．

セスに対してさまざまな評価方法や参照モデルが提SEI(ソフトウェア工学研究所) の CMM (Capability Maturity Model)[3, 4]
や，ISO(国際標準化機構) の ISO 9000 シリーズ
[5]，SPICE(Software Process Improvement Capability dEtermination)[6] などがあげられる．
案されてきた．たとえば，

Organization
組織目標の立案や，組織目標を達成するために必要となるプロセス，プロダクト，その他資源の開発を行なうプロセス．

しかし，これらの品質評価規格自体は自然言語る対象が広範囲である，といった点が問題と考え

SPICE では習熟度 (Capability Level)，共通特性 (Common feature)，汎用作業 (General Practice) の 3 段階で構成される，能力判断基準となるられる．本研究では，品質評価を効率よく行なう作業が，上記のプロセスとは別に定義される．汎ために品質評価規格文書の構造化を行ない，それ用作業においては，この作業を遂行するために必で記述されているために，実際に評価を行なう際，必要な情報が文書の各所に散乱している，評価す/ロダクト (Work Product Type) が定められている[8]．これらの作業は全てのプロセスに対して適用要となるプロセス 基本作業や，必要となる作業プに基づいた評価支援システムを試作した．品質評価規格として，今回は2SPICE を取りあげた．

される．この基準とプロセスを組みあわせること

プロセス品質評価規格

により，各プロセスが目的に則してどの程度効率SPICE的に運用されているかを判断する．

SPICE では開発作業の評価を，1) 基本作業がどの程度実行されているか，2) 各プロセスを各汎SPICE (Software Process Improvement Capability dEtermination) とはプロセス品質評価規格の 1 つであり，ISO/IEC JTC 1/SC7 の WG10用作業に照らしあわせ，どの程度効率的に実行さ2 種類について行なう．評価
は 1) を 2 段階 (実行している (Y)，実行していない (N)) または 4 段階 (完全に適合する (F)，大部分適合する (L)，部分的に適合する (P)，全く適合しない (N)) で，2) を 4 段階で行ない，その結果れているか，というにて国際標準化作業が行なわれているものである．

SPICE 文書全体は 9 章で構成されており，記述は約 400 ページに渡っている．
SPICE ではソフトウエア開発における作業をプロセスとして表現し，各プロセスはいくつかの(Base Practice) から構成されるとしている．また，プロセスはプロセスカテゴリー (ProcessCategory) として 5 つにグループ化されている [7]．
プロセスカテゴリーとしては以下の 5 つがある．
 Customer-Supplierは各共通特性毎，さらに各習熟度毎に集計される[9]．
SPICE ではさらに，集計された結果を用いた基本作業

プロセス改善やプロセス能力判定のためのガイドや，評価作業の実行方法についても規定されており，開発プロセスを改善するための指針として十顧客に直接影響のあるプロセス．

分な内容となっている．

2

3

 タスク - タスク間関係あるタスクがその実行，評価時に参照される

品質評価規格の構造化

SPICE の文書中，SPICE におけるプロセスや習熟度等の定義や評価指針等は 2 つの章にそれぞれ書かれており，これら全部の記述は SPICE 全
体のおよそ半分となる 200 ページ程度となる．こタスクを表現 レベル - タスク間関係あるレベルの遂行にあたって必要とされるタスクを表現のような大量の文書をフラットな構造のままで評 レベル - プロダクト間関係
あるレベルの遂行にあたって必要とされるプロダクトを表現

価の際に参照するのは容易ではない．

SPICE において評価の際に利用される情報を抽出した．2節で述べた通り，
SPICE においては，評価の際に必要な情報は「プ本研究ではまず，SPICE におけるこのような構造を導入すると，ロセスカテゴリーによって分類される各作業」「作3ができた．さらに SPICE における評価作業はこ品質評価の判断に必要となる情報は次のような形業成果物」「習熟度」の つに大きく分類することで明確に表現される．つまり，必要な情報はこの3 要素 4 関係にて表現できている．

れらの要素が評価対象中に存在するか，要素間に 基本作業に対する評価存在するいくつかの関連を参照することによってSPICE で行なうことができると考えた．そこで，該当するタスクがどのように行なわれている述べられている評価を目的とした開発作業モデル

か，ということについて，タスクの定義内容を次のように定めた．

や，このタスクとタスク - プロダクト関係を持つプロダクト等を参照することによって判3.1構造化のためのモデル断を行なうことができる．

SPICE による品質評価対象となる開発作業全体は以下の 3 つの要素から構成する．

 プロセスの習熟度に対する評価
タスクとレベルがどのように行なわれているか，ということについて，該当タスクとタス タスク
開発時における作業のうち，開発工程を構成するような作業．
における基本作業，

ク - タスク間関係を持つ他のタスクの実行状
況や，該当レベルとレベル - タスク間関係をSPICE

持つタスク及びレベル- プロダクト間関係をプロセスがこれに相当する．

持つプロダクトを参照することによって判断

 プロダクトを行なうことができる．

開発時におけるあらゆる生成物，もしくは事SPICE における3.2

前に準備されている成果物．

SGML(Standard Generalized Markup Language)[10] 方式を用いることにした．SGML とは，ISO によっ作業成果物がこれに相当する．

本研究ではこの構造を表現するにあたり レベル開発時における作業のうち，何らかの作業を遂行，改善するために必要となっている作業．
における汎用作業，共通特性，習熟度て標準化作業が行なわれている共通符号化を基本

SPICEとした文書記述言語である．文書はSGML 方式を用いて構造化することができ，文書処理，文書がこれに相当する．
これら

SGML 方式による構造化データベース，文書交換等を行なうことができる

3 つの要素間には，次の 4 種類の関係を[11]．
SGML を用いることにより，次のような利点が導入する．

あると考えられる．

 タスク - プロダクト間関係あるタスクが実行時に必要とするプロダクト 比較的簡単な構造をしているために，利用しを表現やすいこと．

3

1: ELEMENT タグの属性
TYPE 要 素 の 種 類 を 表 わ す．TASK,PRODUCT, LEVEL のいずれか
表

ID

TYPE

表

2: RELATION タグの属性
関係を表わす．の種類TKPD, TKTK, LTPの値を取り，それぞれタスク，プのいずれかの値を取り，それぞれロダクト，レベルを表わす．

「タスク-プロダクト間関係」「タ各種類中で一意に決定される文字

スク-タスク間関係」「レベル-タ列．

スク間関係もしくはレベル-プロ

SPICE における基本作業等に付けられた識別子を値として持SRC

つ．

ダクト間関係」を表わす．
関係上における参照元を表わし，参照元となる要素の識別子を値とSGML 方式によって表現される構造は，元DSTして持つ．
関係上における参照先を表わし．の文書に記述を加えることによって行われ参照先となる要素の識別子を値とる．

して持つ．

は

SGML 方式によって記述されたデータ
SPICE の文書自身を包含することができDIRECT

タスク-プロダクト間関係にのみるため，データを用いた文書の閲覧ツールな存在する属性で，プロダクトがタどを作成するのが容易である．

スクへの入力となるか出力となる

IN もしくは OUT のかを表わす．

3.1節 で 定 義 し た 構 造 を ，要 素 に つ い て はELEMENT というタグ (マーク) で，関係については RELATION というタグ (文章中に存在する構造を示すマーク) で定義した．この他，文書それ自いずれかの値を取る．

章を読んで付加する必要があったため，手作業で1500 のタグを付加した．
SGML によって構造化された文書の例を図 1に示身の構造を表現できるようないくつかのタグを定行なった．文書全体で約義した．
3.2.1

す．

要素に関するタグ

この例では，作成するソフトウエアの要求仕様

要素は全て ELEMENT という名前のタグで表現を定義する基本作業について定義されている文1

SGML のタグが振られている．先に挙げたする．ELEMENT タグには表 のような属性が存在章にする．この他，属性

ELEMENT や RELATION の他，文書自体の構造を表ID の持つ情報を補うためにSUBID, SUBSUBID といった属性が必要に応じて定現するタグが付けられている．

義される．

43.2.2

SGML 方式によって構造化された文書を利用す関係に関するタグる，品質評価支援システムを試作した．システム

2

関係は全て RELATION という名前のタグで表現るデータベースが存在している．

SKRT は，品質評価文章中に記述されている各する．

項目や，項目間の関連を表示するためのものであKHST は，品質評価結果の入力，保存を行な

SGML タグの記述例

このようにして定義した

2は図 のような構成であり， つのツールと付随す2する．RELATION タグには表 のような属性が存在

3.2.3

支援システムの試作る．

SGML タグを，SPICEい，評価作業を支援するものである．両ツールとSGML タグの文書中に付加する作業を行なった．この作業は文も，構造化された文書を入力とし，

4

hELEMENT TYPE=TASK ID="CUS.1" SUBID="2"ihPREAMBLEi

CUS.1.2h/PREAMBLEi
hTITLEiDefine the requirements.
h/TITLEihBODYi
Prepare the system and software requirements to satisfy
the need for a new product and/or service.
Note: This definition of the requirements may be done
completely or partially by the supplier.
hRELATION TYPE=TKTK SRC="CUS.1.2" DST="ENG.1"
DST="ENG.2"iSee "Develop System Requirements and Design"
ENG.1, and "Develop Software Requirements" ENG.2.
h/RELATIONi
hRELATION TYPE=TKTK SRC="CUS.1.2" DST="CUS.3.1"iAlso see CUS.3.1, " Obtain customer requirements
and requests. " CUS.1.2 is focusing on defining
requirements when the software organization isacting as a customer. CUS.3.1 is focusing on
obtaining requirements when the software organization is acting as a supplier.
The primary difference is one of perspective,
the role being performed.
h/RELATIONi
h/BODYi
h/ELEMENTi

図表
操作名

PD TKINPD TKOUT

プロダクトを入力とし，そのプロクの集合を返すプロダクトを入力とし，そのプロダクトを出力するプロセスの集合

TK PDINを返すタスクを入力とし，そのタスクが入力として利用するプロダクトの

1: SGML による構造化の例

TK PDOUTTASK C析結果は必要に応じてデータベースとして保存し，集合を返すタスクを入力とし，そのタスクが出力するプロダクトの集合を返す
文字列を与えると，その文字列を識別子の接頭語として持つような再度検索する際に利用される．過去の入力されたLEVEL C

品質評価結果も同様にデータベースの形で保存さ2れる．以下， つのツールについてそれぞれ説明

タスクの集合を返す
文字列を与えると，その文字列を識別子の接頭語として持つようなする．

LEVEL TK

レベルの集合を返す
レベルを入力とし，そのレベルの評価時に関連するプロセスの集合

SKRT

SKRT は，SPICE 文書中に記述されている各項

LEVEL PD目に関する内容を表示したり，タスク間の参照関TKPD LEVEL

書中の情報を参照しやすくするためのツールであ3る．実行例を図 に示す．

3.1

レベルを入力とし，そのレベルの合を返す
タスクもしくはプロダクトを入力とし，それが評価時に必要とされ文章中の参照関係を自由に検索するために，

R TK ABOVE

節で定義されるモデル上における操作について定( 3)．各操作はそれぞれ 1 対多の写像としめた 表

るレベルの集合を返す
タスクを入力とし，そのタスクに対して参照関係が再帰的に定義でて定義した．これらの操作にはモデル上で定義さきるタスクの集合を木構造としてれる参照関係の他，定義から導出される参照関係

R TK UNDERが含まれる．
また，これらの操作を組み合せて利用できるよ2

返す
タスクを入力とし，そのタスクから見て参照関係が再帰的に定義でうに， つの集合に対して，その和集合と積集合きるタスクの集合を木構造としてを計算する演算を定義した．また，各演算は引数1 つの値しか取ることができないため，集返す合の要素に対して同一の演算を行ない，その結果(を返す
評価時に関連するプロダクトの集係を調べて簡単なグラフ表現にするといった，文として意味ダクトを入力として利用するタス

解析を行ない，ユーザからの要求を処理する．解4.1

3: 基本操作)の和集合を取るための演算 マッピング演算 を定義した．

5

構造化した文書

KHST
タグからの情報

評価結果の格納SKRT

評価結果の参照
データベース

データベース

プロセス
評価支援システム
評価結果
情報の表示要求図

文書中の情報4: KHST 実行例

ユーザ

辞書機能

2: システム概要

図識別子からその識別子の定義が記述されている文章を表示する．識別子はユーザが明示的にキーボードから与えることができる他，ある操作を行なった結果表示される画面中にある識別子をマウスで指定することによっても与えることができる．
簡易検索機能単語を与えると，文書を検索しその単語が含ま//れているタスク プロダクト レベルの識別子の一
覧を表示する．一覧表示された識別子をマウスで指定することにより，その識別子に対して辞書機図

例えば「ある3: SKRT 実行例

能を呼びだして識別子の説明を表示させることができる．
4.2

2 つのタスク (仮に A, B とする)

KHST

KHST は品質評価時に利用し，評価を行なったSKRT 同様，規格文章の閲覧等も行なえる．動作例を図 4に共通して入力となるプロダクト」を調べる場合

TK PRDIN(A) * TK PRDIN(B) を実行さ

結果の入力，保存，表示を行なえる他，には，せることによって求めたいプロダクトの集合の一に示す．

KHST では SPICE における品質評価作業のう覧が表示される．

SKRT では，このように定められた操作，演算ち，プロセスの習熟度評価の実行を支援する．まを組み合せ，その結果を視覚的に表示することがず，評価対象となるプロセスを選択すると，該当プできる．結果が集合となる場合にはそれをリスト

ロセスの定義，このプロセス定義中に記述されての形で表示し，木構造はそのまま表示する．図 でいる他のタスク，プロダクトとの関連が表示されは，木構造の表示例となっている．この他，る．汎用作業を指定すると，該当する汎用作業のでは以下のような機能が提供される．

定義が表示され，判断基準を記述した文書や，そ3SKRT6しており，文章をそのままデータとして持つ．本システムを用いることにより，品質評価規格文書の閲覧を容易に行なうことができ，また，入力した評価結果を自動的に集計し表示することができる．このようなシステムを利用することで，品質評価作業時に発生する文書閲覧作業を軽減されると考えられる．
図

今回は品質規格文書として

5: 評価結果表示

SPICE を取りあげたが，今後は他の規格等へ本手法を応用することを考えている．また，本システムの有効性を検証するためには，実際に運用することが必要になるの文書中に記載されているタスクやプロダクト等と考えられる．さらに，品質評価を行なう際に規の一覧が表示される．表示された一覧等から該当格文書中で定義されている開発プロセスの構成要する項目の内容を参照することもできる．

素と，評価対象となる現実の作業との対応づけを行なえるようにシステムを拡充したい．

プロセスと汎用作業の指定を行なった後に，評価結果の入力を行なうことができる．入力された評価結果はファイルに保存される．また，結果の参考文献表示を行なう際には，プロセスカテゴリー毎に表( 5)．また，プロセス
4 段階[1] Saiedian, H. and Kuzara, R.: \SEI Capability Maturity Model's Impact on Contractors", IEEE Computer, Vol.28, No.1, pp.16{
26 (1995).
[2] MacLennan, F. and Ostrolenk, G.: \TheSPICE Trials: Validating the Framework",in Proceedings of the 2nd International
SPICE Symposium, pp.109{118 (1995).
[3] Paulk, M., Curtis, B., Chrissis, M. andWever, C.: \Capability Maturity Model for
Software, Version 1.1", Software Engineering Institute, CMU/SEI-93-TR-24 (1993)．
[4] Paulk, M., Curtis, B., Chrissis, M. andWever, C.: \Key Practices of the Capability Maturity Model, Version 1.1" , Software
Engineering Institute, CMU/SEI-93-TR-25(1993)．
[5] ISO 9000-3 Guidelines for the Application ofISO 9001 to the Development, Supply, andMaintenance of Software (1991).
[6] The SPICE Project: \Software Process Assessment { Part 1: Concepts and Introductory Guide", Version 0.02 (1994)の形にまとめて表示する 図

カテゴリーや習熟度単位で集計し，結果を評価における各段階ごとの百分率で表示する機能を持つ．

考察

4.3

本研究では，文書の構造化にSGML 方式を採SGML用し，それに基づいたツールを試作した．

は電子文書の再利用，全文データベース等に利用[12, 13]，広く使われている手されている例があり法と言える．しかし，これらのデータベース等では同種類の大量の文書に対する検索を提供してい

SKRT では一つの長い文書にると考えられるが，対する検索等の機能を提供していると考えられる．
実際のプロジェクトに対して品質評価を行なう
場合には，非常に長い期間が必要となると言われている[2, 14]．KHST では，評価結果を保存することができるため，長期間に渡る評価時にも利用することが可能であると考えられる．

5まとめ
プロセスの品質評価時に利用できる評価支援システムの試作を行なった．本システムは品質規格文書をSGML 方式により構造化した文書を入力と7

[7] The SPICE Project: \Software Process Assessment { Part 2: A Model for Process
Management", Version 0.01 (1994)[8] The SPICE Project: \Software Process Assessment { Part 5: Construction, Selection and Use of Assessment Instruments andTools", Version 0.02 (1994)[9] The SPICE Project: \Software Process Assessment { Part 3: Rating Process", Version0.01 (1994)[10] ISO 8879: \Information Processing - Textand OÆce System - Standard Generalized
Markup Language (SGML)" (1986).
[11] 田中洋一: \文書記述言語 SGML とその動向", 情報処理, Vol.32, No.10, pp.1118{1125(1991).
[12] 高柳由美子, 坂田英俊, 田中洋一: \SGML による全文データベースシステム", 情処研報,
93-CH-18-5, pp.35{42 (1993).
[13] 森 田 歌 子, 鈴 木 政 彦, 宮 川 謹 至, 浜 中 寿:
\SGML 方式による情報管理誌全文データベース化の可能性と HTML による電子情報管
理誌の試作", 情処研報, 95-FI-37-2, pp.7{14(1995)[14] Woodman, I. and Hunter, R.: \Analysis ofAssessment Data from Phase 1 of the SPICE
trials", Software Process Newsletter, No.6,
pp.1{6 (1996).

8