ソフトウェア開発を行ううえで、設計書やソースコードのバージョンをきちんと管理することは非常に重要です。構成管理(ファイル管理)を行っていないプロジェクトでは、例えば次のような問題が発生します。
上記のような問題のため、ソフトウェアの故障の修正漏れ、仕様変更漏れによる品質の低下、低下した品質を取り戻すための追加試験やレビューによる生産性の低下につながります。
本稿では、上記のような問題を解決し、バージョン管理を簡単に行ってくれるオープンソースの「Subversion」(以下、SVN)とSVNをEclipseから利用するための「Subversive」プラグインを紹介し、Tracとの連携方法も解説します。
大昔のソフトウェア開発では、共有フォルダなどを利用し、フォルダ管理者などを置いて人手で管理を行っていました(大昔といっても現在でもフォルダ管理のプロジェクトは多いですが……)。しかし最近では、CVS(Concurrent Version System)やVSS(Microsoft Visual Source Safe)などの構成管理ソフトウェアの登場で、これらの状況は劇的に改善されました。
構成管理ソフトウェアを使うと、成果物は「リポジトリ」と呼ばれるデータベース上で集中管理されます。開発者は成果物を編集して、変更点を記述したコメントを添えてリポジトリへ反映(コミット)するだけで、自動的に成果物の変更履歴を取ることができます。また、複数の開発者が同時に成果物を編集した際の変更の反映漏れを防ぐことができます。
構成管理ソフトウェアには、2つのタイプがあります。CVSに代表される複数の開発者による同時編集を許し、競合が起こった部分を開発者が主導で修正していく「共有モデル」と、VSSに代表されるファイルにロックを掛け、1人しか編集できないようにする「ロックモデル」です(VSSの最新版では、共有モデルも選択できます)。
共有モデルは、「編集の競合が発生した場合修正に手間が掛かる」「ExcelやWordなどのバイナリファイルが扱いづらい」という問題があり、ロックモデルは、「ある開発者がファイルのロックを取得したままの状態のとき、ほかの開発者がファイルを編集できない」という問題がありました。
SVNは、CVSの欠点を解消したバージョン管理システムとして開発、公開されました。SVNは次のような特徴を持っています。
ソフトウェア構成管理ツールとしては、以前はCVSが利用されることが多かったのですが、最近はSVNが利用されるようになってきています。最新のSubverison 1.5では、複数のブランチを管理する際に「マージトラッキング」機能が追加されたり、大規模な開発に便利な「ライトスルーキャッシュ」機能などが追加され、さらなる高機能化が進んでいます。
また、SVNと連携できるITS(Issue Tracking System、課題やバグを管理するためのシステム)も増えてきていて、コミットログを関連するタスクやバグに簡単にひも付けることも可能です(参考:Mylyn&Tracでリズムに乗ってタスクを大掃除♪)。
ソフトウェア構成管理ツールを利用して、ソースコードや設定ファイルを管理しているプロジェクトは多いですが、ExcelやWordなどの設計書を管理しているプロジェクトは非常に少ないです。まだまだ、共有ファイルサーバで管理しているプロジェクトも多いです。そういうプロジェクトでは、図2のようなフォルダをよく見掛けます。
さて、図2の画面設計書の最新版はどれでしょうか。
上記3つのどれかが最新のような気はしますが、本当にどれが最新かはフォルダ管理者(もしくは、この成果物を編集している開発者)に問い合わせないと分かりません。
SVNを利用すると、このような設計書もきちんと構成管理できます。また、Windowsのエクスプローラに統合して利用できるSVNクライアントである「TortoiseSVN」を利用すると、ExcelやWordの差分も簡単に確認できます(図3)。
この差分表示機能は、レビュー後に設計書を修正した場合、レビューで指摘した点がきちんと修正されているかどうか確認したり、仕様変更があった場合、仕様変更点を確認するのに便利です。
ソースコードや設定ファイルだけではなく、ぜひ設計書もSVNで管理してみましょう。
次ページでは、SubersiveとTrac Lightningをインストールして、使い始めましょう。
Copyright © ITmedia, Inc. All Rights Reserved.