单元六 产品开发流程及相关知识6.1 产品开发流程..................................................................................16.2 小项目开发管理..............................................................................36.1 产品开发流程6.2 小项目开发管理一个企业的管理,大公司有大公司的方式,小公司也有小公司的方式,如果把别人的经验生搬硬套到自己身上,可能会适得其反。同样,管理一个开发项目也一样,大项目和小项目的方式不完全一样。但从另一个角度来看,项目的大与小并没有本质的区别,很多方法是共通的。6.2.1 小项目的特点大家知道,"软件危机"的出现起源于一些大型项目的不断延迟甚至失败。小项目相比之下,具有以下特点: 1.项目功能相对较少 2.开发人员较少 3.开发周期较短 另外,在现实中,有很多小项目是由一些中小公司进行开发的,这些公司往往人员流动性较大,这也是不容忽视的一个现实. 6.2.2 小项目开发中常犯的错误小项目看起来比较简单,比较容易成功,因而人们往往忽视了小项目的管理,其实这是一种误解,小项目开发中容易犯以下的一些错误: 1.开发之前没有认真地进行项目可行性和工作量的估计。往往由于项目较小,便很草率地制定一个开发日程表,没有认真地估计项目难度,结果实际完成时间与估计完成时间往往有较大差别。 2.没有真正的设计过程 开发人员少,意味着不同人员的模块之间交互、接口相对少一些。开发周期短意味着往往是同样的几个人从头到尾负责一个项目。这两者都让人容易犯些错误。往往是几个人碰一下头,讨论一下最基本的;软硬件结构、函数接口便分头去做自己的工作了,没有一份较正式的文档。 这种做法潜在的危险之一是有的人可能会对讨论出的接口、结构理解有偏差(应该承认人是会犯错误的)。一个误解可能造成以后的返工。 另一个潜在的危险是由于讨论时忽略了某些情况,等大家都按当时的分工完成属于自己的工作后,才发现各个模块组合起来却形不成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。 第三个潜在的危险是一旦有人中途退出开发队伍,其他人加入时,新来的人难以理解以前别人做好的代码,索性自己从头来。另外,没有文档的程序,日后维护和版本升级都比较困难。 3.不经过单元测试而直接进入系统测试 造成这一现象的原因是每个模块相对比较简单,但是为了测试一个模块需要建立一些测试环境。例如,为了测试一...