Sun WorkShop TeamWare ユーザーズガイド |
第 1 章
Sun WorkShop TeamWare の概要
この章では、Sun WorkShopTM TeamWare の概要を説明します。この章は、次の節で構成されています。
- Sun WorkShop TeamWare の機能と特長
- Sun WorkShop TeamWare の基本概念
- Sun WorkShop TeamWare のモデル
- Sun WorkShop TeamWare での作業
- Sun WorkShop TeamWare の使用例
以降の章では、各 TeamWare ツールと機能の使用方法について詳細を説明します。
Sun WorkShop TeamWare の機能と特長
Sun WorkShop TeamWare は、ソフトウェアを並行して開発するチーム向けのソースコード管理製品です。ソースコード管理を簡略化することによって時間を節約し、組織の生産性を高めます。Sun WorkShop TeamWare では、次のことを行えます。
- プロジェクトの各段階およびチームのメンバー構成に合わせたワークスペースの管理。作業用ディレクトリおよびサブディレクトリ (フォルダ) がワークスペースになります。
- 同じファイルの異なるバージョンに対する作業。メンバー各自のワークスペースに最新のバージョンを保持できます。
- 1 つのワークスペース内で同一ファイルの編集を禁止することによる衝突の防止。
- 複数のワークスペースで編集された、同じファイルの異なるバージョンの検査と選択マージ。
- ワークスペースの特定のバージョンの検出とフリーズポイント作成。後で使用するためのそのバージョンのアーカイブ保管。
- 選択したファイルおよびディレクトリからのリリース用アプリケーションの構築。ローカル (逐次または並列) に構築することも、複数のシステムを使用して分散メークすることもできます。
- チームのメンバーに対する、ファイルに加えられた個々の処理の自動通知
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 には、ワークスペースを管理するための次のツールが用意されています。
- ワークスペース管理ツール : 複数の 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 の基本概念を表す利用形態です。
- チームプロジェクトモデル : 設定時や日々の作業における、Sun WorkShop TeamWare ユーザーの利用形態です。
コピー / 変更 / マージモデル
Sun WorkShop TeamWare のワークスペース管理ツールは、「コピー / 変更 / マージ」という並行開発の形態に基づいています。TeamWare を使用した日々の作業は、プロジェクトファイルに対する次のような基本作業の繰り返しになります。
- ブリングオーバー : 親ワークスペースから自分のワークスペースにディレクトリの最新バージョンをコピーします。
- 変更 : 自分のワークスペース内のディレクトリにあるファイルを変更します。
- プットバック : 変更したファイルを親ワークスペースに戻します。その間、他のメンバーが同じファイルのコピーで作業をしていて、親ワークスペースにコピーを戻した場合は、その 2 組の変更を選択してマージできます。
次のコピー / 変更 / マージの例は、2 人のユーザーがある 1 つのプロジェクトの同一または関連する部分を同時に使用するという、一般的なソフトウェア開発例を示しています。
チームプロジェクトモデル
個別ユーザーに対するコピー / 変更 / マージの開発形態は、より大きなチーム向けの開発形態にも適合します。一般的な大規模プロジェクトでは、たいてい、そのプロジェクトの形態、スケジュールに合わせて複雑なプロジェクト構成とプロセスを組み立てる必要があります。以下は、TeamWare 環境の設定時間と日々の作業を進める上での、そうした構成とプロセスの例です。
Sun WorkShop TeamWare 環境の設定
プロジェクトを開始するときは、チーム開発を始める前に次のことを行います。
- チームのメンバーの 1 人 (チームリーダーやシステム管理者) が、次のようなプロジェクトの進捗段階や各部門を収容する一群の親ワークスペースを作成します。
- ファイルに対する作業を開始する前に、各チームメンバーが、チームのワークスペース (部門 1、部門 2、部門 3) に関係する各自の子ワークスペースを作成します。
- 各チームメンバーが、必要なディレクトリやファイルのコピーを親ワークスペースから各自のワークスペースにブリングオーバーします。 図 1-1 一般的な TeamWare 環境の設定
これで、チームの並行開発のための環境が準備できたことになります。この環境で作業を行うには、以下で説明するようにワークスペースを構成します。
Sun WorkShop TeamWare 環境における日々の作業
開発チームがファイルやディレクトリに対して作業を行い、アプリケーションの開発行程を進めていくにしたがい、次の作業を定期的に繰り返し行うことになります。
- チームメンバーが、チームの親ワークスペースから各自の子ワークスペースにディレクトリをブリングオーバーします。
- チームのリーダーは、プットバックされた変更を調べ、変更されたディレクトリをチームのワークスペースから「統合」ワークスペースにプットバックします。
- 「統合」ワークスペース内のファイルの準備ができたことを通知された構築担当者が、すべてのファイルを統合してアプリケーションを構築し、変更が反映されたディレクトリを「アルファ」ワークスペースにプットバックします。
- 「アルファ」ワークスペースの準備ができたことを通知されたソフトウェア検査担当者は、そのワークスペースに移動してアプリケーションをテストします。
- 製品のアルファ段階が完了したら、「アルファ」ワークスペースの子として「ベータ」ワークスペースを作成し、「統合」ワークスペースの親を「ベータ」ワークスペースに切り替えます。
- 安全のために、チームのメンバーは、ワークスペースの特定の「スナップショット」(フリーズポイント) を定期的に残しておくか、アーカイブします。作成したフリーズポイントからワークスペースを抽出できます。このワークスペースには、フリーズポイントを取ったときのその時点の全内容が含まれています。
Sun WorkShop 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. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |