需求管理方法论ppt课件

上传人:夏** 文档编号:567594808 上传时间:2024-07-21 格式:PPT 页数:132 大小:2.99MB
返回 下载 相关 举报
需求管理方法论ppt课件_第1页
第1页 / 共132页
需求管理方法论ppt课件_第2页
第2页 / 共132页
需求管理方法论ppt课件_第3页
第3页 / 共132页
需求管理方法论ppt课件_第4页
第4页 / 共132页
需求管理方法论ppt课件_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《需求管理方法论ppt课件》由会员分享,可在线阅读,更多相关《需求管理方法论ppt课件(132页珍藏版)》请在金锄头文库上搜索。

1、1 需求管理方法论需求管理方法论1 12 目的n n更深刻的理解需求以及它的价值n n更深入的理解需求的层次和类型n n为良好的需求管理建立坚实的方法论基础n n为更有效的管理需求给出实践和建议2 23 大纲n n需求管理介绍n n需求管理的重要概念n n需求跟踪n n深入管理需求n n编写好的需求n n需求变更管理3 34 需求管理介绍n n什么是需求?什么是需求管理?n n常见问题n n需求管理的重要性和益处4 45 项目成功因素清晰的商业目标清晰的商业目标17% 用户积极用户积极参与程度参与程度7%最小化范围最小化范围12%敏捷的需求过程敏捷的需求过程管理层的管理层的 支持支持14%15

2、%14%6%5%5%5%有经验的有经验的 项目经理项目经理标准的标准的 组织结构组织结构可靠的可靠的 估算估算规范的规范的 方法方法熟练的员工熟练的员工n n28%的项目按时并在预算内完成n n49%的项目超出原先估算n n时间平均延迟时间平均延迟了了63%63%n n成本超出了成本超出了45%45%n n23%的项目在完成之前被取消5 56 项目规模是关键成功率(%)项目规模($)6 67 什么是“需求”?n n任何影响产品或系统设计制造方式的信息n n功能功能n n性能性能n n安全性安全性n n可用性可用性n nn n复杂的产品/项目有数以千计的需求n n飞机、汽车、火车、手机飞机、汽车

3、、火车、手机n n同义词n n目标,规则,规约,约束,要求,特性,标准目标,规则,规约,约束,要求,特性,标准7 78 需求无处不在需求需求目的目标目标法规条件条件需求特性特性功能功能规则风险风险8 89 什么是“需求管理”?进行需求管理的目的是在客户和 .项目 .之间建立统一的认识。 这种与客户一致的认识是规划和管理 项目的基础。”卡内基梅隆大学软件工程学院软件能力成熟度模型(CMM)。 www.sei.cmu.edu/cmm突然,国王和护城河承包商发生了激烈争执,然后,需求管理诞生了。9 910 为什么要进行需求管理?n n“ “分析报告指出多达分析报告指出多达7171的项目失败是因为差劲

4、的项目失败是因为差劲的项目失败是因为差劲的项目失败是因为差劲的需求管理,的需求管理,的需求管理,的需求管理,这个是项目失败的最主要的原因,这个是项目失败的最主要的原因,比落后的技术,进度失控或者混乱的变更管理还比落后的技术,进度失控或者混乱的变更管理还要关键要关键” ” CIO Magazine, CIO Magazine, 2005/112005/11101011 n n错误的需求会对项目的整个生命周期造成多米诺骨牌效应n n遗漏用户需求将导致遗漏系统功能点,又将导致遗漏设计模块,最终导致功能失效UserSystemFailureDesign多米诺骨牌效应111112 常见问题1.1.需求只

5、存在组织中那些“专家”的脑子里,没有被记录下来2.2.有时客户的需求会被忽略3.3.而有时候开发的功能却不被客户使用4.4.客户签字确认了需求却一直提出修改要求5.5.需求变更对项目影响很大,难以确定变更的影响范围和成本6.6.市场部门、开发部门、测试部门跨部门的沟通存在问题,例如需求变化时不能迅速通知到测试部门去调整测试计划和案例。7.7.需求规格说明书的要求都实现了,客户却不满意8.8.需求的研发状态,需求变更的状态难以掌握如果您的项目中有3项类似的问题,那就说明参加这门培训是值得的121213 电信业和银行业15个项目统计n nHofmann and Lehner 2001n n最成功的

6、项目在需求工程上投入了28%的资源:需求获取,需求建模,需求确认和验证等n n平均每个项目在需求活动上投入了15.7%的工作量和占了 38.6%的时间131314 需求管理的作用 I 提高质量n n关于质量,Crosby的定义很简单与需求一致。n n正确的需求:正确的功能的前提正确的需求:正确的功能的前提n n一致性一致性n n与需求保持一致并不仅仅在项目的后期用测试来验证,更强调的是在项目的每一个阶段都紧紧围绕需求这个主线来开展工作。n n需求跟踪正是保证需求演化的整个过程都是与需求保持一致,以此保证项目和产品的最终质量 Phil Crosby141415 需求管理的作用 II 成本控制n

7、n目标正确是第一位的需求的正确捕获和表达n n在项目后期才发现需求的缺陷,修复需要非常高的成本n n需求分析n n分析得出带来最大价值的需求n n同时得出所需的成本n n我们的目标:n n合理成本下的效益最佳n n需求变化时如何控制成本n n洞察变更影响n n影响分析:迅速定位需要进行修改的模块151516 工作量时间典型较好整体成本低整体成本低缩短了缩短了开发时间开发时间第一时间采取措施能降低成本和第一时间采取措施能降低成本和缩短时间缩短时间161617 需求管理的作用 III 支持项目进度的管理n n真实项目进度的反映n n例如,多少需求已经被实现,它们的状态如何例如,多少需求已经被实现,

8、它们的状态如何?n n又如哪些需求已经有对应的测试案例,哪些需又如哪些需求已经有对应的测试案例,哪些需求已经测试通过?求已经测试通过?n n需求驱动开发n n需求活动在项目正式立项之前就展开需求活动在项目正式立项之前就展开n n需求分解后的功能点需求分解后的功能点/ /模块成为项目管理中的需模块成为项目管理中的需要实现的任务要实现的任务171718 课程大纲n n需求管理介绍n n需求管理的重要概念n n需求的需求的“ “沙漏沙漏” ”我们工作的全景视图我们工作的全景视图n n涉众的概念涉众的概念n n需求的层次需求的层次n n需求捕获n n需求跟踪n n深入管理需求n n编写好的需求n n需

9、求变更管理181819 需求的 “沙漏”191920 需求的 “沙漏”系统边界的确定需求的筛选需求开发标识涉众收集需求需求管理需求的演化问题陈述高度分散、凌乱的非结构的信息正式的结构化的需求解决方案设计202021 一些的需求专家人许多相关人员.工 程工程问题陈述定义问题.定义解决方案需求的 “沙漏”212122 需求的 “沙漏”系统边界的确定需求的筛选标识涉众收集需求.需求的演化问题陈述高度分散、凌乱的非结构的信息访谈,调查问卷观测用户现有系统改进建议,问题报告,创新研究正式的需求陈述:单独的, 唯一的,清晰的, 准确的,抽象的,良好的, 可测试的可追踪的正式的结构化的需求解决方案设计222

10、223 孙子兵法232324 选择做正确的事情“追求胜利”“作战”将事情做对需求的 “沙漏”242425 需求管理的困难n n需求:n n不明确不明确n n众多来源众多来源n n难以用文字难以用文字表达表达n n关联内容太关联内容太多多n n变更变更n n数量巨大数量巨大252526 需求文档的文档反映需求的演变层次n n某个银行研发中心的需求演进的层次n n业务规格说明书业务规格说明书 软件规格说明书软件规格说明书 概概要设计要设计 详细设计详细设计n n某个电信制造厂商的需求演进的层次n n市场需求市场需求 产品包需求产品包需求 设计需求设计需求 n n某个芯片提供商的需求演进的层次n n

11、市场需求市场需求 产品需求产品需求 系统功能系统功能 n n不同的产品/系统,不同的公司,对自己的需求体系有自己的定义262627 典型的需求层次n n业务需求 n n定义一个机构达到的目标和目的。定义一个机构达到的目标和目的。n n用户需求(涉众需求) n n说明用户需要系统提供什么能力帮助其完成任说明用户需要系统提供什么能力帮助其完成任务。务。n n系统需求 n n说明系统必需完成什么功能才能提供用户所需说明系统必需完成什么功能才能提供用户所需的。的。272728 业务需求n n我们为什么要进行这个项目?我们为什么要进行这个项目?n n组织的业务目标组织的业务目标n n提高公司的运营效率提

12、高公司的运营效率内部信息管理信息系内部信息管理信息系统统n n提高产品的市场竞争力提高产品的市场竞争力对商业软件对商业软件n n通常来自通常来自n n投资方投资方n n管理层管理层n n市场部市场部n n产品部产品部n n常见文档记录方式常见文档记录方式n n工作说明书工作说明书n n前景和范围文档前景和范围文档n n市场需求文档市场需求文档n n项目计划书(可行性报告)项目计划书(可行性报告)282829 业务需求n n若对项目预期的范围和目标有不同的理解,就无法对下列获得一致意见n n对哪些用户应该被访谈获取需求对哪些用户应该被访谈获取需求n n哪些功能应该被纳入哪些功能应该被纳入n n现

13、象n n某些特性先被添加,又被删除,又被加入某些特性先被添加,又被删除,又被加入n n分布式开发团队尤为重要n n决策基础n n目标版本目标版本n n应用的广度和深度应用的广度和深度n n需求变更需求变更292930 用户需求(涉众需求)n n用户的目标,用户希望完成的任务用户的目标,用户希望完成的任务n n影响系统的需求信息类型:n n业务目标业务目标n n使用场景使用场景n n外部约束外部约束n n用户界面需求n n接口需求n n环境的约束n n业务规则业务规则n n数据定义数据定义n n用户需求 - 涉众需求的通俗解释303031 系统需求n n产品中实现的功能性需求n n用户以此完成工

14、作用户以此完成工作n n进而满足业务需求进而满足业务需求n n描述包含多组件的系统的顶级需求313132 如果世界就这么简单业务需求业务需求用户需求用户需求系统需求系统需求323233 设计测试质量/ 标准法律/规章维护 市场培训支持 实现部署业务系统需求客户用户项目中各种信息交织在一起333334 课程大纲n n需求管理介绍n n需求管理的重要概念n n需求的需求的“ “沙漏沙漏” ”我们工作的全景视图我们工作的全景视图n n涉众的概念涉众的概念n n需求的层次需求的层次n n需求捕获n n需求跟踪n n深入管理需求n n编写好的需求n n需求变更管理343435 捕获需求n n我们必须知道

15、哪些信息是从来的需求的来源n n我们必须知道哪些信息是我们需要的需求的分类n n我们必须善于发现需求捕获需求的技巧353536 捕获需求活动:n n标识涉众n n与涉众交流n n收集需求n n给需求的重要程度排序n n选择需求n n记录需求363637 r572最终用户最终用户培训和支持培训和支持业务业务客户客户考虑所有可能的用户考虑所有可能的用户. 遗漏了他们的任何需求都会导致系统问题的出现遗漏了他们的任何需求都会导致系统问题的出现或系统失败或系统失败技术支持技术支持安装和维护安装和维护销售员销售员管理者,经理管理者,经理运输和装卸运输和装卸每个涉众都有各自的需求集373738 标识涉众n

16、nStakeholder: 涉众n n涉众是对于系统有利益关系或关注的个人,团队或组织。IEEE 1471有哪些涉众角色?n n投资方(系统的投资方)n n主管方(批准/管理系统的)n n最终用户(用户/系统受益方)n n操作方(操作/维护系统的)n n监管方(认证系统的)n n测试方(负责系统验收)n n其它(受系统影响的)383839 涉众角色举例XXX 系统:系统:投资方投资方计划部计划部主管方主管方信息化部信息化部用户代表用户代表市场部市场部最终用户最终用户营业员营业员监管方监管方审计部审计部测试方测试方信息化部信息化部操作方操作方信息化部信息化部概念:涉众角色概念:涉众角色39394

17、0 捕获需求n n我们必须知道哪些信息是从来的需求的来源n n我们必须知道哪些信息是我们需要的需求的分类n n引出系统功能的需求信息引出系统功能的需求信息n n非功能性需求的信息类型非功能性需求的信息类型n n我们必须善于发现需求捕获需求的技巧404041 用户提供给我们的足够的信息吗?n n没有?不知道?n n我们知道要收集哪些信息吗?414142 客户不会给你一个清晰全面的需求列表n n业务目标n n使用场景n n业务规则n n功能性需求n n质量属性n n接口需求n n约束n n数据的要求n n等等424243 需求分类n n功能需求n n系统必须实现的能力系统必须实现的能力. . n

18、n某些系统必须完成的工作某些系统必须完成的工作. . n n“ “系统能够为运输和装卸工作人员提供打印运输系统能够为运输和装卸工作人员提供打印运输标记功能标记功能. .” ” n n能够作为一个逻辑时序组织和实现的功能是功能够作为一个逻辑时序组织和实现的功能是功能需求能需求. .n n非功能需求n n必须被系统满足的潜在的条件必须被系统满足的潜在的条件. . n n“ “约束补充了系统的质量但不会作为一个功能存约束补充了系统的质量但不会作为一个功能存在在. .” ” 对于系统而言,约束不增加任何特殊的工对于系统而言,约束不增加任何特殊的工作作, , 但它起到保证系统满足所需的功能但它起到保证系

19、统满足所需的功能, ,保证系保证系统更可靠统更可靠, ,更易使用更易使用. . n n“ “音乐点歌系统能够储存音乐点歌系统能够储存15,000,00015,000,000个在线账号个在线账号. .” ”n n非功能需求能够作为一个重要规则或条件组织非功能需求能够作为一个重要规则或条件组织和实现和实现. .434344 影响系统功能的需求信息类型n n业务目标n n使用场景n n外部约束n n用户界面需求n n接口需求n n环境的约束n n业务规则n n数据定义444445 非功能性需求的信息类型n n“真实的现实系统中,在决定系统的成功或者失败的因素中,满足非功能性需求往往比满足功能性需求更

20、为重要。”n n性能n n软件质量属性n n对产品的功能作出了补充,从不同方面描述了对产品的功能作出了补充,从不同方面描述了产品的特性产品的特性n n如可用性,可移植性,健壮性等等。如可用性,可移植性,健壮性等等。454546 影响系统功能的需求信息类型n n业务目标 业务需求n n使用场景 用例n n外部约束n n用户界面需求用户界面需求n n接口需求接口需求n n环境的约束环境的约束n n业务规则n n数据定义464647 场景和用例用于以下目的的技术:用于以下目的的技术:用于以下目的的技术:用于以下目的的技术:n n详细描述涉众需求详细描述涉众需求n n研究揭示涉众需求的情形研究揭示涉众

21、需求的情形n n按照每个目标或状态生成需求按照每个目标或状态生成需求n n改善与涉众的沟通改善与涉众的沟通n n用涉众语言表达应用情况用涉众语言表达应用情况n n确保需求的完整性确保需求的完整性n n覆盖全部情况的多种应用覆盖全部情况的多种应用n n结构化编写需求文档结构化编写需求文档n n用主场景作为标题结构用主场景作为标题结构n n导出验收测试导出验收测试n n设计覆盖所有应用情况的测试设计覆盖所有应用情况的测试474748 最终目标最终目标水平水平 1水平水平 2 操操 作作 顺顺 序序实现最终目标实现最终目标的步骤的步骤子目标子目标子目标子目标子目标子目标子目标子目标 子目标子目标子目

22、标子目标子目标子目标用户场景作为不同层次的目标子目标子目标子目标子目标子目标子目标484849 应用情况举例(一件行李)应用情况举例(一件行李)应用情况举例(一件行李)应用情况举例(一件行李)行李拥有人在目的地提行李卸机装机就绪装机飞行登机由飞机卸货装机飞行再次装机装入集装箱运至登机口安全检查贴标签登记受控由集装箱卸货交行李卸机装机乘客入座测量称重494950 多个场景图n n一个场景图也许不够n n 把类似的情况组成一组场景把类似的情况组成一组场景n n场景将包含共同的元素n n 指出共同的子场景指出共同的子场景n n首先设计整个结构n n 然后加入特例然后加入特例Sd jer isadDf

23、j fdidfUahfi dfDf dfuy fdasdfF sad fddkgfhuvjdSada fAsdf Klrt fdsFdd ffdSdf dfufAsdfjj oijfJha dfOiasdf fuDffd dfOrj dsId asd dsDfids adfPrtid yffd场景场景 A场景场景 B共同的子场景共同的子场景505051 场景和用例n n使用场景(Usage Scenario)n n多年来需求分析人员一直使用多年来需求分析人员一直使用n n用例(Use Case) 以场景为中心的方法n nIvar JacobsonIvar Jacobson及其同事及其同事 (1

24、992)(1992)n nLarry ConstatnineLarry Constatnine和和Lucy Lockwood(1999)Lucy Lockwood(1999)n nAlistair Cockburn (2001)Alistair Cockburn (2001)n n用例不适合n n批处理,主要用于计算的系统,数据仓库批处理,主要用于计算的系统,数据仓库n n应用的复杂在于执行的运算或者生成的报表应用的复杂在于执行的运算或者生成的报表n n关于Use Case,请参加UML的资料515152 用例n n在讨论用例时会引出包含其他需求信息n n优先级优先级n n使用频率使用频率n

