技术开发 频道

XP项目配置管理

    有一个企业级开源内容管理系统Plone,看其描述很是强大。

    “Plone是Zope上的一个用户界面友好、功能强大的内容管理系统。Plone适合用作内部网/外部网的服务器、文档发布系统、门户服务器和异地协同的群件工具。Plone被eWeek杂志评定为2004年度10个非常好的产品; InformationWeek则评论Plone是一个世界级的内容管理系统。同时,冠群公司(CA)也将Plone列为首批开放源代码资助项目之一,并在Plone基金会中占有董事席位。

    Plone拥有丰富的扩展产品,包括论坛、Blog、Wiki、投票、问卷、考试、Portlet、版本管理、邮件列表等。

    Plone基于发展多年的web应用服务器Zope和内容管理框架CMF。

    Plone拥有强大的特性,包括易用、灵活的工作流引擎,能够对用户进行分组管理,还可以对内容的元数据、皮肤、文本格式转换、评注及讨论等进行管理。”

 

    其实看好的是它的强大和流程定制功能(见上图的workflow),能否定制成一个需求变更管理系统,尚待进一步探索。

另外,自己也有一个idea,开发一个简单实用的web应用,来统一管理变更。就象Bugzilla这样,功能其实不用太强大,界面不需要太美观;重要的是,能解决这样繁琐的问题。再说,一直都使用了这么的开源软件,能自己也提供一个,很高兴。现在,国内也有不少个人和组织在sourceforge上申请了project,也有一些网站提供了开源的空间。在进一步地调查变更管理后,我想就会把这个idea付诸实践了。

    4、构建管理 

    ANT几乎成了Java默认的构建工具,但要编写ANT的脚本还是很麻烦,即使能有现成只需要copy过来,也还是需要修改成本项目需要的。于是,出现了Maven。借用《JUnit in Action》这本书中话来描述ANT和Maven:“如果说ANT是一个构建工具,Maven就是一个构建环境”。“Maven可以增强脚本的复用。”关于Maven和Ant更详细的比较可以来看一篇blog《maven 和 ant 的比较》。

    ANT是用过的最好的Build工具,而XP的核心实践——持续集成还需要另外的工具。CruiseControl 则是一个开源的持续集成框架。    CruiseControl能够不断的进行builds,并且发布结果,并且能够在出现错误或者运行正常的时候,发出即时通告。关于CruiseControl的应用可以参考《浅谈CruiseControl的部署》。

    关于持续集成,Martin Fowler有专文讨论,看这里。其中说到“集成越频繁,效果越好”,其实实践中会遇到一个问题:频繁的集成有没有必要。更多的情况是,每次的check in并不能给整体造成很大的影响,为什么还要耗费时间去集成?所以我们最后采用的是每日构建来取代持续的集成。

0
相关文章