特集
» 2006年06月16日 00時00分 公開

基礎解説 ソフトウェア構成管理:根性論では改善しない組み込みソフトの品質 (1/2)

品質向上の切り札は開発工程や成果物を効率的に管理すること。ツールを利用したソフトウェア構成管理の基礎知識を提供しよう

[崎田 喜一 キャッツ,@IT MONOist]

ソフトウェア構成管理導入の背景

 ソフトウェアの品質管理/向上を目的に制定されたCMM/CMMI、ISO、IEC-61508、DoDなど、いろいろな規格で「構成管理」という言葉を聞きます。この構成管理とは、いったいどんなものなのでしょうか?

 例えば、ソフトウェアの製品版をリリースする場合、誤って1つでも古いバージョンのソースファイルが含まれていると、リリースする製品のビルド時にエラーが発生したり、また不具合が含まれてしまいます。このような事態を防ぐために、「どのようなファイルとファイルバージョンの組も合わせで、リリースされる製品が構成されているか」を確実に管理することが、ソフトウェア構成管理の基礎となります。それでは、ソフトウェア構成管理の詳細について見てみましょう。

ソフトウェア構成管理って何?

 ソフトウェアの構成管理と聞くと、ファイルのバージョン管理を想像する人が多いかもしれません。しかし、ソフトウェア構成管理では、バージョン管理に加えて次のような管理も行います。

  • ファイルのバージョン管理
  • ビルド/リリース管理
  • グループ開発/並行開発の管理
  • 案件(要求)/不具合管理
  • プロジェクト管理
  • 開発プロセス管理
  • 定量的データ測定

 今回は、ソフトウェア構成管理のうち、基本的な管理機能について紹介します。

基本はファイルのバージョン管理

 ドキュメントの作成やコーディングを行っている場合に、間違った修正をしてしまった際など、1つ前(バージョン)のファイルに戻したいことはありませんか?

 こんなとき、「ドキュメント2005_0505.doc」のようにファイル名に日付を付けて管理したり、「ドキュメントv01.doc」のようにファイル名にバージョン番号を付けて管理することで、元の内容に戻せるようにする方法があります。また、ドキュメントやソースコードの修正内容に不明点があった場合や、担当者に問い合わせたい場合などは、誰が、どんな修正を行ったかが分かるように「更新履歴」を残していくことになります。しかし実際には、ファイル名の更新忘れによって、古いファイルが消えてしまうことが少なくありません。

 また、この作業をソフトウェア開発時に行う場合には、作成済みのファイルを「最新版ファイルの管理フォルダ」にまとめて、最新版のファイルセットを管理します。この場合にも、誤って古い管理フォルダに上書きしてしまったり、古い管理フォルダのファイルを直接編集して、古いファイルを消してしまう問題が出てきます。

 このような問題を解決する1つの方法は、ソフトウェア構成管理ツールの導入です。

ソフトウェア構成管理ツールのバージョン管理画面 図1 ソフトウェア構成管理ツールのバージョン管理画面

 ソフトウェア構成管理ツールでは、古いファイルを確実に保存しているだけではなく、誰が、どんな理由で修正したかという履歴情報も保存しています。また、最新版のファイルがどれかという情報や、修正しようとしたファイルを誰かが作業中かどうかということも分かります。ファイル名や保存場所を変更する必要なしで、古いファイルを確実に保存できるため、一度ソフトウェア構成管理ツールを使用すると、二度とこれを使わずに作業ができなくなるほど便利なツールです。

バージョン管理の考え方 図2 バージョン管理の考え方

ビルドエラーを防止しよう

 ソースコードをビルドする場合に、間違ったファイルが交ざっていると、コンパイルエラーが発生するなど、アプリケーションが予想外の動作をしてしまいます。コンパイルエラーが発生すればその場で異常が分かるのですが、コンパイルエラーが発生しない場合は、テスト工程で予想外の動作をするところをテストしない限り、異常は発見されません。こうなると不具合解析作業には、大変長い時間がかかります。

 また、開発規模が大きくなると、ビルドだけで数時間かかることもあり、1度のビルド失敗が大きな時間の損失となってしまいます。

 これらの問題を解決するのも、ソフトウェア構成管理ツールが有効です。ソフトウェア構成管理ツールでは、最新ファイルを確実に取り出すことができるだけでなく、誤って最新ファイルを上書き更新してしまう際に警告を出すなどして、誤ったファイル構成になることを防ぐ機能もあります。また、以前にビルドした際の中間ファイルを保存しているツールや、ビルド自体を指定した時間に実行する機能があるツールまであります。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.