25、n业务规则业务规则n n所操作的数据所操作的数据n n接口信息接口信息525253 用例和功能性需求n n开发人员实现的不是业务需求或者用例n n而是功能需求而是功能需求n n用例从actor的角度来表述系统行为,省略了很多细节n n系统外部可见的行为系统外部可见的行为n nATMATM机和银行的计算机如何通讯机和银行的计算机如何通讯n n对于实现用例时需要的详细的功能性需求,需求分析人员应给出明确的描述(Arlow 1998)n n有些功能需求比较容易从用例中理解和导出n n另一些则没有在用例描述中出现n n需求分析员应该对用例和系统的操作环境的理需求分析员应该对用例和系统的操作环境的理解导

26、出该类功能性的需求解导出该类功能性的需求535354 场景举例(一件行李)行李拥有人在目的地提行李卸机装机就绪装机飞行登机由飞机卸货装机飞行再次装机装箱运至登机口安全检查贴标签登记受控由箱子卸货交行李卸机装机值机人员应该能够记录托运行李物品的旅客信息行李处理机器应该能够把行李放到规定尺寸的箱子中545455 记录与用例相关的功能性需求n n用例文档?n n软件需求规格说明书?n n第一种只使用用例文档n n把功能性需求包含在每个用例描述把功能性需求包含在每个用例描述n n还需要单独记录非功能性需求,以及不与特定还需要单独记录非功能性需求,以及不与特定用例相关的需求用例相关的需求n n第二种用例

27、与软件需求规格说明n n相当简单的用例描述相当简单的用例描述n n用例中推导出的功能性需求记录在用例中推导出的功能性需求记录在SRSSRS中中n n可追踪关系可追踪关系n n第三种只使用软件需求规格说明书n n利用用例或者特性来组织利用用例或者特性来组织n n把用例和功能性需求都记录在把用例和功能性需求都记录在SRSSRS中中555556 用例使用时的问题n n用例过多n n用例过于复杂n n用例中包含用户界面设计n n用例中包含数据定义n n用户无法理解565657 影响系统功能的需求信息类型n n业务目标 业务需求n n使用场景 用例n n外部约束n n用户界面需求用户界面需求n n接口需

28、求接口需求n n环境的约束环境的约束n n业务规则n n数据定义575758 外部系统的约束外部系统n n存在或预定义的未来系统n n竞争或合作的系统n n被替换的系统n n相关的系统,例如,在其它终端的行李系统外部约束n n接口 (通常是标准的)585859 操作环境操作环境我们的系统我们的系统竞争系统竞争系统 F竞争系统竞争系统 E合作系统合作系统 D合作系统合作系统 C竞争系统竞争系统 B合作系统合作系统 A环境的约束n n环境的作用环境的作用:n n环境对系统的作用是什么环境对系统的作用是什么n n引入的环境引入的环境:n n系统对环境的作用是什么系统对环境的作用是什么 对其自身的作对

29、其自身的作用用 ( (例如例如, ,振动振动) )595960 环境约束的例子环境的作用:n n必须能够在水下发送信息n n必须能够在失重的条件下做记录n n必须能够在有暴风雨的条件下发现来进攻的导弹引入的环境:n n不允许制造太大的噪音或振动n n不能干扰邻近的电子设备606061 影响系统功能的需求信息类型n n业务目标 业务需求n n使用场景 用例n n外部约束n n用户界面需求用户界面需求n n接口需求接口需求n n环境的约束环境的约束n n业务规则n n数据定义616162 业务规则n n软件功能性需求的一个主要来源n n指定了系统为符合这种规则必须具备的功能指定了系统为符合这种规则

30、必须具备的功能n n业务规则是公司的重要资产n n你明白了,他明白了吗?你明白了,他明白了吗?n n构建规则集能够帮助需求分析人员,帮助开发构建规则集能够帮助需求分析人员,帮助开发者理解需求者理解需求626263 业务规则的种类n n事实n n关于数据实体及其属性的陈述关于数据实体及其属性的陈述n n例,每个订单都包含运费例,每个订单都包含运费n n例,如果购买的是不可退的票,如改变行程,例,如果购买的是不可退的票,如改变行程,就要另外付费就要另外付费n n约束n n限制了系统或用户可以执行哪些操作限制了系统或用户可以执行哪些操作n n词汇,词汇,必须,不可以,可以不必须,不可以,可以不必须,

31、不可以,可以不必须,不可以,可以不或者或者只有只有只有只有n n例,图书馆的借阅者例,图书馆的借阅者最多可以最多可以最多可以最多可以同时借阅同时借阅1010本书本书例例: ATM跨行取款要收费跨行取款要收费1RMB我们会要求这个吗我们会要求这个吗?636364 业务规则的种类(续)n n动作/状态触发规则n n特定条件下触发某个动作特定条件下触发某个动作n n如,机票到了失效日期的前一个礼拜,则应通如,机票到了失效日期的前一个礼拜,则应通知客户知客户n n计算n n定义了算法定义了算法n n如,机场建设费如,机场建设费646465 业务规则和需求n n业务规则会影响到多个应用n n企业级的资源

32、进行管理企业级的资源进行管理n nAsk Whyn n客户会告诉你需求相关的业务规则客户会告诉你需求相关的业务规则n n记录需求和规则之间的关系n n利用属性利用属性n n利用追踪关系利用追踪关系656566 练习和讨论n n针对每种业务规则,给出您的项目中的例子n n找出需求背后的来源,从而发现业务规则666667 数据定义n n独立的数据定义n n方便信息的查询方便信息的查询n n避免冗余和不一致性避免冗余和不一致性n n数据字典n n定义应用中使用的数据元素或属性的含义、数定义应用中使用的数据元素或属性的含义、数据类型、长度、格式需要的精度以及允许的取据类型、长度、格式需要的精度以及允许

