Software Testing ManiaX vol.4
1

2Software Testing ManiaX vol.41) Boehm
品質モデルに関する文献は以下の3 点があり、この内②③を入手できた。
① 1973 年のTRW レポート
"Characteristics of Software Quality," TRW Software Series
TRW-SS-73-09, December 1973
このレポートはBoehm らがNBS(National Bureau of Standards,米国標準局)の委託を受けて研究したものである。
② 1976 年の第2 回 ICSE(International Conference on SoftwareEngineering)の発表論文"Quantitative Evaluation of Software Quality," 2nd ICSE, 1976
http://csse.usc.edu/csse/TECHRPTS/1976/usccse76-501/usccse76501.pdf③ 1978 年にNorth Holland 社から出版された書籍"Characteristics of Software Quality," TRW Series of Software
Technology 1, North-Holland, 1978
この書籍には1973 年のTRW レポートが採録されており、1976 年の論文で書かれた内容も含まれている。
2) Wulf
Wulf の文献は、日本の書籍では”Programming Methodology”と記述されていたが、正確には以下のタイトルであることが分かった。
"Report of a Workshop on Programming Methodology," Proceedings ofa Symposium on the High Cost of Software, Naval Postgraduate
School, Monterey, California, September 1973
すなわち、1973 年9 月に開催されたHigh Cost of Software シンポジウムの論文集に採録されているレポートということである。
この文献名とシンポジウム名を元にひたすらGoogle で検索を行い、なんとか米国国防総省のDTIC(Defense Technical Information Center、国防技術情報センター)のテクニカルリポートの無料データベースにたどりついた。
しかし、
DTIC ではこの文献のPDF 文書が提供されていなかったため、更に文献探しを継続し、NTIS(National Technical Information Service)という米国商務省の情報センターのPrint on Demand サービス($60)があることをつきとめた。
そして、Print 依頼を考えていたとき、国会図書館の検索システムNDL-OPACの規格・テクニカルリポート類の検索でこの論文集のマイクロフィッシュが所蔵されていることが分かり(AD レポート番号はAD777121)、ようやくコピーを入手することができた。

ソフトウェアテスト・ヒストリー番外編～ソフトウェア品質特性の歴史記述を正す～
Corrections of a history of software quality model / Keizo TATSUMI
辰巳 敬三
1． きっかけ4～5 年前にテスト技術に関する歴史を調べ始め、一昨年には「ソフトウェアテスト・ヒストリー」と題した記事をソフトウェアテストPress 誌に書かせていただいた。それをきっかけに昔の文献を探し出して自分なりにミッシングリンクをつなぐことが面白くなり、最近はテストだけでなく品質に関する技術についても調査範囲をひろげている。その調査の中で、以前から気になっていた日本の書籍に書かれているソフトウェア品質特性やメトリクスの成り立ちの記述に疑念が生じたので、本稿で調査結果を書き留めておきたい。
2． 日本における日本におけるソフトウェアにおけるソフトウェア品質特性
ソフトウェア品質特性の品質特性の歴史記述
ソフトウェア品質に関する日本の書籍では、ソフトウェア品質特性の歴史的成り立ちについて概ねつぎのように書かれている。
• 1973 年にWulf がソフトウェアの品質特性を最初に体系化した• 1976 年にBoehm が国防省の要請に応じて研究し品質モデルを発表した
しかし、米国のソフトウェア品質特性や品質モデルに関する論文をいろいろ調べても「Wulf が『最初に』体系化・・・」というように書かれているものは見つからず、Wulf の文献もインターネットでいろいろ検索してみたが現物にたどりつくことはかなわなかった（注：最近ようやく探し当てたので本稿を書いています）。
また、Wulf という人物についてもソフトウェア品質に関する論文や書籍で名前を見かけたことがなかったので、一体どういう人なのだろうかと気になっていた。
一方、Boehm の品質モデルも、1973 年にTRW 社のレポートとしてBoehmが書いているものがあることが分かった。
このようなことから、誰が品質特性や品質モデルを最初に体系化したのか、メトリクスは誰が言い出しっぺなのかの調査を始めることにしたわけである。
3． 原典の原典の文献を文献を求めてソフトウェア品質特性の初期の歴史の登場人物は、まず比較的に文献が入手しやすいBoehm、つぎに前述のWulf、1977 年にISO/IEC 9126 の基礎となる品質モデルを発表したMcCall、Boehm の論文の中で「最初にソフトウェア品質評価方法を開発した」と言及されたRubey の4 人である。

