Borland Developer Studio 2006のコラボレーション機能を検証する

By: Hitoshi Fujii

Abstract: Borland Developer Studioには、StarTeamの統合機能など、いくつかのコラボレーション機能が用意されています。個人による開発からチーム開発まで、それぞれのシーンで、これらの機能をどのように活用できるかを検証します。

    開発のサイズによって異なるコラボレーション機能の価値

ソフトウェアの開発をめぐっては、仕様変更や機能強化、バグ対応などによって発生するコードの修正、あるいはフレームワークなど、利用する関連機能のバージョンアップなどに起因する構成の変更といった、なんらかの変更を大なり小なり管理していくことが求められます。

Hide image
collaboration

もちろん、そうした管理は、個人レベルからチームレベルまでさまざまであり、その価値も異なります。例えば、個人で開発している場合には、メンバー間のコラボレーションという観点は不要であり、こうした管理は行う必要がないと考えてしまうこともあるでしょう。しかし、「管理」という視点ではなく、変更されたファイルを「保管」するという目的を考えれば、ファイルの履歴管理などが必要であることに気づかされます。

数名での開発では、「共有」という概念が適当でしょう。ある程度の規模での開発であったり、社外の応援を含むようなプロジェクトでは、「管理」という側面がクローズアップされてきます。

    ソースコードのバージョン管理

個人での開発でも、ソースコードの変更を一定間隔で保管しておく必要があります。変更後一部のコードだけ前のバージョンに戻したいと思ったときに、ファイルが上書きされていては復元できません。また、リリースしたビルド(例えばバージョン1)と現在製作中のバージョン(バージョン1.1)の違いを調べたり、旧バージョンにも最新バージョンにも、同じようにバグ対応のコードを埋め込まなければならなかったりするので、ソースコードの最新版だけを保持するという開発スタイルはうまくいきません。

Borland Developer Studio 2006には、開発環境内に履歴機能が搭載されており、ローカルファイルシステムに保持されたバックアップ(このファイルは、「保存」操作を行うたびに作成されます)を使って、新旧のバージョンの比較や復元を行うことができます。

Hide image
bds_version

この比較機能は、あくまでもそれぞれのファイルについてのバージョン管理なので、例えば、リリースビルドの構成を取り出すとか、バージョン1.1で分岐した構成をバージョン2とマージするといった複雑な処理には対応していません。こうした処理を行うには、StarTeamなどの構成管理ツールを使用する必要があります。構成管理ツールを用いれば、単にファイル単位で履歴を管理するだけでなく、ビルド構成単位でバージョンを特定でき、最新バージョンだけでなく、ある特定の時点におけるバージョンを再現したり、複数のリビジョンを並行して管理するなど、複雑な構成の管理に対応できます。

    Borland Developer StudioでStarTeamを使う

Borland Developer Studio 2006には、StarTeamの統合機能が搭載されており、開発環境内からシームレスにStarTeamを利用することができます。

    StarTeamのインストール

StarTeamを使用するには、StarTeam Serverのインストールとリポジトリ用のデータベース(MSDE、MS SQL Server、Oracleなど)のセットアップが必要です。また、ライセンスの設定が必要ですが、とりあえず未設定で14日間のトライアルとして使用できます。StarTeamは、ボーランドのWebサイトからもダウンロードできますので、簡単に基本機能を確認することができます。

Hide image
starteam

StarTeamトライアル版のインストール方法については、こちらの文書を参照してください。

StarTeamを利用するクライアントには、JavaクライアントまたはWin32クライアントがあります。また、Borland Developer Studioのように開発環境に組み込まれたクライアント機能もあります。

統合開発環境から見たStarTeamのリポジトリは、その全体ではなく、取り出したプロジェクトについての開発者から見たカットです。StarTeamを導入する場合には、リポジトリ全体を管理するために、統合開発環境のStarTeamクライアントだけでなく、JavaクライアントやWin32クライアントをインストールして適宜使い分けるようにしたほうがよいでしょう。

    StarTeamに接続する

Borland Developer Studioで、現在のプロジェクトをStarTeamに保管するには、[StarTeam|プロジェクトの配置]メニューを実行します。メニューを実行すると、ダイアログボックスが表示されます。ここでは、StarTeam Serverへの接続プロパティを設定したり、一度設定した接続を選択して、StarTeam Serverへの接続を実行することができます。

標準で、Borland Developer Studioのプロジェクトは、StarTeamプロジェクトに保管されます。しかし、StarTeamプロジェクトには、ビュー、フォルダといった下位のグループ概念があり、これらを選択してファイルを保管することもできます。

StarTeamプロジェクト

・構成アイテムを目的に応じて組織化
・StarTeamサーバーにおける最上位のグループレベル

