需求评估培训资料课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《需求评估培训资料课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 评估 培训资料 课件
- 资源描述:
-
1、Day01需求评估培训需求评估培训Agenda需求的基本概念与原理需求的基本概念与原理需求工程需求工程需求定义最佳实践需求定义最佳实践需求捕获最佳实践需求捕获最佳实践业务流程与规则分析业务流程与规则分析数据需求分析与建模数据需求分析与建模Agenda需求的基本概念与原理需求的基本概念与原理需求工程需求工程需求定义最佳实践需求定义最佳实践需求捕获最佳实践需求捕获最佳实践业务流程与规则分析业务流程与规则分析数据需求分析与建模数据需求分析与建模1)理论是实践的基础2)解决概念性的误区讨论讨论l你认为“什么是需求”?l日常工作中,遇到与“需求”相关的问题有哪些?l关于“需求”最大的困惑是什么?l以下问
2、题中,对你影响最大的是哪个? 不切实际的用户需求 很多需求最终是不需要的 用户介入太少 需求不完整 需求变更频繁 软件需求的定义软件需求的定义l软件行业存在这样一个问题,用于描述需求工作的术语没有统一的定义。l对同一项需求,不同的人会有不同的描述,称其为用户需求、软件需求、功能需求、系统需求、技术需求、业务需求或产品需求。l客户对需求的定义,在开发人员看来可能只是高级别的产品概念;而开发人员的需求概念对用户来说也许就是详细的用户界面设计。l需求必须被记录成文档,这一点很重要。 5对需求的不同解释对需求的不同解释lIEEE的软件工程标准术语表(1990)则将需求定义为: l用户为解决某个问题或达
3、到某个目标而需具备的条件或能力。l系统或系统组件为符合合同、标准、规范或其他正式文档而必须满足的条件或必须具备的能力。l上述第一项或第二项中定义的条件和能力的文档表达。6 注意 : 不要一厢情愿地认为项目涉众对需求的理解是一致的。应该事先给出定义,才能保证大家谈论的是同一个问题。 需求需求导致项目失败的罪魁祸首导致项目失败的罪魁祸首l根据Standish Group对23000个项目进行的研究结果表明,28%的项目彻底失败,46%的项目超出经费预算或者超出工期,只有约26%的项目获得成功。l而在于这些高达74%的不成功项目中,有约60%的失败是源于需求问题。l也就是说,有近45%的项目最终因为
4、需求的问题最终导致失败。对不知道航行目的地的人来说,没有顺风!我们在哪里重重摔了一跤我们在哪里重重摔了一跤l在Standish Group的报告中总结了导致项目失败的最重要的8大原因中,有5个与需求相关:l不完整的需求(13.1%);l缺乏用户的介入(12.4%); l不实际的客户期望(9.9%);l需求和规范的变更(8.7%);l提供了不再需要的(7.5%)缺乏资源(10.6%),没有执行层支持(9.3%),缺少规划(8.1%)项目成功的因素项目成功的因素l用户的参与:15.9%l管理层支持:13.9%l清晰的需求描述(13.0%);l合适的规划(9.6%); l现实的客户期望(8.2%);
5、l较小的里程碑(7.7%);l有才能的员工(7.2%)软件需求曾经让我们如此狼狈软件需求曾经让我们如此狼狈参与各方都以自已角度讲述问题参与各方都以自已角度讲述问题分布式 Web Services 三层对话框 菜单条 DCOMB/S 数据交换财务计算 管理报表 工作流自动库存控制 库存报警业务线索管理 业务经线索跟踪销售月报生成 交易流数据 问题的根源是什么?问题的根源是什么?l用户说的不是他想的:用户说的不是他想的:客户提供(陈述的需求)的需求并不是真实的需求,还需要作进一步的分析,以确定客户的真正需求和期望,接下来需要澄清并重新描述。可以这么说客户在理解基础业务过程和描述自己的需求方面有很大
6、的差异。l需求分析方法有问题:需求分析方法有问题:系统开发人员使用低效的需求分析和项目管理方法。l共同责任强调不足:共同责任强调不足:对客户和提供商在项目成功的共同责任方面强调不够。优秀的团队遇到糟糕的需求优秀的团队遇到糟糕的需求l用户参与不足l用户需求扩展l有歧义的需求l镀金问题l过于抽象的需求l忽略某种用户l不准确的计划l用户参与不足用户参与不足l开发人员往往也不重视用户的参与,原因是他们认为与用户打交道不像写代码那么有趣,或者自以为已经知道了用户想要什么。l用户参与不足将导致不能在项目早期及时发现需求中的缺陷,从而延误项目的完成。l在整个项目开发过程中,开发团队必须始终与实际用户直接合作
7、。 14用户需求扩展用户需求扩展l由于开发过程中需求的不断发展与增加,项目往往会落后于计划的进度并超出预算。l出现这种情况是因为没有依据对需求的规模和复杂度的实际评估来制订计划,而不断修改需求又使情况变得更糟。l问题的责任部分在于用户不断提出修改需求的要求,部分在于开发人员处理这种要求的方式。 l要控制项目范围的改变:l首先应明确项目的业务目标、全局规划、范围、限制、成功标准以及产品的预计用途。l然后参考这一框架对所有新特性和需求变更进行评估。 15有岐义的需求有岐义的需求l岐义表现为同一读者可以对一项需求声明作出多种解释,或者不同的读者对同一需求产生不同的理解。 l岐义会导致以下几点:l涉众
8、对产品怀有不同的期望。因此最终交付的产品会让部分人感到意外。l有岐义的需求使开发人员的时间浪费在解决无需解决的问题上。l有岐义的需求导致测试人员与开发人员对产品功能的理解不同,从而使测试人员也要浪费时间来解决这些差异。l消除歧义的办法之一是让代表不同观点的人对需求作正式的检查 。16镀金问题镀金问题l开发人员为产品添加了一项需求说明中没有提到的功能,他认为“用户肯定会喜欢的”。这就是所谓的“镀金问题(gold plating)”。 l开发人员和需求分析员不应擅自添加特性,应该把创意和备选方案提交给客户,让他们做决定。l要避免镀金问题,就应该追溯每项功能的来源,弄清楚为什么添加该功能。 17过于
9、抽象的需求过于抽象的需求l营销人员或经理经常喜欢只给出一个粗略的说明,他们希望开发人员在开发过程中充实它。l这种方式对研究性项目或需求特别灵活的项目或许管用,但是需要紧密合作的团队,而且仅限于开发小型系统(McConnell 1996)。l大多数情况下,这种做法的结果是使开发人员受挫,让客户失望。18忽略了某类用户忽略了某类用户l用户所使用的产品特性、产品的使用频率以及用户自身的经验水平不尽相同。l因此,多数产品都拥有不同的用户群。如果一开始没能找出产品的所有重要用户群,就会有某些用户需求得不到满足。确定所有用户群后,还要保证获得各类用户的需求 。19不准确的计划不准确的计划l不能充分理解需求
10、,就会作出过于乐观的估计,最终不可避免地陷入超支的泥潭。l造成软件成本估算失败的最主要原因包括频繁变更需求、遗漏需求、未与用户充分沟通、需求的说明不精确,以及对需求的分析不透彻(Davis 1995)等。 20优质需求过程的好处优质需求过程的好处l实现有效的需求工程过程。减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。l下面列出的好处并不能完全量化,但确实存在:l减少需求缺陷l减少开发过程中的返工l减少不必要的特性l降低改进成本l加快开发进度l提高沟通效率l控制需求范围的改变l项目更有序l对系统测试的评估更准确l提高客户和开发人员的满意度21优秀需求的特点优秀需求的特点l如何才能
11、将好的需求规格说明与那些有问题的区分开来?l这一节首先对说明中的单条需求(即需求声明)特点进行讨论,然后将介绍SRS作为整体应具备的特点。l如果想知道您的需求是否具备这些特点,最好的办法就是请几位项目相关人员仔细审阅您的SRS。不同的人会发现不同的问题。 22需求陈述的特点需求陈述的特点 l每一项用户需求、业务需求和功能需求都应具备下列性质 。l完整性l每一项需求都必须完整地描述即将交付使用的功能。l正确性l每一项需求都必须准确地描述将要开发的功能。l可行性l需求必须能够在系统及其运行环境的已知能力和约束条件内实现。 l必要性l每一项需求记录的功能都必须是用户的真正需要,或者是为符合外部系统需
12、求或某一标准而必须具备的功能。 l有优先次序l为每一项功能需求、特性或用例指定一个实现优先级,以表明它在产品的某一版本中的重要程度。 l无歧义l一项需求声明对所有读者应该只有一种一致的解释,然而自然语言却极易产生歧义。 l可验证性l看看您能否设计一些测试方法或使用其他验证方法,如检查或演示来判断产品是否正确实现了需求。 23权利和义务法案权利和义务法案客户有权利客户有权利1. 要求需求分析员使用客户的语言要求需求分析员使用客户的语言2. 要求需求分析员熟悉客户的业务,了解客户对系统的目标要求需求分析员熟悉客户的业务,了解客户对系统的目标3. 要求需求分析员把需求收集过程中客户提供的信息组织成书
13、面的软件需求规格说明要求需求分析员把需求收集过程中客户提供的信息组织成书面的软件需求规格说明4. 要求需求分析员解释需求过程生成的所有工作结果要求需求分析员解释需求过程生成的所有工作结果5. 要求需求分析员和开发人员尊重客户,始终以合作和专业的态度与客户进行互动要求需求分析员和开发人员尊重客户,始终以合作和专业的态度与客户进行互动6. 要求需求分析员和开发人员为需求和产品实现提供思路和备用方案要求需求分析员和开发人员为需求和产品实现提供思路和备用方案7. 要求开发人员实现能让产品使用起来更容易、更有趣的特性要求开发人员实现能让产品使用起来更容易、更有趣的特性8. 调整需求,便于重用已有的软件组
14、件调整需求,便于重用已有的软件组件9. 在提出需求变更时,获得对变更的成本、影响及二者权衡关系的真实评估在提出需求变更时,获得对变更的成本、影响及二者权衡关系的真实评估10. 获得满足功能和质量要求的系统,这些要求必须事先告知开发人员并征得其同意获得满足功能和质量要求的系统,这些要求必须事先告知开发人员并征得其同意软件客户有义务软件客户有义务1. 为需求分析员和开发人员讲解业务并定义业务术语为需求分析员和开发人员讲解业务并定义业务术语2. 提供需求,阐明需求,通过与开发人员的交互将需求充实完善提供需求,阐明需求,通过与开发人员的交互将需求充实完善3. 对系统需求的描述必须详细、准确对系统需求的
15、描述必须详细、准确4. 需要时,及时对需求做出决断需要时,及时对需求做出决断5. 尊重开发人员对需求成本和可行性的评估尊重开发人员对需求成本和可行性的评估6. 与开发人员协作,为功能需求、系统特性和用例设置优先级与开发人员协作,为功能需求、系统特性和用例设置优先级7. 审阅需求文档,评估原型审阅需求文档,评估原型8. 发现需要变更需求时,及时与开发人员沟通发现需要变更需求时,及时与开发人员沟通9. 按照开发组织的变更控制过程提出需求变更按照开发组织的变更控制过程提出需求变更10. 尊重需求分析员在需求工程中使用的过程尊重需求分析员在需求工程中使用的过程我们应该怎么办?我们应该怎么办?l对“需求
16、”建立正确的认识;l客户和供应商一根绳子上的两个蚂蚱;l和客户一起建立起“共同的目标”;l寻找并使用正确的、有效的需求捕获、描述(建模)、管理方法;l动态、持续地适应需求的变化;需求是什么?需求是什么?业务需求业务需求l业务需求是指反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求 。l背景描述:XX保险公司希望充分利用日益完善的移动通信技术,在原有的办公系统的基础上进行扩展,使得在外的业务人员能够及时地获得客户、业务相关的动态信息,与此同时,实现企业内部的即时通信。l业务需求/目标 :通过该系统的实施,将人工保费续缴、投保手续办理两项业务运转周期缩短10以上,使企业
17、内部沟通效率大幅改善,以帮助企业运转效率得以提高。 业务目标示例业务目标示例某船厂商业管理系统目标:A1.取代过时的系统A2.集成订单文档及数据库A3.使用经验数据进行报价A4.支持系统化的销售A5.快速捕获成本数据A6.加快发票的制作某医院管理系统目标:B1.降低IT成本人事部门:B2.实现一些任务的自动化B3.消除出错源B4.遵守最后期限B5.减少繁琐工作医院部门:B6.减少加班及工作量不足的情况B7.更快速的勤务规划B8.改进勤务表质量业务需求就是定义系统目标业务需求就是定义系统目标l现状:功能分解盛行的今天,常常会犯“盲人摸象”的错误,这使得需求太过脆弱,难以经受考验。l目标!目标!还
18、是目标!-系统开发应目标驱动目标驱动!目标是团队唯一的行动纲领。l目标的定义不能够流于形式,应该具有以下特征:业业务导向、可度量、合理、可行务导向、可度量、合理、可行。要注意目标太夸大会浪费资源,目标太缩小会影响士气。(教堂与小屋)l目标通常就是业务需求业务需求!业务需求就是定义系统目标业务需求就是定义系统目标l目标在哪里?业务需求是构建在“项目发起人”的脑子里的,也就是谁提出项目,谁就拥有对“业务需求”的最清晰的理解。l引出宏观的目标:思考企业运作中存在什么问题?这些问题主要是体现在哪些方面?这些问题对企业造成了什么影响?认为可以怎么解决?希望达到什么样的效果?l将大任务分解成为小目标,并且
19、引导客户良好地定义,这也是我们形成“项目子目标描述”的关键基础。l衡量这些目标的合理性与可行性。业务需求就是定义系统目标业务需求就是定义系统目标l形成一个不超过50字的项目目标,并且列出5-9个主要子目标,并且将其制作成一页文档,作为“项目的行动纲领”,还应该得到“项目发起人”的认可。l在此基础上,可以编写“项目的目标和范围文档”(或称项目综述,即POS,内容包括问题/机会、项目目标、项目目的、成功标准、假设/风险/障碍),对于产品而言,我们还可以构建一个从市场角度分析的“愿景”文档。l该部分工作是处于“需求过程”的金字塔尖,多花费一些时间和精力是值得的,也是必要的。 业务需求就是定义系统目标
20、业务需求就是定义系统目标l有了清晰的目标之后,还应该对系统划定范围,最常用的方法是工作上下文范围图(结构化分析方法):用户需求用户需求l用户需求是指描述用户使用产品必须要完成什么任务,怎么完成的需求,通常是在问题定义的基础上进用户访谈、调查,对用户使用的场景进行整理,从而建立从用户角度的需求。 l用户有不同类型: 管理型、事务型 信息系统、人 决策层、使用层 常用者、偶用者l组织方法:用例、用户故事、特性l例子:对快到期的客户,系统将通过短信将续保信息发给该客户的代理人系统需求系统需求l解释一:系统需求是相关联的硬件、软件系统对待开发系统的相关需求。 l解释二:从系统实现的角度描述的需求。l开
21、发人员(设计及分析人员)在业务需求、用户需求的基础上生成的。功能需求功能需求l功能需求是需求的主体,是需求的本质l功能需求定义了:系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作 l零散(需求项)整理(特性、用例)l敏捷方法:用户故事质量属性质量属性l产品必须具备的属性或品质 l可靠性:成熟性、容错性、易恢复性l易使用性:易理解性、易学习性、易操作性l效率:时间特性、资源特性l可维护性:易分析性、易更改性、稳定性、易测试性l可移植性:适应性、易安装性、一致性、易替换性lMcCall体系:运行(正确性、可靠性、效率、完整性、使用性)、修正(维护性、测试性、灵活性)、转移(
22、移植性、复用性、共运行性)设计约束设计约束l也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。l例如:必须采用国有自主知识版权的数据库系统l再如:必须运行在UNIX操作系统之下两个世界三种设计两个世界三种设计优秀的需求优秀的需求l完整性:完整描述即将交付使用的功能,发现缺少某项信息,可以采用TBD来标注l正确性:经过用户或用户信任的代理人审阅l可行性:在已知能力和约束条件中实现l必要性:每项需求记录的功能都应是用户真正需要的l有优先次序:提供了实现优先级l无歧义:对所有读者只有一种一致的解释l可验证性:可以设计测试方法来检查讨论讨论l前面的描述中,最大的感触是什么?Agenda需求的
23、基本概念与原理需求的基本概念与原理需求工程需求工程需求定义最佳实践需求定义最佳实践需求捕获最佳实践需求捕获最佳实践业务流程与规则分析业务流程与规则分析数据需求分析与建模数据需求分析与建模1)掌握需求的相关工作2)了解需求的相关人员需求错误的代价需求错误的代价需求:需求:1 1设计:设计:5 5编码:编码:1010测试:测试:20-5020-50运行与维护:运行与维护:200200需求开发与管理需求开发与管理需求开发活动需求开发活动需求开发需求开发 l需求开发可进一步细分为获取(Elicitation)、分析(analysis)、规格说明(specification)和确认(Validation
24、)(Abran和Moore 2001)。 l这些子学科涵盖了为软件和软件相关产品收集、评估和记录需求相关的所有活动,包括: l确定产品将要面对的各类用户。l从各类用户的代表处收集需求。l了解用户的任务和目标,以及这些任务要实现的业务目标。l分析从用户处得到的信息,将用户的任务目标与功能需求、非功能需求、业务规则、解决方案建议及其他无关信息区分开来。l将顶层的需求分配到系统构架内定义好的软件组件中。l了解各质量属性的相对重要性。l协商需求的实现优先级。l将收集的用户需求表述为书面的需求规格说明和模型。l审阅需求文档,以确保在认识上与用户声明的需求相一致。应在开发小组接受需求之前解决所有分岐。45
25、需求获取需求获取l应收集什么信息: 问题域的描述 要求解决的问题列表(需求) 用户对解系统的行为或结构施加的任何约束l信息来源: 客户(实际的和潜在的) 任何原有解系统(已有系统)及其文档 原有系统用户 / 新系统的潜在用户 应用(问题)领域专家 定义了任何接口系统的特片和行为的文档 相关的技术标准和法规需求获取技术需求获取技术阅读背景资料阅读背景资料头脑风暴头脑风暴讨论分析讨论分析文档考古文档考古面谈(用户访谈)面谈(用户访谈)联合应用设计联合应用设计用户调查用户调查需求剥离需求剥离现场观摩现场观摩任务观察任务观察用例和场景用例和场景需求获取的误区需求获取的误区l缺乏计划性:随意、走过场,预
展开阅读全文