软件需求-第五部分_第1页
软件需求-第五部分_第2页
软件需求-第五部分_第3页
软件需求-第五部分_第4页
软件需求-第五部分_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件需求管理(五)有错就改,当然是件好事。但我们常常却改掉正确的,留下错误的,结果是错上加错。 匿名格言 软件需求管理软件需求管理p需求管理所要完成的任务 19章 p需求管理模型 20章p管理变更 21章p需求风险管理 22章p需求跟踪 23章p需求管理工具 24章软件需求管理的本质就是研究需求之需求。软件需求管理的本质就是研究需求之需求。概括概括讲就是为什么要和怎么进行需求分析。讲就是为什么要和怎么进行需求分析。什么是需求管理什么是需求管理需求管理的内涵需求管理的内涵如何解决实际问题如何解决实际问题需求开发与需求管理的联系u需求工程分为需求开发和需求管理。需求开发包括对一个软件项目需求的获取

2、、分析、规格说明及验证。典型需求开发的结果应该有项目视图和范围文档、项目视图和范围文档、使用实例文档、软件需求规格说明及相关分析模型使用实例文档、软件需求规格说明及相关分析模型。经评审批准,这些文档就定义了开发工作的需求基线baselines。这个基线在客户和开发人员之间就构筑了计划产品功能需求这个基线在客户和开发人员之间就构筑了计划产品功能需求和非功能需求的一个约定。和非功能需求的一个约定。u需求约定是需求开发和需求管理之间的桥梁,需求管理包括在工程进展过程中维持需求约定集成包括在工程进展过程中维持需求约定集成性和精确性的所有活动性和精确性的所有活动,第19章 需求管理所要完成的任务 p需求

3、管理的首要任务在于使开发人员和用户双方对于需求都有一个明确的认识。 p需求模型实际是最终产品的抽象化表现。p用户需求的满足程度是衡量设计优劣的标准用户需求的满足程度是衡量设计优劣的标准。p优秀的需求分析应当非常精确细致地对用户需求作出描述,同时也应该最大程度地给予方案设计者充分发挥的余地。p对开发项目进行任务划分,将整体开发任务细化为多个子对开发项目进行任务划分,将整体开发任务细化为多个子模块,从而使这些子模块能够平行开发而无需太多的干预模块,从而使这些子模块能够平行开发而无需太多的干预。p需求管理在开发周期中是自始至终存在的。需求管理必须始终保持更新。 p需求管理同项目管理是密不可分的需求管

4、理同项目管理是密不可分的。 需求管理的任务p明确需求并达成共识; p建立关联,根据不同需求设计相应解决办法; p进行系统优化,提出设计方案; p监控和解决可能出现的问题以及需要做出的改变; p控制不同开发任务的开展; p对最终产品做出评测; p监控可能出现的重复开发;(方案修改) p提出项目实施时间表; p确定最终用户界面。 需求管理与项目管理 各司其职p需求管理的首要任务在于使开发人员和用户双方对于需求都有一个明确的认识。因此用来进行需求分析的语言组织应当使所有相关人员,包括用户,都能够理解,都能够进而对整个项目有一个整体把握,并明确每一个人在项目中所起的作用。p需求管理是技术问题,只针对产

5、品。需求管理是技术问题,只针对产品。p项目管理项目管理涉及:涉及:进程(进度)安排、资源分配和进程(进度)安排、资源分配和质量管理(与需求的统一)。质量管理(与需求的统一)。里程碑与项目管理 p一项需求的满足就意味着一块里程碑的确立(或者说需求的解决又进一步)。只有设计充分解决了需求,他才有里程碑的意义。p里程碑构造机制的基本方法之一就是进程管理进程管理 。p需求管理在开发周期中是自始至终存在的。需求管理必须始终保持更新,它构成了技术管理的基础。 p需求管理同项目管理是密不可分的 。第20章 需求管理模型 p不同的需求组合起来,构成了一套完整的需求模型。p需求管理的一项重要工作就是在整个项目的

6、不同任务在整个项目的不同任务之间建立联系之间建立联系。p需求管理包括在工程进展过程中维持需求约定集成性和精确性的所有活动。p需求管理的关键过程领域。p需求管理的步骤。 需求管理的主要活动控制对需求基线的变动。控制对需求基线的变动。 保持项目计划与需求一致。控制单个需求和需求文档的版本情况。管理需求和联系链之间的联系或管理单个需求和其它项目可交付品管理需求和联系链之间的联系或管理单个需求和其它项目可交付品之间的依赖关系。之间的依赖关系。跟踪基线中需求的状态。跟踪基线中需求的状态。 能力成熟度模型CMM CMM第一级无关键过程域第一级无关键过程域(KPA)。)。关键过程域与需求管理关键过程域与需求