StarTeamビュー

・プロジェクトを分割して扱いやすい単位にしたもの
・ビューを使えばユーザーグループごとに別々の設定を提供できる
・プロジェクトは任意の数のビューを持つことができる

StarTeamフォルダ

・ビュー内の構成アイテムを格納するコンテナ
・プロジェクトのサブディレクトリ構造の表現


一度StarTeam Serverに格納したプロジェクトは、作業をしてきた環境でなくても、Borland Developer Studioの環境内から[StarTeam|プロジェクトの取得]メニューを実行するか、StarTeamクライアントからチェックアウトの操作をするだけで、作業ファイルをローカルにコピーできます。

StarTeamを使用したアプリケーション開発では、作業ファイルはローカルに置かれます。チェックイン操作を行うことで、ローカルファイルはサーバーのリポジトリに格納され、共有できます。

    バージョン管理機能とStarTeamのリポジトリ

StarTeamを使用すると、これまでローカルで保管されてきたバックアップファイルによるバージョン管理機能と、リポジトリに格納されているリビジョンの両方をミックスした履歴管理が可能になります。

StarTeamを使用した状態で[履歴]タブをクリックすると、従来はローカルファイルの履歴のみが表示されていたファイルバージョンリストに、StarTeamのリビジョンも表示されるようになります。つまり、開発者は、ローカルに保存した細かい修正バージョンと、StarTeamに格納されたチームメンバーと共有するリビジョンを同じレベルで比較したり、復元できるようになります。これにより、ローカル環境で繰り返す細かい修正/保存操作と、もう少し長いサイクルで実行するチェックイン操作を一元的に管理することができるのです。

    StarTeamのそのほかの機能

Borland Developer Studioに統合されたStarTeamクライアント機能は、その他のStarTeam機能にもアクセスできます。主な機能を以下に示します。

・CR管理

CR(Change Request)を一元管理できます。CRを作成し、その詳細と対応の進捗を表示できます。

・要件管理

開発要件や関連する資料を一元管理できます。要件を作成し、チームで共有できます。

・タスク管理

各開発者へのタスク割り当てと進捗を管理できます。MS Projectとの連携も可能です。

・トピック

開発作業中のディスカッションを一元管理できます。問題点を検討するディスカッションのスレッドを表示したり、発言することができます。

これらのStarTeamの各アイテムは、自由にリンクを設定することができるので、例えば、特定のバグ対応のために、タスクを割り当てたり、対処法を検討するディスカッションを行ったりしたときに、それぞれにリンクを設定して、関係付けを定義できます。

    成果物の品質管理

スキルの異なるメンバーによって構成されたチームや、外部に応援を依頼するようなケースでは、成果物の品質を、一定のしきい値以上に維持する努力が欠かせません。こうした努力は、最終的に十分なテスト計画とその実践にかかっていますが、それ以前に、ソースコードに含まれる典型的なうっかりミスや、メンテナンス効率を落とすコーディング規約違反などをあらかじめ排除しておくことは、後の作業を幾分楽にしてくれます。とはいえ、こうした作業をベテランエンジニアのチェックに依存することは効率的ではありません。

Borland Developer Studio 2006では、Togetherの機能のひとつとして、「検査/測定機能」が用意されており、これによって、ソースコードを静的に解析して問題点を発見できます。

検査測定機能は、Together機能の一部なので、この機能を利用するには、プロジェクトでTogether機能を有効にしなければなりません。デフォルトでこの設定は無効になっているので、プロジェクトペインで[モデル]タブをクリックして、Together機能を有効にします。

Hide image
bds_tg02

モデルビューで、検査/測定の対象としたい項目を選び、[QA検査]または[QA測定]メニューを実行します。すると、検査項目を選択できるダイアログボックスが表示されるので、設定を行って[開始]ボタンを押します。

Hide image
bds_tg11

ここで行う設定は、ファイルに保管しておくことができるので、「自社のコーディング規約としてこの点はクリアしていなければならない」という設定を作成し、コード納品時にこの検査の実行を義務付けるようにします。

Hide image
metrics

検査測定機能については、「Borland Developer Studio 2006のTogether機能概要」で詳しく紹介しています。

    まとめ

Borland Developer Studioには、チーム開発支援機能が搭載されており、チームレベルでの開発を効率化することができます。しかし、その価値は、個人での開発にも有用であり、これまで単純にソースコードのバックアップをとることで対応してきたバージョン管理などを、飛躍的に効率化するものです。

すべての機能を使用する必要はありませんが、それぞれの開発形態に応じて、どの機能を役立てることができるかを評価していただければと思います。


関連情報:

第2回デベロッパーキャンプ – 資料ダウンロード


Server Response from: SC4