Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト|サインイン
MSDN
|MSDN ライブラリ|デベロッパー センター|ダウンロード情報|開発ツール製品|コミュニティ|ご意見・ご要望|サイトマップ
MSDN Home > ステップ 7 > Visual Studio 2005 Team System によるアプリケーション品質の向上 > その 1 - 作業項目と連携したソース管理

ステップ 7 ハンズオン 「Visual Studio 2005 Team System によるアプリケーション品質の向上」

第 5 回 チーム開発を支える機能 - その 1

作業項目と連携したソース管理

NRI ラーニングネットワーク
矢嶋 聡

最終更新日 2007 年 10 月 31 日

目標 Visual Studio Team System による高度なソース管理
使用技術
  • Visual Studio Team System / C#
  • .NET Framework 2.0
取り上げるトピックス
  • 作業項目、ソース管理
前提知識
関連記事  

作業項目とソース管理

ここでは、Visual Studio Team System が提供するソフトウェア構成管理機能 (注意 1) のうち、チーム メンバの作業を管理する ”作業項目” と、ソフトウェアのソース ファイルの管理を行う ”ソース管理” 機能について取り上げます。特に、ソース管理が単なるソース ファイルの保管庫の留まらず、作業項目とどう連携するかを取り上げます。これらを行うために、まずは、チーム単位に用意すべき構成である ”チーム プロジェクト” の作成から行います。

注意 1: ソフトウェア構成管理とは、ソフトウェア システムの各種構成項目について、ソフトウェア システムのライフ サイクルを通して行われる追跡や変更、検証などの管理作業の総称です。

図 1. 作業項目とソース管理

今回のステップ 7の手順を行うには、サーバーとして、Visual Studio 2005 Team Foundation Server を用意する必要があります (注意 2)。また、クライアントとして Visual Studio 2005 から、 Team Foundation Server にアクセスするには、Visual Studio 2005 チーム エクスプローラを追加インストールする必要があります (注意 3)。

注意 2: Team Foundation Server のインストールや環境構成方法は、インストール媒体に含まれる ”インストール ガイド” に記載されています。

注意 3: Visual Studio 2005 チーム エクスプローラのインストール プログラムは、Team Foundation Server のインストール媒体に含まれます。チーム エスクプローラは Visual Studio 2005 Professional Edition や Standard Edition に対してもインストールできます (ただし、CAL(クライアント アクセス ライセンス)を購入いただく必要があります)。詳しくは、http://msdn2.microsoft.com/ja-jp/library/ms316479(VS.80).aspx (Visual Studio Team System クライアント計画) を参照してください。

このステップでは、クライアントである Visual Studio 2005 から、Team Foundation Server に接続します。

まず、クライアント マシンでログオンするにあたり、Team Foundation Server 上にチーム プロジェクトを作成できる有効なユーザー アカウントを使って、ログオンします (注意 4)。なお、これ以降の手順説明では、Taro というアカウントを使用することにします。

注意 4: この後の手順では、チーム プロジェクトを作成するため、ログオンに使用するユーザー アカウントは、以下のアクセス権を持っている必要があります。Team Foundation Server のインストールの際に使用したアカウント (インストール ガイドでは、TFSSETUP) は、この要件を既に満たしているので、この後のステップを検証する上で、最も簡単な方法は TFSSETUP を使用することです。

  • Team Foundation Server のアクセス許可として、”サーバーレベル情報の表示”、”ワークスペースの作成”、および、”新しいプロジェクトの作成” が与えられていること (Team Foundation Server のグローバルグループである ”Team Foundation 管理者” は、これらを含め、すべてのアクセス許可が与えられています。なお、Team Foundation Server Workgroup Edition では、ユーザーにライセンスを付与して Team Foundation Server を利用できるようにするために、グローバル グループ ”Team Foundation の使用を許可されたユーザー” に、そのアカウントを所属させる必要があります。)
  • Team Foundation Server が使用する SQL Server Reporting Services において、”コンテンツ マネージャー” ロールに属していること (既定では、Builtin\Administrators グループのメンバは、このロールに属しています。)
  • Team Foundation Server が使用する Web サイト (WSS) において、管理グループに属していること (既定では、Builtin\Administrators グループのメンバは、このグループに属しています。)

