软件工程实践(9)度量与配置管理.pptx
《软件工程实践(9)度量与配置管理.pptx》由会员分享,可在线阅读,更多相关《软件工程实践(9)度量与配置管理.pptx(139页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程实践汤铭端中国航天科工集团公司706所第九讲软件度量需求管理软件配置管理内容和目的n了解软件度量的概念和内容n掌握需求管理的概念n了解需求管理的过程n掌握配置管理的概念n掌握配置管理的过程软件度量软件度量n理解软件度量理解软件度量n选择软件度量指标选择软件度量指标n度量计划步骤度量计划步骤软件度量的理解n项目规划时,需要评估项目规模和进度等n项目跟踪时,需要明确实际的工作量和时间与计划的对比情况n判断软件产品的稳定性时,需要明确发现和纠正缺陷的速率n定量了解项目的进展,需要对当前项目的绩效进行测量,并与基线进行比较软件度量的定义n软件度量是软件中范围广泛的测度,让你定量了解进度,工作量
2、,产品规模,项目状态以及质量性能,用于评估情况,跟踪进展,评价效率。 度量类型n过程n项目n技术过程中的度量n战略目的n进行连续的过程改进项目中的度量n辅助估算n质量控制n生产率评估n项目控制n战术目标技术中的度量n评估技术工作产品的质量n在项目中进行决策作用n软件度量是为项目估算,计划的基础数据n软件度量提供控制项目的量化信息n软件度量为质量管理提供指示n软件度量能推动企业的过程改进度量成本n开始度量时设定度量底线:收集度量的成本应与可获得的潜在利益相平衡n防止意外成本(后果)的发生软件度量的困难n不一定认为度量是软件工程的必备要素n很难定义和收集度量,常常被忽视。n今天的数据是明天的历史数
3、据选择软件度量n开始实施时,选择一组数量少而且平衡的度量,有助于企业达到目标GQM:目标-问题-度量nGQM是一个杰出的技术n用于选择适当度量来满足需求GQM:步骤1.首先选择几个项目或者几个机构的目标,尽可能将目标叙述的可以量化、可以测量。2.对于每个目标,设想一下必须回答的问题,看看是否达到目标3.最后,确认必须回答每个问题的度量目标:n一年内降低50%维护成本n将进度估计的准确性实际提高到10%以内n将下一个项目的系统测试时间减少三个星期n三个月内将消灭一个缺陷的时间减少40%问题n一年内降低50%维护成本n每个月我们花在维护上的费用是多少?n花在我们支持的每个应用软件上的维护成本是多少
4、?n我们花在调整(调整以适应变更的环境)、完善(增加、提高)和修正(纠正缺陷)上的费用是多少?度量n我们花在调整、完善和修正上的费用是多少?n每类维护活动所花的时间n每类维护活动所花的时间内的总维护成本平衡的度量组n产品规模n产品质量n过程质量n工作量n项目状态n客户满意度SEI度量指标SEI度量指标nProcessnEffortnCostnQualitynSQA Audit ResultsnReview ResultsnTrouble ReportsnPeer Review ResultsnDefect Prevention nStabilitynRequirements Stability
5、nSize StabilitynProcess StabilitynComputer Resource UtilizationnTraining项目的常用关键度量n代码的行数n及时完成的预定任务n推迟完成的预定任务n测试覆盖范围n资源适合程度n故障密度n系统运行的可利用率n推向市场的时间n进度、质量和成本之间的折衷度量对象n软件开发人员n软件项目组n软件机构软件开发人员n工作量分布n任务持续时间和工作量的估计值和实际值n单元测试覆盖的代码n单元测试发现的缺陷数目n代码和设计的复杂性项目组n产品规模n工作量分布n需求状态(批准的需求数,实现的需求数,核实的需求)n通过测试的测试用例百分比n各主要
6、里程碑之间相隔时间的估计值和实际值n人员水平的估计值和实际值n集成测试和系统测试中发现的缺陷数n检查发现的缺陷数n缺陷状态n需求的稳定性n计划任务数和完成任务数机构组织n发布的缺陷水平n产品开发周期n估计准确度的进展计划和工作量n重新使用的有效性n计划成本和实际成本数据的级别n成员级别n项目级别n机构级别PSP的度量指标n项目计划度量n项目质量度量项目项目计划计划实际实际累计累计累计百分比累计百分比总结Minutes/LOCLOC/HourDefects/KLOC过程效益A/FR程序规模(LOC)新开发与更改的最大值最小值开发时间计划设计编吗代码复查编译测试后置处理总计最大值最小值项目计划总结
7、表项目计划总结表项目项目计划计划实际实际累计累计累计百分比累计百分比引入的缺陷计划设计编码代码复查编译总计排除的缺陷计划设计编码代码复查编译总计项目规划度量-个人统计任务编号任务编号任务名称任务名称FPLOC时间时间类型类型001通讯模块310005编码002总体10设计项目名称:教育信息平台项目成员:张三成员级别系数:1.2项目规划度量项目统计n(最好利用工具)统计出所有项目中各个任务的度量值。n统计出项目中某一类任务的工作量值:FP,LOCn统计出项目中某一类任务的规模(人天)项目规划度量项目统计例子n项目的需求分析时间:50天n项目的需求规模:100人天n项目中任务001的设计时间:10
8、天n项目中任务001的设计规模:15人天n项目中任务001的编码时间:5天n项目中任务001的测试时间:6天n项目中任务001的编码规模:5人天项目质量度量-个人统计任务编号任务编号任务名称任务名称类型类型阶段阶段缺陷个数缺陷个数001通讯模块接口设计3002成绩查询语法编码6003招生管理函数测试2项目名称:教育信息平台项目成员:李四成员级别系数:0.8项目质量度量项目统计n统计出所有项目中各个任务的度量值。n统计出某一类型缺陷的个数n统计出某一阶段缺陷的个数n统计出某一模块缺陷的个数项目质量度量项目统计例子n项目的需求阶段的缺陷:6n项目的编码阶段的缺陷:100n项目中任务001的缺陷数:
9、20n项目中接口类缺陷数:20开发度量计划的步骤开发度量计划的步骤1.标识目标2.选择起步度量3.明确工作活动4.汇总历史数据5.收集并分析度量,6.决策中使用度量1、标识目标n确定明确的标准目标n或者汇总一个基线标识目标作用n让度量计划改善经营成果n执行严格定义、目标集中的计划以降低成本n奠定改善软件投资回报的基础2、选择起步度量n进度度量n需求度量n测试覆盖的百分数n软件规模n故障密度n故障发生解决率n项目整体风险度量2.1进度度量n计算按期完成的任务数n推迟完成的任务数n重订进计划中的任务数2.2需求度量n已经变更需求的百分数n新需求百分数2.3测试覆盖的百分数n描述百分之几的代码已经经
10、过测试了;n统计表明:n没有度量的测试只能测试代码的50-60%n有有度量的测试可以推动代码测试覆盖率2.4软件规模n代码行n功能点n人月数2.5故障密度n软件质量的基本度量:每KNCSS未解决的故障数。n例如:产品发行标准: 0.25故障/ KNCSSn数据表明: 7发现缺陷数/ KNCSS2.6故障发生解决率n在一段固定时间内,发现并解决故障的数目.是软件可以冻结的一个稳健机制。n软件冻结的条件:故障发生率和解决率为0n故障发生解决率可以判断测试阶段的完成,有助于测试过多。2.7项目整体风险度量n完成特定进度计划的可能性百分数3、明确工作活动n度量需要的什么特定日期n谁负责收集度量数据n何
11、时收集、何时报告度量n度量如何报告(状态报告、季度会议、度量报告)n必要时可以赋予各种度量相应的优先级4、汇总历史数据n已经完成的项目的度量数据n当前项目的历史数据n使用度量数据库n存储收集的度量数据度量数据库原则n数据库应当易于使用,人们才能方便地更新并报告数据n数据库应当灵活,n数据库最好与其他工具有接口界面n数据库与图形报告工具有接口界面,便于制作图形和表格n数据库足够大,以便包含更多的历史信息n数据库避免重复n数据库应注意安全数据库类型n电子制表软件n商用数据库软件5、收集并分析度量n收据度量数据n与既定的目标进行跟踪比较,n得出相应的结论收集并分析度量的自动化n知识n纸面模板n电子数
12、据表n预定义报告n软件工具6、决策中使用度量n可以判断产品的推出程度n了解客户项目的成本和进度n在估计成本和进度时考虑多少偶然因素n过程改进中投资何处能得到最到的回报n何时开始用户培训度量管理的注意事项n软件度量成为习惯n从小开始n解释为什么n分享数据n定义数据选项及其规程n理解趋势需求管理Requirements Management需求工程n定义需求n获取需求n用户需求n系统需求n分析需求n规格说明n文档化需求n评审需求n管理需求n理解需求n保管需求n实现需求n控制需求n验证需求需求管理的目的n需求管理需求管理的目的是在顾客和将处理顾客需求的软件项目之间建立对顾客需求的共同理解。需求管理的
13、内容n需求管理需求管理包括和顾客一起建立和维护有关软件项目需求的协议,该协议称作“分配给软件的系统需求”。n“顾客”可解释为系统工程组、销售组、另一个内部组织、或者一个外部顾客。n协议既包括技术需求、又包括非技术需求(例如交付日期)。该协议形成估计、策划和跟踪整个软件生存周期内软件项目活动的基础。分配需求的形成n将系统需求分配给软件、硬件和其它系统成分的工作可能由软件工程组之外的组(例如系统工程组)完成,软件工程组可能对此分配无直接控制。n在项目约束范围内,软件工程组采取恰当步骤以保证对分配给软件的需求建档、并加以控制,该组负责处理分配给软件的系统需求。 需求管理的目标n目标目标1 分配给软件
14、的系统需求是受控的,建立供软件工程和管理使用的基线。n目标目标2 软件计划、产品和活动与分配给软件的系统需求保持一致。 对分配需求建立文档n分配需求包括:n1.影响和确定软件项目活动的非技术性需求(即: 协议、条件、和(或)合同条款),如要交付的产品、交付日期、里程碑。n2.对软件的技术需求,如最终用户、操作员、支持、或集成功能;性能要求;设计约束;编程语言;界面需求。n3.用于确认软件产品满足分配需求的验收准则。需求管理的过程要求(1)n活动活动1 在分配需求被纳入软件项目之前,软件工程组评审它们。n1.鉴别出不完整的和遗漏的分配需求。n2.评审分配需求,确定它们是否:n用软件来实现是可行的
15、和恰当的,n被清晰和正确地阐述,n是相互一致的,和n是可测试的。n3.负责分析和分配系统需求的组评审任何被识别出是有潜在问题的分配需求,并作出必要的更改。n4.和受到影响的组协商由分配需求引起的约定。需求管理的过程要求(2)n活动活动2 软件工程组采用分配需求作为软件计划、工作产品和活动的基础。分配需求:n1.被进行管理和控制。n“进行管理和控制”意味着在给定时间(过去或现在)使用的工作产品的版本是已知的(即版本控制),而且以受控的方式引进更改(即更改控制)。n2.是软件开发计划的基础。n3.是制定软件需求的基础。需求管理的过程要求(3)n活动活动3 评审对分配需求的更改,将其纳入软件项目。n
16、1.评估它对现有约定的影响,合适时协商更改。n对组织外部的个人和组所作约定的更改由高级管理者参与评审。n和受到影响的组协商组织内部约定的更改。n2.对由于分配需求的更改所造成的对软件计划、工作产品和活动必须作的更改要加以:n识别,评价,风险评估,文档化,规划,传达到受到影响的组和个人,跟踪直到结束。需求管理过程n任何项目都必须存在分配需求类文档n合同、任务书、立项报告、招标文件nKick Off 会议n项目组讨论(评审)分配需求n分配需求经批准后纳入配置管理n对涉及外部承诺、约定内容的更改严格控制需求管理的工具:双向追溯矩阵n建立需求档案n检查需求的完成n设计n实现n检测n对相关的更改进行追踪
17、需求追溯矩阵部件部件1部件部件2部件部件3部件部件4部件部件5需求需求1*需求需求2*需求需求3*需求需求4*需求需求5*软件配置管理SCMSoftware Configuration Management软件开发中存在的一些问题n文文不一致n文档和文档之间不一致n文实不一致n文档和程序之间不一致n程序版本不一致n无法连接、无法安装、无法形成特定产品n问题处理的混乱软件开发中存在的一些问题n软件项目进行中面临的一个主要问题是持续不断的变化n有效的项目管理能够控制变化,以最有效的手段应对变化n不断命中移动的目标配置(Configuration)n一计算机系统或网络按照其功能部件的特点、数量和主要
18、特征而确定的排列。具体地讲,配置一词可以指硬件装置或软件装置。n为确定一系统或系统组成部分的特定版本而提出的需求、设计和实现。n在技术文件中制定的并在产品中体现的硬件、软件的功能和(或)物理特性。软件配置n在软件工程过程中产生的所有信息项(文档、在软件工程过程中产生的所有信息项(文档、报告、程序、表格、数据)报告、程序、表格、数据)构成了软件配置构成了软件配置n软件配置是软件的具体形态在某一时刻的瞬时软件配置是软件的具体形态在某一时刻的瞬时影像影像n随着软件工程过程的进展,软件的随着软件工程过程的进展,软件的配置项配置项(CI)数目快速增加数目快速增加n系统规格说明可繁衍出软件项目实施计划和系
19、统规格说明可繁衍出软件项目实施计划和软件需求规格说明软件需求规格说明n它们又依次繁衍出建立信息层次的其它文档它们又依次繁衍出建立信息层次的其它文档对配置进行管理n对配置进行管理,也称“技术状态管理”,就是要在研制和维护阶段保证和控制整个配置的完整性和一致性。n软件配置是软件产品在不同时期的组合。也可看作是软件的具体形态在某时刻的瞬时影像。n软件的配置项包括程序、文档、数据、环境、规程等。定义( GB/T 11457-1995软件工程术语)n配置管理是指:n标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性n对下列
20、工作进行技术和行政指导与监督的一套规范n对一配置项的功能和物理特性进行标识和文件编制工作;n控制这些特性的更动情况;n记录并报告对这些更动进行处理和实现的状态。n软件配置管理既是一项管理工作也是一项技术工作,它在软件质量控制中是至关重要的。配置管理目标 标识变更 控制变更 确保变更正确实现 向其它有关的人报告变更软件配置管理对需方的作用n保证开发、操作和维护要求的完善;n在受控条件下能够作出改变这些要求的灵活性;n建立SCM活动和任务评价准则的基础;n完全和非完全(工程发行)项的补充。 软件配置管理对开发方的作用n查找满足这些要求的项和借助控制改变;n通过提供附加在管理阶段的SCIs(这些情况
21、中,生存周期过程中的主要软件产品)的状况,支持联合评审过程;n通过集中符合性检查中可度量的结果,支持审核过程;n支持质量保证、验证和确认过程,引伸到它们在软件生存周期中存在的范围。软件配置管理对技术人员的作用n这些基线能重建的具有保证的稳定基线;n状况的一致信息;n突出的要求的状况和相互依赖关系;n变化的通知、分析和撤消;n授权的变化机构;n处理、贮存、复制、打包和发行SCIs的一致性方法。 软件配置管理的基本术语n配置项计算机软件(CSCI)n(软件的)配置项(CI)n基线n配置库软件的配置项软件的配置项 SCIn软件配置管理的对象就是软件的配置项软件配置管理的对象就是软件的配置项CInCI
22、包括文档、程序、数据等包括文档、程序、数据等n除此以外,还常把除此以外,还常把配置控制之下的软件工具配置控制之下的软件工具列列入其中,即入其中,即编辑程序编辑程序、编译程序编译程序、其它其它CASE工具的特定版本工具的特定版本n因为要使用这些工具来生成文档、程序和数据,如因为要使用这些工具来生成文档、程序和数据,如果版本不同,可能产生的结果也不同果版本不同,可能产生的结果也不同一般的一般的CIn 系统规格说明系统规格说明n 软件项目实施计划软件项目实施计划n 软件需求说明软件需求说明n 可执行的原型可执行的原型n 初步的用户手册初步的用户手册n 设计规格说明设计规格说明n 源代码清单源代码清单
23、n 测试计划和过程、测试测试计划和过程、测试用例和测试结果记录用例和测试结果记录n 操作和安装手册操作和安装手册n可执行程序(可执行程可执行程序(可执行程序模块、连接模块)序模块、连接模块)n 数据库描述(模式和文数据库描述(模式和文件结构、初始内容)件结构、初始内容)n 正式的用户手册正式的用户手册n 维护文档(软件问题报维护文档(软件问题报告、维护请求、工程变告、维护请求、工程变更次序)更次序)n软件工程标准软件工程标准n项目开发总结项目开发总结配置对象n在实现在实现SCM时,把时,把CI组织成配置对象组织成配置对象,在配,在配置库(项目数据库)中用一个置库(项目数据库)中用一个单一的名字
24、来组单一的名字来组织它们织它们n一个配置对象有一个一个配置对象有一个名字名字和一组和一组属性属性,并通过,并通过某些联系某些联系“连接连接”到其它对象到其它对象n每个对象与其它对象的联系用箭头表示,箭头每个对象与其它对象的联系用箭头表示,箭头指明了一种构造关系指明了一种构造关系n双向箭头则表明一种相互关系双向箭头则表明一种相互关系n如果对如果对“源代码源代码”作了一个变更,就可以根据这种作了一个变更,就可以根据这种相互关系确定其它哪些相互关系确定其它哪些CI可能受到影响可能受到影响基线(Baseline)n基线是软件生存期中各开发阶段末尾的基线是软件生存期中各开发阶段末尾的特定点,又称里程碑特
25、定点,又称里程碑。n由正式的技术评审而得到的由正式的技术评审而得到的CI协议和软协议和软件配置的正式文本才能成为基线。件配置的正式文本才能成为基线。n基线的基线的作用是把各阶段工作的划分更加作用是把各阶段工作的划分更加明确化明确化,以便于检验和肯定阶段成果。,以便于检验和肯定阶段成果。软件开发各阶段的基线软件开发各阶段的基线项目配置库(数据库)n将将CI和基线存放到项目配置库中和基线存放到项目配置库中n当项目成员想要当项目成员想要对基线中的对基线中的CI进行修改时进行修改时,把它把它从项目配置库中复制到该工程师的专用工作区中从项目配置库中复制到该工程师的专用工作区中n例如把一个例如把一个名为名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 实践 度量 配置管理
限制150内