共有プロジェクトは、shared 状態のプロジェクトであり、visible 状態、shared 状態、または任意の静的状態のメンバーが含まれています。
shared 状態のプロジェクトでは、ユーザーがプロジェクトに変更を加えることができます。
この動作は、1 人のユーザーまたは特定のロールのユーザーのみがプロジェクトで変更を行える working プロジェクトや prep プロジェクトの動作とは異なります。
共有プロジェクトにはいくつかの利点があり、そのほとんどは、複数のユーザーが単一のプロジェクトを共有することに関するものです。
ただし、そのようなメリットを提供する機能によって、いくつかの制約も同時に課されることになります。共有プロジェクトが自分のチームに適しているかどうかを判断できるように、メリットと制約を理解する必要があります。
このセクションで参照されるダイアログ・ボックスおよびコマンドについて詳しくは、Rational Synergy の使用およびダイアログ・ボックスおよびペインの使用を参照してください。
このトピックには以下のセクションが含まれています。
共有プロジェクトのメリット
共有プロジェクトの使用には、以下のメリットがあります。
- 時間の節減
小規模な変更を行うために、大規模なプロジェクト (または複数プロジェクト) の working バージョンをチェックアウトする必要はありません。共有プロジェクトの working バージョンを保守している場合を除き、保守操作や管理操作を実行する必要はありません。代わりに、プロジェクトおよびそのオブジェクトに即時にアクセスできます。
- トレーニングの減少
すべてのユーザーがプロジェクトを共有できるため、個々のユーザーがプロジェクトの管理方法 (作成、更新、同期、属性の設定などを行う方法) を知る必要はありません。ビルド・マネージャーなどの 1 人のユーザーが、プロジェクト管理を担当することができます。
- 共有開発機能
他のユーザーによる変更が、直ちに使用可能になります。例えば、Bob と Ann が同じ共有プロジェクトで作業している場合、Bob が変更を保存すると、Ann がその変更を使用できるようになります。
- 必要なディスク・スペースの削減
すべてのユーザーが単一のプロジェクトを使用しているため、プロジェクトのワークエリアのコピーを複数保持する必要がありません。この機能により、ディスク・スペースを節約できます。
ただし、(UNIX で) リンク・ベースのワークエリアを使用している場合や、ワークエリア内にチームが保有している非制御ファイルがほとんどない場合、節約されるディスク・スペースの量はごくわずかになります。
共有プロジェクトの制約
共有プロジェクトでは、以下の制約が課されます。
- 分離されない
分離されないことが、共有プロジェクトの最も影響の大きい制約です。
いくつかのシチュエーションでは (特にプロダクトのビルド時には)、予期しない動作が行われる可能性があります。
共有プロジェクトでビルドすると、並行してビルドが行われる可能性があります。ユーザーはいつでも共有プロダクトをビルドすることができ、新規プロダクトは共有プロジェクト内に自動的に組み込まれます。
その結果、予告なしにビルドの結果が変わる可能性があります。例えば、あるユーザーが共有プロジェクト内のライブラリーを変更した場合、その変更は直ちに組み込まれます。この変更が他のユーザーによる以降のビルドに影響を与えることがあります。
共有ファイルに対する変更が不完全である場合、予測不能な結果を引き起こす可能性があります。
作業中のファイルは、まだデバッグされていなくても、プロジェクトのメンバーであるためです。
最後に、共有ワークエリア内の非制御ファイルは、ビルドの結果に影響を与える可能性があります。例えば、非制御の再配置可能なオブジェクト・ファイルは、複数のユーザーによって同時にアクセスされたり、ファイルの破壊やビルド結果の変更を引き起こすような順序でアクセスされたりする可能性があります。
注意:
変更への即時アクセスを実現する機能は、他のユーザーによる互換性のない変更、不完全な変更、またはエラーを、即時に予告なく引き起こす原因にもなります。
分離されたプロジェクトが必要な場合は、プロジェクトの working バージョンをチェックアウトして、そこで作業することができます。詳しくは、パラレル開発と共有プロジェクトを参照してください。
- 限られたファイル・システム・セキュリティー
Rational Synergy は、共有プロジェクトのコピー・ベースのワークエリアのファイル権限を完全にはサポートしていません。すべてのユーザーは、コピー・ベースのワークエリア内のファイルを名前変更、移動、または削除する権限を持ちます。また、他のユーザーに対してチェックアウトされたオブジェクトのファイルを変更できる場合もあります。
コピー・ベースのワークエリアでは、ワークエリア・ファイルに対する変更は、Rational Synergy データベース内の制御対象ファイルに影響を与えません。ただし、同期化によって不要な変更がワークエリアからデータベースに戻されないように注意する必要があります。
Windows ユーザーは、自分のワークエリア用に非共有ドライブを使用することによって、ワークエリアに対する不要な変更を避けることができます。ただし、この方式では、複数のユーザーが同じワークエリアを共有できません。
UNIX ユーザーは、自分のワークエリアをリンク・ベースにすることによって、ワークエリアに対する不要な変更を防ぐことができます。
他のユーザーがファイルへのリンクを変更することは可能ですが、ファイル自体を変更できるのはファイルの所有者のみです。
- パラレル開発が禁止されている
共有プロジェクトではパラレル開発が禁止されています。共有プロジェクトからオブジェクトがチェックアウトされると、他のどのユーザーも、そのオブジェクトをチェックアウトできなくなります。
異なるバージョンを使用して (ccm use コマンドまたは「使用 (Use)」ダイアログ・ボックス)、そのバージョンからチェックアウトしてはなりません。他のユーザーによる変更を削除してしまう可能性があります。
代わりに、working プロジェクトを共有プロジェクトからチェックアウトして、パラレル・バージョンで作業してください。
- 共通ワークエリア・パスが必要
共有プロジェクトのワークエリアは、すべてのユーザーによって使用可能なパスに設定されている必要があります。このパスは、すべてのマシンで同一でなければなりません。
すべてのユーザーが多くの異なるマシンから同じワークエリアにアクセスしなければならないため、追加のネットワーク・トラフィックによってパフォーマンスが低下する可能性があります。