您的位置:首页 > 其它

谈谈对软件开发过程的认识

2010-07-15 10:59 896 查看
遥想当初上学的时候,认为软件开发就是写代码,如今想想还真是幼稚之极。工作三年后,随着工作之余不断的思考,开始对软件开发过程有了个清晰的认识。

软件工程把整个软件开发过程大致分为需求分析、设计、编码、测试和维护等五个方面。只有每个方面都做好了,才有可能做成一个好的系统,这只是一个必要条件而非充分条件。每个阶段的产出就是文档,在瀑布开发模型里面,下一阶段所需要的信息来源于上一阶段的文档。

需求分析顾名思义就是了解客户具体的需求,了解客户到底要做成一个什么样子的系统。几年前学习软件工程的时候听说需求分析是软件开发过程中最重要的一步,不以为然,现在我认为一个好的需求分析师比开发人员重要得多。一个好的需求分析师不仅能充分发现客户的要求,还能发掘客户没想到的地方;一个好的需求分析师需要把各种系统的业务流程熟记在心,专攻一个行业系统实在是明智之举;一个好的需求分析师生成的需求文档各方面信息一目了然,减少了不必要的沟通时间。

设计包括概要设计和详细设计,需要产出概要设计说明书、详细设计说明书和数据库设计说明书等。系统设计人员应该有着丰富的设计经验和开发经验,一份好的设计让开发人员看得赏心悦目,开发起来简单高效,而一份糟糕的设计会让所有人感觉坠入云端,自然开发的时候困难重重。







编码是所有的程序员最熟悉的一个阶段,也是大多数程序员自认为最重要的一个阶段,其实不然。公司没有编码人员,我可以招,工作经验不足的没关系,我花点时间来培训,给时间让他成熟,并不是所有的编码都有着很高的技术要求,一般一年时间都可以培训出合格的编码人员。但是公司如果没有需求分析人员,招一个进来不见得对我这个系统有多了解,不见得他有着良好的沟通能力,需求分析人员不仅需要掌握计算机方面的知识,还需要掌握所需要开发的系统行业知识,沟通技巧等多方面的知识,这些知识需要时间的积累,并不是一朝一夕的事情。同样设计人员没有丰富的设计经验,那么你这个系统就准备宣布失败吧。编码阶段的产出文档就是具体的程序代码。

测试是用来保障系统质量的,一个好的测试是发现了系统中尚未发现的缺陷,一个成功的测试是发现了测试中的错误。测试并不一定要在编码完成后再展开,在需求分析阶段就可以开始着手设计测试用例。测试也并不全是测试人员的事情,编码人员一定要自己先测试没问题后再提交自己的代码,最好能完成单元测试。测试人员一般都会进行功能测试和集成测试,有白盒、黑盒等测试方法。本阶段的产出是测试报告,测试出来的bug等编码人员修正后再进行回归测试。

维护可以说是软件开发过程中最冗长的阶段。一个系统开发可能就几个月,一年两年的事情,但是维护可能要持续几年,十几年甚至几十年的时间。上述几个阶段生成的文档在维护阶段也会派上用场,因为系统出问题的时候系统设计人员可能已经不在公司任职了,这时候你就需要阅读他留下来的设计文档,了解当初设计人员的想法思路。

用工程的方法来掌控软件开发的过程,这就是软件工程的精髓。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/richard_2010/archive/2010/06/10/5659830.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: