第四章(需求分析).ppt
《第四章(需求分析).ppt》由会员分享,可在线阅读,更多相关《第四章(需求分析).ppt(165页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、u软件需求软件需求u需求工程需求工程u分析建模分析建模u需求管理需求管理u本章小结本章小结【学习目标学习目标】本章介绍需求分析的意义、概念和方本章介绍需求分析的意义、概念和方法,了解结构化分析方法和需求管理的关法,了解结构化分析方法和需求管理的关键活动;要求学会运用实体关系图、数据键活动;要求学会运用实体关系图、数据流图和状态控制图进行结构化分析建模,流图和状态控制图进行结构化分析建模,能够编写软件需求规格说明。能够编写软件需求规格说明。第四章软件需求分析与建模【学习方法学习方法】正确理解需求工程涉及的基本概正确理解需求工程涉及的基本概念,结合具体实例运用结构化分析技念,结合具体实例运用结构化
2、分析技术,从而达到理论学习及在实际项目术,从而达到理论学习及在实际项目中应用的目的。中应用的目的。第四章软件需求分析与建模【难重点难重点】本章的学习重点在于理解软件需求的本章的学习重点在于理解软件需求的概念和重要性,熟悉需求开发和需求管理概念和重要性,熟悉需求开发和需求管理的基本思想和主要活动,掌握结构化的分的基本思想和主要活动,掌握结构化的分析方法;难点是怎样在实际的软件项目中析方法;难点是怎样在实际的软件项目中灵活运用这些思想和方法。灵活运用这些思想和方法。第四章软件需求分析与建模【课前思考课前思考】u软件需求存在什么问题?软件需求存在什么问题?u什么是软件需求?什么是软件需求?u什么是需
3、求工程?什么是需求工程?u常见的需求分析方法是什么?常见的需求分析方法是什么?u需求分析的结果可以验证吗?需求分析的结果可以验证吗?u需求规格说明有什么质量要求?需求规格说明有什么质量要求?第四章软件需求分析与建模第四章软件需求分析与建模【本节知识点本节知识点】u软件需求的定义软件需求的定义u需求的层次需求的层次u导致需求缺陷的原因导致需求缺陷的原因4.1 软件需求软件需求第四章软件需求分析与建模随着计算机技术的飞速发展,软件已随着计算机技术的飞速发展,软件已经成为人们生活中不可缺少的一部分。人经成为人们生活中不可缺少的一部分。人们在使用软件的过程中,常常会抱怨它无们在使用软件的过程中,常常会
4、抱怨它无法执行某些基本操作。但对于软件开发人法执行某些基本操作。但对于软件开发人员而言,用户不断提出新的要求是一件多员而言,用户不断提出新的要求是一件多么烦人的事。么烦人的事。4.1 软件需求软件需求第四章软件需求分析与建模其实,在软件开发过程中遇到的许多问其实,在软件开发过程中遇到的许多问题,都是由于收集、编写、协商、修改软件题,都是由于收集、编写、协商、修改软件需求过程中的失误带来的,诸如信息收集不需求过程中的失误带来的,诸如信息收集不全、功能不明确、交流不充分、文档不完善、全、功能不明确、交流不充分、文档不完善、需求发生变化等。可以这样说,软件项目中需求发生变化等。可以这样说,软件项目中
5、百分之四十至百分之六十的问题都是在需求百分之四十至百分之六十的问题都是在需求分析阶段埋下的分析阶段埋下的祸根祸根。4.1 软件需求软件需求第四章软件需求分析与建模开发软件系统最为困难的部分就是开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性准确说明开发什么。最为困难的概念性工作便是编写详细的技术需求,包括所工作便是编写详细的技术需求,包括所有面向用户、面向机器和其它软件系统有面向用户、面向机器和其它软件系统的接口。的接口。4.1 软件需求软件需求第四章软件需求分析与建模IEEEIEEE软件工程标准词汇表将需求定义为:软件工程标准词汇表将需求定义为:(1 1)用户解决问题或达到目
6、标所需的条)用户解决问题或达到目标所需的条件或能力。件或能力。(2 2)系统或系统部件要满足合同、标准、)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或规范或其它正式规定文档所需具有的条件或能力。能力。(3 3)一种反映上面()一种反映上面(1 1)或()或(2 2)所描述)所描述的条件或能力的文档说明。的条件或能力的文档说明。4.1.1 软件需求的定义软件需求的定义第四章软件需求分析与建模下面列出其他几种关于下面列出其他几种关于“需求需求”的定义:的定义:u需求是用户所需要的并能触发一个程序或需求是用户所需要的并能触发一个程序或系统开发工作的说明;系统开发工作的说明;
7、u需求是从系统外部能发现系统所具有的满需求是从系统外部能发现系统所具有的满足于用户的特点、功能及属性等;足于用户的特点、功能及属性等;u需求是指明必须实现什么的规格说明。它需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发描述了系统的行为、特性或属性,是在开发过程中对系统的约束。过程中对系统的约束。4.1.1 软件需求的定义软件需求的定义第四章软件需求分析与建模软件需求包括四个不同的层次:即业软件需求包括四个不同的层次:即业务需求、用户需求和功能需求,另外还有务需求、用户需求和功能需求,另外还有非功能需求。非功能需求。软件需求各组成部分之间的关系如下软件需求各组成部分之
8、间的关系如下图所示。图所示。4.1.2 需求的层次需求的层次第四章软件需求分析与建模4.1.2 需求的层次需求的层次第四章软件需求分析与建模业务需求业务需求反映了组织机构或客户对系统或产品反映了组织机构或客户对系统或产品高层次的目标要求,它们在项目视图与高层次的目标要求,它们在项目视图与范围文档中予以说明。范围文档中予以说明。4.1.2 需求的层次需求的层次第四章软件需求分析与建模用户需求用户需求描述了用户使用产品必须要完成的描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予任务,可以在用例模型或方案脚本中予以说明。以说明。4.1.2 需求的层次需求的层次第四章软件需求分析与建模
9、功能需求功能需求定义了开发人员必须实现的软件功定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而能,使得用户能完成他们的任务,从而满足了业务需求。满足了业务需求。4.1.2 需求的层次需求的层次第四章软件需求分析与建模非功能需求非功能需求是从各个角度对系统的约束和限制,是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外反映了应用对软件系统质量和特性的额外要求。要求。4.1.2 需求的层次需求的层次第四章软件需求分析与建模非功能需求包括过程需求、产品需求和外非功能需求包括过程需求、产品需求和外部需求三类。其中过程需求有交付、实现方法部需求三类。其中过程需求有交付、
10、实现方法和标准等需求;产品需求包含性能、可用性、和标准等需求;产品需求包含性能、可用性、实用性、可靠性、可移植性、安全保密性、容实用性、可靠性、可移植性、安全保密性、容错性等方面的需求;外部需求有法规、成本、错性等方面的需求;外部需求有法规、成本、操作性等需求。操作性等需求。4.1.2 需求的层次需求的层次第四章软件需求分析与建模需求工程中的缺陷将给项目的成需求工程中的缺陷将给项目的成功带来极大风险,导致缺陷的原因主功带来极大风险,导致缺陷的原因主要包括以下方面:要包括以下方面:4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模缺乏足够的用户参与缺乏足够的用户参与客户经常不明白为
11、什么收集需求和确保需求质量需客户经常不明白为什么收集需求和确保需求质量需花费那么多功夫,开发人员可能也不重视用户的参与。花费那么多功夫,开发人员可能也不重视用户的参与。究其原因:一是因为与用户合作不如编写代码有意思;究其原因:一是因为与用户合作不如编写代码有意思;二是因为开发人员觉得已经明白用户的需求了。在某些二是因为开发人员觉得已经明白用户的需求了。在某些情况下,与实际使用产品的用户直接接触很困难,而客情况下,与实际使用产品的用户直接接触很困难,而客户也不太明白自己的真正需求。然而,在项目的早期让户也不太明白自己的真正需求。然而,在项目的早期让具有代表性的用户直接参与到开发队伍中,并一同经历
12、具有代表性的用户直接参与到开发队伍中,并一同经历整个开发过程很重要。整个开发过程很重要。4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模用户需求不断增加用户需求不断增加在开发过程中,用户需求经常发生变化,在开发过程中,用户需求经常发生变化,但是不断的变更会使其整体结构越来越乱,整但是不断的变更会使其整体结构越来越乱,整个程序也难以理解和维护。如果要减少需求变个程序也难以理解和维护。如果要减少需求变更的影响范围,就必须在项目的开始对项目视更的影响范围,就必须在项目的开始对项目视图、范围、目标、约束限制和成功标准给予明图、范围、目标、约束限制和成功标准给予明确说明,并将此说明作为评
13、价需求变更和新特确说明,并将此说明作为评价需求变更和新特性的参照框架。性的参照框架。4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模需求模棱两可需求模棱两可模棱两可是需求规格说明中最严重的问题,模棱两可是需求规格说明中最严重的问题,它意味着不同的人对需求说明产生了不同的理它意味着不同的人对需求说明产生了不同的理解,或者是同一个人能用不止一个方式来解释解,或者是同一个人能用不止一个方式来解释某项需求说明。模棱两可的需求带来的后果便某项需求说明。模棱两可的需求带来的后果便是返工是返工-重做一些你认为已做好的事情,返工重做一些你认为已做好的事情,返工会耗费开发总费用的会耗费开发总费用
14、的40%,而而70%85%的的重做是由于需求方面的错误引起的。重做是由于需求方面的错误引起的。4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模添加不必要的特性添加不必要的特性有时候,开发人员力图增加一些有时候,开发人员力图增加一些用户用户欣赏欣赏但需求规格说明中并未涉及的新功能,但需求规格说明中并未涉及的新功能,然而常常是用户并不认为这些功能性很有然而常常是用户并不认为这些功能性很有用。开发人员应当为客户构思方案,并为用。开发人员应当为客户构思方案,并为他们提供一些具有创新意识的思路,具体他们提供一些具有创新意识的思路,具体提供哪些功能要在客户的需要和允许时限提供哪些功能要在客
15、户的需要和允许时限内的技术可行性之间求得平衡。内的技术可行性之间求得平衡。4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模规格说明过于简单规格说明过于简单客户往往不明白需求分析的重要性,客户往往不明白需求分析的重要性,只是提供一份十分简略的规格说明,仅涉只是提供一份十分简略的规格说明,仅涉及产品概念上的内容,然后让开发人员在及产品概念上的内容,然后让开发人员在项目进展中去完善,从而导致开发人员先项目进展中去完善,从而导致开发人员先建立产品结构再完成需求说明。建立产品结构再完成需求说明。4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模忽略了用户分类忽略了用户分类大
16、多数产品是由不同的人使用其不同大多数产品是由不同的人使用其不同的特性,使用频繁程度也有所差异,使用的特性,使用频繁程度也有所差异,使用者受教育程度和经验水平也不尽相同。如者受教育程度和经验水平也不尽相同。如果你不能在项目早期就针对所有这些主要果你不能在项目早期就针对所有这些主要用户进行分类的话,必然导致有的用户对用户进行分类的话,必然导致有的用户对产品感到失望。产品感到失望。4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模总体来说,导致需求缺陷的原因主总体来说,导致需求缺陷的原因主要体现在三个方面:要体现在三个方面:u需求的沟通与理解需求的沟通与理解u需求的变化与控制需求的变化
17、与控制u需求说明的明确与完整需求说明的明确与完整 4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模需求工程中的缺陷将给项目成功带需求工程中的缺陷将给项目成功带来极大风险,如产品的成本过高、产品来极大风险,如产品的成本过高、产品的功能和质量无法完全满足用户的期望的功能和质量无法完全满足用户的期望等等。即使一个项目团队的人员和配备等等。即使一个项目团队的人员和配备都很不错,但不重视需求过程也会付出都很不错,但不重视需求过程也会付出惨痛的代价。惨痛的代价。4.1.3 需求错误的原因需求错误的原因第四章软件需求分析与建模【本节知识点本节知识点】u需求工程的内容需求工程的内容u需求获取需
18、求获取u需求分析需求分析u编写需求文档编写需求文档u需求验证需求验证4.2 需求工程需求工程第四章软件需求分析与建模 需求工程是指应用已证实有效的原理和方需求工程是指应用已证实有效的原理和方法,系统地描述出待开发系统及其行为特征和法,系统地描述出待开发系统及其行为特征和相关约束。相关约束。通常,需求工程由一些过程组成,可分为通常,需求工程由一些过程组成,可分为需求开发需求开发和和需求管理需求管理两部分两部分;4.2 需求工程需求工程第四章软件需求分析与建模4.2 需求工程需求工程第四章软件需求分析与建模 需求开发又可分为问题需求开发又可分为问题获取获取、分析分析、编写编写规格说明规格说明和和验
19、证验证四个阶段,如图所示:四个阶段,如图所示:需求开发的主要活动需求开发的主要活动 u确定产品所期望的用户类;确定产品所期望的用户类;u获取每个用户类的需求;获取每个用户类的需求;u了解实际用户任务和目标以及这些任务了解实际用户任务和目标以及这些任务所支持的业务需求;所支持的业务需求;u分析源于用户的信息以区别用户任务需分析源于用户的信息以区别用户任务需求、功能需求、业务规则、质量属性、求、功能需求、业务规则、质量属性、建议解决方法和附加信息;建议解决方法和附加信息;4.2.1 需求工程的内容需求工程的内容第四章软件需求分析与建模u将系统级的需求分为几个子系统,并将需求中将系统级的需求分为几个
20、子系统,并将需求中的一部份分配给软件组件;的一部份分配给软件组件;u了解相关质量属性的重要性;了解相关质量属性的重要性;u商讨实施优先级的划分;商讨实施优先级的划分;u将所收集的用户需求编写成规格说明和模型;将所收集的用户需求编写成规格说明和模型;u评审需求规格说明,确保对用户需求达到共同评审需求规格说明,确保对用户需求达到共同的理解与认识,并在整个开发小组接受说明之的理解与认识,并在整个开发小组接受说明之前将问题都弄清楚。前将问题都弄清楚。4.2.1 需求工程的内容需求工程的内容第四章软件需求分析与建模需求管理的主要活动需求管理的主要活动 u定义需求基线;定义需求基线;u评审提出的需求变更、
21、评估每项变更评审提出的需求变更、评估每项变更的可能影响从而决定是否实施它;的可能影响从而决定是否实施它;u以一种可控制的方式将需求变更融入以一种可控制的方式将需求变更融入到项目中;到项目中;4.2.1 需求工程的内容需求工程的内容第四章软件需求分析与建模u使当前的项目计划与需求一致;使当前的项目计划与需求一致;u估计变更需求所产生影响并在此基础上估计变更需求所产生影响并在此基础上协商新的承诺;协商新的承诺;u让每项需求都能与其对应的设计、源代让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪;码和测试用例联系起来以实现跟踪;u在整个项目过程中跟踪需求状态及其变在整个项目过程中跟踪
22、需求状态及其变更情况。更情况。4.2.1 需求工程的内容需求工程的内容第四章软件需求分析与建模 今天,我们引入今天,我们引入 需求工程需求工程 的概念,的概念,强调用工程化的方法进行需求开发和需强调用工程化的方法进行需求开发和需求管理。其中,需求开发是采用有效方求管理。其中,需求开发是采用有效方法获得高质量需求的过程,而需求管理法获得高质量需求的过程,而需求管理则是在需求说明形成之后有效地控制其则是在需求说明形成之后有效地控制其变更的过程,二者缺一不可。变更的过程,二者缺一不可。4.2.1 需求工程的内容需求工程的内容第四章软件需求分析与建模一、工作内容一、工作内容 u聆听用户的需求聆听用户的
23、需求u分析和整理所获取的信息分析和整理所获取的信息u形成文档化的描述形成文档化的描述4.2.2 需求获取需求获取 第四章软件需求分析与建模分析人员应该与各种层次的客户进行充分析人员应该与各种层次的客户进行充分的交流和沟通,包括决策领导、使用部门分的交流和沟通,包括决策领导、使用部门的领导、具体使用人员、系统维护人员等,的领导、具体使用人员、系统维护人员等,尽量清楚地理解用户的问题和要求。尽量清楚地理解用户的问题和要求。对于用户提供的各种问题和要求,分析人员需要对于用户提供的各种问题和要求,分析人员需要对其进行归纳和整理,借助一些工具和方法,从用户对其进行归纳和整理,借助一些工具和方法,从用户一
24、般性的陈述里面提取用户的真正需求,并由此确定一般性的陈述里面提取用户的真正需求,并由此确定软件的功能、性能、接口关系、约束条件等。软件的功能、性能、接口关系、约束条件等。不论是用户的提出问题,还是最终获取的不论是用户的提出问题,还是最终获取的需求,都应该形成文档化的描述,这种描述需需求,都应该形成文档化的描述,这种描述需要各种人员的一致理解和认同。要各种人员的一致理解和认同。二、基于用例的方法二、基于用例的方法随着面向对象技术的发展,基于用例随着面向对象技术的发展,基于用例的方法在需求获取和建模方面应用得越来的方法在需求获取和建模方面应用得越来越普遍。这种方法是以任务为中心和以用越普遍。这种方
25、法是以任务为中心和以用户为中心的,比起使用以功能为中心的方户为中心的,比起使用以功能为中心的方法,它可以使用户更清楚地认识到新系统法,它可以使用户更清楚地认识到新系统允许他们做什么。允许他们做什么。4.2.2 需求获取需求获取 第四章软件需求分析与建模用例模型以用户和任务为中心,将整个工用例模型以用户和任务为中心,将整个工作的焦点集中在从用户的角度说明系统能够干作的焦点集中在从用户的角度说明系统能够干什么,完全不考虑具体的实现细节,从而达到什么,完全不考虑具体的实现细节,从而达到准确地理解客户需求的目的。在用例模型中,准确地理解客户需求的目的。在用例模型中,角色和用例是两个基本概念,分别代表着
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 需求 分析
限制150内