令人郁闷的开发---心得笔记二
设计与编写人员,应该是划分为如下的层次结构:
系统设计人员:负责对整个系统进行设计与模块划分。
模块设计人员:负责对子模块进行详细的设计,构造出软件的结构
测试设计人员:与模块设计人员的进行仔细交流,写出详细的测试用例。
代码编写人员:按照模块设计人员的要求,写出实现代码。
其中,系统设计人员与模块设计人员,需要相互进行详细的探讨,以明确软件的需求与设计,而模块设计人员之间,又应该进行相互的交流,明确相互间需要什么通信机制。模块设计人员,是软件项目中最繁忙的人员,必须给出详细的技术建议和方案,必要情况下,要给出伪代码说明。最后构造出来的模型,需经过系统设计人员的认可。
然后,详细的模块设计与测试用例交付与coder,再让他们编写代码。
在实际操作中,测试设计人员与代码编写人员,可以具备相同的角色,但如果软件设计的人性化越强,测试设计人员就越不能与代码编写人员同步,否则,需要延长周期。因为测试人员的写完测试用例后,也需要进一步完善,同时,要与代码编写人员同步。
如果发生需求变更,首先,应该是模块设计人员入手,看是否会影响到系统模块设计,如果影响了,则通知系统分析人员,如果没有影响,则自己着手去做,并与程序们进行交互。
这里,有个原则是:系统设计人员与模块设计人员,角色不能重合。
初步估计一个中型项目所需的人手(进销存+财务):
系统设计人员:2名
模块设计人员:按模块大小与数量计算,此处为4名
测试设计人员:4名
代码编写人员:4名
总共耗费人手:14名。
如果考虑角色重合,可以达到:10名
也就是说,这个小组,至少需要10人左右,才能正常运作。
时间如下安排
系统设计:3天
模块设计:3天
系统设计与模块设计交互,确定基本模型:6天
测试设计基本模型:5天
测试完善第一步:3天(先进入一部分)
测试完善与代码编写:20天
第一阶段完成(包含单元测试):总计时间40天。
当然,也可以简化成如下形式,但要增长开发周期:
系统设计人员:1名
模块设计人员:按模块大小与数量计算,此处为2名
测试设计人员:1名
代码编写人员:4名
总共耗费人手:8名。
此处没有任何可以重合的角色
时间如下安排:
系统设计:10天
模块设计:10天
系统设计与模块设计交互,确定基本模型:6天
测试设计基本模型:10天
测试完善第一步:4天(先进入一部分)
测试完善与代码编写:30天
总计时间:70天
但如果如下安排,时间并不会更短多少:
系统设计人员:2名
模块设计人员:按模块大小与数量计算,此处为4名
测试设计人员:6名
代码编写人员:6名
总共耗费人手:18名。
时间如下安排
系统设计:5天
模块设计:3天
系统设计与模块设计交互,确定基本模型:6天
测试设计基本模型:5天
测试完善第一步:4天(先进入一部分)
测试完善与代码编写:23天