スタート メニューより [ スタート ] - [ すべてのプログラム ] - [ Microsoft Visual Studio 2005 ] - [ Microsoft Visual Studio 2005 ] の順に選択し、Visual Studio 2005 を起動します。

Visual Studio 2005 から Team Foundation Server に接続するため、メニューより [ ツール ] - [ Team Foundation Server に接続 ] の順に選択して、 [ Team Foundation Server に接続 ] ダイアログ ボックスを表示させます。

図 2. [ Team Foundation Server に接続 ] ダイアログ ボックス

このダイアログ ボックスの上部にあるドロップダウン リストで、Team Foundation Server のサーバー名を選択します。もし、ドロップダウン リストに、サーバー名が表示されない場合、以下の箇条書きの手順に従って、サーバーを選択します。

  • [ サーバー ] ボタンをクリックします。
  • [ Team Foundation Server の追加および削除 ] ダイアログ ボックスが表示されたら、 [ 追加 ] ボタンをクリックします。
  • [ Team Foundation Server の追加 ] ダイアログ ボックスが表示されたら、 [ Team Foundation Server 名 ] ボックスに、Team Foundation Server のサーバー名を入力します。ポート番号 (既定は 8080) とプロトコル (既定は HTTP) は既定のままにして、 [ OK ] をクリックします。
  • [ Team Foundation Server の追加および削除 ] ダイアログ ボックスに戻るので、Team Foundation Server の一覧に、サーバー名が表示されていることを確認して、 [ 閉じる ] をクリックします。

次図のように、[Team Foundation Server に接続] ダイアログ ボックスの上部のドロップダウンリストでは、接続先のサーバー名 (この例ではsrv100) が選択されていることを確認し、また、チーム プロジェクトの一覧では、既存のチーム プロジェクトを選択しない状態 (チェックボックスがチェックされていない状態) であることを確認して、 [ OK ] をクリックします。

図 3. 接続先の Team Foundation Server の指定

すると次図のように、チーム エスクプローラには、接続先のサーバーを表すノードが表示されます。

図 4. Team Foundation Server への接続を表すノード

これで、Visual Studio から Team Foundation Server への接続が完了しました。

次に、チーム プロジェクトを作成します。

メニューより [ ファイル ] - [ 新規作成 ] - [ チーム プロジェクト ] の順に選択します。

次図のように、チーム プロジェクトを作成するためのウィザードを起動したら、チーム プロジェクトの名前として、”OurTeam1” と入力します。

図 5. チーム プロジェクトを作成するウィザード

[ 次へ ] ボタンをクリックします。

次図のように、 ”プロセス テンプレートの選択” という見出しのページが表示されるので、”MSF for Agile Software Development - V4.0 - JPN” をプロセス テンプレートとして選択します。

図 6. プロセス テンプレートの選択

[ 次へ ] ボタンをクリックします。

次図のように、 ”プロジェクト ポータルの設定を指定します” という見出しのページが表示されるので、チーム プロジェクト ポータルのタイトルとして ”Our Team 1” と入力し、チーム プロジェクト ポータルの説明は、適当な説明文を入力します。

図 7. チーム プロジェクト ポータルの設定

入力が済んだら、 [ 次へ ] ボタンをクリックします。

次図のように、 ”ソース管理の設定を指定します” という見出しのページが表示されるので、既定の [空のソース管理フォルダを作成する] オプションを選択したままにします。

図 8. ソース管理の設定

[ 次へ ] ボタンをクリックします。

