《软件的需求分析.ppt》由会员分享,可在线阅读,更多相关《软件的需求分析.ppt(131页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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指指出出,
26、需需求求管管理理的的目目的的是是在在客客户户和和遵遵循循客客户户需需求求的的软软件件项项目目之之间间建建立立一一种种共共同同的的理理解解。因因此此,需需求求管管理理活活动动的的内内容容应应包包括括就就软软件件的的需需求求同同客客户户建建立立一一个个协协议议并并加加以以管管理理。该该协协议议称称为为“指指定给软件的系统需求定给软件的系统需求”。CMM2CMM2需求管理的目标是:需求管理的目标是:(1 1)控控制制指指定定给给软软件件的的系系统统需需求求,为为软软件件工工程程和和管管理理应应用用建建立立基基线;线;(2 2)保持软件计划、产品和活动与指定给软件的系统需求一致。)保持软件计划、产品和
27、活动与指定给软件的系统需求一致。CMM2CMM2的需求管理的需求管理 CMMCMM对需求管理的定义是:对需求管理的定义是:对对需需求求分分配配进进行行管管理理,既既要要在在用用户户和和实实现现用用户户需需求求的的项项目目组组之之间间达达成成共共识识;控控制制系系统统需需求求,为为研研发发过过程程和和项项目目管管理理建建立立基基线线;保持项目计划、产品和活动与系统需求的一致性。保持项目计划、产品和活动与系统需求的一致性。从定义出发,需求管理涉及三个方面的内容:从定义出发,需求管理涉及三个方面的内容:需求定义的管理、需求实现的管理、需求变更的管理。需求定义的管理、需求实现的管理、需求变更的管理。一
28、一般般认认为为,需需求求管管理理并并不不包包括括需需求求的的收收集集和和分分析析,而而是是假假定定组组织织已已收收集集了了软软件件需需求求或或已已经经明明确确地地给给出出了了需需求求的的定定义义。或或者者说说,广广义义的的需需求求管管理理还还应应包包括括用用户户需需求求的的收收集集、处处理理、分分析析和和验验证证等等内内容。容。我我们们从从广广义义需需求求管管理理的的概概念念出出发发,可可以以也也归归纳纳出出需需求求管管理理活活动动的的范围主要有需求的开发和需求的管理二个部分的内容。范围主要有需求的开发和需求的管理二个部分的内容。CMM2CMM2的需求管理的需求管理需求的开发包括:需求的开发包
29、括:(1 1)需求获取;需求获取;(2 2)需求分析;需求分析;(3 3)编写需求规格说明书;编写需求规格说明书;(4 4)需求验证。需求验证。需求的管理包括:需求的管理包括:(1 1)确定需求变更控制的过程;确定需求变更控制的过程;(2 2)组织变更控制委员会;组织变更控制委员会;(3 3)进行需求变更波及分析;进行需求变更波及分析;(4 4)跟踪所有受需求变更影响的工作产品;跟踪所有受需求变更影响的工作产品;(5 5)建立需求基准版本和需求控制版本文档;建立需求基准版本和需求控制版本文档;(6 6)维护需求变更的历史记录;维护需求变更的历史记录;(7 7)追踪每项需求的状态并建立数据库;追
30、踪每项需求的状态并建立数据库;(8 8)衡量需求的稳定性;衡量需求的稳定性;(9 9)使用需求管理工具进行需求管理。使用需求管理工具进行需求管理。从从CMM2CMM2对对需需求求管管理理的的要要求求、目目标标和和管管理理过过程程中中可可以以看看出出,CMM2CMM2的的侧侧重重点点在在于于需需求求获获取取以以后后,如如何何建建立立需需求求基基准准线线,并并依依据据需需求求基基准准线线,对对项项目目的的需需求求进进行行 的控制和管理。的控制和管理。2.1.4PMBOK的范围管理的范围管理PMIPMI的的项项目目管管理理知知识识体体系系包包括括了了了了九九大大知知识识领领域域(集集成成、范范围围、
31、时时间间、成成本本、质质量量、人人力力资资源源、沟沟通通、风风险险和和采采购购),每每个个知知识识领领域域中中,又又定定义义了了相相应应的的项项目管理目管理过过程程。按按照照PMBOKPMBOK的的定定义义,范范围围是是指指产产生生项项目目产产品品所所包包括括的的所所有有工工作作及及产产生生这这些些产产品品的的过过程程。项项目目范范围围管管理理是是指指对对项项目目包包括括什什么么和和不包括什么的定义与控制过程。不包括什么的定义与控制过程。项项目目范范围围管管理理的的核核心心是是:为为了了顺顺利利地地完完成成项项目目而而设设置置了了一一些些过过程程,这这些些过过程程的的目目的的是是确确保保项项目
32、目包包括括且且仅仅仅仅包包括括所所要要求求的的工工作作(交交付付成成果果)。这这一一控控制制过过程程的的含含义义同同时时还还指指:确确保保项项目目组组和和用用户户(或或称称为为项项目目利利益益关关系系人人)对对作作为为项项目目结结果果的的项项目目产产品品以以及及生生产产这这些些产产品品所所用用到到的的过过程程有有一一个个共共同的理解。同的理解。PMBOKPMBOK的范围管理的范围管理 PMBOKPMBOK项目管理中,范围管理过程主要有:项目管理中,范围管理过程主要有:(1 1)启启动动:在在项项目目启启动动阶阶段段,组组织织要要通通过过调调查查、分分析析、评评估估和和选选择择等等方方法法,决决
33、定定项项目目是是否否要要做做。正正式式开开始始启启动动一一个个项项目目的的时时候候,就就会会产产生生一一个个输输出出,就就是是项项目目章章程程,它它正正式式承承认认项项目目的的存存在在并并对对项项目目提提供供一一个个概概要要。这个部分相当于软件工程的定义与计划。这个部分相当于软件工程的定义与计划。(2 2)范范围围计计划划:是是项项目目进进一一步步形形成成的的文文档档,包包括括用用来来衡衡量量一一个个项项目目或或项项目目阶阶段段是是否否已已顺顺利利完完成成的的标标准准。通通常常的的范范围围计计划划的的输输出出是是项项目目组组制制订订的的范围说明书和范围管理计划。范围说明书和范围管理计划。(3
34、3)范范围围定定义义:范范围围定定义义过过程程是是把把项项目目的的主主要要交交付付成成果果细细分分成成较较小小的的、更易于管理的部分。在这个过程中,项目组要建立更易于管理的部分。在这个过程中,项目组要建立WBSWBS。(4 4)范范围围核核实实:是是指指用用户户对对项项目目范范围围的的正正式式认认定定。项项目目用用户户要要在在这这个个过过程中。正式接受项目可交付成果的定义。程中。正式接受项目可交付成果的定义。(5 5)范范围变围变更控制:指更控制:指对项对项目范目范围变围变更更实实施的控制。施的控制。问题探讨:软件项目经理的为与不为问题探讨:软件项目经理的为与不为项目经理在项目管理中处于中心地
35、位,其最主要的作用就是:项目经理在项目管理中处于中心地位,其最主要的作用就是:科学的组织项目团队、科学的组织项目团队、制定最佳的项目计划、制定最佳的项目计划、有效的控制项目的实施。有效的控制项目的实施。因此,明确项目经理的主要职责是非常必要和重要的。因此,明确项目经理的主要职责是非常必要和重要的。项目经理在项目团队中的主要职责如下:项目经理在项目团队中的主要职责如下:(1 1)领导项目团队成员实现项目目标。)领导项目团队成员实现项目目标。(2 2)项目经理是执行项目合同的管理者,全权代表开发商与用户进行联络。)项目经理是执行项目合同的管理者,全权代表开发商与用户进行联络。(3 3)以以合合同同
36、条条款款为为依依据据,全全面面负负责责项项目目实实施施的的组组织织领领导导、协协调调和和控控制制,对对项项目的进度、费用、质量全面负责。目的进度、费用、质量全面负责。(4 4)在在项项目目实实施施过过程程中中,认认真真执执行行本本组组织织制制定定的的经经营营战战略略和和策策略略,以以及及所所制制定的项目管理标准和原则。定的项目管理标准和原则。但是,项目经理不是所有方面的专家。但是,项目经理不是所有方面的专家。讨论:软件项目经理的为与不为讨论:软件项目经理的为与不为 作作为为软软件件项项目目经经理理,在在从从事事软软件件项项目目需需求求的的管管理理过过程程中中,他他的的定定位位是是什什么么?他他
37、的的职职责责是是什什么么?我我们们还还是是要要反反复复提提出出、反反复复强强调调,这这样样,才能知道,才能明晰作为项目经理,我们做什么,不做什么。才能知道,才能明晰作为项目经理,我们做什么,不做什么。作作为为项项目目经经理理,在在需需求求阶阶段段的的职职责责,首首先先是是按按PMBOKPMBOK的的要要求求,在在用用户户和和项项目目组组之之间间,就就项项目目做做并并且且仅仅仅仅做做什什么么,达达成成并并维维护护一一个个共共识识,这这就就是是项项目目的的范范围围管管理理。在在范范围围管管理理过过程程中中,如如何何细细化化管管理理,则则可可以以采采用用CMM2CMM2的控制方法,进行需求管理。的控
38、制方法,进行需求管理。需需求求的的获获取取、分分析析、描描述述,根根据据需需求求的的设设计计等等等等,是是项项目目技技术术经经理理、系系统统设设计计师师的的责责任任,而而不不是是项项目目经经理理的的责责任任(项项目目经经理理兼兼技技术术经经理理、系系统统设设计计师师的的情情况况除除外外)。项项目目经经理理要要做做到到用用需需求求基基线线,控控制制开开发发过过程,包括变更。程,包括变更。在在这这个个定定位位下下,我我们们以以CMM2CMM2模模型型为为基基础础,来来进进行行学学习习和和讨讨论论项项目目需需求求管管理理的的内内容容。从从下下一一节节开开始始,项项目目经经理理就就进进入入了了一一个个
39、现现实实的的软软件件开开发环境中,我们将带着你一步一步地展开你的需求管理工作。发环境中,我们将带着你一步一步地展开你的需求管理工作。2.2 需求开发管理2.22.2需求开发管理需求开发管理需求开发管理需求开发管理2.2.1需求开发的过程需求开发的过程2.2.2需求获取阶段的成果与关注点需求获取阶段的成果与关注点2.2.3需求分析阶段的成果与关注点需求分析阶段的成果与关注点2.2.4需求处理阶段的成果与关注点需求处理阶段的成果与关注点2.2.5需求验证阶段的成果与关注点需求验证阶段的成果与关注点2.2.1需求开发的过程需求开发的过程 需需求求开开发发管管理理或或者者又又可可以以称称之之为为需需求
40、求定定义义管管理理,主主要要包包括括需需求求从从获获取、分析、处理(编写规格说明书)和需求验证等几个过程。取、分析、处理(编写规格说明书)和需求验证等几个过程。这这个个过过程程的的主主要要责责任任是是项项目目技技术术经经理理、项项目目系系统统组组负负责责人人或或系系统统设设计师。项目经理的责任是关注这个阶段的过程和结果。计师。项目经理的责任是关注这个阶段的过程和结果。因因此此,在在这这个个节节,我我们们并并不不介介绍绍需需求求获获取取、分分析析、处处理理和和验验证证的的方方法法。通通过过沿沿着着技技术术经经理理在在这这个个阶阶段段的的一一些些主主要要活活动动,我我们们将将重重点点介介绍绍作作为
41、为项项目目经经理理,在在阶阶段段中中和和阶阶段段结结束束后后,所所获获得得的的成成果果和和关关注注的的要要点点。这是项目经理所必须知道和掌握的内容。这是项目经理所必须知道和掌握的内容。需求定义过程需求定义过程RationalRational的的 流流程程图图,简简单单描描述述一一个个项项目目需需求求定定义义的的过过程程:从从图图中中,我我们们可可以以看看到到,需需求求定定义义大大致致可可以以分分为为四四个个阶阶段:段:需需求求获获取取、需需求求分分析析、需需求求处处理理、需需求求验验证。证。2.2.2需求获取阶段的成果与关注点需求获取阶段的成果与关注点建立系统模型建立系统模型确定系统的用户需求
42、:确定系统的用户需求:在在国国内内做做软软件件需需求求的的获获取取时时经经常常让让人人一一筹筹莫莫展展,其其实实问问题题的的症症结结在在于于,软软件件开开发发的的第第一一步步并并不不是是跑跑到到客客户户那那儿儿做做什什么么软软件件需需求求调调查查,而而是是先先要要确确定定客客户户的的业业务务目目标标,再再围围绕绕业业务务目目标标分分析析业业务务的的环环境境与与内内容容,同同时时最最好好能能查查找找相相关关业业务务领领域域的的书书籍籍资资料料,较较为为全全面面地地认认识识整整个个业业务务领领域域,如如果果原原有有的的业业务务流流程程或或组组织织架架构构等等本本身身存存在在问问题题,这这时时需需要
43、要先先进进行行业业务务重重组组,重重新新设设计计与与改改造造业业务务,之之后后才才在在确确定定业业务务内内容容的的基基础础上上展展开开软软件件需需求求调调查查,显显然然这这样样做做需需求求获获取将会顺利得多。取将会顺利得多。需求获取需求获取建立一张项目视图建立一张项目视图1 12 23 34 45 56 6A A业务需求业务需求背景背景项项 目目机遇机遇项项 目目目标目标市市 场场需求需求客客 户户价值价值项项 目目风险风险B B方案描述方案描述功功 能能视图视图主主 要要特征特征假假设设和和依赖依赖C C范围局限范围局限首首次次发发行范围行范围随随后后发发行范围行范围局局限限性性和和专专用用
44、性性D D系统环境系统环境用用 户户概貌概貌项项目目优优先级先级E E成功因素成功因素需求获取需求获取建立业务模型建立业务模型建立业务模型的工作主要包括:建立业务模型的工作主要包括:分析领域中的业务角色(分析领域中的业务角色(BusinessRole/Actor)分析角色间的业务功能等关系分析角色间的业务功能等关系分析业务组织架构(分析业务组织架构(BusinessOrganization)分析业务规则(分析业务规则(BusinessRule)分析业务实体(分析业务实体(BusinessEntity)分析业务事件(分析业务事件(BusinessEvent)分析以业务角色为主角的业务用例(分析以
45、业务角色为主角的业务用例(BusinessUseCase)等;等;针对业务用例的实现(针对业务用例的实现(BusinessUseCaseRealization)确定实际承担业务任务的业务工人(确定实际承担业务任务的业务工人(BusinessWorker)分析业务工人间的工作协作,业务实体被使用的情况等。分析业务工人间的工作协作,业务实体被使用的情况等。需求获取需求获取建立业务模型建立业务模型大客户普通客户机构客户经纪人证券公司0.n1.n0.n1.n银行0.n0.n0.n0.n代理人0.n1.n0.n1.n交易所0.n1.n0.n1.n客户0.n1.n0.n1.n0.n0.n0.n0.n0.n
46、1.n0.n1.n0.n0.n0.n0.n0.n0.n0.n0.n证券登记结算机构11110.n1.n0.n1.n证券领域基本业务角色及其关系图证券领域基本业务角色及其关系图 需求获取需求获取建立业务模型建立业务模型证券领域主要业务角色间的功能关系图证券领域主要业务角色间的功能关系图 客户在银行有帐户向银行发出转帐、交易、查询指令等员工管理交易区域管理机位管理财经资讯管理自营业务管理头寸管理业务参数管理系统参数管理系统监控客户管理*冻结/解冻客户的帐户和资金。客户资产管理和分析资金证券差错处理资金证券清算实时成交处理处理银行发送的指令客户监控交易管理资金管理银证通管理服务管理查询财经资讯查询行
47、情发布行情信息发布股市信息发布成交信息发布清算交收数据发送委托/撤单指令。客户在交易所有股东帐户发送银证转帐、交易和确认指令与银行进行资金结算发送转帐、交易、查询、确认等信息银行证券公司交易所客户需求获取需求获取工作流工作流分分析析用用户户的的工工作作流流程程来来观观察察用用户户执执行行业业务务的的过过程程,是是需需求求分分析析下下一一步步的的主主要要任任务务。通通常常,可可以以把把工工作作流流简简单单地地理理解解为为:用用户户如如何何获获得得数数据据、如如何何处处理理数数据据、输输出出什什么么数数据据(一一个个IOPIOP循循环环),并并进进而而引引发发另另一一轮轮的的IOPIOP处处理理。
48、理理解解用用户户的的工工作作流流,可可以以正正确确地地获获得得用用户户所所要要求求的的功功能能的的需需求和实际意义。求和实际意义。需求获取需求获取业务实体业务实体业业务务实实体体就就是是组组织织活活动动的的对对象象,是是业业务务的的有有效效实实体体。例例如如:银银行行系系统统中中的的帐帐号号、储储种种、币币种种、存存期期、利利率率等等。实实体体的的逐逐步步细细化化、具具体体属属性性化化,就就成成为为系系统统数数据据字字典典的的雏雏形形。例例如如:帐帐号号进进一一步步细细化化有有:帐帐号号号号码码、帐帐号号类类型型(支支票票帐帐号号、现现金金帐帐号号、美美元元帐帐号号等等)、开开户户日日期期、余
49、余额、存期、起息日、状态等。额、存期、起息日、状态等。需求获取阶段项目经理的关注点需求获取阶段项目经理的关注点需求获取阶段的成果是获得用户认可的用户需求需求获取阶段的成果是获得用户认可的用户需求作为技术经理,重点控制上述几个需求获取过程。作为技术经理,重点控制上述几个需求获取过程。作作为为项项目目经经理理,关关注注的的重重点点,是是需需求求范范围围(项项目目视视图图),而而不不是是系系统统功能的细节。功能的细节。其中,特别要关注非功能软件需求,主要包括:其中,特别要关注非功能软件需求,主要包括:关注产品的质量需求关注产品的质量需求关注产品的环境需求关注产品的环境需求关注产品的设计约束关注产品的
50、设计约束关注产品的开发策略关注产品的开发策略关注产品的问题信息关注产品的问题信息关注产品的沿用信息:关注产品的沿用信息:这几个问题也是需求,或者是往往容易被忽略的需求的外延这几个问题也是需求,或者是往往容易被忽略的需求的外延控制需求范围(外延)是项目经理的责任控制需求范围(外延)是项目经理的责任问题探讨:无所适从的需求问题探讨:无所适从的需求分析分析 国内不少企业已经认识到需求分析的重要性,比如有的公司配备国内不少企业已经认识到需求分析的重要性,比如有的公司配备很强的软件工程师、数据库专家,为行业组织做了很好的系统方案,很强的软件工程师、数据库专家,为行业组织做了很好的系统方案,用户认为也很有