- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析软件开发项目中的需求分析
【摘要】在软件开发项目中,需求分析是关乎软件项目开发成败的重要因素。现在的软件项目中返工开销占了总开销很大比例,而导致返工的主要原因是需求分析不明确。针对这一情况,文章阐述了软件开发中需求分析任务、需求分析过程、需求分析方法、需求分析变更问题,以及如何确保需求分析质量的措施。
【关键词】软件开发;需求分析;原型法;需求变更
随着全球经济、科技的快速发展和社会信息化进程的加快,计算机被广泛应用于各行业中,各种应用软件应运而生,各行业的管理或生产日趋专一化、数字化、快捷化。从而用户对计算机软件的要求更加复杂和严格。软件需求分析正是解决用户这种需求,软件需求分析是关乎软件项目开发成败的重要因素。有资料表明,现在的软件项目中返工开销几乎占了总开发的一半,而导致返工的主要原因是需求分析不明确,甚至有些人不知道需求分析是什么,从而引发项目开发中的一系列更改。这些更改可能导致浪费大量资源、软件项目无法按时完成等严重问题。所以,需求分析是软件设计和实现的基础,是软件项目迈向成功的第一步!
一、软件需求分析的任务
一个软件项目的开发主要分为五个阶段:需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。而需求分析阶段所得到的结果,是软件项目开发中其他四个阶段的必备条件。从以往的经验来看,需求分析中的一个小的偏差,就可能导致整个项目无法达到预期的效果,或者说最终开发出的产品不是用户所需要的。何谓软件需求分析。先举个例子来说明,对于建造房子这个问题相信大多数人都知道,用户要建一幢房子,建房者一定会与用户详细讨论各种细节,楼层高多少?构架如何?图纸样式等等,每个环节都有详细的过程文档,双方都明白假如完工后修改带来的损失以及变更细节的危害性。同样在软件需求分析中也需要有详细的文档,软件开发者要从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出开发者的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用开发者的产品帮助他解决业务或管理问题。
软件需求分析的任务不是确定系统怎样完成的工作,而是确定系统必须完成那些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。它所做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统的接口细节,定义软件的其他有效性要求。
软件需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。其实现步骤是:(1)获得当前系统的物理模型;(2)抽象出当前系统的逻辑模型;(3)建立目标系统的逻辑模型。如图1所示:
二、软件需求分析的过程
软件需求分析的过程具体可分为对问题的识别、分析与综合、制定规格说明和评审。
问题识别是指系统分析人员研究可行性分析报告和软件项目实施计划,确定目标系统的综合要求,并提出这些需求实现条件,以及需求应达到的标准。这些需求分为:功能性需求+非功能性需求,其具体包括:(1)功能需求:列举出所开发软件在职能上应做什么。(2)性能需求:给出所开发软件的技术性能指标,如存储容量限制、运行时间限制、安全保密性等。(3)环境需求:软件系统运行时所处环境的要求,如硬件方面:机型、外部设备、数据通信接口;软件方面:系统软件,包括操作系统、网络软件、数据库管理系统方面;使用方面:使用部门在制度上,操作人员上的技术水平上应具备怎样的条件。(4)可靠性需求:对所开发软件在投入运行后不发生故障的概率,按实际的运行环境提出要求。所以对于重要的软件,或是运行失效会造成严重后果的软件,应提出较高的可靠性要求。(5)安全保密要求:应当在这方面恰当地做出规定,对所开发的软件给予特殊的设计,使其在运行中,其安全保密方面的性能得到必要的保证。(6)用户界面需求:为用户界面细致地规定到达的要求。(7)资源使用需求:开发的软件在运行时和开发时所需要的各种资源。(8)软件成本消耗与开发进度需求:在软件项目立项后,要根据合同规定,对软件开发的进度和各步骤的费用提出要求,作为开发管理的依据。(9)预先估计以后系统可能达到的目标,这样可以比较容易对系统进行必要的补充和修改。 除了这些必需的需求,问题识别的另一个工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。
分析与综合的目标是给出目标系统的详细逻辑模型。在此步骤中,分析和综合工作需反复地进行。
对于编制需求分析的文档,我们称描述需求分析文档为软件需求规格说明书,除了编写软件需求规格说明书之外,还要制定数据要求说明书以及编写初步的用户手册。
需求分析评审是
文档评论(0)