Work with multiple project files by SparxSystems Japan 複 数 のプロジェクトファイルを 活 用 する 設 計 開 発 マニュアル (2015/09/04 最 終 更 新 ) 1
目 次 1 はじめに... 3 2 コンポーネント 単 位 の 開 発 とは?... 3 3 XMI ファイルを 利 用 する 方 法... 4 3.1. コンポーネントプロジェクトでの 編 集 と 出 力... 4 3.2. 製 品 プロジェクトでの 読 み 込 み... 5 4 バージョン 管 理 機 能 を 利 用 する 方 法... 7 4.1 モデルのバージョン 管 理 の 利 点... 7 4.2 Enterprise Architect のバージョン 管 理 機 能 とは... 8 5 バージョン 管 理 ツールと Enterprise Architect... 9 チームの 所 在 : 集 中 か 分 散 か... 10 6 シナリオ 1: 集 中 型 チーム... 11 6.1 モデルのバージョン 管 理 推 奨 手 順... 12 6.2 ロールバック ( 元 に 戻 す) 変 更 の 推 奨 手 順... 14 7 シナリオ 2: ローカルモデルを 使 用 する 分 散 型 チーム... 15 7.1 モデルのバージョン 管 理 における 推 奨 手 順... 16 7.2 パッケージ 間 の 依 存 管 理... 17 7.3 変 更 を 安 全 に 行 うための 推 奨 手 順... 19 バージョン 管 理 されている 2 つのパッケージ 間 の 接 続 をモデル 化 する... 19 分 類 子 が 別 のパッケージに 含 まれる 場 合... 22 2 つのバージョン 管 理 されているパッケージ 間 に 要 素 を 移 動... 23 シーケンスとコミュニケーション 図 の 注 意... 23 7.4 ロールバック( 元 に 戻 す) 変 更 の 推 奨 手 順... 25 8 シナリオ 3: 分 散 作 業 環 境... 26 付 録 A: バージョン 管 理 リポジトリに 格 納 されていない 設 定 情 報... 28 付 録 B: Enterprise Architect のさまざまな 機 能... 28 監 査... 28 ベースラインの 比 較 とマージ... 29 クラウドサーバ... 29 役 割 ベースのセキュリティ(アクセス 権 )... 29 付 録 C: バージョン 管 理 をパッケージに 適 用... 30 モデルにある 全 てのパッケージをバージョン 管 理 する 方 法 :... 30 バージョン 管 理 を 選 択 して 適 用 する 方 法 :... 31 2
1 はじめに このドキュメントでは Enterprise Architect を 利 用 して 複 数 人 数 が 分 散 開 発 するような 状 況 について 役 立 つ 機 能 について 説 明 します 特 に バージョン 管 理 の 機 能 に 重 点 を 置 き 説 明 します このドキュメントを 読 む 前 に PDF ドキュメント 複 数 人 数 による 設 計 開 発 での 利 用 法 マニュアル の 内 容 をご 覧 下 さい 複 数 人 数 による 設 計 開 発 での 利 用 法 マニュアル に 記 載 されているさまざまな 方 法 の 中 で 複 数 のプ ロジェクト(プロジェクトファイルまたはリポジトリ)を 利 用 する 場 合 について このドキュメントでは 詳 細 に 説 明 します 2 コンポーネント 単 位 の 開 発 とは? このドキュメントで 説 明 する コンポーネント 単 位 の 開 発 とは コンポーネント 単 位 で 開 発 し そのコンポーネント を 組 み 合 わせて 利 用 し 製 品 を 構 築 する 開 発 手 法 を 指 します 具 体 的 には 多 くの 人 々が 複 数 のプロジェクトファ イルや DBMS リポジトリ( 以 下 まとめて プロジェクト と 表 現 します)を 利 用 して 設 計 を 行 い 必 要 に 応 じてプロジェ クト 間 で 要 素 の 情 報 を 共 有 利 用 するような 設 計 開 発 形 態 です コンポーネントは モジュール や サブシステム と 呼 ばれることもあります いずれにしても ある 製 品 やシステムを 構 成 する 要 素 を 示 します このドキュメントでは コンポーネント 用 のプロジェクトを 作 成 し 各 パッケージにコンポーネントを 格 納 する 形 式 を 仮 定 します その 上 で 作 成 されたコンポーネントを 別 のプロジェクトに 読 み 込 んで 利 用 する 方 法 をご 紹 介 しま す コンポーネント 用 のプロジェクトの 例 は 例 えば 次 のような 形 です 3
こうして 作 成 されたコンポーネントの 設 計 情 報 は 次 のスライドのように XMI と 呼 ばれる XML 形 式 のテキストフ ァイルで 情 報 をやり 取 りします このときに バージョン 管 理 ツールを 間 に 挟 んで 情 報 をやり 取 りすることもできます この 方 法 では 以 下 のよう なメリットがあります 履 歴 情 報 が 保 管 され 必 要 な 場 合 には 以 前 の 状 態 に 戻 すことができる Enterprise Architectのバージョン 管 理 の 機 能 が 利 用 できるので 操 作 のミスの 可 能 性 を 減 らすことができる このドキュメントでは XMI ファイルを 利 用 する 方 法 と バージョン 管 理 ツールを 利 用 する 方 法 のそれぞれにつ いて 説 明 します なお いずれの 方 法 も コンポーネントプロジェクト でコンポーネント( 製 品 の 一 部 分 )の 設 計 開 発 を 行 い 製 品 プロジェクト でコンポーネントプロジェクトにおいて 開 発 されたクラスを 活 用 する 形 を 想 定 してい ます 3 XMI ファイルを 利 用 する 方 法 この 方 法 は Enterprise Architect が 持 つ XMI ファイルでの 入 出 力 機 能 を 利 用 する 方 法 です バージョン 管 理 ツールの 準 備 の 必 要 がなく 簡 単 に 実 行 して 確 認 することができます 3.1. コンポーネントプロジェクトでの 編 集 と 出 力 4
まず コンポーネントプロジェクトで 編 集 を 行 うには 通 常 の Enterprise Architect での 編 集 とまったく 同 一 になり ます 自 由 に 編 集 してください XMI ファイルとして 出 力 するのはパッケージの 単 位 となりますので 特 定 のパッケージの 下 に 作 成 します また コンポーネントを 利 用 する 製 品 側 が 特 定 のクラスのみを 利 用 する 場 合 には その 外 部 から 参 照 されるクラス(インタ ーフェース)と 内 部 でのみ 利 用 するクラスとを パッケージを 分 けると 良 いです 上 の 例 では 外 部 から 利 用 するインターフェースクラス のパッケージに 外 部 から 利 用 するクラスを 含 めてい ます それ 以 外 のクラスや 設 計 のための 情 報 は 別 のパッケージに 格 納 しています 出 力 する 場 合 は 対 象 のパッケージを 右 クリックして モデルの 読 み 込 みと 出 力 XMI ファイルへ 出 力 を 選 択 します すると 出 力 する XMI に 関 する 設 定 画 面 が 表 示 されますので ファイル 名 と 出 力 位 置 を 指 定 してくださ い 3.2. 製 品 プロジェクトでの 読 み 込 み 次 に 製 品 プロジェクト 側 で XMI ファイルを 読 み 込 みます 製 品 プロジェクト 側 で 読 み 込 む 先 となるパッケージ を 右 クリックし モデルの 読 み 込 みと 出 力 XMI ファイルから 読 み 込 み を 選 択 してください XMI ファイルの 指 定 画 面 になりますので 先 ほど 作 成 した XMI ファイルを 指 定 してください すると コンポーネ ントプロジェクトで 作 成 したクラスを 読 み 込 み 利 用 することができるようになります なお このとき GUID の 初 期 化 にはチェックを 入 れないでください この 項 目 にチェックを 入 れると 2 つのプロジェクト 間 の 一 貫 性 が 失 われて しまいます また プロジェクトツリーの 構 成 によっては 次 のようなメッセージが 表 示 される 場 合 があります 今 回 は 指 定 し たパッケージの 下 に 読 み 込 むので いいえ を 選 択 してください 5
処 理 が 完 了 すると プロジェクトブラウザの 構 成 が 更 新 され コンポーネントのクラスが 読 み 込 まれました 以 前 に 読 み 込 んだパッケージの 内 容 を 更 新 する 場 合 には 対 象 のパッケージ(この 例 であれば 外 部 から 利 用 するインターフェースクラス のパッケージ)を 右 クリックし モデルの 読 み 込 みと 出 力 XMI ファイルから 読 み 込 み を 選 択 してください あとは 製 品 側 の 設 計 において 読 み 込 んだクラスを 利 用 して 設 計 をしてください 上 記 のような 手 順 を 踏 むこと で コンポーネントプロジェクト 側 に 変 更 があった 場 合 でも 製 品 プロジェクト 側 で 利 用 している 要 素 や 関 係 を 破 壊 することなく 同 期 更 新 を 行 うことができます 例 えば 下 記 の 例 では 外 部 から 利 用 するインターフェースクラス パッケージに 含 まれているクラスが 更 新 された 場 合 でも クラス P2 や P1 が 持 つ 汎 化 や 集 約 の 接 続 はそのまま 維 持 されます この 際 の 一 貫 性 を 保 持 するための 仕 組 みが 上 記 の 設 定 項 目 に 現 れた GUID です Enterprise Architect で は 要 素 や 属 性 操 作 などにこの GUID が 割 り 当 てられ プロジェクトファイルを 超 えて 情 報 をやり 取 りする 場 合 に それぞれの 要 素 や 属 性 が 同 じであるかどうかをこの GUID を 利 用 して 判 定 します ( 要 素 名 で 同 一 の 要 素 かどうかを 判 断 しているわけではありません ) 6
この 例 では もし クラス C1 や C2 C3 について 要 素 をいったんモデルから 完 全 削 除 し 再 度 同 名 の 要 素 を 作 成 し 直 してしまうと 名 前 が 同 じであっても GUID が 異 なりますので XMI ファイルを 読 み 込 むと 集 約 や 汎 化 の 接 続 は 維 持 されません 同 じかどうかの 判 定 は 要 素 の 名 前 ではなく GUID であることに 注 意 してください ( 逆 に 言 えば 名 前 を 変 更 した 場 合 でも 関 係 は 維 持 されます ) 4 バージョン 管 理 機 能 を 利 用 する 方 法 Visual SourceSafe Subversion といったバージョン 管 理 ツールを 利 用 して 分 散 環 境 での 設 計 開 発 を 進 めることも できます バージョン 管 理 機 能 を 利 用 することにより 編 集 の 履 歴 を 保 存 することができます この 履 歴 の 保 存 に は 内 部 的 に XMI ファイルを 生 成 して その XMI ファイルをバージョン 管 理 ツールで 管 理 する 形 になっています ので このバージョン 管 理 機 能 を 利 用 する 方 法 も XMI ファイルを 利 用 していることになります なお バージョン 管 理 機 能 の 設 定 についてはここでは 割 愛 します バージョン 管 理 機 能 の 設 定 は ヘルプファ イルおよび PDF ドキュメント バージョン 管 理 機 能 機 能 ガイド (Web サイトよりダウンロード 可 能 )をご 覧 ください http://www.sparxsystems.jp/products/ea/ea_documents.htm 4.1 モデルのバージョン 管 理 の 利 点 バージョン 管 理 機 能 の 利 点 には 一 般 的 に 並 列 / 分 散 作 業 の 可 能 性 増 加 経 時 的 変 更 の 追 跡 修 正 履 歴 の 自 動 管 理 などがあります モデリング 環 境 にバージョン 管 理 機 能 を 適 用 する 利 点 を 以 下 に 挙 げました 特 に 複 数 の 利 用 者 がモデルを 共 有 している 場 合 や 利 用 者 が 地 理 的 に 分 散 している 場 合 に 便 利 です 簡 単 で 効 果 的 なモデルの 複 製 方 法 を 提 供 し 複 数 の 異 なる 拠 点 に 分 散 したモデルの 管 理 と 編 集 を 実 現 す 7
る モデルをローカルに 配 置 し データのやり 取 りは 変 更 に 関 する 内 容 だけにすることで 低 速 ネットワークでつ ながっている 地 理 的 に 分 散 したチームでの 設 計 開 発 を 可 能 にする 編 集 のアクセスを 管 理 情 報 として 調 整 し チーム 内 での 排 他 制 御 を 自 動 化 し 偶 発 的 な 変 更 を 防 止 するこ とができる 不 必 要 な 変 更 を 元 に 戻 し 間 違 いを 元 に 戻 して 最 後 に 良 い 状 態 であったバージョンにロールバックするこ とができる 誰 が 何 をいつ 変 更 したか が 分 かるように 作 業 履 歴 とモデルの 変 更 追 跡 記 録 を 保 持 することができる 4.2 Enterprise Architect のバージョン 管 理 機 能 とは Enterprise Architect では 個 々のパッケージに 対 してバージョン 管 理 機 能 を 適 用 できます パッケージとは UML モデルの 主 要 な 組 織 構 成 です バージョン 管 理 はどのパッケージにも 適 用 できます た だし プロジェクトルートに 対 してバージョン 管 理 を 適 用 することは 推 奨 しません ほとんどの 場 合 には 意 味 がない か 管 理 上 の 悪 影 響 を 及 ぼします ( 図 1: プロジェクトブラウザ 内 のパッケージのアイコンの 変 化 ) Enterprise Architect は バージョン 管 理 を 実 現 する 2 種 類 の 機 能 を 提 供 しています 1. ベースライン: この 機 能 は Enterprise Architect コーポレート 版 で 利 用 可 能 です モデル 内 にあるパッケージについて 特 定 の 時 点 でのスナップショットをプロジェクト 内 に 格 納 します ベースラインの 概 念 は Enterprise Architect の 比 較 とマージ 機 能 の 基 礎 にもなっています バージョン 管 理 を 実 現 したい 場 合 には ベースライン 機 能 の 使 用 も 考 慮 しなければなりません バージョン 管 理 8
の 主 目 的 が 単 純 な 構 成 での 比 較 マージ ロールバックの 変 更 履 歴 を 維 持 することである 場 合 には ベースライ ン 機 能 で 代 用 できる 場 合 があります この 意 味 では ベースライン 機 能 は バージョン 管 理 ツールのインストール や 環 境 設 定 をせずに すぐに 利 用 できる 機 能 と 言 えます 2. バージョン 管 理 ツールとの 連 携 : Enterprise Architect はサードパーティー 製 のバージョン 管 理 ツールと 連 携 して 動 作 してバージョン 管 理 機 能 を 実 現 していますので ユーザーが 希 望 するツールにパッケージの 変 更 履 歴 を 格 納 できます Enterprise Architect がサポートしているバージョン 管 理 ツールには Subversion Visual Source Safe(および Microsoft の SCC 互 換 ツ ール) TFS(Team Foundation Server) CVS があります 推 奨 ツールは Subversion です CVS の 利 用 の 場 合 には 制 限 事 項 があり 推 奨 しません 分 散 型 のチーム 設 計 では このような 専 用 のバージョン 管 理 システムを 使 って モデルデータの 共 有 を 管 理 す る 必 要 がある 場 合 があります なお ベースライン 機 能 を 利 用 して 分 散 設 計 に 対 応 することはできませんので 分 散 設 計 の 場 合 はバージョン 管 理 機 能 の 利 用 が 必 須 です このドキュメントでは このバージョン 管 理 機 能 を 利 用 したアプローチに 焦 点 を 当 てます 変 更 管 理 機 能 や 別 の 選 択 肢 に 興 味 のある 方 は 付 録 B をご 覧 ください バージョン 管 理 機 能 の 設 定 方 法 や 利 用 方 法 操 作 方 法 は ド キュメント バージョン 管 理 機 能 機 能 ガイド をご 覧 ください このドキュメントでは 割 愛 します なお バージョン 管 理 機 能 は 全 てのエディションで 利 用 できます 5 バージョン 管 理 ツールと Enterprise Architect 図 2 では Enterprise Architectとバージョン 管 理 ツール 間 にある 関 係 の 概 要 を 表 しています それぞれのモデ ルの 情 報 は XMI ファイルで 格 納 されます XMI は 特 定 の 時 点 でのスナップショットを 作 成 する 時 に パッケージ 内 のモデル 情 報 をテキスト 化 するために 使 われています Enterprise Architect では バージョン 管 理 されているパッケージに 対 する 編 集 を 一 人 のユーザーに 限 定 してい ます これは ロック - 修 正 - ロック 解 除 ソリューションという 変 更 内 容 の 一 貫 性 確 保 に 使 われるアプロー チです XMI ファイルはテキストファイルですが それぞれの 行 ごとに 独 立 した 内 容 ではないため ソースコードの ように 行 単 位 でマージすることはできません そのため この 方 法 での 管 理 が 必 要 になります 9
( 図 2: バージョン 管 理 ツール Enterprise Architect DBMS の 関 係 ) ここからは Enterprise Architect を 展 開 するシナリオ 決 定 のサポート そしてそれに 合 ったバージョン 管 理 アプ ローチを 紹 介 します 各 アプローチでは 取 り 組 むべき 課 題 も 取 り 上 げています なお バージョン 管 理 機 能 を 利 用 する 場 合 でプロジェクトファイルを 利 用 する 場 合 プロジェクトファイル 自 身 は バージョン 管 理 の 対 象 にはしません バージョン 管 理 は モデル 内 のパッケージの 単 位 で 行 います チームの 所 在 : 集 中 か 分 散 か 集 中 型 / 分 散 型 モデルのバージョン 管 理 にどのアプローチを 採 用 するかの 判 断 には モデルの 利 用 者 の 分 布 状 況 が 鍵 になります 以 下 のようなさまざまな 状 況 が 考 えられます チームメンバーは 地 理 的 に 集 中 し 高 速 ネットワークでつながっている 利 用 者 は 遠 隔 地 もしくは 単 独 で 作 業 をすることが 多 く 時 には 共 有 ネットワークから 長 時 間 離 れることがあ る モデルを 共 有 編 集 する 主 要 地 点 が 世 界 中 に 存 在 する このような 状 況 の 違 いが Enterprise Architect のモデルの 共 有 方 法 を 決 定 し それによってバージョン 管 理 の 適 用 方 法 が 決 まります 次 の 章 以 降 では いくつかのよくあるシナリオにバージョン 管 理 を 適 用 する 方 法 を 紹 介 します このドキュメントで 想 定 するのは 以 下 のシナリオです 1. 集 中 型 チーム: 全 ての 利 用 者 のマシンは 高 速 ネットワークでつながっていて データベース 管 理 システム (DBMS)にある 同 じモデルを 参 照 編 集 可 能 2. 分 散 型 チーム: 大 多 数 の 利 用 者 は 同 じネットワークを 使 っていない オフラインで 作 業 する 場 合 もあるので 自 分 のコンピューターにモデルのローカルコピーが 必 要 3. 分 散 作 業 環 境 : 地 理 的 に 離 れた 場 所 から 同 じモデルを 編 集 作 業 拠 点 をつなぐ 高 速 ネットワークがない 各 10
拠 点 のチームは 拠 点 ごとのチームで 1 つのモデル(のローカルコピー)を 共 有 6 シナリオ 1: 集 中 型 チーム 全 てのチームメンバーが 高 速 ネットワークインフラでつながっている というのがこのシナリオの 特 徴 です 5 人 以 上 のメンバーがモデルに 同 時 アクセスする 場 合 共 有 ネットワーク 上 にある 同 じプロジェクトファイルにアクセス する 場 合 には 性 能 面 品 質 面 で 予 期 しない 問 題 を 引 き 起 こす 可 能 性 があります この 点 は 拡 張 子 EAP のプロジ ェクトファイルの 形 式 である MS-JET データベースエンジンの 制 限 です MS-JET データベースエンジンは MS-Access のデータベースエンジンで 個 人 での 利 用 を 前 提 としているため トランザクションの 不 備 や 問 題 発 生 時 の 復 旧 力 がないなどの 問 題 があります ( 環 境 などのさまざまな 条 件 により 同 時 アクセスする 場 合 に 問 題 となる 人 数 は 変 わります 5 名 以 上 だと 必 ず 問 題 が 発 生 するという 意 味 ではありません ) そこで 5 名 以 上 が 同 時 にモデルを 参 照 編 集 する 場 合 には モデルを 保 管 する 専 用 DBMS リポジトリの 利 用 を 推 奨 します この 状 況 で 共 有 DBMS リポジトリ(あるいはプロジェクトファイル 以 下 の 説 明 ではまとめて DBMS リポジトリ と 表 現 します)を 利 用 する 利 点 は 全 チームメンバーが 最 新 状 態 のモデルを 表 示 編 集 できることです この 構 成 の 場 合 最 新 の 情 報 を 得 るために 同 期 処 理 を 実 行 する 必 要 はありません 11
ユーザー1 ユーザー2 ユーザー3 EAクライ アント EAクライ アント EAクライ アント 共 有 リポジトリ ( 図 3: 集 中 型 の 構 成 ) バージョン 管 理 リポジ トリ この 状 況 でのバージョン 管 理 リポジトリの 役 割 は 分 散 モデル 環 境 の 仕 組 みの 提 供 ではありません このシナリ オでは 排 他 制 御 履 歴 の 管 理 や 変 更 のロールバックのために 利 用 します このようなシナリオでバージョン 管 理 を 行 う 際 には 以 下 のような 質 問 がよくあります どの 粒 度 レベルでバージョン 管 理 を 適 用 するか 最 上 位 のパッケージ 子 パッケージなど 別 のメンバーの 作 業 を 上 書 きしない 方 法 誰 かが 間 違 えた 場 合 どのようにしてパッケージを 間 違 える 前 の 状 態 に 復 元 できるか その 答 えは 次 に 紹 介 する 推 奨 手 順 とベストプラクティスにあります 6.1 モデルのバージョン 管 理 推 奨 手 順 1. DBMS リポジトリを 設 定 する: 12
(a) Enterprise Architect がサポートする 専 用 DBMS サーバーを 構 築 し 全 チームメンバーからアクセスできる ようにする (b) Enterprise Architect 用 に 作 成 したデータベースに 対 して テーブル 作 成 用 の SQL スクリプト(スパークスシ ステムズジャパンの Web サイトからダウンロードできます)を 実 行 し さらに 初 期 モデル( 通 常 は EABase.eap フ ァイル)を 転 送 する (c) 必 要 に 応 じて Enterprise Architect のモデルのセキュリティ 機 能 (アクセス 権 機 能 )を 有 効 にする セキュリ ティ 機 能 により Enterprise Architect の 機 能 をユーザーごとに 制 限 管 理 できます 2. バージョン 管 理 リポジトリを 設 定 する: (a) 利 用 するバージョン 管 理 ツールのサーバーをインストールする また 対 応 するクライアントソフトウェアを チームメンバーがインストールしているか 確 認 する (b) Enterprise Architect で 使 用 するバージョン 管 理 ツール 用 のリポジトリを 新 規 に 作 成 する 3. バージョン 管 理 クライアントを 設 定 する: (a) 初 期 設 定 を 行 うクライアントマシンで 共 有 プロジェクトを 開 き バージョン 管 理 に 関 する 基 本 的 な 設 定 を 行 う なお バージョン 管 理 設 定 の 定 義 方 法 は 使 用 しているバージョン 管 理 ツールによって 異 なります (b) 初 期 設 定 を 行 ったメンバー 以 外 のメンバーが DBMS リポジトリに 設 定 後 はじめてアクセスした 時 には ユ ーザーごとのローカルのバージョン 管 理 設 定 を 行 う 必 要 があるメッセージが 表 示 され 各 自 の 設 定 を 行 う 必 要 があります 4. 対 象 パッケージの 指 定 : (a) Enterprise Architect で バージョン 管 理 を 個 々のパッケージに 適 用 します 詳 しくは 付 録 C をご 覧 くださ い セットアップを 終 えたら ユーザーは 編 集 したい 場 合 に パッケージをチェックアウトします チェックアウトを 実 行 すると そのユーザーのみが 編 集 可 能 になります このシナリオでは 最 新 バージョンを 全 て 取 得 や 最 新 バージョンを 取 得 の 機 能 を 実 行 する 必 要 はありませ ん 最 新 のモデル 情 報 は 常 にモデルリポジトリに 含 まれています 不 要 な 混 乱 を 防 ぐため この 構 成 の 場 合 には これらの 機 能 は 利 用 しないことを 強 く 推 奨 します ベストプラクティス 1: 集 中 型 チームのモデルにおいて モデル 階 層 にあるビューやパッケージなど 全 パッケージにバージョン 管 理 を 適 用 することで 並 列 作 業 の 可 能 性 を 最 大 限 にします 一 方 で パッケージのチェックアウト チェックイ ンの 操 作 の 回 数 が 増 えてしまいますので その 点 は 注 意 が 必 要 です ( 一 括 チェックイン 一 括 チェック アウト の 機 能 を 効 果 的 に 活 用 してください ) 13
ベストプラクティス 2: ユーザーまたはグループ 権 限 で 機 能 を 制 限 したり ワークフローのスクリプトを 有 効 化 したりする 場 合 には Enterprise Architect のセキュリティ 機 能 (アクセス 権 機 能 )を 有 効 にします 例 えば バージョン 管 理 下 に あるパッケージを 扱 える 権 限 をもつセキュリティグループを 作 った 場 合 そのグループに 所 属 するユーザーは バージョン 管 理 の 設 定 や パッケージの 設 定 の 操 作 を 行 うことができます 管 理 するユーザーを 選 んでそのグループに 追 加 することで どのパッケージをバージョン 管 理 に 追 加 (もしくは 削 除 )するかを 自 分 たちのガイドラインに 沿 ってよりよく 管 理 することができます その 上 で バージョン 管 理 機 能 の 利 用 の 権 限 を 外 すことで ユーザー 毎 にパッケージのチェックアウトを 制 限 させることもできます つまり バージョン 管 理 パッケージのアクセスを 読 み 取 り 専 用 になるように 特 定 のユーザーを 制 限 することができます また バージョン 管 理 システムのアクセス 権 を 使 用 して バージョン 管 理 リポジトリの 特 定 フォルダに 対 して 制 限 を 追 加 することで 該 当 フォルダに 格 納 されているパッケージの アクセスを 読 み 込 み 専 用 に 制 限 する 方 法 もあります 注 意 : 役 割 ベースのセキュリティ 機 能 を バージョン 管 理 パッケージのロックのために 利 用 することは 推 奨 し ません パッケージ 単 位 でのロックは バージョン 管 理 システムの 利 用 ですでに 実 現 できています ベストプラクティス 3: 全 ての 共 有 モデルを 定 期 的 にアーカイブすると バックアップの 際 やオフライン 時 のモデル 表 示 に 便 利 です DBMS プロジェクトを プロジェクトファイルに 転 送 する 機 能 を 利 用 することで アーカイブできます ただし このモデル 転 送 は バックアップの 手 段 は 別 に 利 用 してください つまり 通 常 の DBMS でのバックア ップ 手 順 に 追 加 して 実 行 してください ベストプラクティス 4: パッケージにチェックインするときには 毎 回 意 味 のあるコメントを 入 れてください (Enterprise Architect では チェックインの 際 にコメントを 入 力 する 画 面 が 表 示 されます ) 後 に 変 更 内 容 を 確 認 する 際 に 優 れたコメントがあれば その 変 更 の 本 質 の 理 解 に 大 変 役 立 ちます エラーなどでパッケージを 以 前 のリビジョンに 復 元 する 必 要 がある 場 合 にも 最 後 に 良 かった 状 態 を 見 る 指 標 としてもこのコメントは 有 用 です 6.2 ロールバック ( 元 に 戻 す) 変 更 の 推 奨 手 順 ロールバックする 場 合 バージョン 管 理 ツールの 機 能 でロールバックすることもできますが 以 下 の 方 法 で 対 応 することを 推 奨 します (バージョン 管 理 ツール 側 でのロールバックなどの 操 作 は Enterprise Architect から 見 た 14
場 合 の 一 貫 性 の 維 持 ができなくなるなどの 問 題 もあり サポートの 対 象 外 の 操 作 となります ) 1. 対 象 のパッケージを 右 クリックし パッケージの 管 理 パッケージの 履 歴 を 実 行 し 該 当 するリビジョンを 選 択 し チェックアウト ボタンを 押 して 編 集 可 能 な 状 態 で 読 み 込 む 2. ( 復 元 した) パッケージをチェックインする 以 上 で 復 元 処 理 が 完 了 します なお 特 定 のリビジョンの 内 容 に 完 全 に 戻 すのではなく 特 定 の 要 素 など 一 部 の 内 容 のみを 戻 すこともできます この 場 合 の 手 順 については PDF ドキュメント バージョン 管 理 機 能 機 能 ガイド をご 覧 下 さい 7 シナリオ 2: ローカルモデルを 使 用 する 分 散 型 チーム このシナリオでは 複 数 の 利 用 者 がモデルを 使 用 しますが 共 有 のモデルリポジトリを 使 用 することはありません 代 わりに 各 利 用 者 はプロジェクトファイルでモデルのローカルコピーを 持 ち 共 有 バージョン 管 理 リポジトリから 定 期 的 に 自 分 のコピーを 取 得 更 新 します このアプローチでは DBMS リポジトリを 管 理 することなく 広 い 範 囲 でモデルを 複 製 することができます ユーザー1 ユーザー2 ユーザー3 EAクライ アント EAクライ アント EAクライ アント ローカルの EAPファイル ローカルの EAPファイル ローカルの EAPファイル バージョン 管 理 リポジ トリ ( 図 4: 分 散 型 の 構 成 ) 15
7.1 モデルのバージョン 管 理 における 推 奨 手 順 1. バージョン 管 理 された Enterprise Architect のモデルを 設 定 : a) バージョン 管 理 ツールのリポジトリを 作 成 します b) 設 定 者 のマシンのバージョン 管 理 システムから バージョン 管 理 ツールのリポジトリを 参 照 できるように 設 定 します c) 設 定 者 が Enterprise Architect のプロジェクトファイルを 作 成 し バージョン 管 理 設 定 を 定 義 します 具 体 的 には 6.1 章 の 手 順 3 と 同 じ 操 作 になります d) その 設 定 者 が Enterprise Architect で バージョン 管 理 が 必 要 な(= 共 有 する 必 要 のある) 個 々のパッケー ジにバージョン 管 理 を 適 用 します 具 体 的 には 6.1 章 の 手 順 4 と 同 じ 操 作 になります ( 詳 しくは 付 録 C を 参 照 ) 2. チームメンバーにモデルを 配 布 : a) バージョン 管 理 の 設 定 が 完 了 したプロジェクトファイルを 作 成 したら チーム 全 体 にそのプロジェクトファイ ルを 配 布 します b) Enterprise Architect を 利 用 するメンバーは ステップ1b の 作 業 を 行 い バージョン 管 理 ツールが 利 用 でき るようにします c) モデルを 初 めて 開 いた 時 に モデルで 使 用 されるバージョン 管 理 設 定 の 定 義 を 設 定 する 必 要 のあるメッセ ージが 表 示 されますので すべて 設 定 します この 作 業 の 中 で ローカル 作 業 コピーファイルへのパスを 指 定 し ローカルマシンに 定 義 を 保 存 します d) これでプロジェクトファイルがバージョン 管 理 ツールにつながり 利 用 可 能 になります ベストプラクティス 5: 集 中 型 チームと 同 様 モデル 階 層 にあるビューやパッケージなどのパッケージ 全 てにバージョン 管 理 を 適 用 することで 並 列 作 業 を 最 大 限 にします これは パッケージ 間 の 依 存 が 慎 重 に 管 理 ( 次 のセクション で 説 明 )されていれば 適 切 な 方 法 です 分 散 型 環 境 で 使 用 する 場 合 このアプローチには 更 なる 利 点 があります それは 最 新 の 変 更 を 確 定 復 元 する 時 に ファイルサイズの 大 きいプロジェクトファイルの 全 体 ではなく ファイルサイズの 小 さい XMI フ ァイルをバージョン 管 理 リポジトリと Enterprise Architect 間 で 転 送 することになる 点 です 編 集 手 順 の 単 純 化 は 難 しいことではありません しかし それにはバージョン 管 理 されているパッケージ 間 の 依 存 削 減 が 必 須 になります そのためには たとえばモデル 階 層 の 低 位 レベル( 深 い 階 層 )にはバージョ ン 管 理 を 適 用 しない という 方 法 もあります パッケージ 間 の 依 存 関 係 を 失 う 可 能 性 を 低 くすると 作 業 効 率 の 低 下 や 並 列 作 業 ができなくなる 箇 所 が 発 生 するデメリットがあります 16
ベストプラクティス 6: マスター となるプロジェクトファイルを 保 守 する モデル 管 理 者 を チームメンバーから 一 人 選 びます このプロジェクトファイルは 日 々の 作 業 には 使 用 しません このファイルの 目 的 は 新 しいチームメンバーが 作 業 に 参 加 する 場 合 の 出 発 点 の 提 供 にあります 保 守 を 行 う 場 合 には バージョン 管 理 リポジトリから Enterprise Architect の 最 新 バージョンを 全 て 取 得 コマンドでマスタープロジェクトファイルを 更 新 します さらに 必 要 に 応 じて 新 規 に 追 加 されたパッケ ージを パッケージを 指 定 して 追 加 機 能 でマスターに 追 加 します このように 新 規 のパッケージを 管 理 者 が 忘 れずに 追 加 するためには 新 しいパッケージがバージョン 管 理 に 追 加 されたことをモデル 管 理 者 に 通 知 する 手 順 を 定 義 する 必 要 があります マスター プロジェクトファイルのコピーを 使 用 することで 同 じ 設 定 識 別 ID を 使 うようにすることができ バージョン 管 理 の 一 貫 性 を 維 持 できます ベストプラクティス 7: ローカルのプロジェクトファイルを 編 集 する 分 散 型 チーム 環 境 では バージョン 管 理 リポジトリに Enterprise Architect のセキュリティ 機 能 (アクセス 権 )の 情 報 が 格 納 されないので 自 動 更 新 はされませ ん そのため このシナリオではセキュリティ 機 能 は 利 用 できません この 方 式 の 場 合 には それぞれの 利 用 者 が 保 持 するローカルのプロジェクトの 内 容 は 最 新 とは 限 りません そ のため 必 要 に 応 じて 最 新 バージョンの 取 得 あるいは 最 新 バージョンを 全 て 取 得 機 能 を 実 行 し 最 新 の 内 容 に 更 新 する 必 要 があります 7.2 パッケージ 間 の 依 存 管 理 パッケージは 単 独 で 管 理 できるので 編 集 している モデルコピーに 関 係 線 の 片 方 の 要 素 がない 場 合 でも モデルを( 意 図 的 または 偶 発 的 に) 分 割 することができ ます そのモデルの 利 用 者 が 必 要 とするモデル 情 報 のスコ ープを 制 限 するために 利 用 することがありますが この 場 合 モデルの 情 報 が 欠 落 する 可 能 性 があります 図 5 にあるモデルを 例 にしてみましょう 17 ( 図 5: 親 子 の 要 素 が 異 なるパッケージに 格 納 )
この 例 で クラスの 親 と 子 は 別 々にバージョン 管 理 されているパッケージに 定 義 され その 間 に 継 承 関 係 が 存 在 します 子 クラスはパッケージ A 親 クラスはパッケージ B で 定 義 されています これはバージョン 管 理 パッケー ジ 間 に 依 存 関 係 が 存 在 するシナリオのよくある 例 です Enterprise Architect のプロジェクトブラウザでは 図 6 のように 表 示 されます ( 図 6: プロジェクトブラウザの 構 成 ) 両 方 のパッケージが 同 じモデルにある 場 合 パッケージ A と B の 中 にある 要 素 間 の 関 係 情 報 は 維 持 されていま す 一 方 で ローカルモデルに 片 方 のパッケージしかない 場 合 には 関 係 情 報 が 維 持 できません なぜなら 必 要 な 要 素 のひとつが 失 われているからです その 結 果 ダイアグラムで 表 示 される 内 容 やモデルの 内 容 要 素 間 の 関 係 が 欠 落 します さらに 不 完 全 なモデルにパッケージをチェックアウトし その 後 新 しいリビジョンをチェックインした 場 合 には そこから 生 成 される XMI には 欠 落 した 関 係 は 反 映 されないので 結 果 的 にモデルを 変 更 してしまう 可 能 性 があり ます このような 意 図 しない 変 更 を 防 ぐために オプションの XMI1.1/2.1 の 読 み 込 みで 存 在 しない 要 素 のプレ ースホルダを 配 置 あるいは パッケージ 間 の 参 照 情 報 を 常 に 保 持 の 設 定 が 役 に 立 ちます (このオプションについては 後 述 します ) 多 くのプロジェクトでは バージョン 管 理 されているパッケージ 間 に このような 関 係 が 存 在 します 次 の 章 では このようにパッケージ 間 に 依 存 関 係 があるモデルにおいて 推 奨 する 安 全 な 編 集 手 順 について 考 えていきます 18
ベストプラクティス 8: パッケージの 依 存 関 係 を 事 前 に 計 画 したものとし 論 理 的 に 適 切 な 形 で 依 存 関 係 を 維 持 します その ためには UML のパッケージ 図 などを 使 用 して その 間 にある 依 存 関 係 を 確 実 に 把 握 定 義 する 必 要 があります 一 つの 方 法 として 全 てのパッケージが 利 用 可 能 な 状 態 になっている マスター プロジェクトファイルにそ の 依 存 関 係 図 (パッケージ 図 )を 保 存 します このように モデル 化 の 規 則 やガイドラインを 定 義 することで 不 必 要 不 適 切 な 依 存 関 係 が 作 成 される ことを 防 ぎます 特 定 の 要 素 がモデル 内 の 他 の 要 素 にどのように 関 係 しているかを 確 認 したい 場 合 には トレーサビリティサブウ ィンドウや 接 続 ブラウザ 関 係 マトリックスなどの Enterprise Architect の 機 能 が 役 に 立 ちます また スパークスシ ステムズ ジャパンの Web サイトからダウンロードできる パッケージ 間 に 依 存 関 係 などの 接 続 の 情 報 を 表 示 する アドインなどを 利 用 して 依 存 関 係 図 を 自 動 的 に 作 成 することも 可 能 です 参 考 : http://www.sparxsystems.jp/products/ea/tech/addins.htm#4 ベストプラクティス 9: 作 業 はできる 限 り 完 全 なモデルで 行 います 一 部 ではなく 全 てのモデルをローカルのプロジェクトファイル にコピーすると パッケージ 間 にある 依 存 の 制 御 が 容 易 になります 作 業 を マスター のプロジェクトファイルのコピーから 始 めることや 最 新 バージョンを 全 て 取 得 コマンド を 定 期 的 に 実 行 することで 依 存 関 係 を 無 くす 恐 れのある 変 更 を 実 行 する 危 険 性 を 最 小 限 にとどめる ことができます 7.3 変 更 を 安 全 に 行 うための 推 奨 手 順 ここで 取 り 上 げるのは パッケージ 間 の 依 存 が 原 因 で モデル 更 新 が 複 数 のバージョン 管 理 パッケージに 影 響 する というシナリオです その 依 存 関 係 は UML の 汎 化 の 関 係 のように 明 示 的 な 場 合 もあれば 属 性 の 型 として 利 用 されている 分 類 子 を 参 照 するような 暗 黙 的 な 場 合 もあります バージョン 管 理 されている 2 つのパッケージ 間 の 接 続 をモデル 化 する 図 5 と 図 6 でモデル 化 されているように 2 つの 独 立 したバージョン 管 理 パッケージ A と B があると 仮 定 します 19
この 2 つのパッケージにある 要 素 間 に 次 の 4 つの 編 集 を 行 います 1. パッケージ A 内 の 要 素 からパッケージ B 内 の 要 素 に 接 続 を 新 規 に 作 成 する 2. 接 続 先 を 別 の 要 素 に 変 更 する 3. 接 続 の 方 向 を 反 対 に 向 け 接 続 のタイプとモデルを 双 方 向 に 変 更 する 4. 接 続 を 削 除 する このそれぞれの 編 集 について 関 係 のあるパッケージを 更 新 する 場 合 の 推 奨 手 順 を 定 義 します この 推 奨 手 順 によって モデルの 利 用 者 全 員 が 確 実 に 更 新 を 反 映 さ せることができます ( 図 7: 汎 化 の 作 成 ) 1. パッケージ A の 要 素 からパッケージ B の 要 素 に 接 続 を 作 成 図 7 にあるような 状 況 をモデル 化 します 汎 化 の 関 係 の 追 加 は 親 クラスには 影 響 を 与 えないので 子 クラスはこの 関 係 を 一 方 的 に 所 有 していること になります そのため パッケージ A をチェックアウトするだけでこの 変 更 は 実 行 できます このような 一 方 向 の 接 続 を 作 る 手 順 は 以 下 の 通 りです i. 最 新 バージョンを 全 て 取 得 で モデル 全 体 を 確 認 (ベストプラクティス 9) ii. パッケージ A をチェックアウト iii. 汎 化 の 関 係 を 作 成 iv. パッケージ A をチェックイン 注 意 : 別 のパッケージにあるダイアグラム 内 で 関 係 を 定 義 する 場 合 には そのダイアグラムを 含 むパッケージを パッケージ A と 同 様 にチェックアウトし チェックインすることが 必 要 です 2. 接 続 先 を 別 の 要 素 に 変 更 前 回 の 編 集 と 今 回 の 編 集 は 本 質 的 に 同 じものです なぜなら 接 続 の 端 の 要 素 の 変 更 は その 変 更 が 可 能 な 場 合 には 元 々の 対 象 要 素 や 新 規 対 象 要 素 のどちらも 変 更 しないからです そのため 同 じ 工 程 を 利 用 できますが ステップ 3 を 対 象 要 素 の 変 更 に 変 えてください 3. 接 続 の 方 向 を 反 対 にし 接 続 のタイプとモデルを 双 方 向 に 変 更 図 8~10 にある 一 連 の 変 更 を 同 じモデルに 行 うとしたら パッケージ A とパッケージ B の 両 方 の 要 素 を 変 更 することになります したがって 変 更 を 行 うために 両 方 のパッケージをチェックアウトしてから 編 集 作 業 を 行 い 編 集 が 終 わったら 両 方 のパッケージを 同 時 にチェックインしなりません 20
( 図 8: 向 きを 反 対 に) ( 図 9: 種 類 の 変 更 ) ( 図 10: 双 方 向 に 変 更 ) これらの 変 更 には 以 下 の 手 順 を 推 奨 します i. 最 新 バージョンを 全 て 取 得 で モデル 全 体 を 確 認 (ベストプラクティス 9) ii. パッケージ A とパッケージ B をチェックアウト iii. 関 係 を 編 集 iv. 一 括 チェックイン の 機 能 を 利 用 してパッケージ A とパッケージ B をチェックイン (ベストプラクティス 10) 4. 接 続 を 削 除 ここで 図 7 の 内 容 で その 接 続 を 削 除 したいと 仮 定 します 現 時 点 での Enterprise Architect は この 操 作 で は 両 方 のパッケージをチェックアウトする 手 順 が 必 要 になる 場 合 があります 図 7 の 状 況 で もしこの 章 で 説 明 している 方 法 つまり 片 方 のパッケージのみをチェックアウトして 汎 化 の 関 係 を 追 加 した 場 合 には そのチェックアウトしたパッケージにのみ 汎 化 の 情 報 が 記 録 されています この 場 合 には 追 加 時 にチェックアウトしたパッケージのみをチェックアウトし 削 除 の 操 作 を 実 行 すれば 問 題 ありません 一 方 で 汎 化 の 関 係 を 結 ぶ 要 素 が 含 まれるパッケージの 両 方 をチェックアウトして 追 加 し チェックインした 場 合 には その 接 続 の 情 報 は 両 パッケージの XMI に 保 存 されます この 場 合 には 削 除 する 際 には 両 方 のパッケ ージを 更 新 しなければなりません 片 方 のパッケージのみをチェックアウトして 削 除 した 場 合 には オプションの 設 定 によっては 例 えば 最 新 バージョンを 取 得 を 実 行 し 強 制 的 に 再 読 み 込 みする 場 合 などに 削 除 した 関 係 が 復 活 する 場 合 があります 接 続 の 情 報 が XMI ファイルに 含 まれているかどうかは XMI ファイルの 内 部 を 直 接 確 認 する 以 外 の 方 法 ではわかりませんので 確 認 することは 現 実 的 ではありません そのため 編 集 するために 必 要 な 側 のパッケージのみをチェックアウト チェックインするようにするか あるいは( 削 除 の 場 合 には) 両 側 のパッケ ージをチェックアウトし 編 集 後 チェックインするというような 対 応 が 必 要 になります 21
ベストプラクティス 10: 一 貫 性 を 保 つチェックイン 複 数 のパッケージに 影 響 を 与 えるような 変 更 をチェックインするには Enterprise Architect の 一 括 チェッ クイン コマンドを 使 います このコマンドは 影 響 するパッケージを 全 て 同 時 にチェックインできるので 他 の 利 用 者 が 更 新 したものの 一 部 だけをチェックインすることや 関 連 性 のある 変 更 を 失 うことを 防 ぎます また 同 じチェックインコメントを 全 てのパッケージに 使 うことで 同 時 期 の 変 更 を 論 理 的 にグループ 化 する こともできます ベストプラクティス 11: 変 更 は 小 さく 単 独 変 更 は 定 期 的 に 複 数 のパッケージを 一 定 期 間 チェックアウトする 場 合 には 無 関 係 な 変 更 が 多 くなり それによってパッケー ジ 間 の 依 存 関 係 の 数 と ロールバックを 実 施 する 場 合 の 複 雑 度 が 増 加 する 傾 向 にあります なお オプションの XMI1.1/2.1 の 読 み 込 みで 存 在 しない 要 素 のプレースホルダを 配 置 および パッケージ 間 の 参 照 情 報 を 常 に 保 持 を 有 効 にすることで パッケージ 間 にまたがる 関 係 がある 場 合 に その 片 方 のパッケ ージを 別 のプロジェクトで 利 用 する 場 合 の 整 合 性 を 適 切 に 維 持 することができます XMI1.1/2.1 の 読 み 込 みで 存 在 しない 要 素 のプレースホルダを 配 置 のオプションはマシンに 保 存 され そのマシンでの 操 作 結 果 に 影 響 し ます 一 方 パッケージ 間 の 参 照 情 報 を 常 に 保 持 の 設 定 はプロジェクトに 保 存 され そのプロジェクトに 対 して 操 作 する 人 の 共 通 の 設 定 として 動 作 します パッケージ 間 にまたがる 関 係 がある 場 合 には パッケージ 間 の 参 照 情 報 を 常 に 保 持 の 設 定 を 有 効 にすることをお 勧 めします 全 ての 利 用 者 が 1 つの 同 じプロジェクトを 参 照 している 場 合 には これらのオプションの 設 定 は 不 要 です パッ ケージ 間 にまたがる 関 係 がある 場 合 でも その 片 方 のパッケージを 別 のプロジェクトで 利 用 する 場 合 が 存 在 しない からです また この 状 況 の 場 合 には 最 新 バージョンの 取 得 機 能 は 利 用 しませんので 片 方 のパッケージの みに 関 係 の 情 報 が 含 まれるような 場 合 でも 適 切 に 利 用 している 限 り 削 除 した 関 係 が 復 活 することはありません 分 類 子 が 別 のパッケージに 含 まれる 場 合 ここで 再 び 個 別 にバージョン 管 理 されているパッケージ A とパッケージ B があると 仮 定 します パッケージ A には 要 素 X パッケージ B には 要 素 Y があります ここで 要 素 X について 要 素 Y を 分 類 子 として 利 用 する 場 合 を 考 えます 具 体 的 には このようなモデリング 状 況 は 以 下 の 場 合 に 発 生 します 要 素 X の 属 性 の 型 として 要 素 Y を 利 用 要 素 X の 操 作 の 戻 り 値 の 型 または 引 数 の 型 として 要 素 Y を 利 用 X がインスタンス(オブジェクト) 要 素 の 場 合 要 素 X に 対 する 分 類 子 として 要 素 Y を 利 用 22
( 図 11: 別 のパッケージの 分 類 子 を 属 性 や 操 作 などで 型 として 利 用 ) す 要 素 間 に 明 示 的 な 接 続 がなくても このような 場 合 にはパッケージ 間 の 依 存 関 係 が 発 生 していることになりま この 暗 黙 的 な 依 存 の 作 成 更 新 は 以 下 の 手 順 になります i. 最 新 バージョンを 全 て 取 得 で 全 てのモデルを 確 認 (ベストプラクティス 9) ii. パッケージ A をチェックアウト iii. 分 類 子 への 参 照 を 追 加 更 新 または 削 除 iv. パッケージ A チェックイン つまり 型 や 分 類 子 として 指 定 される 要 素 を 含 むパッケージは チェックアウトを 行 う 必 要 はありません また も し 型 や 分 類 子 の 定 義 側 を 更 新 する 場 合 には 型 や 分 類 子 として 利 用 される 側 のチェックアウトは 不 要 です 2 つのバージョン 管 理 されているパッケージ 間 に 要 素 を 移 動 ここで パッケージ A の 要 素 X をパッケージ B に 移 動 すると 仮 定 します この 移 動 は 両 パッケージのモデルに 明 確 な 影 響 を 与 えますので 両 方 のパッケージのチェックアウトが 必 要 です 更 新 手 順 は 以 下 の 通 りです i. 最 新 バージョンを 全 て 取 得 で 全 てのモデルを 確 認 (ベストプラクティス 9) ii. パッケージ A とパッケージ B をチェックアウト (Enterprise Architect が 移 動 を 許 可 するために 必 要 ) iii. 要 素 X をパッケージ A からパッケージ B に 移 動 iv. 一 括 チェックイン でパッケージ A とパッケージ B をチェックイン (ベストプラクティス 10) シーケンスとコミュニケーション 図 の 注 意 23
シーケンスモデル 作 成 時 に ユースケース 図 のアクター 要 素 やドメインモデルのクラス 要 素 などの 分 類 子 をシ ーケンス 図 とは 別 のパッケージで 定 義 管 理 するのは 特 別 な 操 作 ではありません むしろ モデルをよりよく 整 理 できるので 合 理 的 です 以 下 の 図 12 はモデル 階 層 の 例 です ( 図 12: シーケンス 図 パッケージの 利 用 ) これらの 外 部 パッケージから 分 類 子 を 使 用 する 時 には シーケンス 図 上 に その 分 類 子 のインスタンスを 作 成 することを 強 く 推 奨 します これは UML モデリングの 観 点 からも またバージョン 管 理 のチェックインとチェックア ウトでパッケージを 往 復 する 際 にダイアグラムの 接 続 情 報 を 失 う 可 能 性 を 防 ぐ 点 からも 正 しい 方 法 です シーケンスとコミュニケーション 図 のメッセージは そのダイアグラムを 持 つパッケージの XMI に 所 属 し 保 存 さ れます インスタンス 要 素 とダイアグラムが 同 じパッケージにある 場 合 全 ての 接 続 情 報 は 次 に 行 われる 読 み 込 み 作 業 中 に 保 存 されます 次 の 図 13 は 上 記 モデルからシーケンス 図 を 作 成 する 推 奨 モデリング 方 法 です 24
( 図 13: インスタンスとして 配 置 した 状 況 ) ベストプラクティス 12:シーケンスとコミュニケーション 図 の 作 成 時 には 分 類 子 を 参 照 するインスタンスを 使 う これは 絶 対 守 る 必 要 のあるプラクティスです インスタンス 要 素 とダイアグラムを 同 じパッケージで 保 持 する ことで チェックインとチェックアウト 中 にメッセージが 確 実 に 保 存 されます ( 分 類 子 要 素 をシーケンス 図 やコミュニケーション 図 で そのまま 配 置 し 直 接 使 用 しないでください ) 7.4 ロールバック( 元 に 戻 す) 変 更 の 推 奨 手 順 ロールバック 変 更 (モデルを 前 のリビジョンに 戻 す)は 集 中 型 チームで 紹 介 した 手 順 と 同 じ 手 順 を 使 用 します 適 用 できるベストプラクティスは 以 下 の 通 りです ベストプラクティス 5: バージョン 管 理 を 下 位 パッケージに 適 用 し 並 列 作 業 の 可 能 性 を 大 きくする バージョ ン 管 理 パッケージ 間 の 依 存 に 対 応 する 潜 在 的 増 加 とバランスをとる ベストプラクティス 6: マスター プロジェクトファイルを 責 任 もって 管 理 する モデル 管 理 者 を 決 める ベストプラクティス 7: ローカルプロジェクトファイルを 使 用 する 場 合 には 役 割 ベースのセキュリティを 適 用 し ない ベストプラクティス 8: パッケージの 依 存 関 係 を 事 前 に 計 画 し 認 識 されている 依 存 関 係 を 維 持 ベストプラクティス 9: 作 業 はいつも 完 全 なモデルで 行 い パッケージをチェックアウトする 前 に 最 新 バージ ョンを 全 て 取 得 を 使 用 ベストプラクティス 10: 複 数 パッケージに 影 響 する 変 更 をチェックインする 場 合 には 一 括 チェックイン コマ ンドを 使 用 ベストプラクティス 11: 変 更 は 小 さく 単 独 変 更 は 定 期 的 に ベストプラクティス 12: シーケンスやコミュニケーション 図 に 分 類 子 を 参 照 するインスタンスを 使 用 し インス タンスとダイアグラムを 同 じパッケージで 保 持 25
8 シナリオ 3: 分 散 作 業 環 境 大 規 模 企 業 では 地 理 的 に 離 れた 複 数 の 開 発 拠 点 でモデル 情 報 を 共 有 することが 一 般 的 になりつつあります この 場 合 には 各 拠 点 での 最 新 モデル 情 報 の 維 持 が 課 題 になっています 同 期 ツールを 使 用 して 拠 点 の DBMS レベルを 同 一 化 できるかもしれませんが バージョン 管 理 されているパッケージを 活 用 することでシンプルかつ 効 果 的 な 手 段 が 可 能 になります シナリオ 1 と 2 で 定 義 した 展 開 を 組 み 合 わせたのがこの 状 況 です 各 拠 点 では ローカル DBMS リポジトリに 格 納 されたモデルで 作 業 しているかもしれません また 次 の 図 14 に あるように プロジェクトファイルが 利 用 者 個 人 によって 使 われていることも 考 えられます ( 図 14: 複 数 の 挙 体 がある 場 合 の 構 成 例 ) 複 数 拠 点 で 展 開 するには 各 共 有 DBMS リポジトリ(シナリオ 1 で 説 明 ) がローカルの DBMS リポジトリのように 扱 われることを 前 提 とします(シナリオ 2) DBMS リポジトリを 設 定 する 手 順 は シナリオ 1 とシナリオ 2 で 説 明 されて いる 共 有 (DBMS)モデルとローカルプロジェクトファイルにそれぞれ 適 用 されます パッケージ 間 依 存 の 管 理 は シナリオ 2 のベストプラクティスにも 関 係 します 26
共 通 プロジェクトの 定 義 が 拠 点 間 で 共 有 できるように Enterprise Architect のリファレンス 情 報 の 管 理 について も 検 討 が 必 要 です なお リファレンス 情 報 については 付 録 A で 記 述 しています Enterprise Architect の プロジェクトの 転 送 機 能 は 遠 隔 作 業 環 境 間 でモデルリポジトリ 全 体 (リファレンス 情 報 を 含 む) を 転 送 することができます 例 えば 拠 点 1 で DBMS に 作 成 したモデルをプロジェクトファイルに 転 送 し 他 の 拠 点 に 配 布 することが 可 能 です ファイルを 受 け 取 る 側 は プロジェクトの 転 送 機 能 を 使 ってプロジェクトファイルから 空 の DBMS リポジトリにモ デルを 転 送 することができます 詳 しくは Enterprise Architect のヘルプファイルの プロジェクトデータの 転 送 の 内 容 を 参 照 してください 27
付 録 A: バージョン 管 理 リポジトリに 格 納 されていない 設 定 情 報 この 付 録 A では モデルと モデルの 付 加 情 報 のバージョン 管 理 を 取 り 上 げます Enterprise Architect のプロジェクト(プロジェクトファイルまたは DBMS リポジトリ)には リファレンス 情 報 と 呼 ばれ る 付 加 的 な 設 定 情 報 が 含 まれていることに 注 意 してください この 情 報 は モデル(プロジェクトブラウザに 表 示 さ れるパッケージや 要 素 など)の 中 で 直 接 定 義 することはありません Enterprise Architect のリファレンス 情 報 には コード 生 成 やドキュメント 生 成 のテンプレート 要 素 の 状 態 の 種 類 やステレオタイプの 定 義 などが 含 まれます リファレンス 情 報 のファイルを 手 作 業 でバージョン 管 理 の 対 象 に 加 えることで 他 のプロジェクトから 参 照 読 み 込 みする 場 合 に 元 の 情 報 を 一 元 化 できます それによって 関 連 する Enterprise Architect のモデル 間 で 同 じ 定 義 やテンプレートを 活 用 することができます リファレンス 情 報 を 出 力 するには Enterprise Architect の 機 能 を 利 用 してください リファレンス 情 報 の 出 力 と 読 込 の 手 順 は Enterprise Architect のヘルプファイルの リファレンス 情 報 のページを 参 照 してください なお DBMS リポジトリのみを 利 用 している 場 合 で ネットワークが 常 時 接 続 されている 環 境 の 場 合 には 共 有 リ ポジトリ 機 能 が 利 用 できる 場 合 があります 共 有 リポジトリ 機 能 は リファレンス 情 報 を 格 納 している DBMSのテーブ ルを 他 のデータベーステーブルと 共 有 する 方 法 で 実 現 しています データベースに 対 して 共 有 リポジトリを 設 定 するためのスクリプトを 実 行 する 必 要 があります 詳 細 は ヘルプファイルの リファレンス 情 報 をリポジトリ 間 で 共 有 する のページをご 覧 下 さい 付 録 B: Enterprise Architect のさまざまな 機 能 ここまでは 主 に サードパーティー 製 のバージョン 管 理 ツールを 利 用 して 分 散 型 チームでモデル 情 報 を 複 製 す る 方 法 や モデルのリビジョンの 管 理 方 法 について 焦 点 を 当 ててきました Enterprise Architect には 数 々の 機 能 があります これらの 機 能 によって 大 規 模 なチームモデリングの 支 援 も 可 能 であるため バージョン 管 理 機 能 を 使 用 する 必 要 がないかもしれません いくつかの 機 能 の 概 要 を 説 明 します それぞれの 機 能 の 詳 細 につきましては Enterprise Architect のヘルプ ファイルをご 覧 ください 監 査 この 機 能 は 複 数 のチームメンバーが 同 一 のモデルリポジトリを 共 有 する 際 に 最 適 で モデルのどの 部 分 を 誰 が 変 更 したか いつ 変 更 されたか 変 更 前 の 状 態 は 何 か といった 情 報 を 提 供 します 監 査 情 報 は バージョン 28
管 理 ツールのリポジトリではなく Enterprise Architect のモデルリポジトリに 直 接 格 納 されます 監 査 機 能 は 特 定 の 時 点 でのスナップショットではなく 継 続 的 な 変 更 ログを 提 供 します 監 査 ログはファイルに 出 力 可 能 です ログに 記 録 された 要 素 の 変 化 は Enterprise Architect 内 部 で 直 接 比 較 することができます なお 監 査 機 能 は 完 成 した 設 計 モデルの 保 守 フェーズでの 利 用 を 想 定 しています 設 計 中 に 利 用 すると ロ グのサイズが 膨 大 になりますので ご 注 意 下 さい ベースラインの 比 較 とマージ Enterprise Architect は パッケージのバージョンをベースラインとしてモデルリポジトリに 直 接 格 納 することがで きます このベースラインの 機 能 を 利 用 することで パッケージを 以 前 の 状 況 と 比 較 したり 不 要 な 変 更 が 発 生 した 場 合 にロールバックしたりすることができます ベースラインは XMI 形 式 で 保 存 されていますので 既 にパッケージから 出 力 済 みの XMI ファイルとパッケージ を 比 較 することも 可 能 です このベースラインの 機 能 により バージョン 管 理 システムを 使 うことなく モデルのローカルコピーに 行 われた 変 更 を 抜 粋 してマージすることもできます クラウドサーバ Enterprise Architect バージョン 11.0 では クラウドサーバ 機 能 が 追 加 されました この 機 能 は 分 散 環 境 で のモデルの 共 有 を 支 援 する 機 能 です DBMS リポジトリを 利 用 したモデル 共 有 では TCP ポートを 開 けて 通 信 可 能 にする 必 要 があり また 通 信 内 容 は 暗 号 化 されません また それぞれのマシンには DBMS に 対 応 する ODBC ドライバをインストールする 必 要 があります クラウドサーバ 機 能 は HTTP や HTTPS でのモデル 情 報 の 参 照 や 更 新 が 可 能 です HTTPS を 利 用 すること で 通 信 内 容 を 適 切 に 暗 号 化 することができます また それぞれのマシンには DBMS に 対 応 する ODBC ドライ バをインストールする 必 要 がなく クラウドサーバ 側 にのみインストールが 必 要 です クラウドサーバを 利 用 することで モデル 情 報 の 分 散 が 不 要 になる 場 合 があります この 場 合 には このドキュメ ントで 説 明 する バージョン 管 理 機 能 を 利 用 した 制 御 が 不 要 になります 役 割 ベースのセキュリティ(アクセス 権 ) Enterprise Architect には 2 つの 重 要 な 機 能 を 果 たすセキュリティ(アクセス 権 ) 機 能 があります ひとつは ユー 29
ザーにどの 編 集 機 能 を 与 えるか 制 限 することのできる 機 能 です そしてもうひとつは ユーザー 毎 もしくはグル ープ 毎 にパッケージと 要 素 をロックする 機 能 です セキュリティ 機 能 が 適 用 されているモデルがバージョン 管 理 されている 場 合 には このセキュリティ 機 能 により 編 集 などの 機 能 を 制 限 できます 一 方 で 共 有 しているモデルがバージョン 管 理 されていない 場 合 には チームでのモデリングを 効 率 的 に 行 う 上 で このセキュリティ 機 能 が 重 要 な 役 割 を 果 たします ロックを 適 用 すると 互 いの 変 更 の 上 書 きや 許 可 のないユーザーによる 不 注 意 なモデル 変 更 を 防 ぐことがで きます 付 録 C: バージョン 管 理 をパッケージに 適 用 この 付 録 では Enterprise Architect のバージョン 管 理 機 能 を 利 用 し これから 運 用 されるシナリオや 展 開 シナリ オのモデル 構 成 を 基 に パッケージにバージョン 管 理 を 適 用 する 推 奨 アプローチを 紹 介 します より 詳 しい 説 明 は ヘルプファイルに 記 載 されている バージョン 管 理 されているパッケージの 設 定 をご 覧 ください モデルにある 全 てのパッケージをバージョン 管 理 する 方 法 : 各 パッケージにバージョン 管 理 を 追 加 して 並 行 編 集 の 可 能 性 を 最 大 限 にしたい という 時 には モデルのビュ ー(プロジェクトルート 直 下 のパッケージ)で Enterprise Architect の 一 括 してバージョン 管 理 に 追 加 コマンドを 使 用 してください この 機 能 の 対 象 には 選 択 したパッケージの 子 パッケージをすべて 含 みますので 一 括 してバージョン 管 理 に 追 加 をビューに 対 して 適 用 すると 全 ての 子 パッケージもバージョン 管 理 の 対 象 になります その 結 果 バー ジョン 管 理 が 全 てのパッケージとその 子 パッケージに 再 帰 的 に 適 用 されます この 機 能 を 利 用 する 場 合 対 応 する XMI ファイルはパッケージの GUID に 基 づいて 名 前 がつけられます この GUID はパッケージの 名 前 が 変 更 されたとしても 変 わりません また 親 パッケージの XMI ファイルには 子 パッケージの スタブ 情 報 しか 入 っていないので 個 々のファイルサ イズは 小 さく 抑 えることが 可 能 です なお 一 括 してバージョン 管 理 に 追 加 コマンドで 階 層 管 理 ファイルも 出 力 オプションが 選 択 できます こ の 階 層 管 理 ファイル(*.EAB)を 利 用 すると バージョン 管 理 に 登 録 するパッケージ 構 成 全 体 を 簡 単 に 他 のプロジェ クトに 追 加 できます 今 回 の 構 成 を 別 のプロジェクトに 読 み 込 む 必 要 がある 場 合 に この 階 層 管 理 ファイルを 利 用 すると 関 係 するパッケージをまとめて 1 回 の 操 作 で 追 加 することができます 30
バージョン 管 理 を 選 択 して 適 用 する 方 法 : 分 散 型 チームで 仕 事 をしている 場 合 バージョン 管 理 されたパッケージ 間 の 依 存 を 減 らしたい 場 合 があります その 場 合 には 下 位 レベルの( 深 い 位 置 の)パッケージを 単 独 でバージョン 管 理 しない 方 法 があります この 場 合 には 下 位 レベルのパッケージは バージョン 管 理 リポジトリ 内 にある 親 パッケージとまとめて 管 理 されます 新 規 にバージョン 管 理 対 象 として 追 加 する 手 順 : 1. 対 象 となる( 上 位 )パッケージを 指 定 してください 2. 各 パッケージに 行 う 処 理 : i. 右 クリックメニューから パッケージの 管 理 設 定 を 選 択 もしくはキーボードのショートカットキー Ctrl+Alt+P を 実 行 します ii. 設 定 済 みのバージョン 管 理 の 設 定 を 選 択 し 必 要 であれば XMI ファイル 名 を 変 更 します 他 のオプ ションは 既 定 値 のままにしておきます 空 のモデルにバージョン 管 理 を 適 用 する 手 順 : 1. モデルに 利 用 するパッケージ 構 成 の 骨 組 みを 作 成 します 2. 下 記 の 中 からひとつの 方 法 を 選 択 し パッケージをバージョン 管 理 に 追 加 します a) 全 てのパッケージにバージョン 管 理 を 適 用 するため 一 括 してバージョン 管 理 に 追 加 コマンドを 実 行 し ます b) 個 々のパッケージにバージョン 管 理 を 適 用 します i. 右 クリックメニューから パッケージの 管 理 設 定 を 選 択 もしくはキーボードのショートカット キーCtrl+Alt+P を 実 行 します ii. 設 定 済 みのバージョン 管 理 の 設 定 を 選 択 し 必 要 であれば XMI ファイル 名 を 変 更 します 他 の オプションは 既 定 値 のままにしておきます 3. 設 定 完 了 後 モデルに 新 規 パッケージを 追 加 する 場 合 には 新 規 パッケージを 作 成 画 面 にバージョン 管 理 に 追 加 するかどうかのオプションが 表 示 されますので 簡 単 に 追 加 することができます 31
改 版 履 歴 2008/03/07 バージョン 7.1 の 情 報 を 反 映 ARCSeeker についての 記 述 を 追 加 2009/08/31 ドキュメントのタイトルを 変 更 2011/05/18 バージョン 9.0 のリリースに 伴 い 内 容 を 更 新 2011/12/06 バージョン 9.2 のリリースに 伴 い 内 容 を 更 新 2012/04/11 4 章 以 下 の 内 容 を 変 更 バージョン 管 理 機 能 についての 説 明 を 追 加 2013/08/30 全 体 的 に 内 容 文 章 について 見 直 し 最 新 の 情 報 に 更 新 また 文 章 を 読 みやすく 修 正 2014/04/22 バージョン 11.0 のリリースに 伴 い 内 容 を 更 新 2014/05/07 全 体 的 に 内 容 文 章 について 見 直 し 最 新 の 情 報 に 更 新 また 文 章 を 読 みやすく 修 正 2014/09/04 最 新 の 情 報 に 更 新 32