衡量进度最直接的方法是可运行的软件。所以开发过程一个终极目标是持续快速的提交版本。开发组以最快的速度提交版本,提供测试人员进行测试。经过项目组测试人员测试的版本,同样以最快的速度提交客户测试人员进行测试。为达到这个目标,必须建立相应的机制,达到版本的快速持续发布。通过测试得到反馈,而这些反馈能够驱动开发.
尽快提交版本包括:
开发人员尽快的将代码提交到配置管理开发库中,最长不能超过一天
开发人员提交的代码必须是编译通过的
开发人员本地代码与配置开发库代码尽量保持一致
每日创建保证版本的快速全编译及部署,提供测试人员测试
每日创建
开发组每天的工作成果,在每天发布的版本中充分体现。每天晚上进行全版本的编译发布,第二天测试人员进行测试,将结果反馈给开发组。每日创建的实现完全基于ant实现,通过定时任务每日进行。
步骤:
取得vss中最新源代码
取得vss中数据库操纵脚本并运行
生成ormap
编译最新源代码
停服务器
完全删除老系统
部署新系统
启动服务器
详细内容参见自动发布脚本
持续集成
具备了每日创建的机制后,每天开发组完成的新功能或修改的bug将在当天晚上集成发布到测试服务器上。这样,开发组可以得到测试结果的快速反馈,又促进了下一轮的迭代。
简单设计
目前整个系统已经具备稳定的开发框架,所以我们的业务实现可以设计拖后,开始进行简单设计,明确接口及xml格式,在编程中通过重构进行设计,时刻把握一点就是最快的发布版本。
自动化单元测试与重构
为了达到最快速度的发布版本,我们可能会产生一个拙略的实现,这可以通过重构来在以后的版本中改进,当然,必须通过单元测试提供重构过程中的质量保证。
基于模型进行工作,自动化生成文档
维护模型比维护文档更轻松,在维护一致性方面也更有效。所以我们必须基于模型工作,而文档可以随时根据模板自动生成。
通过rational rose建立一套分析设计模型,将rose与vss进行集成,整个项目组可以在整个模型上进行协作。通过定义rose模板实现文档的自动化。
自动化检查代码规范
代码规范的检查我们基于checkstyle进行,目前采用的检查模板是J2EE标准模板,我们可以开发自己的模板进行检查。
Checkstyle对程序命名规范,缩进规范等,通过与ant集成可以自动化,并生成结果报告。
自动化生成javadoc
系统的接口等文档通过javadoc生成,通过ant发布脚本在每天的版本发布中可以自动生成。为了达到我们要求的格式,可以自己定义xsl样式表。