7、管理p为达到软件过程能力成熟度模型的第二级,组织必须具有在软件开发与管理的六个关键过程域(KPA)以展示达到目标的能力。需求管理是其中之一,它的目标如下:n把软件需求建立一个基线供软件工程和管理使用。n软件计划,产品和活动同软件需求保持一致。 CMM2级中关于需求管理的问卷 需求管理步骤 p用于控制各种需求文档和单个需求版本的工具、技术和习惯做法。p建议、处理、协商、通告新的需求和需求变更的方法。p制订需求基线。p需求状态跟踪和报告过程。p分析需求变更带来的影响。其本质是步骤文档化和标准化。其本质是步骤文档化和标准化。所以,需求版本控所以,需求版本控制制是管理需求的一个必要是管理需求的一个必要

8、方面。方面。(包括了)需求管理中的问题p创建过多用例。(用例建模)p忽视需求定义的准确与共识。(需求领域建模)p在初始阶段过于细化需求。(RUP强调过)p不善于设置需求的优先级。(顺序、重要性、效益贡献)第21章 管理变更管理变更 p需求的变化是永恒的。因而,对于需求变更应该正确对待,尽量将其负面影响降低。p需求变更可能来自解决方案提供商、客户或产品供应商等外部因素,也可能来源于项目组内部。p变更都是有代价的,应该评估一下变更的代价及其对项目的影响。p在需求变更发生之前尽量减少需求变更,以将需求变更带来的风险降低到最低。切忌在项目设计之前试图消除需求变更。切忌在项目设计之前试图消除需求变更。p

9、有效的需求变更过程。p需求变更控制一般要经过变更申请、变更评估、决策、回复这四大步骤。如果变更被接受,还要增加实施变更和验证实施变更和验证两个步骤,有时还会有取消变更的步骤。p配置管理是管理需求的一个必要方面。p基线是软件开发中的里程碑,其标志是有一个或多个软件配置项的交付,且已经经过正式技术评审而获得认可。 需求变更的原因 p因竞争、成本等因素,工期已经确定且极不合理p用户在需求期提不出需求、或用户的需求不明确p项目组对业务不熟悉、或者没有与用户密切结合、需求分析工作不细致p项目组没有很好地实施需求管理需求变更的因素 三层需求三层需求:业务、用户、系统。四大因素四大因素:理解分歧实施过长业务

10、更改正常升级需求变更的代价 主要问题主要问题:延期、开发工作及成本增加。(代价包括时间、人力和资源等)三种命运:三种命运:接受延期待处理项目终止。减少需求变更 告知代价,避免客户无穷尽的需求变更。尽管需求很难完备,不可能没有变更,但需求尽可能初始完备减少变更。这也是需求工程的初衷。需求变更的过程管理 p认识到变更不可避免,为变更制订计划。变更合法性,要提升系统的实际价值。p确认需求基线。(允许基线更新,区分新旧需求)能够承受的变更数量是有限的。p建立控制变更的唯一渠道。确定变更对系统的影响和正式决定系统是否满足变更。p使用变更控制系统来捕获变更。(The next ppt)p分层次地管理变更。

11、 变更请求流程 pP211,一旦决定变更,确定在哪个层次插入变更。p所有涉众都可能对需求变更,不妥善保管带来很大的风险。分层次的需求变更 对应三层次需求变更自底向上需求变更管理的目的:需求变更管理的目的:严格的需求管理最大严格的需求管理最大限度控制需求变更对限度控制需求变更对软件质量的负面影响。软件质量的负面影响。彩蛋需求变更管理实践中的对策需求变更管理实践中的对策需求变更控制一般要经过变更申请、变更评估、决策、回复这四大步骤。如果变更被接受,还要增加实施变实施变更和验证更和验证两个步骤,有时还会有取消变更的步骤。优先排序,分批实现优先排序,分批实现 相互协作,充分交流。相互协作,充分交流。需

