• 検索結果がありません。

Doxygenを用いた効率的な プログラム仕様書の作成

N/A
N/A
Protected

Academic year: 2021

シェア "Doxygenを用いた効率的な プログラム仕様書の作成"

Copied!
23
0
0

読み込み中.... (全文を見る)

全文

(1)

バージョン管理システム

(ClearCase)による開発

2011年度 技術発表

(2)

ClearCaseとは?

・現在はIBMのラショナル部門が開発している バージョン管理システム。 ・Linux、Solaris、Windowsといった様々なプラット フォームで動作。 ・中規模以上の開発で用いられ、数百人から 数千人の管理ができる。

・MVFS(Multi Version File System)と呼ばれる 仮想ファイルシステムを使用する。

(3)

・現在はIBMのラショナル部門が開発している バージョン管理システム。 ・Linux、Solaris、Windowsといった様々なプラット フォームで動作。 ・中規模以上の開発で用いられ、数百人から 数千人の管理ができる。

・MVFS(Multi Version File System)と呼ばれる 仮想ファイルシステムを使用する。

(4)

バージョン管理システムとは?

・ファイルの作成日時、変更日時、変更点等の履歴を保管 するもので、この保管したリポジトリ(管理情報)により、過 去の状態を復元することを容易にするもの。 開発者 開発者 集中型 ・リポジトリ(管理情報)を1ヶ所に持つ集中型と、ローカル にも持つ分散型に分類される。 分散型

(5)

・集中型と分散型の利点、及び欠点 集中型 分散型 リポジトリ 管理 一元管理により 簡単 リポジトリの分散により 煩雑 パフォー マンス 一元管理の為に 負荷に弱い リポジトリの分散により 負荷に強い 障害 一元管理の為に 障害発生時は 全体に影響する リポジトリの分散により 障害発生時でも 影響を限定できる ロック ロック可能 ロック不可

バージョン管理システムとは?

(6)

主なバージョン管理システム(集中型)

・CVS 無償 ネットワークでの使用を考慮した、最初のバージョン 管理システム(1986)。後発の標準となっている。 CVSの問題点を解決した、CVS後継のバージョン管 理システム(2000)。最も広く使われている。 ・ClearCase 有償 ・Subversion (SVN) 無償

Atria Software社が UNIX 向けに開発(1992)、後に Windows 版もリリースされた。現在はIBMのラショナ ル部門が開発している。

(7)

主なバージョン管理システム(分散型)

・Git 無償 BitMover 社が開発(1998)。 2005年に有償になったこ とで、それまでLinuxのカーネルのソースコード管理用 に使用されていたが、使用されなくなった。 リーナス・トーバルズ(Linux開発者)が、 Linuxカーネル のソースコード管理用に開発(2005)。高速で効率的に 動作する。また、操作性はCVSと大きく異なる。 Linuxカーネル開発者のMatt Mackallが開発(2005)。 機能を抑えることで、高速に動作させてる。操作性は CVSに似ている。 ・Mercurial (Hg) 無償 ・BitKeeper 有償

(8)

VSS SVN TFS ClearCase Git Hg 必要なスキル お勧め度 お勧め閾値

バージョン管理システムの評価

マーチン・ファウラー氏のblog(Biki)で掲載された バージョン管理システムの評価

(9)

VSS SVN TFS ClearCase Git Hg スキルが要るけど、 オススメ スキル不要で、 オススメ スキルが要るし、 お勧めしない 絶対オススメしない

バージョン管理システムの評価

マーチン・ファウラー氏のblog(Biki)で掲載された バージョン管理システムの評価

(10)

構成仕様の記述と操作その1

・ClearCaseでは、構成仕様の記述をすることで、 作業領域(View)に取込むファイルを指定する。 ・elementとは、ClearCaseの管理対象のファイルやフォル ダの事。「elemet *」は全てのelementとなる。 ・一行目は、そのViewで「チェックアウト」されている全ての elementを取込む、という事。 ・二行目は、それ以前の条件に該当しなければ、main ブラ ンチの「最新版」を取込む、という事。 element * CHECKEDOUT element * /main/LATEST ①構成仕様の記述例

(11)

・①構成仕様のViewで、チェックアウト、修正、 チェックインをすると、以下のようになる。

修正前 修正中 修正後

チェックアウト チェックイン

(12)

・mainからrel1_bugfixブランチを作成し、同様の 操作をした場合は、以下のようになる。

修正前 修正中 修正後

チェックアウト チェックイン

(13)

