为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Firefly与其它配置管理工具的比较_Hansky

2017-09-29 13页 doc 30KB 320阅读

用户头像

is_105949

暂无简介

举报
Firefly与其它配置管理工具的比较_HanskyFirefly与其它配置管理工具的比较_Hansky Firefly与同类产品的比较 一、 现状简述 现在流行的软件配置管理工具(SCM Tools)大致有如下几个品种: , IBM—ClearCase (CC); , SVN; , Hansky—Firefly; 该份可行性报告即为以上配置管理工具的评估报告,其侧重点针对本中心的实际情况,结合各个开发部门的操作系统,开发流程,项目规模,易用性,价格,与其他管理系统的良好的结合性等等方面来进行考虑。 二、 进行软件配置管理的目的 1、权限控制(Access Co...
Firefly与其它配置管理工具的比较_Hansky
Firefly与其它配置管理工具的比较_Hansky Firefly与同类产品的比较 一、 现状简述 现在流行的软件配置管理工具(SCM Tools)大致有如下几个品种: , IBM—ClearCase (CC); , SVN; , Hansky—Firefly; 该份可行性报告即为以上配置管理工具的评估报告,其侧重点针对本中心的实际情况,结合各个开发部门的操作系统,开发流程,项目规模,易用性,价格,与其他管理系统的良好的结合性等等方面来进行考虑。 二、 进行软件配置管理的目的 1、权限控制(Access Control) 权限控制对SCM工具来说至关重要。一方面,既然是团队开发,就可能需要限制某些成员的权限;特别是大项目往往牵扯到子项目外包,到最后联调阶段会涉及到很多不同的单位,更需要权限管理。另一方面,权限控制也减小了误操作的可能性,间接提高了SCM工具的可用性(Usability)。 现有的SCM工具,在权限控制方面差异很大,也说明了大家都在探索更有效的权限控制的方法。透过不同权限控制方法的差异,我们不难看到其共性:其核心概念是行为(Action)、行为主体、行为客体。 行为主体:即用户(User)。用户组(User Group)并不是行为主体,但它的引入大大方便了权限管理。 行为客体:即项目和项目成员(Member)。不管从SCM工具的开发者还是使用者的角度,项目和项目成员都是不同的行为客体。 行为:即由主体施加在客体之上的特定操作,签入和签出是再典型不过的例子。 三个核心概念搞清之后,就可以讨论权限的概念了。 权限是这样一个四元向量:(主体,客体,行为,布尔值)。即,“主体在客体上施加某种行为是否被获准”。 由此看来,权限控制的基本工作就是负责维护主体集合、客体集合、行为集合、权限向量集合。其中,行为集合是固定不变的(在SCM工具开发之时已确定),其它三种集合都是动态变化的。 2、版本控制(Version Control) SCM工具记录项目和文件的修改轨迹,跟踪修改信息,使软件开发工作以基线(Baseline)渐进方式完成,从而避免了软件开发不受控制的局面,使开发状态变得有序。 SCM工具可以对同一文件的不同版本进行差异比较,可以恢复个别文件或整个项目的早期版本,使用户方便地得到升级和维护必需的程序和文档。 SCM工具内部对版本的标识,采用了版本号(Version Number)方式,但对用户提供了多种途径来标识版本,被广泛应用的有版本号、标签(Label)和时间戳(Time Stamp)。多样灵活的标识手段,为用户提供了方便。 3、增强的版本控制(Enhanced Version Control) 快照(Snapshot)和分支(Branch)以基本的版本控制功能为基础,使版本控制的功能又更进一步增强。 快照是比版本高一级的概念,它是项目中多个文件各自的当前版本的集合。快照使恢复项目的早期版本变得方便,它还支持批量签入(Check in)、批量签出(Check out)和批量加标签(Label)等操作。总之,快照是版本控制的一种增强,使版本控制更加方便高效。 分支允许用户创建独立的开发路径,我们认为分支的典型用途有二。第一,分支和合并(Merge)一起,是支持并行开发(Concurrent Development)的有力支持。第二,分支支持多版本开发,这对发布后的维护尤其有用。比如客户报告有打印bug,小组可能从某个还未引入打印bug的项目版本引出一个分支,最终分布ā一个bug修订版。分支是版本控制的另一种增强。 版本控制和增强的版本控制是SCM工具其它功能的基础。 4、变更管理(Change Management) SCM工具提供有效的问跟踪(Defect Tracking)和系统变更请求(System Change Requests (SCRs))管理。通过对软件生命周期各阶段所有的问题和变更请求进行跟踪记录,来支持团队成员报告(Report)、抓取(Capture)和跟踪(Track)与软件变更相关的问题,以此了解谁改变了什么,为什么改变。 变更管理有效地支持了不同开发人员之间,以及客户和开发人员之间的交流,避免了无序和各自为政的状态。 5、独立的工作空间(Independent Workspaces) 开发团队成员需要在开发项目上协同、并发地工作,这样可以大大提高软件开发的效率。沙箱(Sandbox)为并行开发提供了独立的工作空间,在有的SCM工具中也称为工作目录(Working Folder)。 使用沙箱(Sandbox),开发人员能够将所有必要的项目文件拷贝到私有的一个树型目录,修改在这些副本上进行。一旦对修改感到满意,就可以将修改合并(Merge)到开发主 线(Main Line)上去;当然,如果该文件只有该成员一人修改,只需将修改过的文件签入(Check In)到主项目中即可。 “并发和共享是同一事物的不同方面”,并发的私有工作空间共享同一套主项目(Mater Project)文件,因此有必要让所有团队成员拥有得知项目当前状态的能力。SCM工具提供刷新(Refresh)操作,某位团队成员可以使其他团队成员在主项目文件上所做的变更,在自己沙箱的图形用户界面上反应出来。 6、报告(Report) 为保证项目按时完成,项目经理必须监控开发进程并对发生的问题迅速做出反应。报告功能使项目经理能够随时了解项目进展情况;通过图形化的报告,开发的瓶颈可以一目了然地被发现;标准的报告提供常用的项目信息,定制报告功能保证了拥有适合自己需求的信息。 7、过程自动化(Process Automation) SCM工具使用事件触发机制(Event Trigger),即让一个事件触发另一个事件产生行为,来实现过程自动化。比如,让“增加项目成员”操作自动触发“产生功能描述表(Form)”操作,开发人员填制该文件的功能描述表,开发过程。 过程自动化不仅可以缩短复杂任务的时间,提高了生产率,而且还规范了团队开发的过程,减少了混乱。 8、管理项目的整个生命周期 从开发、测试、发布到发布后的维护,SCM工具的使命“始于项目开发之初,终于产品淘汰之时”。SCM工具应预先提供典型的开发模式的模板,以减少用户的劳动;另一方面,也应支持用户自定义生命周期模式,以适应特殊开发需要。 9、与主流开发环境的集成 将版本控制功能与主流集成开发环境(IDE)集成,极大地方便了软件开发过程。从集成开发环境的角度看,版本控制是其一项新功能;从SCM工具的角度看,集成开发环境充当了沙箱的角色。 三、 Firefly简介 Firefly是Hansky Ltd.(汉星天)公司提供的软件配置管理工具,基于先进的配置管理理论,采用全新的系统体系架构,实现企业级的全面的软件开发配置管理: , 采用三层体系结构,系统安全可靠,开发人员访问方便; , 支持并行和串行两种开发模式; , 方便、强大的访问权限控制机制; , 利用JAVA开发,具有很好的跨平台特性; , 高性能实现快速访问。 , 异地开发支持(需要额外的LICENSE) , 企业级的配置管理工具,支持大团队 , 存储、保护开发相关资源 , 记录变更历史,包括文本文件和二进制文件 , 简便建立分支,归并,管理基线 , 并行开发支持 , 基于客户端/服务器的配置管理系统 , 管理工作空间,并能记录其变更集和整个历史 , 与常用的开发工具、IDE集成 , 利用Web 界面访问 Firefly 的其他特性 , 自带备份/恢复功能,无需采用第三方工具即可实现增量和完整备份。 , 采用原子级事务处理,保证了变更的一致性。例如:一次性check-in 10个 文件,如果在此过程中出现问题,如网络中断,则所有操作都自动取消,不 会出现前几个文件被check-in,而后几个文件失败的情况,保证数据的一致 性 , 分布式存储、脱机操作:在与服务器断开的情况下,客户端仍然可以保存本 地文件的所有版本,减少风险 , 针对项目的分支策略:一般的配置管理工具,包括ClearCase在内,都是针 对文件作分支,有一定的局限性,例如无法很好把握整个项目的变更情况。 而Firefly 的分支策略是针对项目进行,能够清晰纪录项目中的每一次 Change-Set。 , 分支的比较和归并:Firefly可以支持整个分支的比较和归并。 , 文件的重命名和移动:Firefly对文件重命名和移动的操作就像文件的修改 一样方便,文件的所有历史都会保存下来,而且可以自动地解决因文件的移 动引起的冲突。 , 简单方便的email自动通知功能,能够自动将开发过程中的重要操作具体细 节通知相应负责人。 , 独立管理用户和组,不需与系统(NT Domain、NIS)绑定,减少管理上的难 度。 , 通过浏览器界面与变更管理系统Hansky Butterfly集成,直观方便 , 全新的体系架构,采用类三层结构,基于TCP/IP ,完全隔离后台存 储。因此无需共享存储区,客户端甚至不需要了解存储区的具体位置,整个 系统更加安全、可靠 , 可以对工作区、目录及文件三个层次进行控制,访问控制策略类似于NTFS的 安全模式,更加灵活,基本可以适应任何权限控制要求而无需额外操作 , 对于二进制文件和Word文档,也能够采用增量的方式存储,大大节省硬盘资 源,并且节省网络带宽,缩短网络传输时间 , 单进程、多线程的应用服务器,对系统性能影响最小 , 上下传都只涉及增量部分 , 上手快,开发人员的只需2~3小时 , 需要掌握的命令不多 , 管理员只需一天的培训,管理、维护简便 , 相对同类厂商有本地化优势 , 相对低的服务器和带宽要求,节约硬件成本 , 实施简单,维护容易,节约隐性实施成本 四、 ClearCase简介 Rational公司的软件配置管理工具ClearCase,是一种使用较为广泛、基于网络的版 本控制系统,ClearCase对开发的支持范围较广,从单个的开发人员到整个开发团队: , 采用C/S的访问模式,开发人员能够方便地从客户端访问到最新的代码; , 支持并行开发模式; , 支持unreserved check-out 方式,避免因为独占的check-out 方式所造成 的人为的冲突; , 客户端的工具能够运行在大多数平台上; , 异地开发支持(需要额外的LICENSE)。 , 企业级的配置管理工具,支持大团队 , 存储、保护开发相关资源 , 记录变更历史,包括文本文件和二进制文件 , 简便建立分支,归并,管理基线 , 并行开发支持 , 基于客户端/服务器的配置管理系统 , 管理工作空间,并能记录其变更集和整个历史 , 与常用的开发工具、IDE集成 , 利用Web 界面访问 , 体系架构为1986年设计,过于陈旧,需要共享服务器上的存储目录,以供客 户端访问,因此存在非法网络拷贝、病毒攻击等安全隐患 , 采用类似UNIX 的权限控制方式,以用户、组和其他三种级别对元素设置权 限,对于一些项目开发中经常出现的特殊要求,例如同组的用户对同一文件 要求有不同的访问权限,不能很好支持,需要通过另外建用户组或写脚本实 现 , 对二进制文件,包括开发中经常使用的Word文档,采用完全拷贝存储的方 式,必将极大占用系统硬盘空间。 , 如果使用动态视图,将对网络带宽提出较苛刻的要求 , 以系统进程(Process)的方式启动,每起一个存储库或视图都有相应的 vob_server及view_server进程存在,极大占用系统资源 , 快照和分支速度:对于较大的项目(如3000个以上的文件),Firefly做快 照和分支的速度以毫秒计 , 产品复杂,实施难度大 , 一般需要1~2个月时间才能比较熟悉 , License的价格较高,而且在中国的价格较美国高45%,与中国国情不符 , 对网络、计算机硬件要求过高,增加附加投资 五、 SVN主要有以下特点: , 免费:由于是开源项目,自然免费; , 跨平台:可在许多平台上使用; , 管理方便,逻辑明确,符合一般人思维习惯。 , 支持并行开发 , 易于管理,集中式服务器更能保证安全性。 , 代码一致性非常高。 , 适合开发人数不多的项目。 , 较高的安全性:可以支持只读用户,以及控制用户只能访问指定的目录; , 通过分支版本来控制文件版本,不能够细分控制每个文件的版本。 , 灵活的批量签出功能:支持按照版本标签、时间等签出代码; , 以及其他基本的功能: , 签出任意版本、版本比较等功能; SVN与其他商业产品的对比: , 优点在于:免费;功能可持续改进;效率高;C/S结构效率较高;安全性较 高;具有版本标签功能。 , 缺点一:不支持自动创建目录;对二进制文件支持较差。不能与变更管理和 项目管理平台无缝集成。同时不适合开发人员非常多的团队开发。 , 缺点二:服务器压力太大,数据库容量直线增长。 , 缺点三:如果不能连接到服务器上,基本上不可以工作,不能提交、还原、 对比等。 六、 详细比较 Firefly ClearCase SVN 体系结构采用C/S模式,后台采采用C/S模式,需要共享采用C/S 模式,不需要和安全性 用数据库存储,存储目服务器上的存储目录以供客共享服务器上的存储目 录不用共享,对客户端户端访问,这将带来一定安录,安全性较好 不透明,客户端不可直全隐患,公司必须建立域。 接访问存储目录,安全 性较好 访问服务快速,只上下传文件的支持文本格式文件增量存支持文本格式文件增量器增量存增量,包括文本格式和储,以完全拷贝形式保存二存储,以完全拷贝形式储 二进制格式 进制文件(有争议,内部说保存二进制文件 法不一致) 本地操作 快速 快速 快速 与开发工与常见开发工具无缝集直接与资源管理器集成,十与常见开发工具无缝集具集成 成 分易用 成 异地开发提供ServerSync 模提供MultiSite 模块,通过支持异地开发,但是支支持 块,通过自动或手动同自动或手动同步位于不同开持程度不明 步位于不同开发地点的发地点的存储库的方式,支 存储库的方式,支持异持异地开发 地开发 权限管理方便的管理界面,采用方便的管理界面,权限可分权限可分组,主要由系和备份 类似与NTFS的权限管理组,主要由系统管理员进行统管理员进行管理,需 方法,可以针对项目、管理,需要使用第三方备份要使用第三方备份工具 目录或文件设置用户和工具,但是有一定的规则支 组的访问全权限,自带持 增量备份/恢复功能 平台支持 平台移植性好,支持绝平台移植性好,支持绝大多平台移植性好,支持绝 大多数硬件平台和操作数硬件平台和操作系统 大多数硬件平台和操作 系统 系统 系统资源 性能好,对服务器要求服务器采用多进程机制,使较高的运行性能,适用 不高 用自带多版本文件系统于各种级别的开发团队 MVFS,对性能有较大负面 影响。做为一款企业级、全 面的开发配置管理工具,适 用于大型开发团队 原子事务支持原子事务处理,保支持原子事务处理,保证数支持 处理 证数据的一致性 据的一致性 变更集及支持变更集的概念,并支持变更集的概念,并且可不支持 变更管理 且可以和Hansky的变更以和Rational的变更管理 管理工具Butterfly完工具ClearQuest完全集成 全集成 命令行界提供所有功能的命令行支持 Build管理,能够确支持命令行界面,但命面 操作,这是实现每天认到每个版本build出来的令较少,支持不够全面 Build的基本条件 文件是由哪些源代码生成的 脱机版本可以保存脱机后文件修能脱机开发,只支持最后一能脱机开发,只支持最保存 改的所有历史版本,并个版本上传回服务器 后一个版本上传回服务 能上传回服务器 器 分支及并采用工作空间的方式,采用工作空间的方式,简便支持分支,支持并行开行开发 简便创建分支、标签,创建无限分支、标签,实现发 实现并行开发 并行开发 文件的重完全支持,使用简便,完全支持 支持,重命名是相当于命名和移且保存所有历史纪录 新建文件,版本重新开动 始。 版本树浏图形化的版本树浏览窗图形化的版本树浏览窗口,不支持。版本管理的粒览 口,用户可以直观地看用户可以直观地看到文件的度太大,只有基于repo 到文件的版本历史,并版本历史,并进行版本比较 的分枝和版本树,而不 进行版本比较 是基于每个文件的,这 样在对于某一个repo有 五个以上的人同时开发 时,就很难协调。 Web界面WEB用户界面,可以浏览可以浏览工作空间的结构、支持 访问 工作空间的结构、历历史,查看文件历史,进行 史,查看文件历史,进文件比较等 行文件比较等 扩展性 能支持大规模开发 能支持大规模开发 能支持大规模开发 报告功能 提供配置报告及历史变提供基本的简单报告,如需不支持 更报告的自动生成功更详细正规的报告需要购买 能,为CMM提供有力的SODA 支持 易用性 在提供全面配置管理功安装、配置、使用相对较复安装、配置较复杂,但 能的情况下,安装、配杂,需要进行团队培训。所使用比较简单,只需对 置、使用较为简单,包有的培训和服务都是收费的 配置管理做简单培训即 括安装、配置、培训在可 内的整个实施周期一般 不会超过一个月。 本地化支支持(包括说明书以及不支持,但是有中文的培训 不支持 持(中培训,客户端支持中英 文) 切换) 分支比较支持到文件 支持到目录 不支持 功能 服务 已在中国成立公司,在国内市场拓展有限,因此服开源软件,没有任何服 北京、深圳、武汉设有务支持会受到限制。现在中务和支持,用户的数据 开发中心与支持中心 国用户的支持是由位于澳大得不到任何保障 利亚悉尼的支持中心联系 授权方式 并发授权 并发授权 免费
/
本文档为【Firefly与其它配置管理工具的比较_Hansky】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索