「タスク (task)」は、ソフトウェア・アプリケーション内で行う必要がある論理変更を表します。タスクは、その変更を完了するために行う必要があるすべてのソフトウェア修正をグループ化します。タスクには、変更の説明、および変更の完了を担当する個人の名前が含まれます。
「オブジェクト (object)」は、ファイルやディレクトリーなどのデータの集合です。オブジェクトの例は、ソース・ファイル、makefile、テスト結果、ディレクトリー、およびドキュメントです。 トラッキングのために、オブジェクトのすべての改訂は「オブジェクト・バージョン (object version)」と呼ばれます。各オブジェクト・バージョンには、それをさらに定義するための 1 組の「プロパティー (properties)」(例えば、名前、所有者、作成時刻) があります。
例えば、ユーザーがアプリケーションの GUI でバグを報告するとします。GUI グループのリーダーは、そのバグを Jane という名前の開発者に割り当てます。Jane には、「「スナップ」ダイアログ・ボックス内のスクロールの修正」と呼ばれるタスクが割り当てられます。Jane が Rational Synergy を使用して、「スナップ」ダイアログ・ボックス内のスクロールの問題を修正するオブジェクトをチェックアウトするたびに、そのオブジェクトがタスクに関連付けられます。
この図は、オブジェクトがタスクと関連付けられている状況を示しています。タスクは、変更内容の基本的要素をまとめておくための箱と見なすことができます。
タスクは複数のオブジェクトと関係を持ちます。タスクによってグループ化されたオブジェクトは、そのタスクに「関連付けられている (associated)」 と表現されます。特定の問題を修正するために必要なすべてのオブジェクトは、タスク名によって定義される、1 つの論理グルーピングとしてまとめられます。図の右側にあるオブジェクト・バージョンは、「「スナップ」ダイアログ・ボックス内のスクロールの修正」タスクに関連付けられます。それらには、このタスクの完了に必要なコード変更が含まれます。各オブジェクトの上部にある番号は、オブジェクトのバージョンを表します。
この場合、タスク名「「スナップ」ダイアログ・ボックス内のスクロールの修正」は、その概要 (synopsis) と呼ばれます。さらに、タスクを作成すると、Rational Synergy がそのタスクに番号を割り当てます。番号と概要の他に、タスクには、変更に関するその他の情報 (例えば、担当者の名前) が含まれます。 タスクが開発者に割り当てられる場合、担当者は自動的に開発者の名前に設定されます。また、タスクの作成時に以下のプロパティーを設定することもできます。
ソフトウェア・アプリケーションのバージョンを示すラベルです。使用できる値は、ソフトウェア・アプリケーションにとって意味のあるリリースで構成されます (例えば、editor/2.0 や Rational Synergy/7.1 など)。 ビルド・マネージャーが、ソフトウェアに固有のリリース値をセットアップします。
論理変更に該当するハードウェア・プラットフォームを指定します。使用できる値は、ソフトウェア・アプリケーションにとって意味のあるプラットフォーム名 (例えば、AIX や WIN2K など) です。 ビルド・マネージャーが、ソフトウェアに固有のプラットフォーム値をセットアップします。自分でタスク・プラットフォームを設定する必要はありません。この値は便宜のためだけのものです。
タスクのソフトウェア・サブシステムを指定します。例えば、クライアント/サーバー・ソフトウェア・アプリケーションを開発する場合、サブシステムはクライアント、サーバー、および通信である場合があります。アカウンティング・ソフトウェア・アプリケーションを開発する場合、サブシステムは AR、AP、および GL である場合があります。CM アドミニストレーターが、ソフトウェアに固有のサブシステム値をセットアップします。自分でタスク・サブシステムを設定する必要はありません。 この値は便宜のためだけのものです。
修正が必要なタスクおよびソース・オブジェクトは、Rational Synergy データベースに置かれます。 タスクにはバージョンがありませんが、ライフサイクルを通過します。タスクには、その他のタスクは含まれません。
Rational Synergy データベースで管理される任意のオブジェクトは、名前、バージョン、タイプ、およびインスタンスのプロパティーによって固有に識別されます。
デフォルトで、「4 つの部分から成る名前 (four-part name)」 (object spec または full name とも呼ばれます) が、次のように書き込まれます。
name-version:type:instance
4 つの部分から成る名前の例は main.c-3:csrc:2 および draw.c-beta:csrc:7 などです。
オブジェクト名は、制限された文字を除き、文字の任意の組み合わせにすることができます。タイプは、いずれかのデフォルト・タイプ (例: csrc および ascii)、または独自に作成した任意のタイプにすることができます。名前、バージョン、およびタイプを指定できますが、インスタンスを判断するのは Rational Synergy です。
「インスタンス (instance)」は、名前とタイプが同じであるものの、相互のバージョンではない複数のオブジェクトを区別するのに使用します。例えば、プロジェクトに 20 個の別々の makefile が含まれ、それぞれに makefile という名前が付けられ、それぞれが別々のディレクトリーにあり、それぞれが多数のバージョンを持つ場合があります。makefile-4 を使用したい場合、そのオブジェクトのクエリーにより、makefile-4 と呼ばれる 6 つのオブジェクトが生じる可能性があります。この場合、インスタンス・プロパティーにより、どの makefile オブジェクトを使用するかが識別されます。インスタンスの値は通常、数値ですが、場合によっては (例えば、DCM を使用するデータベースでは) 英数字である場合があります。
複数のディレクトリーで特定のオブジェクト・バージョンを使用できます。オブジェクト・バージョンをそのパス名を使用して参照することができます。ただし、ファイルの場所は変更される可能性がありますが、「4 つの部分から成る名前 (four-part name)」の固有の ID は常に同じままです。