技术开发 频道

实战每晚构建之分析模型

【IT168 技术文章】

    1、前言

    本文有两个目的:实现每晚构建平台和探讨一个软件从需求文档到设计文档的书写规范。

    每晚构建是软件研发管理中极具价值的手段,对于加快发现和改正缺陷,降低集成风险,提高产品质量,加强成员沟通与协作,缩短产品上市时间,增加项目开发透明度,提高项目组成员信心和斗志有着非常重要的作用和意义。本文从软件工程过程:需求定义,分析,设计出发描述了实战每晚构建平台的大部分过程。

    软件工程中文档有着极其重要的地位,良好的文档风格和习惯是一个团队成熟的重要标志。目前有些软件研发人员特别是刚刚走上岗位的研发人员对文档书写没有一个统一的概念,他们不知道需要写那些文档,他们不知道每个文档需要写到什么地步,一提到写文档就抓耳扰腮。本文试图在这个方面提供一个文档样例,我不认为我的文档写的很好,只希望能起到抛砖引玉之功效。

    为了实现这两个目的,本文首先解释了每晚构建,让读者对这个术语有个比较清楚的认识;然后借助于《编写有效用例》中的用例编写技术编写了每晚构建平台的用例并附加了其他相关需求形成了一个相对使用的需求定义文档;接着用面向对象的系统分析方法对需求定义进行了问题空间分析,构造出分析模型;为了读者更好更快地理解设计,后面是一整节的相关开源或第三方技术介绍,有类似于"Hello world"的入门介绍,也有精髓内容解析,还有注意点提醒;接着是平台两大系统的设计。

    整个每晚构建平台包括两大子系统:构建系统和构建信息显示系统。构建系统用ANT构建脚本实现;构建信息显示系统是个典型的web应用。两者都采用了面向对象的分析和设计技术。

    需求定义的阅读应该以用户为主,文档撰写者为辅,需求定义完成的标志是两者达成了一致;分析章节的阅读应是文档撰写者帮助用户阅读,使用户理解并相信分析模型是能解决用户的问题的;设计章节的阅读主要是系统实现者,除了要求可实现性外,设计模型还要和分析模型有很强的继承性和一致性。

    整个文档分为上中下三篇,上篇主要讲述需求定义和分析模型。

    2、每晚构建的定义和作用

    构建是从代码库中取出一个开发中的软件项目的所有最新代码,放在一个干净的环境下面,编译源代码文件,连接,安装和测试,并记录整个过程中所有日志的动作系列。

    构建平台是一个构建和构建信息展示的系统。

    每晚构建主要是指在开发活动不太激烈的情况下,尽量不要干扰开发者的正常开发工作,保证每天执行构建一次。

    在《cvs和nightlybuild技术》一书中提到了每晚构建的作用:

    每个模块有一部分成果集成一部分成果可以大大地降低集成风险,加强模块间协作性错误的诊断,降低整个系统的不确定性,可以更好地定位错误从而加快开发速度,促使模块间的接口规范而增强团队合作,每天都有新系统新成绩是对每位项目组成员的一个重要激励。

    除了这些作用之外,我们还可以从每晚构建中为项目管理提供额外的信息:

    每晚构建的产品,每晚构建过程的记录,每晚构造过程中的测试记录,分析测试质量的测试覆盖率分析,构建对象中项目组成员的贡献和项目组成情况分析(本文称为项目度量)。

0
相关文章