Sun WorkShop TeamWare ユーザーズガイド ホーム目次前ページへ次ページへ索引


第 1 章

Sun WorkShop TeamWare の概要

この章では、Sun WorkShopTM TeamWare の概要を説明します。この章は、次の節で構成されています。

以降の章では、各 TeamWare ツールと機能の使用方法について詳細を説明します。

Sun WorkShop TeamWare の機能と特長

Sun WorkShop TeamWare は、ソフトウェアを並行して開発するチーム向けのソースコード管理製品です。ソースコード管理を簡略化することによって時間を節約し、組織の生産性を高めます。Sun WorkShop TeamWare では、次のことを行えます。

Sun WorkShop TeamWare のバージョン管理機能は、ソースコード管理システム (SCCS) というプログラムに基づいています。Sun WorkShop TeamWare ツールで設定したワークスペースは、SCCS の管理下にあるファイルに対してだけ機能します。 RCS ソースコード管理システム下にあるファイルは、Sun WorkShop TeamWare に移行することによって管理できます。

Sun WorkShop TeamWare の基本概念

Sun WorkShop TeamWare を使用するには、TeamWare の基盤となっている開発形態である、「コピー / 変更 / マージ」を理解する必要があります。また、「親」と「子」ワークスペースの概念に基づく、ワークスペース間の関係を理解する必要もあります。TeamWare は、UNIX の SCCS バージョン管理下にあるファイルに対してだけ使用できます。以下では、これらの概念を簡単に説明します。

TeamWare を使用する理由

多くの大規模なソフトウェア開発プロジェクトで最も難しいのは、共通および相互依存のファイルを共有する開発者間の作業の調整です。

開発者がそれぞれに自分のソースコードのコピーを保持している場合、最終的にコード全体をマージするときに、元のソースに加えられた変更を完全に追跡するのは困難です。この 1 つの解決策は、一度に一人の開発者だけが共通ファイルに逐次アクセスできるようにすることです。しかし、この方法は現実的ではありません。

Sun WorkShop TeamWare では、開発者ごとに独立した専用のワークスペースを作成できるため、調整しながら並行開発を進めることができます。各開発者は、中央のワークスペースからプロジェクトファイルを自分のワークスペースにコピーし、そのワークスペース内でファイルを変更して、変更を中央ワークスペースに戻すことができます。

親ワークスペースと子ワークスペース

チームは、ディレクトリ (またはフォルダ) とファイル単位で作業を行います。Sun WorkShop TeamWare を活用するには、1 つの最上位ディレクトリ内にすべての作業用ディレクトリをまとめ、そのディレクトリ階層を 1 つのワークスペースとします。Sun WorkShop TeamWare には、ワークスペースを管理するための次のツールが用意されています。

Sun WorkShop TeamWare は、上位ディレクトリを 1 つのワークスペースに変換します。ワークスペースから新しいワークスペースを作成すると、元のワークスペースとそのコピーの間に特別な関係が作成されます。元のワークスペースは、新たに作成された「子」ワークスペースの「親」とみなされます。

親ワークスペース内のマスターファイルを壊すことのないよう、チームのメンバーは、自分の子ワークスペース内のファイルのコピーを使用します。Sun WorkShop TeamWare では、子ワークスペースと親ワークスペースとの間でディレクトリを簡単にコピーし合うことができます。

親ワークスペースは、多数の子ワークスペースを持つことができます。チームのメンバーは、自分の子ワークスペースに必要なディレクトリとファイルを取り込みます。子ワークスペースには、親ワークスペース内のすべてのディレクトリとファイルのコピーを取り込むことも、親ワークスペースの一部内容だけ取り込むこともできます。

多数のレベルで構成される複雑なプロジェクトでは、1 つのワークスペースがいくつかのワークスペースの親であるとともに、別のワークスペースの子であることがあります。

ソースコード管理システム (SCCS)

Sun WorkShop TeamWare は、ソースコード管理システム (SCCS) の管理下にあるファイルだけ認識します。ファイルがチェックアウトされ、変更されて、チェックインされるたびに、SCCS はその変更を記録します。同じファイルの 2 つのバージョン間の相違点を、「デルタ」と呼びます。Sun WorkShop TeamWare は、SCCS デルタに基づいてファイルを管理します。ファイルが編集、移動、コピーされると、ワークスペース管理ツールはそのファイルの SCCS 履歴ファイルをコピーまたはマージします。Sun WorkShop TeamWare による SCCS 履歴ファイルの処理とマージについては、「ワークスペース管理ツールによるファイルの マージ」を参照してください。

