浅谈软件开发中的需求分析

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:chunyu1988
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:众所周知,想要做好软件 ,首先要做好需求分析,但是实际上人们对需求分析却不够重视。并且由于需求分析的错误引起的软件开发的错误在制作时是看不出来的,只有做完软件进行检测时才能发现,但是这时想要改正错误就要付出双倍的代价。下文就需求分析的相关问题进行了探讨。
  关键词:软件开发 需求分析
  分类号】:TP311.52
  一.什么是需求分析
  结构化软件开发一般分为分析、设计、开发、测试、验收与运行等阶段。开发前,会进行前期的可行性研究;在运行开始以后,还要进行后期维护。需求分析是结构化开发中的重要阶段。通常情况下,国内软件开发公司在做欧美和日本的项目时,对前期的可行性研究参与得较少,一般都是对方已经做完可行性研究,国内软件开发公司从需求分析开始做起,直到软件开发后的运行和维护。
  所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚客户的需求,包括需要输入什么数据,要得到什么结果,最后应输出什么,等等。可以说,软件工程当中的“需求分析”就是确定要计算机“做什么”。
  二.需求分析的重要性
  从需求分析的定义上,就可以看出需求分析在软件开发过程中的重要性了。需求分析做得不对,后面的步骤做得再好,也只能是南辕北辙,无法满足客户的要求。研究表明,改正产品付诸应用后所发现的一个需求方面的缺陷,比在需求阶段改正这个错误要多付出大约100倍的成本。而另一项研究发现,在需求开发阶段发现的一个错误,平均仅需要花30分钟修复,但若在系统测试时发现则需要5—17个小时来修复。
  需求工程的成功与否直接关系到系统给的命运,需求工程絕对不是软件开发的前期任务,而应该在整个系统的生命周期里都扮演着重要角色。在需求工程阶段解决和根除需求引起的问题可以大大降低生产和维护的成本,提高用户的满意度。在软件开发的过程中,需求工程阶段是了解用户需求的最佳时期,但很大一部分用户不知道、不了解需求工程,以至于在和他们交流的时候,他们都不能准确完整的说出自己的需求,因而对于从事需求工程的人员来说,能够正确的理解用户的需求观点,利用一些方法和技巧来启发用户阐述清楚自己的需求是很重要的。需求工程作为了解并实现软件开发者的目标的重要手段,有着不可替代的作用。
  比如一个失败的案例:由于和客户签订了合同,5个月必须交付软件,开发时间紧迫,导致项目计划时做需求分析的时间只给了2周时间(理由是客户的文档已经提供好了,照着做即可)。结果,由于前期对客户文档理解得不是很清楚,导致开发进行到3个月的时候发现需求上有争议。在和客户确认后得出结论:如果要满足客户的要求,则需要对整体架构进行修改。虽然最后按期交付了软件,但是整个项目组最后两个月每天都在加班,包括周末,而且软件质量也没有得到客户的充分认可。
  再如我们在了解客户需求的同时,应该尽量了解客户为什么要这么做,帮客户一起想需求,以便我们开发的软件能够更好地为客户服务。每天开完会后,我们应该把客户的需求整理好,发给同事进行研究分析,建立简单的基础模型并研究技术可行性。需求分析结束后,保持每周至少3次电话会议与客户进行沟通,随时了解客户的需求。最后正因为在前期阶段进行了这种细致的需求分析,项目组在很少加班的情况下,不但按时交付了项目,并且得到客户的充分认可。
  三.软件需求分析的任务
  软件工程的发展来源于信息需求对它的推动,现在互联网技术和应用越来越成熟,信息的获取也逐渐变得简单和完整,但是由于资源的开放性、系统与系统的相互渗透性、用户的变动性让需求变得多目的、多变化,增加了软件制作的难度,但同样带来了巨大的用户市场。需求的获取同样也是困扰软件工程的绊脚石。需求与资源的搭配不合理,就会影响软件工程的发展。未来适应变化多端的用户需求,必须让软件也随之变化。要满足多样化的信息需求,提取合适的信息需求建立模式,就要有相应的系统对需求信息进行分析和总结,通过程序化的模式来制定切实可行的软件方案。
  在软件分析过程中,应尽可能地让更多的人参与进来,而不仅仅是软件分析师自己。在之前的美国项目中,在前期分析时软件开发的核心技术人员和测试人员就已经进入项目组,每天技术人员会对分析的结果提出技术实现的难点以及改进的方法,笔者在随后的会议上就会和客户进行讨论,尽量在满足客户需求的同时,使用更简单可行的技术,这样就为以后的开发奠定了基础,使开发时的工作量大大减少。测试人员也在需求时提出从测试角度看到的问题,同样在需求分析阶段得到解决,节省了大量的开发时间。
  需求工程在未来发展中会有如下几个方面的着重考虑:(1)缩小需求工程在理论研究阶段取得的成果同实际应用中得到的效果的差距,通过得到的结论来更好的设计软件;(2)规范需求工程的各种机制,可以有需求工程规格数据的搜集、整理、制作、实现以及维护,也可以有需求工程的问题的解决办法;(3)保证需求工程有较高的质量。这一点是需求工程最为关键的要求,质量的高低直接影响了未来实现效果的好坏。
  需求工程就是对未知问题进行探索、处理的过程。未来必然会朝着对象具体化、分析自动化的方向发展。
  四.进行需求分析的注意事项
  1.需求分析是分析人员与用户共同的责任。用户必须对软件功能和性能提出初步要求,并澄清一些模糊概念。而需求分析人员则要认真了解用户的要求,细致地进行调查分析,把用户“做什么”的要求最终转换成一个完全的、精细的软件逻辑模型,并写出软件的需求规格说明,准确地表达用户的要求。在一些项目中,由于时间紧迫,一些模糊问题没有及时澄清,导致最后返工,影响了项目进度。
  2.需求分析阶段研究的对象是软件项目的用户要求。需要注意的是,必须理解用户的各项要求,但又不能全盘接受所有的要求。在一些项目中,针对客户提出的需求,了解客户的意图后,发现技术上实现有很大难度。我们了解到这个需求对客户来说不是十分重要,于是和客户商量出一个折中的解决方案,绕过技术难点,并且没有降低客户满意度。
  3.分析人员要使用符合客户语言习惯的表达,应主动积极了解客户业务和相关知识。需求讨论集中于业务需求和任务,因此要使用术语。客户应将有关术语教给分析人员,而客户不一定要懂得计算机行业的术语。由于通常情况下客户对计算机术语了解不多,需求分析人员应该尽量将计算机术语转化成通俗易懂的语言,这样便于和客户沟通。而对于客户方面的术语,一方面不懂的时候一定要问;另一方面也要多学习。
  综上所述,需求分析是软件开发周期中的重要阶段,关系到软件开发的成败。我们在软件开发中应该充分重视这一阶段,尽量将问题在这一阶段解决好,为后期的软件开发打好坚实的基础,使项目能够保质保量的完成。
  参考文献:
  【1】李德毅.需求工程----对复杂系统的软件工程的基础研究【J】.中国基础科学,2009,11(2);56-57.
  【2】李虹,闫德恒.基于项目需求工程理论的软件需求管理浅析【J】.国科技信息,2011,(16);72-73
  【3】李建平.软件需求工程过程管理的研究与应用【J】.科技信息,2011,(5);66-67
