欢迎来到天天文库
浏览记录
ID:45956253
大小:63.50 KB
页数:4页
时间:2019-11-19
《浅谈软件开发中的需求分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈软件开发中的需求分析浅谈软件开发中的需求分析摘耍:众所周知,想要做好软件,首先要做好需求分析,但是实际上人们对需求分析却不够重视。并且由于需求分析的错误引起的软件开发的错误在制作时是看不出来的,只有做完软件进行检测时才能发现,但是这时想耍改正错误就要付出双倍的代价。下文就需求分析的相关问题进行了探讨。关键词:软件开发需求分析分类号】:TP311.52一•什么是需求分析结构化软件开发一般分为分析、设计、开发、测试、验收与运行等阶段。开发前,会进行前期的可行性研究;在运行开始以后,还要进行后期维护。需求分析是结构
2、化开发中的重要阶段。通常情况下,国内软件开发公司在做欧美和日本的项目时,对前期的可行性研究参与得较少,一般都是对方已经做完可行性研究,国内软件开发公司从需求分析开始做起,直到软件开发后的运行和维护。所谓“需求分析”,是指对要解决的问题进行详细的分析,弄淸楚客户的需求,包括需要输入什么数据,要得到什么结果,最后应输出什么,等等。可以说,软件工程当中的“需求分析”就是确定要计算机“做什么”。—.需求分析的重要性从需求分析的定义上,就可以看出需求分析在软件开发过程中的重要性了。需求分析做得不对,后面的步骤做得再好,也只
3、能是南辕北辙,无法满足客户的要求。研究表明,改正产品付诸应用后所发现的一个需求方血的缺陷,比在需求阶段改正这个错误耍多付出大约100倍的成本。而另一项研究发现,在需求开发阶段发现的一个错误,平均仅需耍花30分钟修复,但若在系统测试时发现则需耍5-17个小时来修复。需求工程的成功与否直接关系到系统给的命运,需求工程绝对不是软件开发的前期任务,而应该在整个系统的生命周期里都扮演着重要角色。在需求工程阶段解决和根除需求引起的问题可以大大降低生产和维护的成本,提高用户的满意度。在软件开发的过程中,需求工程阶段是了解用户需
4、求的最佳吋期,但很大一部分用户不知道、不了解需求工程,以至于在和他们交流的时候,他们都不能准确完整的说出自己的需求,因而对于从事需求工程的人员來说,能够正确的理解用户的需求观点,利用一些方法和技巧來启发用户阐述清楚自己的需求是很重要的。需求工程作为了解并实现软件开发者的目标的重要手段,有着不可替代的作用。比如一个失败的案例:由于和客户签订了合同,5个月必须交付软件,开发时间紧迫,导致项目计划时做需求分析的时间只给了2周吋间(理由是客户的文档已经提供好了,照着做即可)。结果,由于前期对客户文档理解得不是很清楚,导致
5、开发进行到3个月的时候发现需求上有争议。在和客户确认后得出结论:如果要满足客户的要求,则需要对整体架构进行修改。虽然最后按期交付了软件,但是整个项目组最后两个月每天都在加班,包括周末,而且软件质量也没有得到客户的充分认可。再如我们在了解客户需求的同吋,应该尽量了解客户为什么要这么做,帮客户一起想需求,以便我们开发的软件能够更好地为客户服务。每天开完会后,我们应该把客户的需求整理好,发给同事进行研究分析,建立简单的基础模型并研究技术可行性。需求分析结束后,保持每周至少3次电话会议与客户进行沟通,随时了解客户的需求。
6、最后正因为在前期阶段进行了这种细致的需求分析,项目组在很少加班的情况下,不但按吋交付了项目,并且得到客户的充分认可。三•软件需求分析的任务软件工程的发展來源于信息需求对它的推动,现在互联网技术和应用越来越成熟,信息的获取也逐渐变得简单和完整,但是由于资源的开放性、系统与系统的相互渗透性、用户的变动性让需求变得多目的、多变化,增加了软件制作的难度,但同样带来了巨大的用户市场。需求的获取同样也是困扰软件工程的绊脚石。需求与资源的搭配不合理,就会影响软件工程的发展。未来适应变化多端的用户需求,必须让软件也随之变化。要满
7、足多样化的信息需求,提取合适的信息需求建立模式,就要有相应的系统对需求信息进行分析和总结,通过程序化的模式來制定切实可行的软件方案。在软件分析过程中,应尽可能地让更多的人参与进來,而不仅仅是软件分析师自己。在Z前的美国项目中,在前期分析吋软件开发的核心技术人员和测试人员就已经进入项目组,每天技术人员会对分析的结果提出技术实现的难点以及改进的方法,笔者在随后的会议上就会和客户进行讨论,尽量在满足客户需求的同吋,使用更简单可行的技术,这样就为以后的开发奠定了基础,使开发吋的工作量大大减少。测试人员也在需求时提出从测试
8、角度看到的问题,同样在需求分析阶段得到解决,节省了大量的开发时间。需求工程在未來发展中会有如下儿个方面的着重考虑:(1)缩小需求工程在理论研究阶段取得的成果同实际应用中得到的效果的差距,通过得到的结论来更好的设计软件;(2)规范需求工程的各种机制,可以有需求工程规格数据的搜集、整理、制作、实现以及维护,也可以有需求工程的问题的解决办法;(3)保证需求工程有较高的质量。这一
此文档下载收益归作者所有