1

2

Software Testing ManiaX vol.4
3

4Software Testing ManiaX vol.4

なお、Wulf はカーネギーメロン大学のコンピュータ・サイエンスの教授でプログラミングシステムやコンピュータアーキテクチャが専門である。
3) McCall
McCall の品質モデルの文献は、”Factors in Software Quality,” RADC- TR-77-369, 1977というRADC(Rome Air Development Center)レポートであることは分かっていたが、文書の入手先がなかなかみつからなかった。最終的に前述のDTICでPDF 文書が提供されていることが分かり入手できた(下記の3 分冊)。
なお、
国会図書館NDL-OPACでADレポートとして所蔵されていることが分かった。
Factors in Software Quality
Vol-1 Concepts and Definitions of Software Quality
http://www.dtic.mil/srch/doc?collection=t3&id=ADA049014
Vol-2 Metric Data Collection and Validation
http://www.dtic.mil/srch/doc?collection=t3&id=ADA049015
Vol-3 Preliminary Handbook on Software Quality for an Acquisition
Manager
http://www.dtic.mil/srch/doc?collection=t3&id=ADA049055
4) Rubey
Boehm は1976 年のICSE 論文で、先行研究として以下のようにRubey らの論文に言及している。
Development of methods for evaluating software quality appears to havefirst been attempted in an organized way by Rubey and Hartwick.
この論文は"Quantitative Measurement of Program Quality," Proceedings of the23rd ACM national conference, pp. 671-677, 1968というもので、ACM Digital Library でPDF 文書を入手できた。

が出席し、5 つのworkshop に分かれて議論が進められた。この内の一つがWulf が議長を務めた”Workshop 3 - Programming Methodology”であり、開発技法の適用、評価技術の開発、ツールの開発などの提案がまとめられている。
品質特性に関する記述は、Workshop 報告書のIntroduction の章にあり、プログラムが“よい(good)”とはどういうことかという議論を進めるための意識合わせのために書かれている。正しい(correct)プログラム同士においても、我々は重要な差を認識できる、それは少なくとも以下の7 つの次元(＝品質特性)の一つ以上で差が認識されるということが書かれ、各々の特性が説明されている。
maintainability/modifiability
robustness
clarity
performancecost
portability
human factor
筆者の結論としては、Wulf はこの文献においてソフトウェア品質特性を体系化したと言うよりも、Boehm が1976 年の論文で“Wulf identified and provided concise definitions of seven important andreasonably non-overlapping attributes”と書いたように「7 つを取り上げて簡潔に定義した」とするのがよいと考える。
2) 最初に品質特性を体系化し品質モデルを提案したのはBoehm(1973 年)
Boehm の品質モデルが広く発表されたのは1976 年の第2 回ICSE の論文であるが、1973 年のTRW レポートで既に品質特性の体系化、品質モデルの構築、メトリクスの開発に関して報告されている。
3) 品質特性、メトリクスに関する最初の論文はRubey
前述のとおりBoehm はRubey の研究が最初のものと書いている。McCallらのレポートでは、品質特性に言及している先行研究論文31 件からSoftwareQuality Factor として55 個を抽出し、それらを集約整理・体系化してソフトウェア品質モデルを構築している。この先行研究論文として1968 年から1977年のものが収集されており、最も古いものが1968年のRubeyらの論文である。

