软件开发过程中的需求分析探讨

软件开发过程中的需求分析探讨

ID:32175393

大小:54.57 KB

页数:6页

时间:2019-02-01

软件开发过程中的需求分析探讨_第1页
软件开发过程中的需求分析探讨_第2页
软件开发过程中的需求分析探讨_第3页
软件开发过程中的需求分析探讨_第4页
软件开发过程中的需求分析探讨_第5页
资源描述:

《软件开发过程中的需求分析探讨》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件开发过程中的需求分析探讨摘要:软件需求分析是软件工程过程中计划阶段的一个决定性步骤,在这一步将把含糊的软件概念转变成具体的规格说明,从而奠定了软件开发的基础。本文通过对需求的定义、需求的类型、需求分析的任务、需求分析的方法、需求的变更以及应用实例等几个方面的介绍,对于在软件开发中做好需求分析有一定的借鉴作用。关键词:软件;开发;需求;分析1引言软件项目的开发主要分为五个阶段:需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段,需求调研和分析是软件开发的第一个阶段。完善的软件需求说明是软件开发项目得以成功的基础。不管设计如何精心或者编码如何巧妙,如果对软件需求不加以明确规定,将使用户

2、感到失望,并给软件开发者带来严重后果。据权威部门统计,目前软件的成功率约为25%,75%的软件是失败的。在这75%的失败中,约有50%以上的软件是由于需求的原因造成的。另有资料表明,软件开发项目中返工开销几乎占开发总费用的一半,而导致返工的主要原因是需求分析错误或不明确,从而引发项目开发中的一系列更改。成功的软件需求分析不仅能提高软件的成功率,而且能节省大量的资源,因此需求分析是软件开发的关键阶段。2需求的定义和类型2.1需求的定义软件产业存在的一个普遍问题就是缺乏统一定义的名词术语来描述我们的工作。客户所定义的“需求”对开发者似乎是一个较高层次的产品概念,而开发人员所说的“需求”对用户

3、来说又像是详细设计了。实际上,软件需求包含着多个层次,不同层次的需求从不同角度与不同程度反映着细节问题。IEEE软件工程标准词汇表(1997年)将需求定义为:1)用户解决问题或达到目标所需的条件或能力。2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。3)一种反映上面1)或2)所描述的条件或能力的文档说明。IEEE的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求,其关键的问题是一定要编写需求文档。另外,还有其他几种关于“需求”的定义:需求是用户所需要的并能触发一个程序或系统开发工作的说明;需求是从系统外部能发现系统所具有的满

4、足于用户的特点、功能及属性等;需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。从以上的定义中,我们依然无法得到有关“需求”的清晰概念,真正的“需求”实际上存在人们的脑海中,任何文档形式的需求(例如:需求规格说明)仅是一个模型或一种叙述,但是编写出高质量的需求规格说明书在需求分析阶段还是关键。6需求分析奠定了软件工程和项目管理的基础。我们在建造软件系统这座大厦的时候,如果需求分析的基础不够坚实和牢固,那么往往会导致软件系统问题百出,甚至被马上丢弃。在建造软件系统的过程中,如果我们经常习惯地沿用一些不规范的方法,其后果便是产生一条鸿沟──开发者开

5、发的与用户所想得到的软件存在着巨大的“期望差异”。因此“需求”这个名词的定义不仅仅是从用户角度对系统外部行为的描述,以及从开发人员角度对系统内部特性的描述,其关键的一点是“需求”必须文档化。2.2需求的类型软件需求包括三个不同的层次──业务需求、用户需求和功能需求。除此之外,每个系统还有各种非功能需求。业务需求(BusinessRequirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围(visionandscope)文档来记录业务

6、需求,这份文档有时也被称作项目轮廓图或市场需求(projectcharter或marketrequirement)文档。用户需求(UserRequirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。功能需求(FunctionalRequirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求(behavioralrequirement),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知

7、用户已接受其预定”。功能需求描述是开发人员需要实现什么。非功能需求(Non-functionalRequirement)定义了软件产品为满足用户业务需求而必须具有的除功能需求以外的特性。包括系统的完整性(联机帮助、数据管理、用户管理、软件发布管理、在线升级等)、性能、可靠性、可维护性、可扩充性、对技术和业务的适应性等。3需求分析的任务3.1解决的问题1)齐全、准确地找出目标系统全部的功能、性能、限制;2)找出全部的输入流、输出流;3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。