・構成仕様でチェックアウト時にmainからブランチ rel1_bugfixを作成させるには、以下の記述をする。

element * CHECKEDOUT

element * ¥main¥rel1_bugfix¥LATEST element * main –mkbranch rel1_bugfix element * ¥main¥LATEST ②構成仕様の記述例 ・二行目は、それ以前の条件に該当しなければ、mainから 作成したブランチrel1_bugfixの「最新版」を取込む、という事。 ・三行目は、それ以前の条件に該当しなければ、mainから ブランチrel1_bugfixを作成する、という事。

構成仕様の記述と操作その4

(14)

・構成仕様でtimeによる時間制限の記述をする。

element * CHECKEDOUT

element * ¥main¥rel1_bugfix¥LATEST element * main –mkbranch rel1_bugfix time 28-October-11. 9:00 element * ¥main¥LATEST ③構成仕様の記述例 ・四行目は、2011年10月28日 午前9時時点のmainからの elementを取込む、という事。 これにより、修正途中で他の人からの修正による影響を考 えずに済む。

構成仕様の記述と操作その5

(15)

・構成仕様記述でコメント扱いにするには、以下 のように先頭に「#」を記述する。 ・四行目は、③と同じtimeによる記述だが、先頭に「#」があ るのでコメント扱い(無効)になる。

構成仕様の記述と操作その6

element * CHECKEDOUT element * ¥main¥rel1_bugfix¥LATEST element * main –mkbranch rel1_bugfix # time 28-October-11. 9:00

element * ¥main¥LATEST

(16)

・ブランチrel1_bugfixの修正をmainへマージ すると以下のようになる。

構成仕様の記述と操作その7

マージ後 マージ前

(17)

ClearCaseを扱って・・・

・構成仕様の記述でViewへのファイルの取込み が自由自在なのは感心した。 ・修正の依存関係(マージ線)が、グラフィカルで 非常に分かり易いのに感心した。 ・MVFSにより、クライアントのPCには実ファイル が無く、サーバーにある。従ってgrep等を実施す ると恐ろしく時間がかかる。 ・MVFSによる為と思われる(不具合?)、一時的 にファイルの中身が空になる現象がある。もし かしたら現在の職場環境だけかも?

(18)

まとめ

・バージョン管理システムはやはり、Subversion が使い勝手がよいと思われる。 今後、分散型のバージョン管理システムが流行 るとしたらGitと思われる。 ・ClearCaseはMVFSにより、様々な利点と欠点 を含んでいる。現時点の個人的な考えでは、 利点よりも欠点が上回っているとしか言えない。

(19)

目次

・ClearCaseとは? ・バージョン管理システムとは? ・主なバージョン管理システム(集中型) ・主なバージョン管理システム(分散型) ・バージョン管理システムの評価

・MVFS(Multi Version File System) ・構成仕様の記述と操作

・ClearCaseを扱って・・・ ・まとめ

(20)

・集中型

(21)

・分散型

(22)

バージョン管理システムの評価

マーチン・ファウラー氏のblog(Biki)で掲載された

(23)

MVFS (Multi Version File System)

・ClearCaseでは、MVFSという独自の仮想ファ イルシステムでファイルを扱っており、これによ り利点と欠点が発生している。 ・利点 コンパイル時に変更がないファイルは、 ビルドせず、管理情報をもったサーバ のオブジェクトをコピーする。 ・欠点 動作が遅い。単純なコミットやチェック アウトが数分かかることも稀ではない。

参照

関連したドキュメント

スキルに国境がないIT系の職種にお いては、英語力のある人材とない人 材の差が大きいので、一定レベル以

子どもたちは、全5回のプログラムで学習したこと を思い出しながら、 「昔の人は霧ヶ峰に何をしにきてい

庭仕事 していない ときどき 定期的 定期的+必要..

需要動向に対応して,長期にわたる効率的な安定供給を確保するため, 500kV 基 幹系統を拠点とし,地域的な需要動向,既設系統の状況などを勘案のうえ,需要

・条例第 37 条・第 62 条において、軽微なものなど規則で定める変更については、届出が不要とされ、その具 体的な要件が規則に定められている(規則第

非政治的領域で大いに活躍の場を見つける,など,回帰係数を弱める要因

それに対して現行民法では︑要素の錯誤が発生した場合には錯誤による無効を承認している︒ここでいう要素の錯

2) ‘disorder’が「ordinary ではない / 不調 」を意味するのに対して、‘disability’には「able ではない」すなわち