Technology

テクノロジー

開発者を支えるオープンソース――ソフトウェア構成管理

山靖之
2009年4月22日 / 11:50
 
ソフトウェア開発の工程については、前々回のコラム(「開発者を支えるオープンソース」)で触れたとおり、上流工程からテストまでと多岐に渡ります。

今回のコラムで紹介するのが、ソフトウェア構成管理であり、開発工程を横断的に支える重要な管理です。

製造業においては製品を構成する部品の管理は当然のように実施されていますが、ソフトウェア開発では、これらの管理は製造業と比較して遅れているといわれています。では、ソフトウェア構成管理とは何なのか、そしてオープンソースソフトウェアがソフトウェア構成管理にどのように関わるのかについて紹介します。

ソフトウェア構成管理とは

ソフトウェア構成管理は SCM(Software Configuration Management)とも言われます。IT 業界で“SCM”というと、サプライチェーンマネージメント(Supply Chain Management)を示すことが多いと思いますが、ソフトウェア構成管理も同様の表記となる場合があり、注意が必要です。

ソフトウェア構成管理は、ソフトウェア開発プロジェクトの成果物を制御・管理する方法や仕組みのことを言います。

ソフトウェアの大規模化、開発期間の短縮要求に伴って、複数の開発拠点に分散した複数の技術者による同時・並行開発が必須となる中、高品質化及び開発・保守コストの削減への要求にこたえることが課題となっています。

一般にソフトウェア構成管理に必要とされる用件として、次の3つが挙げられます。

■ベースラインの管理

管理対象の成果物(資産)の形態は、ソースコードファイル、テストスクリプトファイルなどのテキストデータのみならず、オブジェクトファイル、モデルデータ、ビットマップファイルなどのバイナリファイルもあります。

これらは、ソフトウェア開発過程上の“ある時点”で一括管理(関係性を維持して管理)しておく必要があります。これをベースラインと呼びます。開発作業は、このベースラインを発展させて、最終製品にいたる作業と言ってもよいでしょう。

■バージョン管理

構成要素に対して、版管理(更新した履歴を世代管理)する機能です。通常は一意の名称を付与して管理します。

版管理は、個々のファイルごとに実施されますが、ソフトウェアは複数のファイル群によって構成されています。

よって、個々のファイルのバージョンが、“ある時点”によって容易に抽出できることが重要です。

■変更管理

変更管理は、バージョン管理された構成要素に対する変更を管理するものです。ソースファイルや設計ドキュメントなどのソフトウェア成果物は、何らかの理由によって変更がなされるものです。

個々の変更理由を漏れなく管理し、その変更理由に対する結果についてバージョン管理する仕組みが重要となります。

また、システムに対する変更は、ソフトウェア開発のライフサイクルの如何なる場合にも発生する可能性があり、それらを組織的に管理する仕組みと管理の統制が必要となります。(図-1を参照)

図-1
図-1
*クリックして拡大

ここで、重要なのは、変更管理も含めたソフトウェア成果物のバージョン管理が実現できることです。

ソフトウェア構成管理は狭義の意で、バージョン管理のみを指し示して記述されている文章を見かけることがありますが、CMMI(*1)でのソフトウェア構成管理では、変更管理を含んだソフトウェアの構成を制御・管理できていることを示しています。

注*1 CMMI(Capability Maturity Model Integration):ソフトウェア開発におけるプロセスの成熟度の評価やプロセス改善の指標。

ソフトウェア構成管理を実現するには

ソフトウェア構成管理実現のために一番重要なのは、管理のための手法やルールなどを確立させて、ソフトウェア開発チームに運用を徹底させることですが、効率的に正確に実現するためには、ソフトウェア構成管理ツール(ソフトウェア)が必須となります。

ここで重要なのはツールを導入するだけで管理が実現できるということではなく、ルール作りと運用の徹底が実現して初めてソフトウェアの機能が活かされ、管理実現に結びつくということです。

ソフトウェア構成管理ツールは、バージョン管理、変更管理を統合的に管理できるものから、バージョン管理と変更管理をそれぞれ別々に実現するツールが存在します。

商用のソフトウェア構成管理ツールでは、統合管理可能なツールが多く、オープンソースソフトウェアに関しては、別々に管理するものが多いのが特徴です。

以下が、商用のソフトウェア構成管理ツールの一覧です。

表-1
表-1
*クリックして拡大

今回は、商用のソフトウェア構成管理ツールを紹介しましたが、次回、オープンソースのソフトウェア構成管理ツールを紹介します。

どちらのツールを導入すべきかは、導入における目的によって判断します。一般的には、商用のツールは統合管理や機能面において優れている反面、導入コストは高くなる傾向にあります。

オープンソースソフトウェアのツールは、初期導入コストは低く抑えられますが、統合管理や機能面での乏しさは否めません。

自社で、オープンソースの管理面や機能面を補完する仕組みを構築することが可能であれば、オープンソースソフトウェアでのソフトウェア構成管理の導入は、よい選択だと思います。

記事提供:サイオステクノロジー株式会社
【関連記事】
開発者を支えるオープンソース その2
日本 HP、構成情報の一元管理ソフトウェア製品群の最新バージョンを発表
サイオスと日本オラクルが協業、「Oracle VM」上アプリを「LifeKeeper」で冗長化
開発者を支えるオープンソース
サイオス、レッドハットとの提携強化で JBoss ソリューションビジネスに本格参入

New Topics

Special Ad

ゆりかごからロケットまで、すべての乗り物をエンジョイ
ゆりかごからロケットまで、すべての乗り物をエンジョイ えん乗り」は、ゆりかごからロケットまで、すべての乗り物をエンジョイする、ニュース、コラム、動画などをお届けします! てんこ盛りをエンジョイするのは こちらから

Hot Topics

IT Job

Interviews / Specials

Popular

Access Ranking

Partner Sites