SCCS については、『プログラミングユーティリティ』を参照してください。

Sun WorkShop TeamWare のモデル

組織内での Sun WorkShop TeamWare のモデルは、次の 2 つがあります。

コピー / 変更 / マージモデル

Sun WorkShop TeamWare のワークスペース管理ツールは、「コピー / 変更 / マージ」という並行開発の形態に基づいています。TeamWare を使用した日々の作業は、プロジェクトファイルに対する次のような基本作業の繰り返しになります。

  1. ブリングオーバー : 親ワークスペースから自分のワークスペースにディレクトリの最新バージョンをコピーします。

  2. 変更 : 自分のワークスペース内のディレクトリにあるファイルを変更します。

  3. プットバック : 変更したファイルを親ワークスペースに戻します。その間、他のメンバーが同じファイルのコピーで作業をしていて、親ワークスペースにコピーを戻した場合は、その 2 組の変更を選択してマージできます。

次のコピー / 変更 / マージの例は、2 人のユーザーがある 1 つのプロジェクトの同一または関連する部分を同時に使用するという、一般的なソフトウェア開発例を示しています。

  • 開発者 A と B が、プロジェクト統合ワークスペースから各自のワークスペースに同じファイルをコピーします。

  • 開発者 B がファイルを変更し、変更したファイルを統合ワークスペースに戻します。

  • 開発者 A も自分のワークスペース内で同じファイルを変更し、統合ワークスペースに戻そうと試みます。しかし、開発者 B の変更が上書きされることになるため、TeamWare のワークスペース管理ツールによって、その試みが阻止されます。

  • ワークスペース管理ツールによって、開発者 A に変更の衝突が通知されます。開発者 A は、統合ワークスペースから自分のワークスペースに開発者 B の変更を含むファイルをコピーします。

  • ワークスペース管理ツールを使用して衝突を解決し、変更をマージおよびテストして、適切な変更内容のファイルを統合ワークスペースに戻します。


  • チームプロジェクトモデル

    個別ユーザーに対するコピー / 変更 / マージの開発形態は、より大きなチーム向けの開発形態にも適合します。一般的な大規模プロジェクトでは、たいてい、そのプロジェクトの形態、スケジュールに合わせて複雑なプロジェクト構成とプロセスを組み立てる必要があります。以下は、TeamWare 環境の設定時間と日々の作業を進める上での、そうした構成とプロセスの例です。

    Sun WorkShop TeamWare 環境の設定

    プロジェクトを開始するときは、チーム開発を始める前に次のことを行います。

    1. チームのメンバーの 1 人 (チームリーダーやシステム管理者) が、次のようなプロジェクトの進捗段階や各部門を収容する一群の親ワークスペースを作成します。


      • アルファ : チームの最新のファイルが置かれるワークスペース
      • 統合 : チームリーダーがチーム全員の作業内容をまとめるワークスペース
      • チーム : 各エンジニアリングチーム独自のワークスペース
      • ベータ / 最終 : プロジェクトの進捗段階、リリース、プラットフォーム、ロケールなどの基準に基づく、バージョン別のワークスペース

    2. ファイルに対する作業を開始する前に、各チームメンバーが、チームのワークスペース (部門 1、部門 2、部門 3) に関係する各自の子ワークスペースを作成します。

    3. 各チームメンバーが、必要なディレクトリやファイルのコピーを親ワークスペースから各自のワークスペースにブリングオーバーします。

      図 1-1   一般的な TeamWare 環境の設定

    これで、チームの並行開発のための環境が準備できたことになります。この環境で作業を行うには、以下で説明するようにワークスペースを構成します。

    Sun WorkShop TeamWare 環境における日々の作業

    開発チームがファイルやディレクトリに対して作業を行い、アプリケーションの開発行程を進めていくにしたがい、次の作業を定期的に繰り返し行うことになります。

    1. チームメンバーが、チームの親ワークスペースから各自の子ワークスペースにディレクトリをブリングオーバーします。


      • メンバーは、ブリングオーバーを頻繁に行う必要があります。このことを習慣付けることによって、チーム内の新しい変更がメンバーのワークスペース全体に反映されます。メンバー全員が最新の状態を維持するために必要です。
      • メンバーが各自の子ワークスペースで変更を行い、変更したディレクトリをチームの親ワークスペースにプットバックします。
      • TeamWare は、変更がプットバックされたことをチームの全員 (または通知リストに登録されているメンバー) に自動的に通知します。

    2. チームのリーダーは、プットバックされた変更を調べ、変更されたディレクトリをチームのワークスペースから「統合」ワークスペースにプットバックします。

    3. 「統合」ワークスペース内のファイルの準備ができたことを通知された構築担当者が、すべてのファイルを統合してアプリケーションを構築し、変更が反映されたディレクトリを「アルファ」ワークスペースにプットバックします。

    4. 「アルファ」ワークスペースの準備ができたことを通知されたソフトウェア検査担当者は、そのワークスペースに移動してアプリケーションをテストします。

    5. 製品のアルファ段階が完了したら、「アルファ」ワークスペースの子として「ベータ」ワークスペースを作成し、「統合」ワークスペースの親を「ベータ」ワークスペースに切り替えます。

    6. 安全のために、チームのメンバーは、ワークスペースの特定の「スナップショット」(フリーズポイント) を定期的に残しておくか、アーカイブします。作成したフリーズポイントからワークスペースを抽出できます。このワークスペースには、フリーズポイントを取ったときのその時点の全内容が含まれています。

    Sun WorkShop TeamWare での作業

    次の表に、各 TeamWare ツールの用途を簡単にまとめます。

    表 1-1   TeamWare ツールの用途  
    作業 TeamWare ツール
    ディレクトリのワークスペースへの変換 ワークスペース管理ツール
    親ワークスペースへからの子ワークスペースの作成 ワークスペース管理ツール
    親ワークスペースから子ワークスペースへのディレクトリのブリングオーバー ワークスペース管理ツール
    自分のワークスペースのファイルのチェックアウト バージョン管理ツール
    ファイルの変更と保存 バージョン管理ツール
    自分のワークスペースのファイルのチェックイン バージョン管理ツール
    ワークスペースにおけるファイルの新規作成 バージョン管理ツール
    新規および変更したファイルの親ワークスペースへのプットバック ワークスペース管理ツール
    複数メンバーがそれぞれのワークスペースで変更したファイルの矛盾バージョンのマージ ファイルマージツール
    マージしたファイルの親ワークスペースへのプットバック ワークスペース管理ツール
    特定のバージョンのワークスペースの保存 フリーズポイントツール
    複数ファイルからのアプリケーションの構築 (検査やリリース用) 構築ツール


    Sun WorkShop TeamWare の使用例

    Sun WorkShop TeamWare は、プロジェクトやチームにおける各自の役割に応じて、さまざまな使い方ができます。ここでは、2 つの例を取り上げます。

    チームに新しいメンバーを追加する

    TeamWare を使用してソフトウェアの並行開発を行なっていて、すでに親ワークスペースと子ワークスペースが作成されているチームに新しいメンバーを追加する場合は、そのメンバーは次のことを行う必要があります。

    1. チームの親ワークスペースの構成を確認します。

    2. 構築に関するチームの方針やプロセス、スケジュールを確認します。

    3. 自分の子ワークスペースを作成します。この子ワークスペース内で作業をすることになります。

    4. Sun WorkShop TeamWare 内で電子メール通知の設定をします。

    5. 親ワークスペースから必要なディレクトリをブリングオーバーします。

    6. 各ファイルをチェックアウトし、変更、保存をして、チェックインします。

    7. 必要に応じて、自分のワークスペースのファイルの追加または削除を行います。追加したファイルは、SCCS の管理下に置きます。

    8. ファイルの変更を終えたら、ディレクトリ全体を親ワークスペースにプットバックします。

    9. 行なった変更は、チームに自動的に通知されます。

    10. プットバックしようとしたファイルが、すでに別のメンバーによって変更されプットバックされていた場合は、変更内容をマージし、そのマージ結果を反映したファイルを親ワークスペースにプットバックします。

    Sun WorkShop TeamWare 環境を設定する

    Sun WorkShop TeamWare ワークスペース環境を初めて作成する場合は、次のことを行う必要があります。

    1. 次のような基準に基づいて、チームのワークスペースの構成を決定します。

    2. プロジェクト用の親ワークスペースを作成します。

    3. チームのメンバーが子ワークスペースを作成できるように、作成した親ワークスペースの情報をチームに通知します。

    4. 次のような事項に関してチーム内で取り決めます。

    5. チームと共にアプリケーションの開発も行なっている場合は、「チームに新しいメンバーを追加する」で説明しているように、自分の子ワークスペースを作成し、定期的に Sun WorkShop TeamWare ツールを使用して、必要な作業を行います。


    サン・マイクロシステムズ株式会社
    Copyright information. All rights reserved.
    ホーム   |   目次   |   前ページへ   |   次ページへ   |   索引