软件的需求分析.ppt
《软件的需求分析.ppt》由会员分享,可在线阅读,更多相关《软件的需求分析.ppt(131页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章 软件需求管理第三章目录需求管理的概念需求管理的概念2.1需求开发的管理需求开发的管理2.2需求实现的管理需求实现的管理2.3需求变更的管理需求变更的管理2.4软件需求管理工具介绍软件需求管理工具介绍2.5案例分析:一个项目需求分析和处理的案例案例分析:一个项目需求分析和处理的案例2.62.12.1需求管理的概念需求管理的概念需求管理的概念需求管理的概念2.12.1软件需求管理的概念软件需求管理的概念软件需求管理的概念软件需求管理的概念2.1.1需求与需求管理的概念需求与需求管理的概念2.1.2软件工程的软件定义与需求分析软件工程的软件定义与需求分析2.1.3CMM2的需求管理的需求管理
2、2.1.4PMBOK的范围管理的范围管理 对对大大多多数数软软件件和和系系统统开开发发团团队队来来说说,与与过过去去自自由由的的日日子子相相比比,20 20 世世纪纪 90 90 年年代代是是一一个个强强调调流流程程的的时时代代。评评测测和和验验证证有有效效的的软软件件开开发发流流程程的的标标准准得得到到推推广广和和普普及及。许许多多论论述述软软件件开开发发流流程程的的书书籍籍和和文文献献以以及及关关于于业业务务建建模模和和重重建建的的相相关关材材料料纷纷纷纷出出版版。不不断断涌涌现现出出的的软软件件工工具具已已经经帮帮助助人人们们制制定定和和应应用用有有效效的的软软件件开开发发流流程程。在在
3、这这十十年年内内,全全球球经经济济对对软软件件的的依依赖赖程程度度加加深深,它它推推动动着着开开发发流流程程的的发发展展,提提高高了了系系统统质质量量。既既然然如如此此,那那么么今今天天频频频频发发生生的的软软件件项项目目失失败败的的事事件件又又如如何何解解释释呢呢?即即使使不不是是大大多多数数,但但为为什什么么仍仍有有那那么么多多的的项项目目受受到到延延期期、预预算算超超支支和和质质量量问问题题的的困困扰扰呢呢?随随着着我我们们的的业业务务、国国家家经经济济和和日日常常活活动动越越来来越越依赖于系统,如何才能提高系统的质量?依赖于系统,如何才能提高系统的质量?本本章章介介绍绍针针对对有有效效
4、需需求求管管理理过过程程的的需需求求元元素素,如如何成功实施对需求元素的管理。何成功实施对需求元素的管理。为什么要管理需求为什么要管理需求?为什么要管理需求?简单地说,系统开发团队之所以简单地说,系统开发团队之所以管理需求,是因为他们想让项目管理需求,是因为他们想让项目获得成功。满足项目需求即为成获得成功。满足项目需求即为成功打下了基础。若无法管理需求,功打下了基础。若无法管理需求,达到目标的几率就会降低。达到目标的几率就会降低。也就是说:好的需求管理是项目也就是说:好的需求管理是项目成功的第一位因素。采用需求管成功的第一位因素。采用需求管理可以给理可以给项项目目组带来很多的好处,组带来很多的
5、好处,直至项目取得成功直至项目取得成功。2.1.1需求与需求管理的概念需求与需求管理的概念为什么要管理需求?为什么要管理需求?这这是是Rational的的标标准准开开发发流流程程图图,从从图图中中,我我们们可可以以看看出出,需需求求分分析析在在启启动动和和计计划划阶阶段段,占占有有相相当当大的比例。大的比例。什么是需求?什么是需求?Rational Rational 把需求定把需求定义为义为“(正在构建(正在构建的)系的)系统统必必须须符合的条件或具符合的条件或具备备的功能的功能”。电电气和气和电电子工程子工程师师学会使用的定学会使用的定义义与此与此类类似。似。著名的需求工程著名的需求工程设计
6、师设计师 MerlinMerlin Dorfman Dorfman 和和 Richard H.Thayer Richard H.Thayer 提出了提出了一个包容且更一个包容且更为为精精练练的定的定义义,它特指,它特指软软件件方面方面-但不但不仅仅仅仅限于限于软软件:件:“软软件需求可定件需求可定义为义为:用用户户解决某一解决某一问题问题或达到某一目或达到某一目标标所需的所需的软软件功能。件功能。系系统统或系或系统统构件构件为为了了满满足合同、足合同、规约规约、标标准或其他正式准或其他正式实实行的文档而必行的文档而必须满须满足或足或具具备备的的软软件功能。件功能。”什么是需求管理?什么是需求管
7、理?由于需求是正在构建的系由于需求是正在构建的系统统必必须须符合的事符合的事务务,而且符合某些需求决定了而且符合某些需求决定了项项目的成功或失目的成功或失败败,因此,因此找出需求是什么,将它找出需求是什么,将它们记们记下来,下来,进进行行组织组织,并在,并在发发生生变变化化时对时对它它们进们进行追踪,行追踪,这这些活些活动动都是有意都是有意义义的。的。换换句句话说话说,需求管理就是:,需求管理就是:一种一种获获取、取、组织组织并并记录记录系系统统需求的系需求的系统统化方案,以及一个使客化方案,以及一个使客户户与与项项目目团队对团队对不断不断变变更的系更的系统统需求达成并保持一致的需求达成并保持
8、一致的过过程。程。这这个定个定义义与与 Dorfman Dorfman 与与 Thayer Thayer 以及以及 IEEE IEEE 的的“软软件需求工程件需求工程”的定的定义义相似。需求工程包括相似。需求工程包括获获取、取、分析、分析、规规定、定、验证验证和管理和管理软软件需求,而件需求,而“软软件需求件需求管理管理”则则是是对对所有相关活所有相关活动动的的规规划和控制。划和控制。现代软件工程对需求工程的定义现代软件工程对需求工程的定义面面对对软软件件工工程程过过程程中中存存在在的的需需求求不不确确定定性性问问题题,软软件件工工程程进进一一步步获获得得发发展展,其其中中一一个个具具体体体体
9、现现,就就是是发发展展出出“需需求求工工程程”的的概概念念。需需求求工工程程是是提提供供一一种种适适当当的的机机制制,以以了了解解用用户户想想要要什什么么、分分析析需需求求、评评估估可可行行性性、协协商商合合理理的的解解决决方方案案、无无歧歧义义地地规规约约解解决决方方案案、确确认认规规约约以以及在开发过程中管理这些被确认的需求规约。及在开发过程中管理这些被确认的需求规约。现代需求工程一般被描述为现代需求工程一般被描述为6 6个步骤,包括:个步骤,包括:获取(需求诱导)获取(需求诱导)分析(需求分析和谈判)分析(需求分析和谈判)规定(规约)规定(规约)系统建模系统建模验证(需求确认)验证(需求
10、确认)需求管理(控制与变更管理)需求管理(控制与变更管理)“诱诱导导”的的含含义义是是:项项目目团团队队用用来来获获取取或或发发现现用用户户请请求求,确确定定请请求求后后面面所所隐隐藏藏的的真真正正需需要要,以以及及为为满满足足这这些些需需要要对对系系统统提提出出的的一一组组适适当当需需求求。第第6 6个个步步骤骤的的“需需求求管管理理”,主主要要是是对对针针对对所所有有相相关关活活动动的的规规划划、控制和变更管理。因此,整个管理构成了软件需求管理的主要内容。控制和变更管理。因此,整个管理构成了软件需求管理的主要内容。需求管理存在的问题需求管理存在的问题1 1、需求不总是显而易见的,而且它可来
11、自各个方面。、需求不总是显而易见的,而且它可来自各个方面。2 2、需求并不总是容易用文字明白无误地表达。、需求并不总是容易用文字明白无误地表达。3 3、存在不同种类的需求,其详细程度各不相同。、存在不同种类的需求,其详细程度各不相同。4 4、如果不加以控制,需求的数量将难以管理。、如果不加以控制,需求的数量将难以管理。5 5、需求相互之间以及与流程的其他可交付工件之间以多种、需求相互之间以及与流程的其他可交付工件之间以多种方式相关联。方式相关联。6 6、需求既非同等重要,处理的难度也不同。、需求既非同等重要,处理的难度也不同。7 7、需求涉及众多相关利益责任方,这意味着需求要由跨职、需求涉及众
12、多相关利益责任方,这意味着需求要由跨职能的各组人员来管理。能的各组人员来管理。8 8、需求发生变更。、需求发生变更。9 9、需求可能对时间敏感。、需求可能对时间敏感。2.1.2软件工程的软件定义与需求分析软件工程的软件定义与需求分析q软件工程定义的软件工程定义的6 6个软件生命周期阶段:个软件生命周期阶段:q软软件件定定义义与与计计划划、需需求求分分析析、软软件件设设计计、编编码码、测测试试、运运行行与与维护等。维护等。q软软件件定定义义是是指指系系统统分分析析员员通通过过对对系系统统实实际际用用户户、使使用用管管理理部部门门、相相关关部部门门及及人人员员进进行行的的实实际际调调查查,搞搞清清
13、楚楚“问问题题”的的背背景景、目目的的是是什什么么?然然后后,据据此此提提出出关关于于“问问题题”的的性性质质、工工程程目目标标、规规模模、相相关关联联系系等等项项目目的的基基本本情情况况。一一般般这这些些情情况况,反反映映在在项项目目定定义义报报告告中中。项项目目定定义义报报告告包包括括:工工程程项项目目名名称称、使使用用方方、开开发发方方、对对问问题题的的概概括括定定义义、项项目目目目标标、项项目目规规模模等等。这这个个定定义义是是需需要要用用户户认可的,因为这是双方对认可的,因为这是双方对“问题问题”最基础的共识。最基础的共识。q根根据据Rational Rational ROSEROS
14、E核核心心工工作作流流的的定定义义,在在这这个个阶阶段段,就就是是建建立立业业务务模模型型。业业务务模模型型可可以以比比较较明明显显地地反反映映项项目目组组在在这这个个阶阶段段所所感兴趣的问题和所做的工作。感兴趣的问题和所做的工作。所以,软件定义、业务建模,都还不是需求分析。所以,软件定义、业务建模,都还不是需求分析。软件工程的需求分析软件工程的需求分析 软软件件工工程程的的需需求求分分析析,通通过过问问题题识识别别、分分析析与与综综合合、制制订订规规格格说说明明和和评评审审等等阶阶段段,达达到到以以下下一一些些需需求求分分析析阶阶段段的的目目标标,它它们们都都是对是对“用户需求用户需求”进行
15、更专业化的进行更专业化的“描述描述”转换。转换。(1 1)确定对系统的综合要求确定对系统的综合要求(2 2)分析系统的数据要求:分析系统的数据要求:(3 3)抽象出并确立目标系统的逻辑模型;抽象出并确立目标系统的逻辑模型;(4)编写需求规格说明书。编写需求规格说明书。我我们们可可以以回回忆忆一一下下,在在软软件件工工程程中中,需需求求分分析析部部分分接接着着就就会会花花很很大大的的时时间间和和篇篇幅幅,介介绍绍具具体体的的需需求求分分析析的的方方法法,比比如如:早早期期面面向向结结构构化化的的分分析析方方法法(Structured Structured analysis analysis,SA
16、,SA)、数数据据流流图图(Data flow diagram,DFDData flow diagram,DFD)等。后期面向对象的分析方法。等。后期面向对象的分析方法。软件工程的软件定义软件工程的软件定义软件定义软件定义/业务建模与软件需求分析到底有什么区别?业务建模与软件需求分析到底有什么区别?举一个例子:举一个例子:到到银银行行取取钱钱这这一一业业务务,19世世纪纪没没有有计计算算机机之之前前同同样样要要做做,那那时时的的咨咨询询公公司司肯肯定定也也为为银银行行提提供供一一套套业业务务解解决决方方案案,当当然然是是由由人人手手工工完完成成,并并且且把把算算盘盘、打打卡卡机机等等可可以以提
17、提高高工工效效的的工工具具全全部部用用上上;今今天天呢呢,取取钱钱业业务务本本质质上上并并无无太太大大变变化化,只只不不过过咨咨询询公公司司会会引引入入IT技技术术来来支支持持业业务务的的运运作作,更更进进一一步步提提高高人人的的工工效效,IT技技术术在在此此仍仍然然是是与与算算盘盘、打打卡卡机机类类似似的工具而已(当然从技术上来讲要先进得多)。的工具而已(当然从技术上来讲要先进得多)。由由此此可可见见,业业务务建建模模和和重重组组是是针针对对企企业业的的业业务务目目标标而而作作的的业业务务解解决决方方案案;软软件件需需求求则则实实际际上上是是对对业业务务解解决决方方案案所所设设计的业务流程中
18、被使用的工具达到功能和实现的定义。计的业务流程中被使用的工具达到功能和实现的定义。软件工程的软件定义软件工程的软件定义我我们们还还没没有有介介绍绍软软件件工工程程中中要要求求的的需需求求分分析析的的内内容容,但但是是从从定定义和计划阶段的工作内容,我们可以看出,软件工程认定:义和计划阶段的工作内容,我们可以看出,软件工程认定:“问问题题”已已经经是是一一个个明明确确的的、固固定定的的、可可获获得得的的,如如果果通通过过可可行行性性分分析析,认认为为项项目目可可行行,则则此此“问问题题”也也是是可可“求求解解”的的。因因此此,可可以以根根据据这这个个假假设设,可可以以确确定定工工作作内内容容、产
19、产品品与与成成果果、验验收收标标准准等等技技术术指指标标,也也可可以以制制订订工工作作进进度度、任任务务分分解解,以以至至可以进行成本预算等,确定了任务的目标。可以进行成本预算等,确定了任务的目标。软件工程的需求分析软件工程的需求分析在在这这个个假假设设下下,软软件件工工程程对对需需求求分分析析,是是一一个个“纯纯”技技术术性性的的“转转换换”。既既把把用用户户的的需需求求,准准确确地地描描述述为为“软软件件需需求求”的过程。的过程。确确切切地地讲讲,软软件件工工程程的的需需求求分分析析,通通过过问问题题识识别别、分分析析与与综综合合、制制订订规规格格说说明明和和评评审审等等阶阶段段,达达到到
20、以以下下一一些些需需求求分分析析阶阶段段的的目目标标,它它们们都都是是对对“用用户户需需求求”进进行行更更专专业业化化的的“描述描述”转换。转换。归纳软件工程的需求分析阶段的任务是:归纳软件工程的需求分析阶段的任务是:软件工程的需求分析软件工程的需求分析(1 1)确定对系统的综合要求:)确定对系统的综合要求:对对系系统统的的综综合合要要求求,一一般般包包括括:功功能能要要求求、性性能能要要求求、运运行行要要求求、其他要求等。其他要求等。功能要求包括系统应该实现的功能;功能要求包括系统应该实现的功能;性性能能要要求求包包括括系系统统的的相相应应时时间间、资资源源限限制制、数数据据精精确确性性、系
21、系统统适适应应性等;性等;运运行行要要求求包包括括系系统统硬硬件件环环境境、网网络络环环境境、系系统统软软件件、接接口口等等的的具具体体要求;要求;其其他他要要求求包包括括:安安全全保保密密、可可靠靠性性、可可维维护护性性、可可移移植植性性、可可扩扩展展性等等。性等等。软件工程的需求分析软件工程的需求分析(2 2)分析系统的数据要求:)分析系统的数据要求:数数据据要要求求重重要要指指系系统统分分析析师师根根据据用用户户的的信信息息流流抽抽象象、归归纳纳出出系系统统所所要要求求的的数数据据定定义义、数数据据逻逻辑辑关关系系、输输入入/出出数数据据定定义义、数数据据采采集集方式等。方式等。(3 3
22、)抽象出并确立目标系统的逻辑模型;)抽象出并确立目标系统的逻辑模型;根根据据以以上上二二部部分分的的工工作作,系系统统分分析析师师可可以以导导出出目目标标系系统统的的详详细细逻逻辑辑模模型型。在在Rational Rational ROSEROSE中中,这这样样的的逻逻辑辑模模型型可可以以体体现现在在用用况况模模型、设计模型、实施模型和实现模型四类模型结构中。型、设计模型、实施模型和实现模型四类模型结构中。(4 4)编写需求规格说明书。)编写需求规格说明书。我我们们可可以以回回忆忆一一下下,在在软软件件工工程程中中,需需求求分分析析部部分分接接着着就就会会花花很很大大的的时时间间和和篇篇幅幅,
23、介介绍绍具具体体的的需需求求分分析析的的方方法法,比比如如:早早期期面面向向结结构构化化的的分分析析方方法法(StructuredStructured analisysanalisys ,SA,SA)、数数据据流流图图(Data flow diagram,DFDData flow diagram,DFD)等。等。后期面向对象的分析方法等等。后期面向对象的分析方法等等。软件工程的需求分析软件工程的需求分析简单的回顾和归纳中,我们暂且可以得出这样一个印象:简单的回顾和归纳中,我们暂且可以得出这样一个印象:(1 1)软软件件工工程程假假定定:用用户户需需求求在在需需求求分分析析开开始始之之前前,是是
24、一个基本明确的、固定的、可获得的。一个基本明确的、固定的、可获得的。(2 2)需需求求分分析析阶阶段段的的目目的的,是是“描描述述”这这个个已已经经存存在在,但还没有用开发者自己的方式但还没有用开发者自己的方式“描述描述”出来的需求。出来的需求。(3 3)软软件件工工程程把把这这个个“描描述述”工工作作,做做了了定定义义,就就是是需需求求分分析析的的四四个个任任务务。通通过过这这个个任任务务的的完完成成,获获得得数数据据字字典典、系系统统的的数数据据流流定定义义、处处理理逻逻辑辑定定义义等等手手段段,实实现现对对“用用户户需求需求”的描述。的描述。(4 4)软软件件工工程程更更关关注注这这种种
25、:“描描述述”的的方方法法和和过过程程(需需求分析方法)。求分析方法)。2.1.3CMM2的需求管理的需求管理过过程程能能力力成成熟熟度度模模型型(CMMCMM)对对需需求求管管理理作作了了明明确确的的要要求求,为为达达到到CMM2CMM2级级,组组织织就就必必须须具具备备满满足足软软件件开开发发与与管管理理的的六六个个关关键键过过程程域域(key key Process Process AreasAreas,KPAKPA)的的能能力力。而而需需求求管管理理就就是是这这六六个个关关键过程域中的第一个,是其他五个域实施的前提。键过程域中的第一个,是其他五个域实施的前提。CMM2CMM2指指出出,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析
限制150内