02 软件项目需求管理.pptx
《02 软件项目需求管理.pptx》由会员分享,可在线阅读,更多相关《02 软件项目需求管理.pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1华中科技大学机械学院华中科技大学机械学院CADCAD中心中心什么是需求:什么是需求:Rational Rational 把需求定把需求定义为义为“(正在构建的)系(正在构建的)系统统必必须须符合的条件或具符合的条件或具备备的功能的功能”。著名的需求工程著名的需求工程设计师设计师 Merlin Dorfman Merlin Dorfman 和和 Richard H.Thayer Richard H.Thayer 提出了一个包容且更提出了一个包容且更为为精精练练的定的定义义,它特指它特指软软件方面件方面 -但不但不仅仅仅仅限于限于软软件:件:“软软件需求可定件需求可定义为义为:用用户户解决某一
2、解决某一问题问题或达到某一或达到某一目目标标所需的所需的软软件功能。系件功能。系统统或系或系统统构件构件为为了了满满足合同、足合同、规约规约、标标准或其他正式准或其他正式实实行的文档而必行的文档而必须满须满足或具足或具备备的的软软件功能。件功能。”第第2章章 软件项目需求管理软件项目需求管理 2华中科技大学机械学院华中科技大学机械学院CADCAD中心中心评测和验证有效的软件开发流程标准得到了推广和评测和验证有效的软件开发流程标准得到了推广和普及普及为什么现在仍然频繁发生的软件项目失败的事件为什么现在仍然频繁发生的软件项目失败的事件?为什么仍有那么多的项目受到延期、预算超支和为什么仍有那么多的项
3、目受到延期、预算超支和质量问题的困扰?质量问题的困扰?如何才能提高系统的质量?如何才能提高系统的质量?为什么要进行需求管理为什么要进行需求管理?3华中科技大学机械学院华中科技大学机械学院CADCAD中心中心为什么要管理需求?为什么要管理需求?简单地说,系统开发团队之所以管理需求是为了获得简单地说,系统开发团队之所以管理需求是为了获得项目成功。项目成功。好的需求管理是项目成功的第一要素好的需求管理是项目成功的第一要素。需求与需求管理的概念需求与需求管理的概念 4华中科技大学机械学院华中科技大学机械学院CADCAD中心中心为什么要管理需求?为什么要管理需求?需求分析在启动和计划阶段,占有相当大的比
4、例。需求分析在启动和计划阶段,占有相当大的比例。5华中科技大学机械学院华中科技大学机械学院CADCAD中心中心什么是需求管理?什么是需求管理?一种一种获获取、取、组织组织并并记录记录系系统统需求的系需求的系统统化方案,以及化方案,以及一个使客一个使客户户与与项项目目团队对团队对不断不断变变更的系更的系统统需求达成并需求达成并保持一致的保持一致的过过程。程。这这个定个定义义与与 Dorfman Dorfman 与与 Thayer Thayer 以及以及 IEEE IEEE 的的“软软件需求工程件需求工程”的定的定义义相似。需求工程包括相似。需求工程包括获获取、分析、取、分析、规规定、定、验证验证
5、和管理和管理软软件需求,而件需求,而“软软件需求管理件需求管理”则则是是对对所有相关活所有相关活动动的的规规划和控制。划和控制。6华中科技大学机械学院华中科技大学机械学院CADCAD中心中心现代软件工程对需求工程的定义现代软件工程对需求工程的定义提提供供一一种种适适当当的的机机制制,以以了了解解用用户户想想要要什什么么(分分析析需需求求)、评评估估可可行行性性、协协商商合合理理的的解解决决方方案案、无无歧歧义义地地规规约约解解决决方方案案、确确认认规规约约以以及及在在开开发发过过程程中中管管理理这这些些被被确确认认的的需求规约。需求规约。包括包括6 6个步骤:个步骤:n获取(需求诱导)获取(需
6、求诱导)n分析(需求分析和谈判)分析(需求分析和谈判)n规定(规约)规定(规约)n系统建模系统建模n验证(需求确认)验证(需求确认)n需求管理(控制与变更管理)需求管理(控制与变更管理)7华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求管理存在的问题需求管理存在的问题1.1.需求需求不总是显而易见的不总是显而易见的,它可来自各个方面。,它可来自各个方面。2.2.需求并不总是容易用文字需求并不总是容易用文字明白无误地明白无误地表达。表达。3.3.存在不同种类的需求,其详细程度各不相同。存在不同种类的需求,其详细程度各不相同。4.4.如果不加以控制,需求是无止境的,需求数量如果不加
7、以控制,需求是无止境的,需求数量将难以管理。将难以管理。5.5.需求相互之间以及与流程的其他可交付工件之需求相互之间以及与流程的其他可交付工件之间以多种方式相关联。间以多种方式相关联。6.6.需求既非同等重要,处理的难度也不同。需求既非同等重要,处理的难度也不同。7.7.需求涉及众多相关利益责任方,这意味着需求需求涉及众多相关利益责任方,这意味着需求要由跨职能的各组人员来管理。要由跨职能的各组人员来管理。8.8.需求会发生变更。需求会发生变更。9.9.需求可能对时间敏感。需求可能对时间敏感。8华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件工程的需求分析过程软件工程的需求分析过
8、程(1 1)对系统的综合要求对系统的综合要求:功能要求功能要求:包括系统应该实现的功能;包括系统应该实现的功能;性性能能要要求求:包包括括系系统统响响应应时时间间、资资源源限限制制、数数据据精确性、系统适应性等;精确性、系统适应性等;运运行行要要求求:包包括括系系统统硬硬件件环环境境、网网络络环环境境、系系统统软件、接口等的具体要求;软件、接口等的具体要求;其其他他要要求求包包括括:安安全全保保密密、可可靠靠性性、可可维维护护性性、可移植性、可扩展性等等。可移植性、可扩展性等等。9华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件工程的需求分析过程软件工程的需求分析过程(2 2)
9、分析系统的数据要求分析系统的数据要求数数据据定定义义、数数据据逻逻辑辑关关系系、输输入入/出出数数据据定定义义、数数据据采采集方式等集方式等(3 3)抽象出并确立目标系统的逻辑模型抽象出并确立目标系统的逻辑模型如用例图、设计模型、实施模型和实现模型等如用例图、设计模型、实施模型和实现模型等(4 4)编写需求规格说明书编写需求规格说明书如如数数据据流流图图(Data Data flow flow diagram diagram,DFD,DFD)、面面向向对对象象的分析等。的分析等。10华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件需求在软件项目中的作用软件需求在软件项目中的作用
10、 11华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件需求在软件项目中的作用软件需求在软件项目中的作用o项目计划过程项目计划过程:需求是项目计划的基础o跟踪控制过程跟踪控制过程:监控每项需求的状态,以发现设计是否达到了预期的要求o变更控制过程变更控制过程:需求文档确定并制定基线后的变更都要通过确定的变更控制过程来实现o系统测试过程系统测试过程:需求是测试的重要参考文档编制过程:需求是编写文档的重要参考o系统构建过程系统构建过程:需求决定模块设计,模块设计是代码实现的依据 12华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件需求的类别软件需求的类别o原始问题描述:
11、对要解决问题的叙述,它是软件需求的基础o用户需求:用自然语言和图表给出的关于系统需要提供的服务及操作的约束o系统需求:用详细的术语给出系统要提供的服务及受到的约束o软件设计描述:在系统需求的基础上加入更详细的内容,它是软件详细设计和实现的基础 13华中科技大学机械学院华中科技大学机械学院CADCAD中心中心用户需求用户需求o从用户的角度描述系统的需求,以便没有计算机专业技术背景的用户能看懂o只描述系统的外部行为,避免涉及系统内部设计特征o编写用户需求文档时应遵守的一些简单原则:n标准的格式:标准格式有利于避免遗漏n使用一致的语言n使用特殊文本n尽量避免专业术语 14华中科技大学机械学院华中科技
12、大学机械学院CADCAD中心中心系统需求系统需求o比用户需求更详细和专业的描述,是系统实现的依据o系统需求通常采用结构化语言和过程设计语言PDLo结构化语言的特定是表现力强、易于理解,缺点是有一定程度的二义性oPDL源于Java或Ada,可借助软件工具进行语法和语义检查,缺点是表达系统功能的能力不足,只有具有程序设计背景的人才能理解 15华中科技大学机械学院华中科技大学机械学院CADCAD中心中心系统需求的分类系统需求的分类比用户需求更详细和专业的描述,是系统实现的依据o功能需求:描述系统应提供的功能和服务,是对如何响应输入及特定条件下行为的描述o非功能需求:是功能需求的补充,是不直接与系统具
13、体功能相关的一类需求,如可靠性、响应时间、存储空间。非功能需求反映的是系统的整体特性,因此更关键o领域需求:来自系统应用领域,反映领域特点的需求,它可能是功能需求也可能是非功能需求 16华中科技大学机械学院华中科技大学机械学院CADCAD中心中心编制需求文档的基本原则编制需求文档的基本原则o语句和段落尽量简短o语句要完整,语法、标点等要正确o使用的术语与词汇表中的定义保持一致o避免使用模糊、主观的术语,如性能“优越”o避免使用比较性词汇,尽量给出定量的说明,含糊的表达将引起需求的不可验证o 17华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件需求规格说明软件需求规格说明o需求文
14、档通常采用软件需求规格说明SRS(Software Requirement Specification)的形式o软件需求规格精确地阐述软件系统必须提供的功能和性能,以及它需要考虑的限制条件,是对外部行为和系统环境接口的简洁完整的描述性文档;oIEEE标准830-1998是关于需求说明的标准,它可以为需求规格提供很好的建议,但却因为过于一般化而无法采纳为软件组织的具体标准 18华中科技大学机械学院华中科技大学机械学院CADCAD中心中心示例性的示例性的SRS大纲大纲1.软件项目概述1.1 软件项目展望:前景展望、与其它项目相关性表述1.2 产品功能:简介产品功能2.一般性限制:如硬件、集成接口、
15、通信协议等3.假设与相关性:确定影响需求的具体假设与相关性4.用户界面:包括屏幕布局、预期的用户交互与输入设备5.具体需求:包括软件的功能需求5.1 系统行为 5.1.1 输入 5.1.2 处理 5.1.3 输出5.2 性能需求 5.3 诊断需求 5.4 安全性需求5.5 可维护性需求 5.6 可配置性需求 5.7 可升级性需求5.8 可测试性需求 5.9 安装性需求6 附录 19华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件需求度量软件需求度量Dean Leffingwell和Don Widrig总结了软件需求质量度量的九个元素:正确、无歧义、完备、一致、分级、可验证、可修
16、改、可跟踪和可理解o正确正确:当且仅当需求都代表了构建软件系统所要完成的事情o无歧义无歧义:当且仅当需求只有一种解释o完备性完备性:当且仅当需求集描述了用户关心的所有有意义的需求o一致性一致性:当且仅当任意两个需求的子集间没有矛盾o分级分级:根据重要性和稳定性分级,尤其当现有资源不足以实现所有的需求时 20华中科技大学机械学院华中科技大学机械学院CADCAD中心中心软件需求度量(续)软件需求度量(续)o可验证性可验证性:可验证的需求就是在以后的过程中可以测试它是否得到满足o可修改性可修改性:当且仅当每条需求都易于完整和一致地进行变更,且不改变需求集的结构和风格。此时需求集以适当的目录、索引及交
17、叉引用组织,冗余程度低o可跟踪性可跟踪性:当且仅当每条需求都是可溯源的,并存在一种机制使得以后工作中引用该需求是可行的o可理解性可理解性:需求集是可理解的是指用户和开发人员都完全理解它的整体行为、所提供的功能及其中每条需求的含义 21华中科技大学机械学院华中科技大学机械学院CADCAD中心中心2.2 需求工程需求工程定义o包括创建和维护需求文档所必须的所有活动的过程,是将用户非形式化的软件需求转变为形式化的需求规格说明的过程。发展趋势:o对象化对象化:指需求模型及其构造方法的对象化,其研究关键是面向对象模型和需求定义语言o形式化形式化:形式化方法是具有严格数学基础的描述系统特征的方法,具有准确
18、、无歧义的特定o自动化自动化:CASE工具的研究 22华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求工程的目标需求工程的目标目标:通过对问题及其环境的理解建立分析模型,在完全理解用户需求的基础上用SRS表达用户需求1.建立分析模型:它包含问题及其环境所涉及的信息流、处理功能、用户界面、行为模型及设计约束2.编写SRS:按照软件组织定义的SRS大纲,采用某种需求描述语言来完成 23华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求工程的分解层次需求工程的分解层次 24华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求开发与管理的界限需求开发与管理的界
19、限 25华中科技大学机械学院华中科技大学机械学院CADCAD中心中心2.3 需求管理需求管理必要性:o需求供求双方固有的矛盾o需求具有易变性和难以表述性o需求错误出现的高频性和修改的高昂成本软件缺陷修复成本软件缺陷修复成本 26华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求管理的目标需求管理的目标o需求管理是一种获取获取、组织组织并记录记录软件需求的系统化方案,也是使客户与项目团队对不断变更的软件需求保持一致的过程o需求管理的目的:在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解1.使软件受控,并建立供软件工程和管理使用的需求基线2.使软件计划、产品和活动与软件需
20、求保持一致 27华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求管理的原则需求管理的原则o一定要分类管理一定要分类管理:高层领导的目标性需求、中层管理的具体业务流程需求和作业人员对操作性的需求等o必须分优先级必须分优先级o必须文档化必须文档化:文档必须是正确的、最新的、可管理的、可理解和经过验证的o需求一旦变化,就必须必须对需求变更的影响进行评估进行评估,每个项目都必须有需求管理员或组o需求管理必须与需求工程的其他活动机密结合必须与需求工程的其他活动机密结合:需求管理是形式,需求获取、需求分析、需求验证等是内容 28华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需
21、求管理的规划需求管理的规划进行需求管理的第一步是建立需求管理规划:o需求识别需求识别:给需求以惟一的标识o变更过程管理变更过程管理:确定一个选择、分析和决策需求变更的过程o需求跟踪需求跟踪:定义需求之间的关系及需求和设计之间的关系,记录并维护这些关系o自动化工具自动化工具:即选择使用何种CASE工具 29华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求变更管理需求变更管理o需求变更的原因n软件需求定义不完整n随着项目的进行,对问题的理解发生了变化此外,对大型项目,还可能:n不同类型用户的需求是冲突或矛盾的n系统购买者与最终用户往往不同,其需求与理解很难完全一致 30华中科技大学
22、机械学院华中科技大学机械学院CADCAD中心中心变更管理过程变更管理过程进行变更管理,首先要建立变更控制委员会,变更管理过程包括变更描述、变更分析和变更实现三个阶段:o变更描述变更描述:始于一个被识别的需求问题或一份明确的变更提议o变更分析变更分析:评估被提议的变更产生的影响o变更实现变更实现:执行变更,需求文档、系统设计和实现都要修改 31华中科技大学机械学院华中科技大学机械学院CADCAD中心中心变更控制流程变更控制流程 32华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求状态需求状态定义:某时间点需求的情况反映。客户需求的四种情况:o客户可以明确且清楚地提出的需求o客户知
23、道需要做什么,但却不能确定的需求o客户提出需求,但需求的业务不明确o客户自己也说不清楚的需求需求状态:o已建议 已批准 已拒绝o已设计 已实现 已验证o已交付 已删除 33华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求跟踪需求跟踪o目的:建立和维护从用户需求到测试的一致性与完整性,确保实现都以客户需求为基础,实现的需求覆盖了预期的需求,并确保输出与用户需求的符合性o需求跟踪就要追溯需求间以及需求与系统设计间的联系,可追溯性是需求描述的一个总体特性,反映了发现相关需求的能力。三类可追溯性信息:n源可追溯性信息:连接需求与提出需求的人员及产生需求的原因n需求可追溯性信息:连接需求
24、文档中彼此依赖的信息n设计可追溯性信息:连接需求到其实现的设计模块 34华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求跟踪的作用需求跟踪的作用o在需求验证中,便于确保所有需求被应用o有助于变更影响分析o便于需求的维护o便于测试时找出问题所在o便于项目跟踪和减少项目风险o简化了系统再设计,易于软件重用 35华中科技大学机械学院华中科技大学机械学院CADCAD中心中心2.4 需求质量保证需求质量保证需求验证过程o审查需求文档审查需求文档:由分析人员、客户、设计人员和测试人员等组成的审查小组o编写测试用例编写测试用例:根据用户要求的产品功能写出黑盒测试用例。如果测试的设计很可能或不
25、可能,说明需求的实现很困难o编写用户手册编写用户手册:用户手册初稿o确定合格的标准确定合格的标准:合格的测试是建立在使用情景描述或使用实例基础上的 36华中科技大学机械学院华中科技大学机械学院CADCAD中心中心需求验证的内容需求验证的内容o有效性检查有效性检查:每项需求都是正确有效的,能解决用户面对的问题o一致性检查一致性检查:需求不应该冲突o完备性检查完备性检查:应包含所有用户想要的功能和约束o现实性检查现实性检查:保证能利用现有技术实现o可检验性检查可检验性检查:描述的需求能够实际测试o可跟踪性检查可跟踪性检查:需求的出处被清晰记录o可调节性检查可调节性检查:需求变更不会对其它部分造成大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 02 软件项目需求管理 软件 项目 需求 管理
限制150内