「開発ツールのコラボレーション機能を検証する」
ボーランド株式会社
デベロッパーツールズ事業本部
藤井 等

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

開発ツールをとりまく環境
フレームワークのバージョンアップ

仕様変更

バグ対応

コーディング規約

ドキュメントプロトタイプ

機能強化
テストバージョンリリース

2
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

1第２回 ボーランド デベロッパー キャンプ

どのサイズの開発でもなんらかの「管理＋コラボレーション」が必要
個人で開発する場合数名で開発する場合チームで開発する場合

複雑さ

保管

共有

管理

チームサイズによって、使用するコラボレーション機能が違ったり、同じでも用途が異なる場合がある
3
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

バージョン管理

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

2第２回 ボーランド デベロッパー キャンプ

ソースコードのバージョン管理 たとえひとりで開発していたとしても、ソースコードのバージョン管理は重要です ツールによる支援

 IDEの履歴機能 ローカルファイルシステムでバックアップを保持 任意のバージョン間で差分を表示

 バージョン管理／構成管理ツール
 各バージョンをリポジトリに保管 単にファイル単位で履歴を管理するだけでなく、ビルド構成単位でバージョンを特定できる

 IDEのインポート／エクスポート機能
 バージョン管理／構成管理ツールからプロジェクトを取得／保管
5
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

Borland Developer Studio 2006の例

バックアップファイルとの相違をビジュアルに表示
StarTeamを利用している
ときは、リポジトリに保管されているリビジョンとも比較※ 同様の機能は、JBuilderにも搭載されています。
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

36

第２回 ボーランド デベロッパー キャンプ

構成管理ツールで任意の時点のビルド構成を再現
Build20040101-01

現在の構成

Project File (rev 1.2)

Project File (rev1.4)

sourcesystemA

source1.cpp(rev1.3)
includesource 各ファイルの内容変更
 ディレクトリ構成変更
 ファイル名変更
 その他

source01.cpp(rev1.10)
includecommon.h(rev1.1)

common.h(rev1.3)
systemB
7
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

JBuilderのバージョン管理ツールのサポート機能
 特長
 複数のバージョン管理／構成管理ツールをサポート
 StarTeam、ClearCase、Subversion、Visual SourceSafe、CVS

 JBuilder用に構成されていないJavaソースを取り込み可能 JBuilderプロジェクトとして読み込むウィザードを搭載
 一度取り込んでしまえば、あとはシームレスに利用可能

8Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

4

第２回 ボーランド デベロッパー キャンプ

Borland Developer Studioのサポート機能
 特長
 StarTeamを完全に統合
 IDE自身がStarTeamクライアントとして機能

 Borland Developer Studioプロジェクトに対応
 Borland Developer Studio固有のファイル形式にも対応
 IDE内でシームレスにStarTeam機能を利用可能

9Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

StarTeamを使ってみる

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

5

第２回 ボーランド デベロッパー キャンプ

必要な準備作業 サーバのインストール
 StarTeam Server リポジトリ用のデータベース（MSDE、MS SQL、ORACLEなど）
 ライセンスの設定（とりあえず未設定で14日間のトライアルとして使える）

 クライアントのインストール

StarTeamサーバー

 Javaクライアント
 Win32クライアント
 あるいはIDEHive• ファイルや添付を保管
StarTeamクライアント
Database

データベースサーバー• プロジェクトに関する一般的なデータを格納
11

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

StarTeam Serverに接続する
 現在のプロジェクトをStarTeamに保管する ［プロジェクトの配置］メニューを実行
 BDS: ［StarTeam｜プロジェクトの配置］
 JBuilder: ［チーム｜StarTeamにプロジェクトを配置］

 サーバ、プロジェクト、ビュー、フォルダを設定
 StarTeamプロジェクト
 構成アイテムを目的に応じて組織化
 StarTeamサーバにおける最上位のグループレベル

 StarTeamビュー
 プロジェクトを分割して扱いやすい単位にしたもの
 ビューを使えばユーザーグループごとに別々の設定を提供できる
 プロジェクトは任意の数のビューを持つことができる

 StarTeamフォルダ ビュー内の構成アイテムを格納するコンテナ
 プロジェクトのサブディレクトリ構造の表現