33、的取值值n n作为项目术语表的补充作为项目术语表的补充n n可作为可作为SRSSRS的附录,或者单独的文档的附录,或者单独的文档n n如何定义n n符号标识法符号标识法n n利用利用CASECASE工具工具676768 符号表示法n n被定义的数据项在等号的左边,其定义在等号的被定义的数据项在等号的左边,其定义在等号的右边右边n n基本数据元素基本数据元素n n确定其数据类型,大小,允许的取值范围和其确定其数据类型,大小,允许的取值范围和其他属性他属性n n订单标识号订单标识号=*=*系统生成的系统生成的6 6位顺序整数,以位顺序整数,以1 1开开头,并能唯一标识每个订单头,并能唯一标识每个订

34、单* *n n组合结构组合结构n n一个数据结构包含多个数据项一个数据结构包含多个数据项 ()():表示可选:表示可选n n订单中的产品订单中的产品 = = 产品编号名称数据数量产品编号名称数据数量单位单位( (供应商名称供应商名称) )n n重复项重复项n n用大括号表示可出现一个数据结构中的一个数用大括号表示可出现一个数据结构中的一个数据项的多个实例据项的多个实例n n订单订单标识号订单日期帐户号订单订单标识号订单日期帐户号1:101:10 订单中的产品订单中的产品 n n可选项可选项n n数量单位数量单位=“ “克克” ”| |“ “千克千克” ”| |“ “个个” ”| |“ “打打”

35、 ”|686869 非功能性需求的信息类型n n“真实的现实系统中,在决定系统的成功或者失败的因素中,满足非功能性需求往往比满足功能性需求更为重要。”n n性能n n软件质量属性n n对产品的功能作出了补充,从不同方面描述了对产品的功能作出了补充,从不同方面描述了产品的特性产品的特性n n如可用性,可移植性,健壮性等等。如可用性,可移植性,健壮性等等。696970 性能需求n n定义了系统多快好省的完成专门的功能n n速度,如响应时间速度,如响应时间n n吞吐量,如每秒处理的事务吞吐量,如每秒处理的事务n n处理能力,如并发使用的负载处理能力,如并发使用的负载n n定时,如严格的实时要求定时,

36、如严格的实时要求n n确认需求n n使需求可以被测试使需求可以被测试n n定义妥协空间n n通过定义谈判的范围通过定义谈判的范围707071 性能需求和功能需求n n总是与功能相关而非与约束相关n n但是有时限制的值可以作为约束但是有时限制的值可以作为约束n n文档中应用专门的部分记录系统的性能需求n n尽可能量化n n不同的功能型需求有不同的性能需求n n为相应的功能指定其性能目标为相应的功能指定其性能目标717172 软件质量属性n n除了完成任务,还要使客户满意n n技术角度,质量属性影响重要的架构和设计策略n n一般说来客户不能明确提出他们对产品质量的期望n n不同项目考虑的重点不同n