4． 原典の原典の文献から文献から分から分かったこと
1) Wulf はソフトウェア品質特性を体系化し提案したわけではない
Wulf の文献は"Report of a Workshop on Programming Methodology"というタイトルで分かるように、ソフトウェア品質特性を直接的にとりあげたものではなく、シンポジウムにおけるWorkshop の報告である。
Symposium on the High Cost of Software は、ソフトウェア開発コストの増大への危機感から、米国の空軍、陸軍、海軍の研究部門が共同で、1973 年9月に専門家を招集して解決策を検討したものである。シンポジウムには97 名

5． ソフトウェア品質特性
ソフトウェア品質特性の品質特性の歴史記述を歴史記述を正す
これまでの調査結果に基づいて、僣越であるが日本の書籍で記述されたソフトウェア品質特性の歴史を訂正したい(著者の方にはご容赦をお願いします)。
以下の原文中の下線は誤っていると思われる箇所を筆者が示したものである。

34

Software Testing ManiaX vol.4
56Software Testing ManiaX vol.4【文献-1】宮本勲, ソフトウェアエンジニアリングへの道(9), bit/共立出版, 1978

【文献-3】森口繁一(編)，ソフトウェア品質管理ガイドブック，日本規格協会,1990

Wulf はソフトウェアの品質として保守性(maintainability)
性能(performance)
更新性(modifiability)
携帯性(portability)
堅固性(robustness)
操作性(human factor)
明解さ(clarity)の7 つを取り上げ、重複しない形で定義した。

(p.72)
Wulf の品質モデル (1973)
ソフトウェア品質は障害がないことによってのみ評価されるべきではないという立場から、その属性を品質特性として最初に体系化したのがWulf である。信頼性が含まれていない点、コストが含まれている点などが本モデルの特徴であり、ソフトウェア品質を構成する属性の必要十分性という観点からみると議論の余地を残している。
Wulf のソフトウェア品質モデル(1973)
保全性／更新性
コスト
堅ろう性
移植性
明確さ
人間的要素
性能
Boehm の品質モデル(1976)
TRW 社のベームがアメリカ国防省の要請に応じて研究し、第2 回ICSE において図xx のようなモデルを発表した。

＜指摘＞※Wulf はmaintainability/modifiability を一つにしているが、文献-1 では別々になっている。また、コスト(cost)の記述がもれている。
※なお、本文献の該当箇所はBoehm の1976 年のICSE 論文を参考にしたと思われる(Boehm と同様の表現でRubey にも言及している)【文献-2】石井康雄(編)，ソフトウェアの検査と品質保証，日科技連出版社，1986(pp.2-5)
ソフトウェアの品質特性を体系づけた形で提案したのは、Wulf が最初(1973 年)のようである。Wulf の特性要因の中で特徴的なのは、信頼性が含まれていないことである。信頼性が保証された上での「堅ろう性」であり「移植性」である、というように当たり前の品質として除外されているのかもしれない。
Wulf のソフトウェア品質特性
保全性／更新性
コスト
堅ろう性
移植性
明確さ
人間的要素
性能

＜指摘＞
※Wulf のレポートは品質特性を体系化したものではない。
※信頼性が含まれていないのは、正しい(≒信頼性)ことを7 つの特性の前提としているため。
※コストはシンポジウムのテーマであったこともあるが、当時はコストを品質特性としてあげているものは他にもあった(McCall レポート参照)。
※Boehm は国防省の要請ではなくNBS(National Bureau of Standards,米国標準局)の委託を受けて研究したものである。研究レポートは1973 年に報告されており、1976年の第2回ICSEではそれをもとに発表している。

＜指摘＞※Wulf のレポートは品質特性を体系づけた形で提案したものではない。
※正しい(correct)プログラム同士においても、少なくとも次の次元(＝品質特性)の一つ以上で違いを認識することができる、というようなことが書かれており、正しい(≒信頼性)ことを7 つの特性の前提としている。

56

Software Testing ManiaX vol.4
78Software Testing ManiaX vol.4＜指摘＞※maintainability/modifiability が別々に扱われているため、品質特性が7つではなく8 つになっている。
※clarity がclearity(この英単語はないのでスペルミス)になっている。

