02 软件项目需求管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 50
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功