其他文献
摘要:当下,我国的建筑业审批制度中,除了消防、环保(包括绿化)、人防、抗震外,建筑节能已列入强制性的审查专项。这就要求我们在民用建筑设计中有专门的节能篇章。在这个节能篇章中,电气专业的民用建筑节能设计可从供配电系统设计方案、产品的选用、运行节能控制方案等三个主要方面着手。  关键词:民用建筑;电气;节能设计  【分类号】:TU85  1.建筑电气节能的基本要求  建筑电气节能设计除满足相关的建筑能
期刊
【分类号】:F273  摘 要:对统计工具应用与QC小组活动质量的关系进行了分析,简要的介绍了QC小组活动中主要统计工具方法的应用,针对统计工具方法在QC小组活动中的应用现状,探讨了如何使用统计技术推广QC小组活动质量,以期指导企业提高自身质量管理水平。  关键词:统计技术工具方法,QC小组,质量管理,数据  一、前言  质量管理是企业的生命,质量管理是企业管理的中心环节,质量管理的理论和方法是Q
期刊
摘要:电力工程质量监督的性质是政府为了确保电力工程质量、保障公共卫生、保护人民群众生命和财产,按国家法律法规、技术标准、规范及其他建设市场行为管理规定的一种监督、检查、管理及执法机构实施行为。施工的质量与管理行为是宏观性质的,具体的技术监督可以委托给具有资质的工程质量监督机构进行。  关键词:电力工程;质量监督;控制;管理  分类号】:TM08;F426.61  电力工程质量管理过程中的五项基本法
期刊
分类号】:N945.16  摘要  在网络通信系统的支持下,视频会议系统实现实时可交互的视频、语音、文字、白板等传输。随着视频通讯技术的发展及应用,工作效率和工作质量要求在不断提高,高质量视频会议系统将成为现代化办公建设的重要组成部分,网真系统是一种全新的高质量视频系统技术,它结合智能化IP网络、统一通信、超高清IP视频、空间IP音频、交互式协同组件、数字电影、灯光环境、人体工程等领域一系列的集成
期刊
摘要:协同决策(CDM Collaborative Decision Making)是一种基于资源共享和信息交互的多主体(空管、机场、公司等)联合协作运行理念。协同决策的目的是通过资源共享、信息交互、多方参与、群体决策使所有决策主体借助资源共享和信息交互,统一认知整个系统的运行态势和限制,及时协调,相互配合,做出科学决策,实现共同目标,同时尽量满足自身需求。  关键词:西北空管 CDM系统 工作质
期刊
【摘要】机械设计制造及其自动化技术自产生以来,就得到了各行各业的亲睐,都把机械制造及其自动化作为自己未来一个发展的趋势,特别是信息技术高度发达的今天,信息技术与机械制造的结合大大加快的工业化的进程,所以能够实现一个国家的机械设计制造及其自动化,对于整个国家工业化的进程有着极大的推动意义。  【关键词】机械设计;自动化;技术;发展;问题  【分类号】:TH122-4;TH16-4  一、机械设计制造
期刊
摘要:文章作者通过总结在煤矿测量工作中第一线的经历,针对煤矿测量工作中不断出现的由于测量误差产生的事故事例,结合自己的专业技术提出了如何提高煤矿测量工作准确性的一些思路和方法。  关键词:煤矿测量误差;解决措施;矿图绘制;煤矿测量  中图分类号:P207  一、前言  煤矿测量工作是煤矿生产建设的基础工作,它贯穿于煤矿设计、基本建设和生产的全过程,由于煤矿测量工作涉及地面和井下,它不但要为煤矿生产
期刊
摘 要:青少年辍学是制约“普九”发展的突出问题,在全国15到19岁早婚人口中,农村接近90%的孩子会由于各种原因选择结婚,这是制约社会发展的另一大问题。这两个问题的存在,使很多早婚家庭面临重重危机,带来新的家庭问题和社会问题,形成恶性循环。  关键字:青少年;农村失学;早婚现象  中图分类号:C1 文献标志码:A  青少年辍学是制约“普九”发展的突出问题,也是全社会普遍关注的热点和难点问题。此问题
期刊
摘 要:本文针对土地规划中存在的问题进行分析,并提出解决问题的具体措施。  关键词:土地规划 问题 措施  中图分类号:F301.23  一、引言  土地规划是指根据国家社会经济均衡发展的要求,在一定区域范围内对土地开发、利用、治理以及保护在空间时间上所作的战略性布局和统筹规划。土地规划具有指令性和拘束性,属于行政规划的范畴。其目的在于加强土地利用并合理开发与保护土地资源,促进国民经济的和谐发展。
期刊
【摘 要】物资采购管理一直是为企业谋利益、求发展的一个重要环节。而如今煤矿企业的物资管理中存在着诸多问题,大大影响了企业的持续性发展。针对以上问题,本文在分析供求方面的基础上提出了一系列措施,从而加强了物质采购管理的力度。  【关键词】企业物资管理;问题;对策  中图分类号:F251  企业谋求经济效益以取得持续性的发展,是现代企业管理必须考虑的首要问题。 加强煤炭企业物资采购管理,运用现代的先进
期刊