12、求变更管理本质就是协商的过程。合同约束,区别对待合同约束,区别对待。限定变更时间,重要和紧迫划分选用适当的开发模型(选用适当的开发模型(基于原型的开发模式基于原型的开发模式)用户参与需求评审用户参与需求评审 需求配置管理需求配置管理也称为:变更控制、版本控制、配置管理。避免需求在未授权情况下变更,或在有潜在破坏性的情况下不受限制地随意变更。保护对需求文档的修正。方便对文档以前版本的检索或重建。支持系统以增量的方式改进基线。避免对文档的同时更新和冲突。 版本控制:(人人新版本和记录需求历史版本)最简单的方法:根据标准约定手工标记软件需求规根据标准约定手工标记软件需求规格说明的每一次修改。格说明的

13、每一次修改。基线管理 p基线基线:已经通过正式评审和批准的某规约或产品,它可以作为进一步开发的基础,并且只能通过正式的变化控制过程的改变。IEEEp基线是一个软件配置管理的概念 。p在软件工程的范围内,基线是软件开发中的里程碑,其标志是有一个或多个软件配置项的交付,且已经经过正式技术评审而获得认可。 p需求基线的核心:就是按基线进行控制。需求基线的核心:就是按基线进行控制。基线管理中几个需要注意的问题:基线管理中几个需要注意的问题:p基线一旦建立,变更虽然可以进行,但是必须应用特定的、正式的规程来评估和验证每个变化。p用户项目组达成共识、并按需求属性建立需求数据库,可认为是完成建立需求基线的基

14、本条件。p配置管理组或委员会(CCB)按照需求基线,对整个项目的进程进行控制和把握 。需求状态的变化 p经过需求获取、分析、处理、验证阶段达成共识的需求。p需求状态变化需首要关注被拒绝和被丢弃的需求。第22章 需求风险管理 p与需求有关的风险。p用于降低风险发生的可能性或减轻风险发生给项目带来的影响的方法。p周期性的风险跟踪能使管理人员保持对风险危害变化的了解。 与需求有关的风险 p无足够用户参与 (不重视用户参与)(不重视用户参与)p用户需求的不断增加 (用户的贪婪)(用户的贪婪)p模棱两可的需求 (往往导致返工)(往往导致返工)p不必要的特性 (画蛇添足)(画蛇添足)p过于精简的规格说明

15、p忽略了用户分类 (用户的能力、背景等的差异)(用户的能力、背景等的差异)p不准确的计划 评估需求风险 (一)从需求获取、分析、编写说明、验证和管理分析风险。从需求获取、分析、编写说明、验证和管理分析风险。p需求获取阶段 n产品前景与范围 前景文档前景文档n需求开发所需时间 开发计划开发计划n需求规格说明的完整性和正确性 情景测试用例与原型情景测试用例与原型n对革新产品的需求,有时容易忽略市场对产品的反馈信息 n明确非功能需求n一定要使客户认可产品需求 n关注未加说明的需求 n把已有的产品作为需求基线 逆向工程的优缺逆向工程的优缺n给出期望的解决办法 评估需求风险 (二)p需求分析阶段n划分需

16、求优先级 n带来技术困难的特性 (可行性分析)n不熟悉的技术、方法、语言、工具或硬件平台 p需求规格说明n需求开发人员和客户对需求的不同理解会带来彼此间的期望差异,这将导致最终产品无法满足客户的要求。(模型和原型的方法从不同角度说明需求)模型和原型的方法从不同角度说明需求) n时间压力对待确定因素的影响 (deadline)n具有二义性的术语 glossaryn需求说明中包括了设计 评估需求风险 (三)p需求验证n未经验证的需求评审 开发前确认避免返工。开发前确认避免返工。n评审的有效性 选择合适的评审,有经验的和无经验的。选择合适的评审,有经验的和无经验的。p需求管理n将项目前景与范围文档作

17、为变更的参照,可以减少项目范围的不适当地延伸 n需求变更过程 n未实现的需求 n扩充项目范围 风险管理的措施p明确你当前项目面临的一些与需求有关的风险,不要把当前的问题当作风险,一定要是那些还未发生的事情。将风险因素编写成文档,为每项风将风险因素编写成文档,为每项风险推荐至少一种可能的降低风险的方法。险推荐至少一种可能的降低风险的方法。p召集代表开发、市场、客户和管理各方面的涉众召开风险“集体研讨”会议。尽力找出更多与需求有关的风险因素。估计每项风险发生的可能性估计每项风险发生的可能性及其影响,两者乘积就是风险危害值。通过按风及其影响,两者乘积就是风险危害值。通过按风险危害值降序排列找到最高的

18、五项风险。险危害值降序排列找到最高的五项风险。为每项风险安排一个负责人负责实施降低风险的活动。 第23章 需求跟踪 p需求跟踪提供了一个表明与合同或说明一致的方法。更进一步,需求跟踪可以改善产品质量,降更进一步,需求跟踪可以改善产品质量,降低维护成本,而且很容易实现重用。低维护成本,而且很容易实现重用。p需求跟踪链使你能跟踪一个需求使用期限的全过需求跟踪链使你能跟踪一个需求使用期限的全过程。程。p通用的跟踪模型显示了我们要在软件开发的不同层面全面地跟踪需求。 需求跟踪动机 p描述:描述:在某种程度上,需求跟踪提供了一个表明与合同或说明一致的方法。p目的:目的:更进一步,需求跟踪可以改善产品质量

