4

我正在建立一个集中的存储库来存储企业架构师(来自 sparx 系统)生成的工件,供 6-8 人的团队使用。最初考虑托管一个 PostgreSQL 数据库来集中存储工件,而另一个选择是使用 SVN。查看 EA 文档,并不清楚所考虑的选项的优缺点是什么。与使用 SVN 相比,我在使用 DBMS 时有以下开销。

  1. 托管和管理 DBMS
  2. DBMS 的用户配置和管理
  3. 工件版本控制需要单独完成
  4. DBMS 的备份等

对于 SVN,从 EA 文档中提到,部署模型仅适用于最大 10 人的团队,并且文件可能会损坏。除了这些之外,使用 SVN 托管存储库还有哪些瓶颈?很高兴听到在多用户环境中与企业架构师合作过的人的建议。

4

4 回答 4

9

“最多 10 人”警告是指您有一个团队共享单个 .EAP 文件的情况。如果所有用户都有自己的 .EAP 文件,或者您设置了 DBMS 存储库,则它不适用。

在 DBMS 设置中,我建议使用 EA 的基线进行版本管理,而不是外部版本控制存储库。这个概念是相似的:单个包是基线化的,但不是将版本存储在外部的 SVN/CVS/etc 中,而是存储在内部的数据库中。

这为您减少了一个需要管理的存储库,但还应该注意的是,EA 在将 DBMS 与外部版本控制相结合时会出现问题,这可能会很烦人,甚至(最坏的情况)会导致信息丢失。外部版本控制旨在与 .EAP 文件一起使用。

与外部版本控制相比,基线有一大优势:您可以在 EA 内部直观地比较不同版本,并查看在各个图表中添加、删除、更改和移动的内容。最大的缺点:基线包在项目浏览器中没有像版本控制包那样用特殊图标指示。

具有单独 .EAP 文件和外部版本控制的部署模型使人们可以选择将不同的包和这些包的不同版本导入到他们的 EA 项目中。对于 DBMS 模型,只有一个 EA 项目,所以每个人总是看到相同包的相同版本。

是的,使用 DBMS,您需要设置用户并实施备份计划。但是您也需要备份 SVN 存储库以及团队成员的个人 .EAP 文件。

DBMS 上 EA 中的用户管理是一个两步过程。每个用户都需要对数据库进行读/写访问,并且每个人还需要在 EA 项目中拥有一个单独的帐户。这些可以通过从 Windows 域导入来轻松创建。

这是假设您在项目中打开了用户安全性,您绝对希望这样做以防止并发编辑问题。

我对团队设置的建议始终是 DBMS + 用户安全 + 基线。它为您提供 EA 工件的单一位置,并且每个人总是看到相同的东西。

于 2012-09-01T08:05:54.743 回答
1

我同意,我有相同的设置和环境。

我的文档中有来自 i-net 的代码片段。对不起,我还没有来源。但是很高兴在根模型或项目中找到所有基线:

查找 DBMS 中的所有基线 STRG+F 打开模型搜索。选项 --> 管理搜索 --> 创建新搜索 --> 命名“查找所有基线” --> 编辑器类型 SQL-Editor。粘贴这个:

SELECT t_package.ea_guid AS CLASSGUID, t_document.ElementType AS CLASSTYPE, t_package.Package_ID as ID, t_package.Name, t_package.Notes as PackageNotes, t_document.Notes as BaselineComments 
FROM t_document INNER JOIN t_package ON t_document.ElementID = t_package.ea_guid

现在你有了一个名为(Find all Baselines)的新搜索,这很舒服!

于 2012-09-06T12:36:12.857 回答
1

目前我正在研究同样的问题,我发现这些很有帮助:

Enterprise Architect 的部署 http://www.sparxsystems.com/downloads/whitepapers/EA_Deployment.pdf

Enterprise Architect 的版本控制最佳实践 http://www.sparxsystems.com/WhitePapers/Version_Control.pdf

[更新]

在对我们的场景进行了几个月的考虑和测试之后,我们的团队决定了版本控制路线。

每个 Enterprise Architect 项目都需要自己的数据库。这意味着如果您有 5 个项目,则需要 5 个数据库,每个团队一个。将其扩展到 50 个项目或系统,我们有 50 个数据库可供使用、管理等。

我们的方法是:

  • 每个项目在版本控制中都有自己的文件夹;
  • 用于共享架构模型的可重用资产服务(RAS);
  • 安全性由版本控制团队完成;
  • 模型使用导入/导出共享(记得打开图像导出!)

需要改进的地方:

我们希望承包商能够使用“云”访问这些模型,但我们需要首先解决安全问题。

于 2014-01-02T17:37:40.667 回答
0

DBMS 设置还有一个考虑因素,那就是从远程位置使用存储库时的 EA 性能。EA 没有针对远程连接到其项目数据库(EAP 或 DBMS)进行优化,慢速连接可能会让您在编辑过程中等待很长时间。

于 2016-06-24T11:46:52.493 回答