需求分析的重要性
一个软件团队拿到用户需求之后,首先第一步应该做什么呢?以前的我会说:“当然是编程了!”但是经过将近两年的学习之后的我会说:“先进行需求分析吧,不然如果辛辛苦苦写出来的东西不符合用户要求的话就白写了!”软件工程理论认为,在软件生命周期中,需求分析是最重要的一个阶段。软件需求分析的质量对软件开发的影响是深远的、全局性的,高质量需求对软件开发往往起到事半功倍的效果,所谓“磨刀不误砍柴功”。在后续阶段改正需求分析阶段产生的错误将付出高昂的代价。没错,不知道你们有过这样的经历没?以前老师留过一个作业,但是由于我把题目理解错了,也就是没进行需求分析,所以一周的辛苦都白费了,所以需求分析很重要。
软件需求分析,是一个软件的利益相关者(即用户)和软件团队(即开发者)相互沟通的过程,一方是软件的使用者,一方是软件的制造者,在软件制造过程中,只有双方相互配合,共同对软件进行设计才能最后达到使用者的要求。用户是业务上的熟悉者,对业务流程有非常清晰的了解,但是,对于软件需求方面的描述是不了解的,他们所能提供的只是他们最终要达到的功能,但是,这其中包含的业务流程是非常复杂的。既然这样,那么以后我拿到用户需求之后,一定要先根据功能和流程进行初步的设计,构造出业务流程图,再让用户进行评审,提出业务流程上不对的地方进行修改。只有经过这样来回的交流,最终才能取得较全面的需求,以减少后期的修改。需求分析可以使得开发和测试更能够了解客户的需求,把一些技术难点和可能遇到的难点问题提出来,尽早解决,并且达到一致,便于以后的开发和测试。
大家都知道,需求是经常变动的,只有先做好需求的分析,了解业务以后的发展趋势,做好具有拓展性的系统设计,才会给系统更大的扩展空间,从而在需求发生变化的时候可以更从容的修改。只有把这一点做好,才能做一个合格的程序员。