次図のように、 ”チーム プロジェクト設定の確認” という見出しのページが表示されるので、どのような設定になっているか、確認します。

図 9. チーム プロジェクトの設定項目の確認

[ 完了 ] ボタンをクリックして、チーム プロジェクトの作成を開始します。

作成の進行状態を表す画面が表示されるので、数分待ちます。最終的には、次図のようにチームプロジェクトが正常に作成された旨のメッセージが表示されることを確認します。

図 10. チーム プロジェクトの作成完了

[ 閉じる ] ボタンをクリックして、ウィザードを閉じます。

Visual Studio 2005 の IDE には、次図のように、プロジェクト ポータルのページが開きますが、今回は使用しないので、閉じておきます。

図 11. チーム プロジェクトのポータル サイト

また、チーム エクスプローラには、次図のようにチーム プロジェクトを表す ”OurTeam1” ノードが追加されます。

図 12. OurTeam1 チーム プロジェクト

このステップでは、前のステップで作成したチーム プロジェクト ”OurTeam1” に、新しい ”作業項目” を追加します。(この作業項目は、この後のステップで行うソース管理機能と、どう連携するかの確認で使用します。作業項目自体の入力内容は、それほど重要ではありません。)

チーム エクスプローラのツリー上で、 [ OurTeam1 ] ノードをクリックして、このチーム プロジェクトを選択した状態にします。

メニューより [ チーム ] - [ 作業項目の追加 ] - [ タスク ] の順に選択します。

次図のように、作業項目 (タスク) の編集画面が開くので、タイトルに ”試験的なコンポーネントの作成” と入力します。そのほかの項目は既定のままにします。

図 13. 作業項目の新規作成

メニューより [ ファイル ] - [ 新しいタスク 1 の保存 ] の順に選択して、この作業項目を保存しておきます。(この作業項目は、Team Foundation Server 上に保存され、タスク 1 ではなく、タスクに適当な番号が割り振られます。)

保存が済んだら、作業項目の編集画面を閉じておきます。

ここで、作業項目がサーバーに保存されたことを確認します。まず、チーム エクスプローラのツリー上で、 [ OurTeam1 ] ノード、 [ 作業項目 ] ノード、 [ チーム クエリ ] ノードの順に展開して (次図参照)、 [ チーム クエリ ] ノード内の [ すべての作業項目 ] ノードをダブルクリックします。

図 14. [ チーム クエリ ] ノード

次図のように、このチーム プロジェクト内のすべての作業項目が一覧表示されます。チーム プロジェクトの作成を行った時点で、プロセス テンプレートに基づいて、いつくかの作業項目が既に用意されています。この中に、先に作成した ”試験的なコンポーネントの作成” というタイトルの作業項目があることを確認します。

図 15. 新規に追加した作業項目

確認が済んだら、この画面を閉じておきます。

このステップでは、Visual Studio 2005 のクラス ライブラリ プロジェクトを新規に作成して、Team Foundation Server のソース管理下に置きます。

メニューより [ ファイル ] - [ 新規作成 ] - [ プロジェクト ] の順に選択して、 [ 新しいプロジェクト ] ダイアログ ボックスを開きます。

このダイアログ ボックスで、次表のように指定し、また、ダイアログ ボックスの右下部にある [ ソース管理に追加 ] チェックボックスをチェックしておきます (次図参照)。

プロジェクトの種類 テンプレート プロジェクト名 場所
Visual C# - Windows クラス
ライブラリ
ClassLibrary1
(既定のまま)
C:\Samples
(任意の場所)

図 16. ソース管理に追加するオプション

設定が済んだら、 [ OK ] をクリックします。

次図のように、 [ ソリューション ClassLibrary1 をソース管理に追加 ] ダイアログ ボックスが表示されたら、 [ チーム プロジェクトの場所 ] 欄のツリーで、[OurTeam1] が選択されていることを確認し、既定の設定のまま、 [ OK ] をクリックします。

図 17. ソース管理への追加

これで、ローカルディスクには編集用として、 C:\Samples にクラス ライブラリ プロジェクトが作成され、Team Foundation Server 上では $/OurTeam1/ClassLibrary1 というパスが保管場所として確保されました。

ここで、クラス ライブラリ プロジェクトに関して、どのような設定がなされたか確認してみます。

メニューより [ 表示 ] - [ その他のウィンドウ ] - [ ソース管理エクスプローラ ] の順に選択して、 ソース管理エクスプローラを開きます。このウィンドウでは、Team Foundation Server のソースコードの保管場所がツリー構造で表示されます。次図のように、ツリーを展開すると、OurTeam1 フォルダの下に、ClassLibrary1 というフォルダがあり、右ペインでは、そのフォルダに含まれるファイル一覧が表示されます。(ツリーに ClassLibrary1 フォルダが表示されない場合は、ソース管理エクスプローラをアクティブにした状態で、メニューより [ 表示 ] - [ 最新の情報に更新 ] を選択して、表示内容を更新してください。) なお、現時点の ClassLibrary1 プロジェクトは、サーバーからチェックアウトされた状態であり、ローカルディスク上で編集可能になっています。ユーザー列の ”Taro” はチェックアウトしているユーザーです。また、各ファイル名やフォルダ名の先頭に付いた黄色の + 印アイコンは、新規に追加されることを意味します。アイコンの形状は、ファイルに対する編集操作の違いによって変化します。

図 18. ソース管理エクスプローラ

次に、メニューより [ ファイル ] - [ ソース管理 ] - [ ワークスペース ] の順に選択して、次図に示すような、[ ワークスペースの管理 ] ダイアログ ボックスを開きます。

図 19. ワークスペースの管理

現在使用しているクライアント コンピュータ (この例では SRV100XP2) のワークスペースを選択した状態にして (特にワークスペースの追加を明示的に行っていなければ、ワークスペースは 1 つしかありません)、 [ 編集 ] ボタンをクリックします。

次図のように、ワークスペースを編集するダイアログ ボックスが表示されます。このダイアログ ボックスの下半分には、Team Foundation Server 上のソース管理フォルダと、ローカルディスクのフォルダとの間の、マッピングの様子が表示されており、ソース管理下へチェックインしたり (保管したり)、ソース管理下からチェックアウトしたり (取り出したり) すると、ここのマッピング基づき、ソース管理フォルダとローカル フォルダとの間で、ソースコードは転送されます。

図 20. ソース管理フォルダとローカル フォルダのマッピング

確認が済んだら、 [ キャンセル ] をクリックして、ワークスペースの編集ダイアログ ボックスを閉じます。

[ ワークスペースの管理 ] ダイアログ ボックスに戻るので、 [ 閉じる ] ボタンをクリックして、このダイアログ ボックスを閉じます。

今のところ、ClassLibrary1 クラス ライブラリ プロジェクト (厳密には、Class1Library1 ソリューション全体) は、チェックアウトされた状態です。このステップでは、これをチェックインして、ソース管理下に格納します。

メニューより [ 表示 ] - [ その他のウィンドウ ] - [ 保留中の変更 ] の順に選択して、 [ 保留中の変更 ] ウィンドウを開きます。このウィンドウで、チェックインの操作を行うことができます。 (まだチェックインをしないでください。)

まず、[ コメント ] 欄には、次に示すように、”試験的な ClassLibrary1 の新規作成” と入力します。(もし、コメント欄が表示されていない場合は、[ 保留中の変更 ] ウィンドウの左端に縦に並んだ 4 つのボタンのうち、一番上のボタンをクリックして、表示内容を切り替えてください。)

図 21. 保留中の変更

また、一覧に表示されている各ファイル名の先頭のチェックボックスが、すべてチェックされていることを確認します。チェックされているものが、チェックインの対象となります。