【文献-4】東基衞(編)，ソフトウェア品質評価ガイドブック，日本規格協会，1994(p.31)
ウルフ(Wulf)の品質モデル(1973)
ソフトウェア品質は障害がないことによってのみ評価されるべきではないという立場から、その属性を品質特性として最初に体系化したのがウルフである。
信頼性が含まれていない点、コストが含まれている点などが本モデルの特徴であり、ソフトウェア品質を構成する属性の必要十分性という観点からみると議論の余地を残している。
保守性(maintainability)
性能(performance)
更新性(modifiability)
移植性(portability)
堅固性(robustness)
操作性(human factor)
明解性(clearity)
ベームの品質モデル(1976)
TRW 社のベームがアメリカ国防省の要請に応じて研究し、第2 回ICSE において図xx のようなモデルを発表した。

6． 参考文献(1) Boehm, B.W., Brown, J.R., Kaspar, H., Lipow, M., Macleod, G. and Merrit,
M., "Characteristics of Software Quality," TRW Software Series
TRW-SS-73-09, 1973
(2) Boehm, B.W., Brown, J.R. and Lipow, M., "Quantitative Evaluation ofSoftware Quality," Proceedings of the 2nd International Conference on
Software Engineering, pp. 592-605, 1976
(3) Boehm, B.W., Brown, J.R., Kaspar, H., Lipow, M., Macleod, G. and Merrit,M., "Characteristics of Software Quality," TRW Series of Software
Technology 1, North-Holland, 1978(4) McCall, J. A., Richards, P. K., and Walters, G. F., "Factors in Software
Quality," RADC-TR-77-369, Vol. 1, 2 and 3, Rome Air Development Center,
1977(5) Rubey, R.J. and Hartwick, R.D., "Quantitative Measurement of Program
Quality," Proceedings of the ACM National Conference, pp. 671-677, 1968
(6) Wulf, W. A., "Report of a Workshop on Programming Methodology,"
Proceedings of a Symposium on the High Cost of Software Held at theNaval Postgraduate School, Monterey California on September 17-19, 1973
(7) 東基衞(編)，ソフトウェア品質評価ガイドブック，日本規格協会，1994(8) 石井康雄(編)，ソフトウェアの検査と品質保証，日科技連出版社，1986(9) 宮本勲, ソフトウェア・エンジニアリングへの道, bit/共立出版, 9(4)-10(5),1977(10) 森口繁一(編)，ソフトウェア品質管理ガイドブック，日本規格協会，1990(11) 保田勝通，ソフトウェア品質保証の考え方と実際，日科技連出版社，1995(12) The Defense Technical Information Center (DTIC)
http://www.dtic.mil/dtic/(13) NTIS - National Technical Information Service http://www.ntis.gov/(14) 国立国会図書館 NDL-OPAC http://opac.ndl.go.jp/index.html(15) 国立国会図書館 DTIC Online ： AD リポートの検索と全文アクセス
http://rnavi.ndl.go.jp/research_guide/entry/theme-honbun-400070.php＜指摘＞※maintainability/modifiability が別々に扱われている。また、コスト(cost)の記述がもれている。
※clarity がclearity(この英単語はないのでスペルミス)になっている。
【文献-5】保田勝通，ソフトウェア品質保証の考え方と実際，日科技連，1995(p.232)
ソフトウェアの品質特性を最初に体系化して発表したのは、1973 年のWulf だといわれている。
表xx を眺めてすぐに気がつくのが、必須と思われる信頼性が入っていないことと、逆にそのあとのモデルでは入っていないコストがあることである。
Wulf の品質モデル
保守性(maintainability)
性能(performance)
更新性(modifiability)
コスト(cost)
堅牢性(robustness)
移植性(portability)
明解性(clearity)
ヒューマンファクター(human factor)
次に、1976 年ベームが第2 回ICSE で発表した品質モデルはソフトウェアの品質特性を階層化したことで高い評価を受け、その後に大きな影響を与えている。

78