<4D F736F F D2091E635318FCD5F835C D488A7782CC95578F802E646F63>

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "<4D F736F F D2091E635318FCD5F835C D488A7782CC95578F802E646F63>"

Transcription

1 第 19 部ソフトウェア工学の標準 海外旅行をすると 電気のコンセントの形などから国ごとの標準規格の違いを痛感することがある 例えば 日本の国内で生活しているとそれは全く感じないけれど 海外に行くと電気のコンセントの形が日本のものと違うなどで戸惑うことがある 戸惑うだけでなく 私が持参した電気製品が使えないというようなことも起きる こういうことを通して 標準規格に従って製品を作ることの重要性 メーカがその対応している場合のユーザとしてのありがたさなどを 改めて感じることがある 最近の規格はこのような物理的な製品の寸法や形を決めるだけのものから一歩進んで ISO 9000 に代表されるように 仕事の考え方や進め方 組織の責任と権限など もっと概念的なものにまで広がってきている その一方で その規格に従わなければ製品を作ることはできない あるいはその製品を広く社会に受け入れてもらうことが難しい というようなものは少なくなってきている ソフトウェア工学に関わる規格も こういう性格を持っている 第 19 部は第 51 章だけから構成される ソフトウェア工学に関わる個別の規格はその内容について議論するそれぞれの章で個々に取り上げているので ここではソフトウェア工学の規格についての全般的な議論をし その規格を定めている組織について考えてみたい 128