さらに、[ 保留中の変更 ] ウィンドウの左端に縦に並んだボタンのうち、上から 2 番目のボタンをクリックします。すると、次図のように、作業項目の一覧が表示されるので、Step 3 で新規作成した ”試験的なコンポーネントの作成” という作業項目を見つけ、先頭のチェックボックスにチェックマークを付け、右端の [チェックイン動作] 列では、ドロップダウンリストから ”関連付け” を選択します。これによって、このチェックインにおける変更内容と、作業項目が関連付きます。

図 22. 作業項目との関連付け

[ 保留中の変更 ] ウィンドウの左上部にある [ チェックイン ] ボタンをクリックします。

[ 保留中の変更 ] ウィンドウを閉じます。

メニューより、 [ ファイル ] - [ ソリューションを閉じる ] の順に選択し、Class1Library ソリューションを閉じておきます。

ここで、作業項目の要素を確認します。 チーム エクスプローラのツリー上で、 [ OurTeam1 ] - [ 地作業項目 ] - [ チーム クエリ ] の順にノードを展開して、 [ すべての作業項目 ] をダブルクリックします。

作業項目の一覧が表示されるので、”試験的なコンポーネントの作成” を見つけ、これをダブルクリックして、この作業項目の詳細を開きます。

この詳細の下部にある [ リンク ] タブをクリックします。次図のように、先に行ったチェックインの記録である ”変更セット” があることが分かります。

図 23. 作業項目に関連付いた変更セット

さらに、この ”変更セット” をダブルクリックします。次のように、変更セットの詳細が表示され、変更されたファイルの一覧や、チェックインの際に入力したコメント ”試験的な Class1Library の新規作成” などを確認することができます。

図 24. 変更セットの詳細

このように、特定の作業項目において、どのような変更作業を行ったか追跡することができます。

確認が済んだら、この変更セットの詳細ウィンドウを閉じておきます。

さらに、作業項目 (タスク) ”試験的なコンポーネントの作成” ウィンドウも閉じておきます。

このステップでは、一旦チェックアウトして、編集を行い、再びチェックインをします。その後のステップでは、その結果として、ソース管理にどのような影響があるか確認します。

メニューより [ 表示 ] - [ その他のウィンドウ ] - [ ソース管理エクスプローラ ] の順に選択して、 ソース管理エクスプローラを開きます。

左ペインのツリーで、 [ OurTeam1 ] ノードのすぐ下にある [ ClassLibrary1 ] をクリックして選択します。

右ペインで、ClassLibrary1.sln を見つけ (次図参照)、これをダブルクリックして、このソリューションを開きます。

図 25. ソース管理下のソリューション ”ClassLibrary1.sln”

実際にダブルクリックの対象となったファイルは、ソース管理下 (サーバー上) のソリューション ファイルですが、既にワークスペースの定義によって、ソース管理フォルダとローカル フォルダがマッピングされているので、ローカル フォルダのソリューションが自動的に開きます。ただし、まだチェックインの状態 (編集できない状態) のままであり、次図のように、ソリューション エクスプローラ上の各ファイルには、錠前アイコンが付いています。

図 26. チェックインの状態にあるソリューション

ソリューション エクスプローラのツリーで、最上位のノードであるソリューションを右クリックして、ショートカット メニューから [ 編集用にチェックアウト ] をクリックします。

[ チェックアウト ] ダイアログ ボックスが表示されたら、既定の設定のまま、 [ チェックアウト ] ボタンをクリックします。

ソリューション全体がチェックアウトされ、ソリューション エクスプローラ上では、ファイルの先頭にチェックマークのアイコンが表示されます。

図 27. チェックアウトされたソリューション

ソリューション エクスプローラ上で、ファイル ”Class1.cs” をダブルクリックして、このファイルのコード エディタを開きます。

Class1 クラスに、次のように Add メソッド を追加します (入力するのは、赤色の部分)。

