软件开发各阶段的质量控制.doc
软件开发各阶段的质量控制 提到软件开发,我们的脑海里总是浮现出这样的情景:开发组的每一位成员都在辛苦的工作,有的加班加点,甚至通宵达旦是常有的事,虽然项目经理修改了一次又一次的进度计划,而实际的开发情况却总是很令人担忧,以至于每次向领导汇报工作的时候总是觉得以前制定的计划没有很好的完成,总是觉得人力资源不够,总是觉得我们没有太多的时间。等到代码终于开发完成了,测试进度却又非常令人担忧,每一个小 BUG 都要花很长的时间去查找,改了某一个小错误却又引起了很多错误,结果产品发布遥遥无期,而项目组里的每一位成员已经筋疲力尽。 怎样摆脱这样 的困境呢 ?为何软件开发项目管理这么困难呢 ?为何我们做的计划总是不能按时完成呢 ?为何软件开发不能像硬件开发那样可以控制呢 ?原因在于软件开发完全靠人的大脑思维产生出产品,而每个人的大脑思维是不一样的,因此在软件开发过程中有太多不确定的、可以变化的因素,我们怎样把握住这些变化因素呢 ?就像我们题目所说的一样,软件开各阶段的成果质量管理,如果我们能够很好的控制软件生命周期每一个阶段的质量,也就很好的控制了整个软件开发的整个过程。 软件产品的质量是个很大的概念,因为软件产品完全是人们大脑思维的产物,就是将大脑里无形 的看不见摸不着的思维变成一个可以看到的,可以解决实际问题的一组界面或者组件。这样的一个复杂的过程,质量应该如何保证呢 ?有人想到了 ISO9000、 CMM,也有人很反对,说应该用敏捷开发。其实,不管用什么样的开发过程,关键是找到这些过程的真谛,有些人说, ISO 和CMM 到中国来就变了味了,为什么变味儿了呢 ?其实我们只学到了该做什么,却不知道怎样去做,为什么要这样做 ?大家都知道做软件开发需要写需求规格说明书和设计文档,为什么要写,文档的重要性有多高 ?没有资深开发和管理经验的人员可能很难理解其重要性,如果只是简单的形 式上去写一篇这样的文档,对后面的编码和测试没有实际的指导作用,甚至起了“误导”作用,同样会引起大量返工,那么这些文档除了负担之外就没有其他用途了,要知道写这些文档是需要消耗项目组资源的 (进度、成本 ...)。 很多人又想到了测试,觉得是我们测试的力度不够,所以我们产品质量不过关,其实,软件开发的质量保证从开发最初就应该开始了,如果到了测试阶段才重视就已经晚了。软件产品开发过程,不管采用瀑布式还是迭代式,