2 第 51 章ソフトウェア工学の標準 標準のランクと内容ソフトウェア工学の分野に限らず 一般に標準には厳然としたランクがある そのランクを高い順に示すと 以下のようになる 1 国際規格 2 国内規格 3 国際業界規格 4 国内業界規格 5 国内 / 国際民間規格 6 実質標準 国際規格 とは ISO(International Organization for Standardization : 国際標準化機構 ) やIEC(International Electrotechnical Commission: 国際電気標準会議 ) あるいは電気通信についての規格を決めているITU-TS(International Telecommunication Union - Telecommunication Standardization sector: 国際電気通信連合 電気通信標準化セクタ ) など 国際的に活動している標準化団体が決めた規格である その出生から この国際規格は規格の中では一番格式が高い しかし格式が高いからと言って 国際規格が広く世間に普及し 使われているとは限らない 例えばOSI(Open Systems Interconnection: 開放型システム間相互接続 ) というISO が決めた電気通信のプロトコルについての規格がある たいへん格調の高いものだが 実質は今はほとんど使われてなくて この分野は今やインターネットのプロトコルである TCP/IP(Transmission Control Protocol/Internet Protocol) 1 の独壇場といっても良い 国内規格 とは 日本のJIS(Japanese Industrial Standard : 日本工業規格 ) アメリカのANSI(American National Standard Institute: アメリカ規格協会 ) が決める規格 イギリスのBSI(British Standard Institute: 英国規格協会 ) が決めるBS(British Standard) と呼ばれる規格などがある これらは ISO が決めた国際規格を国内に持ち帰って 例えば JIS の場合は日本化 ( 日本語化だけではない ) して国内規格にしたものと 独自に決めた国内規格の二種類がある 独自に決めた国内規格のあるものは その後 ISO の場などに持ち込まれて国際規格に格上げされるものがある 例えば今 ISO の規格としてたいへん著名な ISO 9000 は 当初は BS5750 というイギリスの国内規格だった 国際業界規格 とは ソフトウェア工学の関係では 例えば OMG(Object Management 1 TCP/IP は IETF(Internet Engineering Task Force) というインターネットに関する標準を決めている団体が決めた規格である IETF は国際業界団体に位置づけされる団体であるから TCP/IP は 3 つめのランクの 国際業界規格 に位置づけされるものである 129

3 Group) 2 という団体が決めた UML(Unified Modeling Language) 3 や CORBA(Common Object Request Broker Architecture) 4 などがこれに相当する 前述のインターネット関係の規格も ここに位置づけされるものである 国内業界規格 に位置するものとしては 例えばアメリカの IEEE(Institute of Electric and Electronic Engineers) が決める規格などがある IEEE は世界中に会員を持つとはいえアメリカ国内の学会であるから ここで決められた規格はアメリカ国内の業界標準と言うことになる しかし例えば IEEE の LAN(Local Area Network) の規格 (IEEE ほか ) などは 実質国際規格並みに取り扱われている 以前 VTR に VHS とベータと二種類の規格があって 国内の家電メーカを二分して激しく争ったことがある この VHS やベータが 民間規格 に位置づけされるものである その規格が国内規格か国際規格かと言うことについては この際あまり問題ではない 今の日本企業の力からすると国内だけで規格団体を作ることはむしろ稀で 海外の企業まで巻き込んで国際規格の形になることが多い この二社以上の民間企業の連携で 民間規格が生まれる この原稿を書いている時点 (2005 年 7 月 ) で 次世代 DVD についてやはり民間の国際的な規格団体が2つできて 相争うような状況ができそうな気配がある 我々の住んでいるところが資本主義の社会である以上 消費者に安くて良いものを提供する上で競争は必要であり 必至である しかし VTR の時のように 規格争いの結果最終的に一部の消費者に迷惑をかけるような事態は避けて欲しいものである 最後の 実質標準 というのは ある企業が独自に決めた規格である このこと自体は さほど大きな意味を持たない しかしその企業がある分野で非常に大きな影響力を持つ場合 その規格に従わなければ実質的にある種の商品を作ることができない といったことが起きる メイン フレームと呼ばれていた大型コンピュータについて 昔 IBM がこういうものをたくさん持っていた 今もマイクロソフトの規格に従わなければ Windows の下で動くソフトウェアを作ることができないというような事実がある この IBM やマイクロソフトの規格のようなものを 実質標準と呼ぶ ソフトウェア工学についての ISO の規格ソフトウェア工学と ISO 9000 などの 品質マネジメントシステム に関わる ISO の現時点での規格を取り出して一覧にしたものを 図表 51-1 に示す ここで品質マネジメントシステムを図表 51-1 に加えたのは ISO 9000 がソフトウェアプロセス改善に大きく関わっているためである 5 2 オブジェクト指向技術の標準化 普及をすすめるため 1989 年に設立された業界団体 3 UML については 第 21 章で述べた 4 CORBA については 第 17 章で述べた 5 ISO 9000 によるソフトウェアプロセス改善については 第 36 章で述べた 130

4 対応する JIS 規邦訳規格コード規格名格あり 情報技術 -コンピュータ利用応用システ 6592:2000 ムの文書の指針 ISO 9000:2000 品質マネジメントシステム- 基本及び用語 JIS Q 9000:2000 ISO 9001:2000 品質マネジメントシステム- 要求事項 JIS Q 9001:2000 品質マネジメントシステム-パフォーマン ISO 9004:2000 JIS Q 9004:2000 ス改善の指針 TR ソフトウェア工学 - 製品品質 - 第 4 部 : 計 :2004 量使用の質情報技術 -ソフトウェア文書管理の指針ソ TR フトウェアドキュメンテーションの管理の指 9294:2005 針品質マネジメントシステム- 品質計画書の ISO 10005:2005 指針 ISO 10006:2003 品質マネジメントシステム- 構成管理の指 ISO 10007:2003 針計測マネジメントシステム- 測定プロセス ISO 10012:2003 及び測定機器の要求事項 ISO/TR 品質の経済性の管理指針 10014:1998 ISO 10015:1999 品質マネジメント- 教育訓練の指針 TR TR 品質マネジメントシステム-プロジェクトに ISO/TR ISO/TR ソフトウェア工学 - 製品品質 - 第 1 部 : 品ソフトウェア工学 - 製品品質 - 第 2 部 : 外ソフトウェア工学 - 製品品質 - 第 3 部 : 内 JIS Q 品質マネジメントシステムの文書類に関す ISO 9001:2000 のための統計的手法に関 : : :2003 おける品質マネジメントの指針 10013: :2003 質モデル部測定法部測定法 10006:2004 る指針する指針 :