namespace ClassLibrary1
{
    public class Class1
    {
        public int Add(int a, int b)
        {
            return (a + b);
        }
    }
}

入力が済んだら、 [ ファイル ] - [ Class1.cs の保存 ] を選択して、ファイルを保存します。これは、ローカル フォルダにおける保存です。

Class1.cs を閉じておきます。

次に、チェックインを行います。まず、メニューより [ 表示 ] - [ その他のウィンドウ ] - [ 保留中の変更 ] の順に選択して、[ 保留中の変更 ] ウィンドウを開きます。

[ 保留中の変更 ] ウィンドウの左端に縦に並んだボタンのうち、一番上のボタンをクリックして、コメント欄を表示させ、次図のようにコメントとして、 ”Add メソッドの追加” と入力します。

図 28. コメントの入力

[ 保留中の変更 ] ウィンドウの左端に縦に並んだボタンのうち、上から 2 番目のボタンをクリックします。次図のように、作業項目の一覧が表示されるので、Step 3 で新規作成した ”試験的なコンポーネントの作成” という作業項目を見つけ、先頭のチェックボックスにチェックマークを付け、右端の [チェックイン動作] 列では、今回はドロップダウンリストから ”解決” を選択します。これによって、このチェックインにおける変更内容と、作業項目が関連付くだけでなく、作業項目の状態が、”終了” に変化します。

図 29. 作業項目のチェックイン動作で、”解決” を選択

[ 保留中の変更 ] ウィンドウの左上部にある [ チェックイン ] ボタンをクリックします。

[ 保留中の変更 ] ウィンドウを閉じます。

メニューより、 [ ファイル ] - [ ソリューションを閉じる ] の順に選択し、Class1Library ソリューションを閉じておきます。

最後のステップでは、前のステップの変更作業によって、Team Foundation Server 側でどのような変化が起きたかを確認します。

チーム エクスプローラのツリー上で、 [ OurTeam1 ] - [ 作業項目 ] - [ チーム クエリ ] の順にノードを展開して、 [ すべての作業項目 ] をダブルクリックします。

作業項目の一覧が表示されるので、”試験的なコンポーネントの作成” を見つけます。この作業項目の状態が ”終了” になっていることを確認します。

図 30. 作業項目の終了

この作業項目をダブルクリックして、詳細を表示させます。

この詳細の下部にある [ リンク ] タブをクリックします。次図のように、先に行った 2 回のチェックインの操作の記録として、2 つの ”変更セット” があることを確認します。

図 31. 作業項目に関連付いた変更セット

後から追加されたほうの変更セット (数値が大きいほうの変更セット) をダブルクリックして、変更セットの詳細を表示します。

次図に示すように、このチェックイン操作の際に入力したコメント ”Addメソッドの追加” を確認することができます。また、今回のソースコードの変更作業では、変更されたファイルが Class1.cs だけであることが分かります。

図 32. 変更セットの詳細

ここで、この変更セットの詳細ウィンドウに表示された、Class1.cs を右クリックし、ショートカット メニューより、 [ 比較 ] - [ 以前のバージョンとの差異 ] をクリックします。

すると、次図のように、[ 相違点 ] ダイアログボックスが表示され、一つ前のチェックインから後に行われた変更差分を確認することができます。より新しいバージョンである右半分のウィンドウでは、Add メソッドが追加されています。

図 33. 変更差分の確認

このように、Team Foundation Server が提供する作業項目とソース管理の機能を利用すると、特定の作業項目に関して、どのような変更作業が行われたかを追跡することができます。

確認が済んだら、[ 相違点 ] ダイアログボックスを閉じておきます。

また、作業項目 (タスク) ”試験的なコンポーネントの作成” の詳細のウィンドウも閉じておきます。

なお、次のステップ 7 でも、引き続き、この環境を利用します。

次に、「その 2 : チーム ビルドとレポート機能」 について説明します。


Top of Page Top of Page

Microsoft