软件开发流程(框架性草稿,细节还需要完善,修改中)
团队组成
每个团队开发设立一名项目经理,一名配置管理员,至少一名业务顾问和若干项目组员组成。
进展控制
在开发前先根据项目要求设定一个总体的完成期限,并且根据经验设置若干个项目里程碑,里程碑规定了项目进展所达到的要求,在整个开发流程中采用迭代循环的方式进行渐进式开发,每次迭代周期控制在2-3周左右,每次迭代前确定迭代目标,一般是把需求优先级最高和技术风险最大的用例首先实现,每次迭代都要以得到一个达到迭代目标并明确可运行的版本为结束标志。
需求分析
原则上不限制需求分析过程,但是建议采用UP流程进行需求分析,必须编写详细的文本方式的用例说明(UML图形为可选件)。进行需求分析时采用头脑风暴会议方式,要求项目组所有人都必须参加和讨论。所有的用例和设计都必须保存到配置管理库中。
软件开发
采用敏捷开发过程和持续集成。
测试先行,在写功能代码之前必须先写TestCase,由功能代码和测试代码都由同一个人完成。编写测试代码的时间要占整个编码时间的一半以上。
单元测试行覆盖率要达到90%以上。
每天下班以前必须签入当天的工作代码,并通过单元测试
每次签入必须说明签入结果,比如增加成了什么功能,修复了什么BUG等等。
任何时候组员都采用结对方式,两人同时使用一台电脑。
除非迫不得以,尽量不要采用IDE的DEBUG方式来进行单步跟踪,而是采用记录日志和设置断言的方式来进行DEBUG。
每次发现BUG,尽量修改单元测试以至让单元测试可以检测到该BUG的存在。
会议要求
每次会议必须记录下需要解决的问题和会议结果,并且用摄象机录制整个会议过程,并存档。