5 12119:1994 情報技術 -ソフトウェアパッケージ- 品質要求事項及び試験 0152:1995 TR 12182:1998 情報技術 - ソフトウェアの分類 12207:1995 情報技術 -ソフトウェアライフサイクルプロセス 0160: :1995/Amd 12207:1995 修正票 1:2002 1: :1995/Amd 12207:1995 修正票 2:2004 2: :1995 情報技術 -CASE ツールの評価及び選択の指針 0132:1996 情報技術 - ソフトウェア測定 - 機能規模 :1998 測定 - 第 1 部 : 概念の定義 : :2002 情報技術 -ソフトウェア測定- 機能規模測定 - 第 2 部 : :1998 のソフトウェア規模測定方法の適合性評価 :2004 TR 情報技術 - ソフトウェア測定 - 機能規模 :2003 測定 - 第 3 部 : 機能規模測定法の検証 TR 情報技術 - ソフトウェア測定 - 機能規模 TR X :2002 測定 - 第 4 部 : 基準モデル :2003 TR :2004 情報技術 -ソフトウェア測定- 機能規模測定 - 第 5 部 : 機能規模測定と共に使用する機能領域の決定 TR 情報技術 - ソフトウェア工学 -CASE ツー 14471:1999 ルの採用の指針 情報技術 - ソフトウェア製品評価 - 第 :1999 部 : 概要 :1999 ソフトウェア工学 - 製品評価 - 第 2 部 : 計 :2000 画及びマネジメント :2001 ソフトウェア工学 - 製品評価 - 第 3 部 : 開 :2000 発者のためのプロセス :2001 ソフトウェア工学 - 製品評価 - 第 4 部 : 調 :1999 達者のためのプロセス :

6 : : :1999 TR 14759: : :1998 TR 15271: : : : :2004 TR :1999 TR 15846: : : :2002 情報技術 -ソフトウェア製品評価- 第 5 部 : 評価者のためのプロセス :1999 ソフトウェア工学 - 製品評価 - 第 6 部 : 評 価モジュール文書 :2002 情報技術 -コンピュータ利用ソフトウェア 0136:2001 システムの性能の測定及び評定ソフトウェア工学 -モックアップ及びプロトタイプ-ソフトウェアモックアップ及びプロトタイプモデルの分類及び用途情報技術 -ソフトウェアの保守 0161:2002 情報技術 -システム及びソフトウェア完全 0134:1999 性レベル情報技術 ( ソフトウェアライフサイクルプロセス ) の手引情報技術 -プロセスアセスメント- 第 1 部 : 概念及び用語ソフトウェア工学 -プロセスアセスメント- 第 2 部 : アセスメントの実施情報技術 -プロセスアセスメント- 第 3 部 : アセスメント実施の手引情報技術 -プロセスアセスメント- 第 4 部 : プロセス改善及びプロセス能力判定のための使用の指針情報技術 -ソフトウェアプロセスアセスメ TR X ント- 第 5 部 : アセスメントモデル及び指標 :1999 の手引き情報技術 -ソフトウェアライフサイクルプロ TR X 0018:1999 セス- 構成管理ソフトウェア及びシステム工学 - 高レベルペトリネット- 第 1 部 : 概念, 定義及びグラフ式表記情報技術 -ソフトウェアユーザ文書プロセスソフトウェア工学 -ソフトウェア計測システ 0141:2004 ム 133