19、,降低维护成本,而且很容易实现重用。*pCMM的第三层次要求具备需求跟踪能力 。*Ramesh,1998需求跟踪的定义需求跟踪的定义IEEE,1994 p开发过程的两个或多个产品之间能够建立关系的程度,尤其是那些具有前后关系或主从关系的产品。例如,某个给定组件的需求和设计的匹配程度。p软件开发产品中每个元素能够建立其存在理由的程度;例如,数据流图中的每个元素定位它所满足需求的程度。跟踪关系跟踪关系p经过需求获取、分析、处理、验证阶段达成共识的需求。p需求状态变化需首要关注被拒绝和被丢弃的需求。需求跟踪链需求跟踪链p需求跟踪链:需求跟踪链:跟踪需求使用期限的全过程,从需求源到实现前后的生存期。p

20、四类四类跟踪能力链。跟踪能力链。上半部分:用例和功能性需求之间跟踪情况。下半部分:开发过程系统需求转换为软件开发需求。通用的跟踪模型 跟踪矩阵:用户需要与特性 p用于发现潜在错误的有效方法。p需求高层抽象,其远少于特性数量跟踪矩阵:特性与用例 p用例和特性作为不同方法的有效描述。p用例和特性间跟踪矩阵:特性与非功能性需求 p用例无法有效描述,特定功能需求(算法)和非功能需求(可用性、可靠性和可支持性)。在实现领域跟踪需求 主要的过程:p每个功能需求后向连接一个特定用例,前向连接连接一个或多个设计、代码和测试元素。p设计指(分析框架):模型对象。如数据流图、关系模型的表单和对象类。从用例跟踪到用

21、例实现 (一)p另外的方法:用例映射到用例实现。跟踪简化从用例实现跟踪到实现 (二)p代码级的跟踪,需通过实现协作的类(代码表示)在测试领域跟踪需求在测试领域跟踪需求从用例到测试用例的跟踪矩阵 需求跟踪能力过程 n决定定义哪几种联系链。n选择使用的跟踪能力矩阵的种类。n确定对产品哪部分维护跟踪能力信息。n通过修订过程和核对表来提醒开发者在需求完成或变更时更新联系链。n制定标记性的规范,用以统一标识所有的系统元素,达到可以相互联系的目的。n确定提供每类联系链信息的个人。n培训项目组成员,使其接受需求跟踪能力的概念和了解其重要性、跟踪能力数据存储位置、定义联系链的技术。n一旦有人完成某项任务就要马

22、上更新跟踪能力数据,即要立刻通知相关人员更新需求链上的联系链。n在开发过程中周期性地更新数据,以使跟踪信息与实际相符。第24章 需求管理工具 p商业需求管理工具,包括让用户从源文档中产生需求,定义属性值,操作和显示数据库内容,让需求以各式各样的形式表现出来,定义跟踪能力联系链,让需求同其他软件开发工具相连等功能。p使用需求管理工具的益处。p如何实现需求管理自动化。p商业需求管理工具介绍。 软件需求开发与需求管理工具p1.需求开发与管理工具p2.商业需求管理工具选型p3.实现需求管理自动化p4.需求管理工具集成需求开发与管理工具需求开发与管理工具p在整个开发期间管理需求的变动,使用需求作为设计、

23、测试、项目管理的基础;p不会代替已定义的用来描述如何获取和管理需求的处理过程;为了高效率而使用工具基于文档存储需求的限制 p很难保持文档与现实的一致。p不太容易做到为每一个需求保存增补的信息。p很难在功能需求与相应的使用实例、设计、代码、测试和项目任务之间建立联系链。p很难跟踪每个需求的状态。 商业需求管理工具 p以数据库为核心的产品 p以文档为核心的方法 p以数据库为核心DOORS将需求、属性和跟踪能力信息存储在数据库中商业(通用)的或是专有的关系型或面向对象的多数情况下需求的文本描述被简单的处理为必须的属性可以把每个需求与外部文件相联系。如Word文件, Excel文件,图形文件,等等p以

24、文档为核心RequisitePro使用Word等字处理程序制作和存储文档只把需求存储在数据库中,你可以定义属性和跟踪能力联系链,如同以数据库为核心的工具。一些商业需求管理工具 使用需求管理工具的益处使用需求管理工具的益处p管理版本和变更 p存储需求属性 p工具可以确保需求跟踪 p跟踪需求状态 p访问控制 p与涉众进行沟通 p重用需求 实现需求管理自动化实现需求管理自动化p为需求管理工具定义项目需求。 最重要的功能是什么;是否要与其它使用的工具集成以及通过Web远程数据处理是否重要;决定是使用数据库存储全部数据还是只存储一部分;p列出影响决策的10 15个因素。既要有主观的也要有客观的因素(如定制能力、有效性及GUI的效率); p对上述步骤中列出的因素打

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论