37、 n嵌入式系统嵌入式系统 有效性和可靠性有效性和可靠性n nInternetInternet应用应用可用性、完整性和可维护性可用性、完整性和可维护性n n桌面系统桌面系统互操作性和易用性互操作性和易用性n n产品的不同部分需求不同的质量属性组合727273 对用户比较重要的软件质量属性n n可用性 (Availability)n n有效性 (Efficiency)n n可扩充性(Extensibility)n n完整性 (Integrity)n n互操作性(Interoperability)n n可靠性(Reliability)n n健壮性(Robustness)n n易用性(Usabilit

38、y)737374 对开发人员比较重要的软件质量属性n n可维护性(Maintainability)n n可移植性(Portability)n n可重用性(Reusability)747475 可用性和有效性n n可用性n n系统的平均无故障时间系统的平均无故障时间(MTTF)/(MTTF)/(平均无故障时平均无故障时间间+ +故障发生后所用的故障修复时间故障发生后所用的故障修复时间(MTTR)(MTTR)n nWebWeb站点或者用户遍及全球的应用站点或者用户遍及全球的应用n nAV1AV1:工作日,系统的至少可用性达到:工作日,系统的至少可用性达到99.5%;99.5%;休息日,系统的可用性

39、至少休息日,系统的可用性至少95%95%n n如果要求可用性为如果要求可用性为100100?n n有效性n n衡量系统在利用处理器能力、磁盘空间、内存衡量系统在利用处理器能力、磁盘空间、内存和通信带宽等方面的表现和通信带宽等方面的表现n n例,在预计的峰值负载条件下,至少例,在预计的峰值负载条件下,至少25%25%的处的处理器能力和内存备用理器能力和内存备用757576 可扩充性和完整性n n可扩充性n n用来测量向产品中添加新功能的难易程度用来测量向产品中添加新功能的难易程度n n设计方案的选择设计方案的选择n n例,一个至少具有例,一个至少具有6 6个月产品支持经验的程序员,个月产品支持经

40、验的程序员,可以在可以在8 8小时内为系统添加一个新的输出设备小时内为系统添加一个新的输出设备n n完整性n n主要处理防止非法访问系统功能、防止数据丢主要处理防止非法访问系统功能、防止数据丢失、防护病毒入侵以及保护数据的保密性和安失、防护病毒入侵以及保护数据的保密性和安全性全性n nInternetInternetn n使用含义明确的术语,如用户身份验证、用户使用含义明确的术语,如用户身份验证、用户权限级别等等权限级别等等767677 互操作性、可靠性和健壮性n n互操作性n n系统与其他系统交互数据的服务的难易程度系统与其他系统交互数据的服务的难易程度n n外部接口需求外部接口需求n n可

41、靠性n n健壮性n n“ “制造得象坦克一样制造得象坦克一样” ”n n当系统遇到非法数据和操作,相连的系统发生当系统遇到非法数据和操作,相连的系统发生故障时,能够继续正常运行的可能性故障时,能够继续正常运行的可能性n n健壮的软件可以从问题的环境中自然的恢复过健壮的软件可以从问题的环境中自然的恢复过来来777778 易用性n n易于使用n n人机工程 Human Engineeringn n问题n n快速简单做某事的重要程度如何?快速简单做某事的重要程度如何?n n完成某个工作应该花多长时间?完成某个工作应该花多长时间?n n界面习惯?界面习惯?n n学习曲线?学习曲线?787879 可维护

42、性、可移植性和可重用性n n可维护性表明了纠正缺陷或修改软件的简单程度n n频繁修订的产品频繁修订的产品n n可引出设计目标可引出设计目标n n例,程序维护人员应该在例,程序维护人员应该在2020小时或更短的时间小时或更短的时间内,对报告格式进行更改,以遵循官方修订的内,对报告格式进行更改,以遵循官方修订的报告格式报告格式n n可移植性n n度量将软件从一种运行环境移至到另一个运行度量将软件从一种运行环境移至到另一个运行环境所需的工作量环境所需的工作量n n可重用性n n度量一个软件组件应用到其他应用程序所需的度量一个软件组件应用到其他应用程序所需的工作量工作量797980 捕获需求n n我们

43、必须知道哪些信息是从来的需求的来源n n我们必须知道哪些信息是我们需要的需求的分类n n引出系统功能的需求信息引出系统功能的需求信息n n非功能性需求的信息类型非功能性需求的信息类型n n我们必须善于发现需求捕获需求的技巧808081 轻松一刻n n联合利华新换了一批自动香皂包装机以后,经常出现香皂盒子是空的没有香皂的情况,而在装配线一头用人工检查因为效率问题不太可能而且不保险?n n这不,一个由自动化,机械,机电一体化等专业的博士组成的Solution队伍来解决这个问题,没多久他们在装配线的头上开发了全自动的X光透射检查线,透射检查所有的装配线尽头等待装箱的香皂盒,如果由空的就用机械臂取走。

44、n n中国一乡镇企业生产香皂也遇到类似问题,老板吩咐线上小工务必想出对策解决之,小工拿了一个电风扇放在装配线的头上,对着最后的成品吹之,空盒子被吹走问题解决之818182 需求/系统工程最应关注问题领域问题域问题域“定义要做什么定义要做什么”解决方案域解决方案域“定义系统如何实现定义系统如何实现”828283 在写出好的需求之前n n我们必须知道哪些信息是从来的需求的来源:涉众n n需求的发展层次n n我们是在谈论同一层次的需求吗?838384 概念:问题和解决方案验收测试 验收产品验收产品 涉众需求 需求陈述 操作应用 满足满足组件需求 组件测试 测试需求测试需求 子系统需求 子系统测试 集

45、成子系统集成子系统 满足满足 系统需求 系统测试 评估系统评估系统 满足满足 表达问题定义解决方案848485 涉众需求涉众需求描述问题和其背景涉众希望从系统得到的结果不定义解决方案,除了环境结果的质量拥有方为涉众或其代表(例如市场部)系统需求系统需求抽象地表达解决方案系统的功能不定义设计系统行为的效果拥有方为系统工程师“用户应能用户应能 .”“系统应系统应 。”问题和解决方案的不同问题问题解决方法解决方法概念:问题和解决方案概念:问题和解决方案858586 混淆问题和解决方案的结果n n不能很好理解问题n n无法决定功能n n开发人员将自行决定n n用户和系统约束条件混淆 n n拥有方不清概

46、念:问题和解决方案概念:问题和解决方案868687 四个关键问题能帮助我们在适当层次表达需求能帮助我们在适当层次表达需求1.1.目的是什么?目的是什么? 专注于问题,而不是解决方案 识别在何处将需求陈述为解决方案 表达需求不要限制解决方案2.2.是否隐含一个解决方案?是否隐含一个解决方案? 理解为什么需要特定的解决方案 收集导致所建议解决方案的约束条件3.3.潜在目标是什么?潜在目标是什么? 帮助表达和量化需求 是最大、最小还是优化的?4.4.如何知道目标已得到满足?如何知道目标已得到满足? 量化需求和使需求可测878788 举例客户希望在交叉路口设置一组控制交通客户希望在交叉路口设置一组控制

47、交通的红绿灯。的红绿灯。1.1.目的是什么?2.2.是否隐含一个解决方案?3.3.什么是潜在目标?4.4.如何确定需求已得到满足?888889 需求跟踪n n需求管理介绍n n需求管理的重要概念n n需求捕获n n需求跟踪n n深入管理需求n n编写好的需求n n需求变更管理898990 需求跟踪n n正确定义需求后的跟踪管理n n过程改进(如CMMI)需要进行双向的需求跟踪n n理解高层信息如何转换到低层n n理解如何满足和验证需求n n具体体现在:n n理解需求如何被满足理解需求如何被满足n n理解需求变更的影响理解需求变更的影响n n理解需求如何被测试理解需求如何被测试n n理解测试失败

48、的影响理解测试失败的影响909091 整个生命周期的可追溯性整个生命周期的可追溯性验收测试 验收产品验收产品 用户需求需求陈述操作应用 满足满足组件需求 组件测试测试需求测试需求 子系统需求 子系统测试 集成子系统集成子系统 满足满足 系统需求 系统测试 验证系统验证系统 满足满足 概念:需求跟概念:需求跟踪踪919192 影响分析影响分析验收测试 验收产品验收产品 用户需求 需求陈述操作应用 满足满足组件需求 组件测试测试需求测试需求 子系统需求 子系统测试 集成子系统集成子系统 满足满足 系统需求 系统测试 验证系统验证系统 满足满足 概念:需求跟概念:需求跟踪踪929293 覆盖率分析覆

49、盖率分析完成了多少完成了多少 ?验收测试 验收产品验收产品 用户需求 需求陈述操作应用 满足满足组件需求 组件测试测试需求测试需求 子系统需求 子系统测试 集成子系统集成子系统 满足满足 系统需求 系统测试 验证系统验证系统 满足满足 ?概念:需求跟概念:需求跟踪踪939394 来源分析来源分析为什么?为什么?验收测试 验收产品验收产品 用户需求 需求陈述操作应用 满足满足组件需求 组件测试测试需求测试需求 子系统需求 子系统测试 集成子系统集成子系统 满足满足 系统需求 系统测试 验证系统验证系统 满足满足 概念:需求跟概念:需求跟踪踪949495 来源覆盖率分析来源覆盖率分析验收测试 验收

50、产品验收产品 用户需求 需求陈述操作应用 满足满足组件需求 组件测试测试需求测试需求 子系统需求 子系统测试 集成子系统集成子系统 满足满足 系统需求 系统测试 验证系统验证系统 满足满足 ?概念:需求跟概念:需求跟踪踪959596 跟踪需求示例n n在需求条目上建立链接n n要求:区分、标识和管理各个需求条目客户需求客户需求系统需求系统需求软件设计软件设计满满足足满满足足969697 审查追踪关系的两大标准n n充分性: 底层的需求是不是能够充分满足高层的要求?n n必要性: 所有的底层的需求/功能都必要存在来满足高层的需求?n n一定的工具支持:能够容易地浏览相关需求979798 高效的需

51、求跟踪n n实战中要求n n方便地创建需求关联方便地创建需求关联n n方便地查看需求关联方便地查看需求关联n n方便地维护需求关联方便地维护需求关联n n方便地建立需求跟踪的分析报告方便地建立需求跟踪的分析报告989899 大纲n n需求管理介绍n n需求管理的重要概念n n需求跟踪n n深入管理需求n n编写好的需求n n需求变更管理9999100 进一步管理需求n n我需要管理需求的状态.n n我能看到只包含通过测试的需求集合吗我能看到只包含通过测试的需求集合吗? ?n n我需求对需求的优先级进行排序n n我们需要将开发力量集中在客户最迫切的需求上。我们需要将开发力量集中在客户最迫切的需求

52、上。n n我们想大家基于统一的信息进行工作n n我们能提供对每个用户自己感兴趣的数据吗?我们能提供对每个用户自己感兴趣的数据吗?100100101 需求条目管理文档其它属性可接受性可接受性可接受可接受需检查需检查优先级优先级强制项强制项希望项希望项IDID号号UR 1UR 2标识分类控制101101102 n n 属性是额外定义的需求特性属性是额外定义的需求特性, 能够对需求能够对需求项描述提供实质的额外说明项描述提供实质的额外说明n n来源来源谁提出的这条需求谁提出的这条需求? ?n n优先级优先级这条需求的优先级这条需求的优先级? ?n n评论评论任何关于需求的评论用来澄清需求的任何关于需

53、求的评论用来澄清需求的涵义涵义. .n n问题问题任何需要澄清的关于任何需要澄清的关于SourceSource的问题的问题n n状态状态需求的状态需求的状态n n负责人负责人相关人员相关人员n n 你可以定义你的属性来支持你们的需求管你可以定义你的属性来支持你们的需求管理过程理过程,并且提高数据并且提高数据 的生产效率的生产效率属性刻画您的需求102102103 使用属性需求不只是一个文本描述。它还有其它属性,例如234 用户将各类业务定单根据业务规则分解为各类面向服务开通的工单。n n简述简述: 定单分解n n优先级优先级: 高n n版本版本:1.0.5n n状态状态:已规划n n统一管理程

54、度统一管理程度:统一需求n n103103104 需求状态的跟踪和控制n n 把需求展示的观看限定在某些特别的信息把需求展示的观看限定在某些特别的信息上上, 如如:n n高风险的需求项高风险的需求项n n已规划的需求项已规划的需求项n n分配给某个人的需求项分配给某个人的需求项n n没有通过测试的需求项没有通过测试的需求项n n给某些需求项的属性设定一个值给某些需求项的属性设定一个值n n你也许想给所有文本含有你也许想给所有文本含有 “ “安全安全” ”单词的需求单词的需求项的优先级属性赋值为项的优先级属性赋值为“ “高高” ”104104105 为什么要设定需求优先级?n n现实约束的需要n

55、 n迭代开发的需要n n变更管理的需要105105106 我们可能遇到的困难n n如果将决定权完全交给客户n n分步式优先级n n威胁式优先级n n不同的用户,不同的优先级n n请我们和客户都要理解好钢用到刀刃上!106106107 问正确的问题n n是否有其他方式可以满足这一需求?n n如果忽略或推迟实现这一需求,其后果是什么?n n如果不立即实现这一需求,那么对项目的业务目标有什么影响?n n如果将这一需求推迟到下一版本中实现,您为什么不满意呢?107107108 设置优先级n n最简单和直观的方式n n高n n中n n低n n从重要性和紧迫性两个方面考虑重要重要不重不重要要紧迫紧迫高高?

56、不紧不紧迫迫?低低108108109 复杂的优先级判断n n很多因素会影响到需求的优先级n n竞争对手分析竞争对手分析n n客户需求客户需求n n创新想法创新想法n n公司战略公司战略n n所有开发约束条件等所有开发约束条件等n n优先级的判断常常兼有定性(价值,风险)的判断和定量(例如特性的估计成本)的比较 109109110 层次分析法 n n70 年代由美国运筹学家TLSatty提出的,是一种定性与定量分析相结合的多目标决策分析方法论。n n吸收利用行为科学的特点,是将决策者的经验判断给予量化,对目标(因素)结构复杂而且缺乏必要的数据情况下,采用此方法较为实用,n n常用的一种系统分析方

57、法110110111 课程大纲n n需求管理介绍n n需求管理的重要概念n n需求跟踪n n深入管理需求n n编写好的需求n n好的需求表达的准则好的需求表达的准则n n好的需求文档的准则好的需求文档的准则n n需求变更管理111111112 需求书写的标准n n一个需求一句话。n n每个需求包含主语和谓语,主语是用户或系统,谓语是条件、动作和期望的结果。 n n注意助动词的使用:n n“将要,” “将,”或 “必须” 等词表示强制特征n n“也许” 或 “可能” 等词表示可选特征n n这个需求标识预期的目标和结果。n n包含一个需求是否被满足的判断标准或其它可度量质量的指标。 1121121

58、13 n访谈n问卷n需求讨论会n在用户环境中工作n类似的或现有产品n变更建议和问题报告n n现有产品、环境及工作流模式的观察报告n n市场调查n n中期项目评审n n用户小组会议n n新技术n n用户修改需求来源113113114 r572“网络用户将能够在网络用户将能够在5秒钟之秒钟之内内访问当前账号中的信息访问当前账号中的信息.”定义用户类型定义用户类型定义结果定义结果性能标准性能标准动词动词这句需求标识了用户类型和最终结果这句需求标识了用户类型和最终结果并且说明了预期的时间并且说明了预期的时间验证质量的团队可以依据定义的判断标准检查需求是否成功实现验证质量的团队可以依据定义的判断标准检查

59、需求是否成功实现- “访问访问 . 账号信息账号信息” “少于少于5秒钟秒钟.” 挑战:在每条需求定义中找出用户类型,实现结果和度量标挑战:在每条需求定义中找出用户类型,实现结果和度量标准准. 一个合格需求的剖析114114115 每个单独的需求应该:1.1.1.1.单一单一:单一的可追溯元素2.2.2.2.唯一唯一:每个陈述都是唯一标识的3.3.3.3.清晰清晰:每个陈述都是清晰易理解的4.4.4.4.精确精确:每个陈述都是准确和简明的5.5.5.5.抽象抽象:不对下层解决方案施加影响6.6.6.6.量化量化:每个陈述都有验收条件7.7.7.7.可测试可测试:每个陈述都可以被确认/验证合格需

60、求具备的特征115115116 需求文档的七大标准各需求组应:1.1.完整完整 / 充分充分:全部需求都存在2.2.一致一致:任意两个需求都没有冲突3.3.无冗余无冗余:每个需求仅表达一次4.4.模块化模块化:相关的需求陈述的聚集在一起5.5.结构化结构化:需求信息文档结构应清晰6.6.满足满足:应实现适当粒度的设计可跟踪性7.7.验证验证:应实现适当粒度的测试可跟踪性定义最外层轮廓结构,之后逐步改善116116117 写好的需求不可能一蹴而就n n让大家从一开始就明白标准是什么n n先写下来您听得的,或者收集的信息,尽管不那么完美n n使用最初的版本去获得最快的反馈n n逐步地完善需求,去掉

61、模糊的陈述,不必要的设计等等。n n涉众的始终参与和需求专家的介入是一样重要的117117118 1.1.1.1.避免凌乱:避免凌乱:简洁为美2.2.2.2.非约束条件:非约束条件:例如,“如果它应当是必须的”;这对需求来说毫无意义3.3.3.3.多项需求:多项需求:经常使用的词有,“和”、“或”、“但是”、“然而”4.4.4.4.含糊术语:含糊术语:通常、一般、经常、正常情况下、典型情况是、用户友好、通用的、灵活的5.5.5.5.理想化的想法:理想化的想法:“100%可靠”、“使所有用户满意”、“在所有平台上运行”、“处理所有意外故障”、“可针对未来所有情况升级”6.6.6.6.推测:推测:

62、局限于你所知道的六大应避免事项118118124 大纲n n需求管理介绍n n需求管理的重要概念n n需求跟踪n n深入管理需求n n编写好的需求n n需求变更管理n n变更的影响分析变更的影响分析n n变更的记录变更的记录n n变更的及时发现和通知变更的及时发现和通知124124125 管理变更n n理解变更的影响n n要求:理解需求之间的关系,并且深入到文档内部跟踪需求条目满足满足满满足足客户需求客户需求系统需求系统需求软件设计软件设计125125126 理解软件失败的影响有同样的要求满满足足测测试试客户需求客户需求系统需求系统需求系统测试系统测试126126127 需求版本的控制n n有

63、时候系统开发人员很恼火n n我们说的都是一个需求文档,但客户,项目经我们说的都是一个需求文档,但客户,项目经理和开发人员的版本不一样理和开发人员的版本不一样n n需求文档的每一版本都应该标识出来n n每一个人都能够访问到最新版本的需求 统一的认识n n需求管理定义的最基本的要求n n进行进行需求管理需求管理的目的是在客户和的目的是在客户和 . .项目项目 . .之间之间建立统一的认识。建立统一的认识。 这种与客户一致的认识是规这种与客户一致的认识是规划和管理划和管理 项目的基础项目的基础n n需求的集中管理是很多组织需求改进的起点127127128 变更的记录和通知n n我能知道某条需求的修改

64、历史?n n我想过去的某一个状态才是正确我想过去的某一个状态才是正确n n我的需求文档到了比较稳定的状态n n需要给稳定的需求文档打上基线需要给稳定的需求文档打上基线n n项目到了某个里程碑n n想给整个项目中的需求文档打上基线想给整个项目中的需求文档打上基线n n需求的版本控制的级别n n需求条目需求条目n n文档文档n n项目项目( (文档及其之间的追踪关系文档及其之间的追踪关系) )128128129 变化总是在身边发生n n问题 1n n您对文档做了修改n n您有没有通知相关的人员?您有没有通知相关的人员?n n如何通知?如何通知?n n问题2n n别人对和您相关的文档做了修改(比如这

65、个文档是你工作的输入)n n您有没有被通知到呢?您有没有被通知到呢?n n变更应当得到及时有效的通知变更应当得到及时有效的通知129129130 需求追踪的进一步应用 可疑关联 您对需求关联的一端的内容做了修改 在需求关联的另一端出现提醒标志.如果需求被关联了 130130131 你学到了什么?n n需求管理的重要性n n需求管理的重要概念n n需求需求“ “沙漏沙漏” ”n n涉众涉众n n需求层次需求层次n n问题和解决方案领域问题和解决方案领域n n需求跟踪n n需求属性和优先级n n理解需求的四个关键问题 n n好的需求表达的七个准则n n好的需求文档的七个准则n n需求变更管理131131从源头就开始就做正确的事情!从源头就开始就做正确的事情!132132

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号