7 情報技術 - ソフトウェアライフサイクルプロ 16085:2004 セス - リスクマネジメント TR 16326:1999 ソフトウェア工学 -プロジェクトマネジメントに対する の適用指針 TR X 0027: :2004 ソフトウェア及びシステム工学 -アプリケーションソフトウェアのためのユーザー文書の設計及び作成の指針 ISO 19011:2002 品質及び / 又は環境マネジメントシステム監査のための指針 JIS Q 19011:2003 ソフトウェア工学 -COSMIC-FFP- 機能的 19761:2003 サイズ計測法 ソフトウェア工学 -IFPUG 4.1 未修正機能 20926:2003 サイズ測定法 - 計数実施マニュアル ソフトウェ工学 -Mk ll 機能ポイント分析 :2002 計数実務マニュアル 24570:2005 ソフトウェア工学 -NESMA 機能サイズ測定法バージョン 2.1- 定義及び機能ポイント分析の適用のための計数指針 90003:2004 ソフトウェア工学 -コンピュータソフトウェアへの ISO9001:2000 の適用の指針 より (2005 年 7 月 15 日現在 ) 図表 51-1 ソフトウェア工学と品質マネジメントシステムに関わる ISO 規格 この中で規格コードの前に TR と表示されているものは 技術報告書(Technical Report) であって 厳密な意味では 規格 ではない 最近の ISO の規格では 規格の番号の後にその規格が発行された年が表記されている これを見ると 今有効な規格では 2000 年以降に発行されたものがかなりあることが分かる ISO は原則として 5 年に一度その規格を見直すことにしている しかし現実は必ずしもそのスケジュール通りには規格の見直しが進まず 未だに 1990 年代に発行された規格がそのまま残っているケースもある しかし一言で表せば ISO は少なくともソフトウェア工学と品質マネジメントシステムに関して かなり熱心に新規の規格の設定や既存の規格の改定を進めているということができる ISO 規格の 1 つの特徴は ソフトウェア工学に関わるものは IEC との共同の規格になっていることである さらに最近の ISO の規格の中には や のように これま 134