12
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

6

第２回 ボーランド デベロッパー キャンプ

チェックイン／チェックアウト
 StarTeamを使った場合のプロジェクトのオープン
 ローカルにプロジェクトがある場合
 プロジェクトファイルを開く ローカルにプロジェクトがない場合
 BDS: ［StarTeam｜取得］
 JBuilder: ［ファイル｜新規］で、［StarTeamからプロジェクトを取得］

 チェックアウト
 サーバのファイルをローカルの作業フォルダにコピー ロック状態を指定

 チェックイン 特定のファイル、あるいは一括でチェックイン
13
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

その他のStarTeam機能
 CR管理 CR（Change Request）を一元管理
 CRの詳細と対応の進捗を表示

 要件管理 開発要件や関連する資料を一元管理 タスク管理
 各開発者へのタスク割り当てと進捗を管理 MS Projectと連携可能

 トピック 開発作業中のディスカッションを一元管理

14
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

7

第２回 ボーランド デベロッパー キャンプ

他のバージョン管理ツールを使う
 JBuilderがサポートする他のバージョン管理ツール
 ClearCase、Subversion、Visual SourceSafe、CVS

 バージョン管理ツールの使い方 ［チーム｜プロジェクトVCSの選択］例）Subversion
 ［チーム｜プロジェクトVCSの選択］でSubversionを選択 ［チーム｜Subversionの設定］
 ［チーム｜プロジェクトをSubversion下に置く］
 StarTeamクライアント統合機能は使えないが、ステータスブラウザ、コミットブラウザなどのビジュアルツールを利用できる
15
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

成果物の品質管理

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

8

第２回 ボーランド デベロッパー キャンプ

コードの品質を一定に保つ努力が必要になるケース…
 スキルの異なるチームメンバー
 コーディング中のうっかりミス バグを誘発しそうなコーディング 一部の機能をアウトソーシング
 コンポーネントやライブラリを外注
 ソースコードも納品してもらったが、コーディング上、気になるところが多い…

 エンジニアの応援依頼
 自社のコーディング規約と異なるところがあり、将来のメンテナンスに不安スキルのあるエンジニアがチェックすれば済むことだけれども、ツールで自動化できるところは楽しよう！
17
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

検査／測定機能の利用 検査／測定機能
 Togetherの機能のひとつ
 Borland Developer Studio 2006に搭載
 JBuilderでもTogether for JBuilderにて利用可 ソースコードを解析して、定性的／定量的に問題点を指摘
 エラーを誘発する可能性のある箇所を検出 コーディング規約上のしきい値内にあるかをチェック

18
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

9

JBuilderのピアツーピア開発機能

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

第２回 ボーランド デベロッパー キャンプ

ピアツーピア開発機能
 2人のユーザーがJBuilder上で開発作業を共有するインフラを提 開発者同士のコミュニケーション、情報交換 チャット、ファイル転送など
 メッセンジャーやスカイプなど他のツールでも可能だがIDE内で使えることがメリット（他の機能と併用することでメリットが出る）

 プロジェクトの共有
 ローカルにあるプロジェクトをリモートの他の開発者と共有できる
 問題箇所についてディスカッションしたり、修正できる

 共同でデバッグ デバッグ作業をリモートの他の開発者と共有できる
 問題の特定のため、リモート開発者のヘルプが得られる

20
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

10

第２回 ボーランド デベロッパー キャンプ

ピアツーピア開発の実際
リモート側

リモート側は、ホスト側のローカルプロジェクトを共有して表示可能
編集権をリモート側に渡すことも可能

ホスト側

ホスト側の編集操作は、リアルタイムでリモート側にも表示相手とチャットが可能。ファイル
転送では、転送されたファイルをただちにIDE内でオープン可

GUIの共同編集、デバッグ操作も可能
21
Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

Thank you

Copyright (C) 2006, Borland Software Corporation. 本文書の一部または全部の転載を禁止します。

11