8 で民間団体の規格だったものを ISO の規格として取り込む動きが見られることである このような動きに伴って知的財産権に関わる障害の発生も予想されるが それらを乗り越えてこのような領域の規格の拡充を望みたい ISO 規格の原本は英語であるが それでよければ我々は日本規格協会のホームページ ( からこの規格を入手することができる なお図表 51-1 にある 対応する JIS 規格 と 邦訳あり の欄については 後の JIS 規格についての部分で取り上げて議論する ISO 規格の日本語訳と JIS 規格の入手についても 併せてそこで紹介する ソフトウェア工学に関わる IEEE の規格ソフトウェア工学に関わる IEEE の規格を 図表 51-2 に示す 規格コード 標題 (R2002) IEEE Standard Glossary of Software Engineering Terminology IEEE Standard for Software Quality Assurance Plans IEEE Standard for Software Configuration Management Plans IEEE Standard for Software Test Documentation IEEE Recommended Practice for Software Requirements Specifications IEEE Standard Dictionary of Measures to Produce Reliable Software (R1993, R2002) IEEE Standard for Software Unit Testing IEEE Standard for Software Verification and Validation IEEE Recommended Practice for Software Design Descriptions (R2002) IEEE Standard for Software Reviews (R2002) IEEE Standard Classification for Anomalies (R2002) IEEE Standard for Software Productivity Metrics IEEE Standard for Software Project Management Plans (R1993) IEEE Standard for Software Project Management Plans (R2004) IEEE Standard for Software Quality Metrics Methodology 1062, 1998 Edition (R2002) IEEE Recommended Practice for Software Acquisition (includes IEEE 1062a) IEEE Standard for Software User Documentation IEEE Standard for Developing Software Life Cycle Processes IEEE Guide for CASE Tool Interconnections-Classification and 135

9 Description IEEE Standard for Software Maintenance IEEE Standard for Application and Management of the Systems Engineering Process (2002) IEEE Standard for Software Safety Plans 1233, 1998 Edition (R2002) IEEE Guide for Developing System Requirements Specifications (including IEEE 1233a) (R2004) IEEE Standard for Functional Modeling Language - Syntax and Semantics for IDEF (R2004) IEEE Standard for Conceptual Modeling Language Syntax and Semantics for IDEF1X97 (IDEFobject) IEEE Guide for Information Technology-System Definition -Concept of Operation Document IEEE Standard for Information Technology--Software Reuse--Data (R2002) Model for Reuse Library Interoperability: Basic Interoperability Data Model (BIDM) IEEE Supplement to Standard for Information Technology--Software a-1996 Reuse--Data Model for Reuse Library Interoperability: Asset (R2002) Certification Framework IEEE Supplement to IEEE Standard for Information b-1999 Technology--Software Reuse--Data Model for Reuse Library (R2002) Interoperability: Intellectual Property Rights Framework [Adoption of International Standard 14102:1995(E)] (R2004) Information technology -- Guideline for the evaluation and selection of CASE tools IEEE Recommended Practice for Architectural Description of Software-Intensive Systems IEEE Guide ( IEEE) - Adoption of PMI Standard- A Guide to the Project Management Body of Knowledge( PMI) (R2004) IEEE Standard for Information Technology - Software Life Cycle Processes - Reuse Processes IEEE Recommended Practice for the Internet-Web Site Engineering, Web Site Management, and Web Site Life Cycle IEEE Standard for Software Life Cycle Processes-Risk Management 136

10 IEEE/EIA Standard: Industry Implementation of International Standard 12207:1995 Standard for Information Technology--Software Life Cycle Processes. IEEE/EIA Standard: Industry Implementation of International Standard 12207:1995 Standard for Information Technology-- Software Life Cycle Processes--Life cycle data IEEE/EIA Standard: Industry Implementation of International Standard 12207:1995 Standard for Information Technology-- Software Life Cycle Processes--Implementation considerations Implementation Note for IEEE Adoption of :1998, Information Technology-Software Measurement-Functional Size Measurement-Part 1: Definition of Concepts Adoption of 15288:2002, Systems 4 Engineering System Life Cycle Processes より (2005 年 7 月 10 日現在 ) 図表 51-2 ソフトウェア工学に関わる IEEE の規格 ISO の規格と同様 IEEE の規格も発行された年が規格コードの後ろに示されている これを見て感じることは ISO の場合と比較して IEEE の規格にはかなり早く決められたものが多いと言うことである 別の言い方をすると IEEE は ISO より早い時期からソフトウェア工学に高い関心を持っていたと言える そしてその規格の内容やレベルも ISO のものを上回っていることがある 例えば という IEEE/EIA(Electric Industries Alliance) の一連の規格群は 12207:1995 をベースにしたものである この IEEE の は ISO の 1995 年版の規格をそのまま IEEE の規格として取り込んでいる しかしそのすぐ後に作られた と はソフトウェアの再利用に関する対応をするなど ISO の規格の一歩先を歩んでいる ISO の規格がソフトウェアの再利用を取り込んだのは 2002 年と 2004 年に発行されたそれぞれの修正票によってである 6 さらに IEEE は その規格を通してアメリカのソフトウェア業界の仕事の仕方を変えようとする試みを始めている 具体的には前述の をベースに ソフトウェアの再利用の進め方についてのテキストを発行している [MCC01] まだ規格をベースにした啓蒙書はこ 6 ソフトウェアの再利用については 第 34 章で既に述べた 137

11 れだけであるが amazon.com で検索すると IEEE は引き続きこのような本の発行を何冊か計画しているように見える 一般に規格の制定は 最新の研究成果の発表から 10 年遅れていると言われる しかしその規格すら 世間一般からはかなり進んでいるのが現状である 積極的に新しい研究成果を取り入れて規格の制定を進め これを基に国内のソフトウェア開発組織を啓蒙しようとする IEEE のこのような活動は 高く評価することができる さらにその基になる研究成果を着実に生み出しているアメリカという国の産と学の連携も 我々には見習うべきものがある IEEE の規格は勿論全部英語だが 個々の規格は IEEE の Standards Association のホームページ ( から入手することができる また一括してある時点での有効な全ての規格を CD-ROM に格納して販売することがある 最近では 2003 年時点のもの [IEE03] を我々は手に入れることができる 今となっては少し古くなってしまったが IEEE の規格についての優れた書物も IEEE から発行されている [MOO98] ソフトウェア工学に関わる JIS 規格図表 51-1 の 対応する JIS 規格 欄に規格コードがついているものは ISO 規格を基に日本化された JIS 規格である ソフトウェア工学の関係で ISO 規格をベースにしない JIS だけの規格はないように思う 図表 51-1 を見ても分かるとおり ソフトウェア工学の関係の ISO 規格の全てのものが JIS 規格として国内を対象に発行されているわけではない あるレベルの判断で 国内に需要があると思われるものを選んで JIS 化されているように見える ただこのような形で JIS 化された規格は 元の ISO 規格との間で 同等性 が確保される形で作られている 全ての ISO 規格が JIS 化されるわけではないことと伴い 日本規格協会は英文の ISO 規格を日本語に翻訳し 英語 日本語対訳の形での印刷物を発行している これはたいへんに有益と 私は評価している JIS の規格コードは ISO の規格コードと関連を持たない つまり JIS には JIS としてのコード体系があって ISO の規格コードとは関係なく JIS の規格コードがふられるという形になっている 例えば 12207:1995 という規格は JIS 化されて 0160:1996 というコードがついている これは かなり不便である 少なくとも私が 0160:1996 を読んでいるときは JIS 規格を読んでいるというより 日本語で 12207:1995 を読んでいるという意識が強い この時この規格の中で他の ISO の規格を参照しているとすると JIS 規格ではその ISO 規格のコードがそのまま記述されているのではなく 対応する JIS 規格のコードに変換されて記述されている 私の頭の中には相互の関連入っていないので これはたいへんに苦痛である IEEE は をベースにした米国内の規格を作ったとき IEEE の規格コードも にした 日本にも これと同じ動きがある 以前 ISO 9000:1994 が JIS 化され 138

12 たとき JIS Z 9900 というコードがふられていた この ISO 規格が ISO 9000:2000 に変わったとき JIS の規格コードが JIS Q 9000:2000 に変わった つまり ISO の規格コードと JIS の規格コードのある部分が共通になったわけである 私はこれを 高く評価したい そして可能な限りこの方針を踏襲していただきたいと 私は念願している IEEE と比較すると 規格の制定や改訂に関わる日本規格協会の動きは重くて遅い しかしそれは日本規格協会の責任ではなく このバックにある日本のソフトウェア産業全体の責任である 日本国内でソフトウェア工学への関心が高まり それが広く普及することが 日本規格協会などのこの領域での活動を活性化させるものと私は考えている JIS 規格と日本語に翻訳された ISO 規格は 前述の日本規格協会のホームページ ( から入手することができる キーワード国際規格 国内規格 国際業界規格 国内業界規格 国内 / 国際民間規格 実質標準 ISO 国際標準化機構 IEC 国際電気標準会議 標準化団体 JIS 日本工業規格 ANSI アメリカ規格協会 BSI 英国規格協会 OMG IEEE ISO 9000 品質マネジメントシステム TR 技術報告書 日本規格協会 参考文献とリンク先 [IEE03] IEEE, Software Engineering Standards Collection, IEEE, [MCC01] Carma McClure, Software Reuse: A Standards-Based Guide, IEEE, [MOO98] James W. Moore, Software Engineering Standards A User s Road Map, IEEE Computer Society, (2005 年 ( 平成 17 年 )7 月 23 日初稿完了 ) 139