已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Capture14一、 质量,软件质量概念(事物的特征或属性 )在软件开发中,可能会遇到两种质量:a) 设计质量包括需求、规格说明书和系统的设计。 b)符合质量主要关注于实现的问题。 C)用户满意度= 合格的产品+ 好的质量+ 按预算和进度安排交付 质量-实用观点n 玄妙观点 (如 Persig)认为质量是马上就能识别的东西,却不能清楚地定义。 n 用户观点是从最终用户的具体目标来说的。如果产品达到这些目标,就显示出质量。 n 制造商观点是从产品的原始规格说明的角度来定义质量,如果产品符合规格说明,就显示质量。 n 产品观点认为质量是产品的固有属性(比如,功能和特性)。 n 最后,基于价值的观点根据客户愿意为产品支付多少钱来评测质量。实际上,质量涵盖所有这些观点,或者更多。 软件质量可以这样定义 : 在一定程度上应用有效的软件过程,创造有用的产品,为生产者和使用者提供明显的价值。二、 质量的维度a) 耐久性。是否能够对软件进行维护(变更)或改正(改错),而不会粗心大意地产生料想不到的副作用?随着时间的推移,变更会使错误率或可靠性变得更糟吗? b) 适用性。软件能在可接受的短时期内完成维护(变更)和改正(改错),技术人员支持人员能得到所需的所有信息以进行变更和修正缺陷吗? c) 审美。我们中的大多数都同意美的东西具有某种优雅、特有的流畅和醒目的“外在”,这些都是很难量化的,但显然是不可缺少的。 d) 感知。在某些情况下,一些偏见将影响人们对质量的感知。 e) 性能质量。软件是否交付了所有的内容、功能和特性,这些内容、功能和特性在某种程度上是需求模型所规定的一部分,可以为最终用户提供价值。 f) 特性质量。软件是否首次提供了使最终用户惊喜的特性? g) 可靠性。软件是否无误地提供了所有的特性和能力?当需要时,它是否是可用的?是否无错地提供了功能? h) 符合性。软件是否遵从本地的和外部的与应用领域相关的软件标准?是否遵行了事实存在的设计惯例和编码惯例?例如,对于菜单选择和数据输入等用户界面的设计是否符合已接受的设计规则? 三、 认识软件质量:足够好软件提供用户期望的高质量功能和特性,但同时也提供了其他更好的包含已知错误的难解的或特殊的功能和特性 。 四、 实现软件质量关键:软件工程方法 项目管理技术 质量控制 质量保证 Capture15一、 评审技术、什么是评审、为什么进行评审评审会议由技术人员对技术人员进行 ;在软件工程过程中产生的对工作产品的技术评估 ;软件质量保证机制 ;训练场地 二、 常用的评审技术:正式评审和非正式评审?三、 度量 评审工作量、发现错误数、错误密度总评审工作量和发现的错误总数定义为: i. Ereview = Ep + Ea + Er ii. Errtot = Errminor + Errmajor 错误密度表示评审的每单位工作产品发现的错误数。 iii. 错误密度= Errtot / WPSn 其中:准备工作量Ep在实际评审会仪之前评审一个工作产品的工作量(单位:人时) 评估工作量Ea 实际评审工作中所花费的工作量(单位:人时) 返工工作量Er 修改评审期间发现的错误所用的工作量。 (单位:人时) 工作产品规模WPS 被评审的工作产品规模的衡量(例如,UML模型的数量、文档的页数或代码行数)。 发现的次要错误Errminor 发现的可以归为次要错误的数量(要求少于预定的改错工作量)。 发现的主要错误Errmajor 发现的可以归为主要错误的数量(要求多余预定的改错工作量)。 四、 非正式评审和正式评审非正式评审包括: a. 与同事就软件工程产品进行的简单桌面检查 b.以评审一个工作产品为目的的临时会议(涉及两个以上) c.结对编程评审 结对编程鼓励在创建工作产品(设计或代码)时进行持续的审查,其好处是即时发现错误,结果是得到更好的工作产品质量。 正式评审:FTR的目标是: 发现软件的任何一种表示形式中的功能、逻辑或实现上的错误 ; 验证评审中的软件是否满足其需求 ;保证软件的表现符合预先指定的标准 ;获得以统一的方式开发的软件 ;使项目更易于管理 n FTR实际上是一类评审方式,包括走查和审查。 五、 评审会议(限制争论和辩驳)评审会(通常)由35人参加。 应该提前进行准备,但是占用每人的工作时间应该不超过2小时。 评审会的时间应该少于2小时。 FTR关注的是某个工作产品(例如,一部分需求模型、一份详细的构件设计、一个构件的源代码)。 n 与会人:开发人员开发这个工作产品的个人 通知项目负责人该工作产品已经完成,需要进行评审 评审主席评估该工作产品是否准备就绪,制作产品材料副本,并将这些副本分发给2到3位评审员以便事先做准备 评审员应该用1到2小时来评审该工作产品,通过做笔记或者其他方法熟悉该工作产品。 记录员负责记录在评审过程中发现的所有重要问题。 n 进行评审:评审工作产品,而不是评审开发人员。 制定并遵守日程表。 限制争论和辩驳。 要阐明问题。 做笔记。 限制参与者人数,并坚持事先做好准备。为每个将要评审的工作产品建立检查清单。 为FTR分配资源和时间。 对所有评审员进行有意义的培训。 评审以前所做的评审。 六、 来自评审的度量每页文档的审查时间 ; 每KLOC或FP的审查时间 ;每KLOC或FP的审查工作量 ;每一小时评审发现的错误数 ;每一小时准备发现的错误数 ;每一个SE任务发现的错误数(例如:设计) ;次要错误数(例如:拼写错误) ;主要错误数(例如:与需求不一致) ;准备期间发现的错误数 Capture16 软件质量保证 (SQA)一、 SQA要素:标准,评审和审核,测试,错误/缺陷的收集和分析,变更管理,教育,供应商管理,安全管理,安全,风险管理二、 SQA组的角色:编制项目质量保证计划;参与项目的软件过程描述的编写;评审软件工程活动,已验证符合规定的软件过程;审核指定的软件工作产品已验证是否遵守作为软件过程一部分的那些规定;确保根据文档的规程记录和处理软件工作和工作产品中的偏差;记录各种不符合项并报告给高层管理人员。三、 SQA目标:需求质量。需求模型的正确性、完整性和一致性将对所有后续工作产品的质量有很大的影响。 设计质量。软件团队应该评估设计模型的每个元素,以确保设计模型显示出高质量,并且设计本身符合需求。 代码质量。源代码和相关的工作产品(例如,其他说明信息)必须符合本地的编码标准,并显示出易于维护的特点。 质量控制有效性。软件团队应使用有限的资源,在某种程度上最有可能得到高品质的结果。 四、 统计SQA:收集软件的错误和缺陷信息,并进行分类。 追溯每个错误和缺陷形成的根本原因(例如,不符合规格说明、设计错误、违背标准、缺乏与客户的交流)。 使用Psreto原则(80%的缺陷可以追溯到所有可能原因中的20%),将这20%(“重要的少数”)原因分离出来。 一旦找出这些重要的少数原因,就可以开始纠正引起错误和缺陷的问题。 五、 软件可靠性n 可靠性的简单测量是“平均失效间隔时间”(MTBF), 其中 MTBF = MTTF + MTTRn 首字母缩略词MTTF和MTTR 分别是 “平均失效时间”和“平均维修时间”。 n 软件可靠性是指在某个给定时间点上程序能够按照需求执行的概率。其定义为: 可用性= MTTF/(MTTF + MTTR) x 100% 六、 软件安全:软件安全是一种软件质量保证活动,它主要用来识别和评估可能对软件产生负面影响并促使整个系统失效的潜在灾难七、 ISO软件质量标准a) 管理责任、质量体系、合同评审、设计控制、文件和资料控制、产品标识与可追溯性、过程控制、检验和实验、纠正及预防措施、质量记录的控制、内部质量审核、培训、服务以及统计技术等主题。 Capture23 产品度量n 测度为产品或过程的某些属性的范围、数量、维度、容量或大小提供量化的指标。n 度量在软件工程术语的IEEE标准词汇表中的定义为:度量是一个系统、构件或过程具有给定属性的量化测量程度。 n 一个指标是一个度量或多个度量的组合,它提供了对软件工程、软件项目或产品本身的深入理解。一、 测量原则测量的目标应该在数据收集开始前确定; 每一个技术度量都应该有一个清晰的定义; 度量应该来自于有效应用领域的理论 (例如,设计度量应该利用基本的设计概念和原则, 尝试提供一个迹象存在的属性,并且该属性是可取的); 度量应根据特定的产品和过程来调整,使其能够最佳适应 Bas84。二、 测量过程公式化。导出适合于所考虑软件表示的测量和度量。收集。用于导出公式化度量所需数据的积累机制。分析。度量的计算和数学工具的使用。解释。为获得对所表示质量的理解而评价度量。反馈。从对递交给软件团队的产品度量的解释中获得建议。三、 度量属性简单的和可计算的。学习如何导出度量应该是相对容易的,且其计算不应该需要过多的工作量或时间。在经验上和直观上有说服力。度量应该满足工程师直觉上对所考虑的产品属性的概念。一致的和客观的。度量产生的结果应该总是无歧义的。单位和量纲的使用是一致的。 度量的数学计算应该使用不会导致奇异单位组合的测度。编程语言的独立性。 度量应该基于需求模型、设计模型或程序结构本身。 有效的、高质量反馈机制。 也就是,度量应该提供信息以产生高质量的最终产品。四、 需求模型的度量基于功能的度量:使用功能点作为归一化因子或规格说明“规模”的手段。 规格说明度量:通过按类划分测量需求数量用于质量的指标五、 功能点(基于功能的度量)功能点 (FP)度量可用做测量系统交付功能的有效手段。利用基于软件信息域可数的(直接)测度和软件复杂性评估的经验关系计算功能点。信息域的值用下列方式定义:外部输入数 (EIs) ;外部输出数 (EOs) ;外部查询数 (EQs) ;内部逻辑文件数 (ILFs) ;外部接口文件数 (EIFs)六、 体系结构设计度量体系结构设计度量 a) 结构复杂度 = g(模块扇出数)b) 数据复杂度 = f( 输入和输出变量, 模块扇出数)c) 系统复杂度 = h(结构和数据复杂度) HK度量:体系结构复杂度作为函数的扇入和扇出形态度量:模块与模块之间的接口和数量的函数 七、 维护的度量软件成熟度指标 (SMI) ,它提供了对软件产品稳定性的指标(基于产品每次发布所发生的变更)。 可以确定以下信息: a) MT =当前发布的模块数量;b) Fc =当前发布中已变更的模块数量; c) Fa =当前发布中已增加的模块数量;d) Fd =当前发布中已删除前一发布中的模块数量;软件成熟度指标用下列方式计算:SMI = MT - (Fa + Fc + Fd)/MT当 SMI 的值接近1.0时,产品开始稳定。 Capture24项目管理概念一、 四个P之间的关系人员 一个成功项目最重要的元素产品 建立的软件 过程 框架活动集和完成工作的软件工程任务项目 所有需要做的工作,以使一个产品变成现实Capture25过程度量和项目度量 一、 为什么进行测度评估正在进行中的项目的状态 ;跟踪潜在的风险 ;在问题区域造成不良影响之前发现问题 ;调整工作流程或任务 ;评估项目团队控制软件工作产品质量的能力。二、过程测量 软件过程的功效只能间接地测量. n 也就是说,根据从过程中获得的结果来导出一组度量。n 结果包括 在软件发布之前发现的错误数的测度 提交给最终用户并由最终用户报告的缺陷的测度 交付的工作产品 (生产率)的测度 花费的工作量的测度 花费时间的测度 与进度计划是否一致的测度 其他测度 我们也可以通过测量特定软件工程任务的特性来导出过程度量。 三、 过程度量规则解释度量数据时使用常识,并考虑组织的敏感性。向收集测量和度量的个人及团队定期提供反馈。不要使用度量去评价个人。与开发者和团队一起设定清晰的目标,并确定为达到这些目标需要使用的度量。不要用度量去威胁个人或团队。指出问题区域的度量数据不应该被“消极地”看待,这些数据仅仅是过程改进的指标。不要在某一个别的度量上纠缠,而无暇顾及其他重要的度量。四、 过程度量质量相关性 :专注于工作产品和可交付产品的质量生产率相关性:与花费的工作量相关的工作产品的产量 统计SQA数据:错误分类和分析缺陷排除效率 : 评估一个活动在错误传递到下一个活动之前发现错误的能力 重用数据:已产生构件的数量和可重用性的程度 五、 典型的项目度量每个软件工程任务的工作量/时间;每小时评审发现的错误数 ;计划好的和实际的里程碑日期比较 ;变更(数量)和它们的特性 ;软件工程任务上工作量的分配六、 典型的面向规模的度量每千行代码 (KLOC)的错误数;每千行代码 (KLOC)的缺陷数; 每行代码 (LOC)的成本; 每千行代码 (KLOC)的文档页数; 每人月错误数;每评审一小时时错误数;每人月千行代码数;每页文档的成本。七、 典型的面向功能的度量每个功能点的错误数 (上千行代码)每个功能点的缺陷数;每个功能点的成本;每个功能点的文档页数;每人月功能点数八、 为什么选择FP?与编程语言无关; 所使用的数据是在软件过程初期就确定的准备好的可数特征;对于其他更笨拙的版本来说,使用更少的代码行在实现过程中并没有什么不利 ;更容易衡量可重用的构件的影响 九、 缺陷排除效率DRE = E /(E + D)E 是软件交付给最终用户之前发现的错误数 D 是软件交付之后发现的缺陷数十、 小型组织的度量 从提出请求到评估完成所用的时间(小时或天) , tqueue . 进行评估所用的工作量(人-小时), Weval.从完成评估到把变更工单派发到员工所用的时间(小时或天), teval. 实现变更所需的工作量 (人-小时), Wchange. 实现变更所需的时间 (小时或天) , tchange. 在实现变更过程中发现的错误数, Echange. 将变更发布给客户后发现的缺陷数, Dchange.十一、 建立度量大纲明确你的业务目标。 弄清你要了解或学习的内容。 确定你的子目标。确定与子目标相关的实体和属性。确定你的测量目标。识别可量化的问题和相关的指标,你将使用它们帮助你达到测量目标。明确你要收集的数据元素,从这些数据元素中要得到帮助你回答问题的指标。定义将要使用的测量,并使这些定义具有可操作性。弄清楚实现测量需要做的操作。准备一份实施测量的计划。Capture26软件项目估算一、 估算对软件工程工作的资源、成本及进度进行估算时,需要a) 经验b) 了解有用的历史信息 (度量)c) 当只存在定性的信息时,还要有进行定量预言的勇气估算具有与生俱来的风险,正是这种风险导致了不确定性。 二、估算技术n 借鉴已完成的类似项目n 常规的估算技术n 任务分解和工作量估算n 规模 (例如,功能点) 估算n 经验模型n 自动估算工具三、常规方法:基于LOC/FP估算 见PPT14n 利用信息域值的估算来计算LOC/FP n 使用历史数据来建立项目的估算 四、计算预期成本 见ppt28 预期成本= (路径概率) x (估算的路径成本) 五、 项目估算必须理解项目范围;细化(分解)是必需的;历史度量是非常有用的;至少使用两种不同的技术;不确定性是一直存在于过程内部的Capture27项目进度安排 软件项目进度安排、软件失败原因:延期、成本高 延期交付 时序图 基本原则。一、 软件延期交付的原因n 由软件开发团队以外的某个人制定的不切实际的项目结束期限。n 客户需求发生变更,而这种变更没有在项目变更进度表上预先安排。n 对完成该工作所需的工作量和(或)资源数量估计不足。n 在项目开始时,没有考虑到可预测的和(或)不可预测的风险。n 出现了事先无法预计的技术难题。n 出现了事先无法预计的人力问题;n 由于项目团队成员之间的交流不畅而导致的延期。n 项目管理者未能发现项目进度拖后,也未能采取措施来解决这一问题。二、 项目进度安排基本原则n 划分划分不同的任务n 相互依赖性明确任务之间的相互依赖关系 n 工作量确认确保资源是可用的n 确定责任 每个任务都应该指定特定的团队成员来负责n 明确输出结果 每个任务都应该有一个明确的输出结果n 确定里程碑 质量评审三、 时序图Capture28风险分析一、 风险因素性能风险产品能够满足需求且符合其使用目的的不确定程度。成本风险能够维持项目预算的不确定程度。支持风险开发出的软件易于纠错、修改及升级的不确定程度。进度风险能够维持项目进度且按时交付产品的不确定程度。二、 被动风险管理项目团队在出现问题后才采取行动 ;风险缓解计划采用额外的资源进行“救火” ; 努力失败当风险攻击时,找出资源并应用 ; 危机管理当努力失败,不响应应用资源,这时项目已经处于真正的危机中了三、 主动风险管理主动风险策略早在技术工作开始之前就已经启动了组织纠正风险的根源a) TQM概念和统计SQAb) 检查来自软件边界之外的风险资源c) 改善管理变更的技术四、 基本原则保持全面观点 在软件所处的系统中考虑软件风险以及该软件所要解决的业务问题。采用长远观点 考虑将来可能发生的风险;制定应急计划 鼓励广泛交流 如果有人提出一个潜在的风险,要重视它。结合考虑风险时必须与软件过程相结合强调持续的过程 在整个软件过程中,团队必须保持警惕。随着信息量的增加,要修改已识别的风险;随着知识的积累,要加入新的风险。开发共享的产品 如果所有利益相关者共享相同版本的软件产品,将更容易进行风险识别和评估。鼓励协同工作 在风险管理活动中,要汇聚所有利益相关者的智慧、技能和知识五、 风险管理范式六、 风险识别 产品规模 与要开发或要修改的软件的总体规模相关的风险。商业影响 与管理者或市场所施加的约束相关的风险。客户特性 与客户的素质以及开发者和客户定期沟通的能力相关的风险。过程定义与软件过程定义的程度以及该过程被开发组织遵守的程度相关的风险。 开发环境 与用来开发产品的工具的可得性及质量相关的风险。开发技术与待开发软件的复杂性及系统所包含技术的“新奇性”相关的风险。人员才干及经验 与软件工程师的总体技术水平及项目经验相关的风险。七、 风险预测步骤风险预测,又称为风险估计,试图从两个方面评估每一个风险a) 风险发生的可能性或概率;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖北省襄阳市枣阳物理九上期末学业质量监测模拟试题含解析
- 2026届广东省惠城市惠城区八校物理九年级第一学期期末学业水平测试模拟试题含解析
- 2026届河南省鹤壁市淇县物理九上期中经典试题含解析
- 湖北省黄冈市名校2026届九年级物理第一学期期中复习检测试题含解析
- 2026届新疆阿克苏沙雅县物理八年级第一学期期末调研试题含解析
- 山东省菏泽单县联考2026届九年级物理第一学期期中达标检测试题含解析
- 2026届吉林省长春新区物理九上期中学业水平测试试题含解析
- 河南省舞钢市2026届九年级物理第一学期期中学业水平测试试题含解析
- 福建省龙岩市上杭四中学2026届九年级物理第一学期期中质量检测试题含解析
- 广东省潮州市名校2026届八年级物理第一学期期末联考模拟试题含解析
- 项目三 高速动车组转向架检修与维护
- 幼儿园天气播报PPT
- 服务型制造标准体系建设指南(2023年)征
- 色盲检测图(第五版)-驾校考试-体检必备-自制最全最准确
- 八年级美术PPT课件 荷兰后印象派画家梵高作品介绍 《向日葵》《吃土豆的人》《割耳朵后的自画像》
- GB/T 3390.1-2013手动套筒扳手套筒
- GB 6675.1-2014玩具安全第1部分:基本规范
- 土方回填施工记录表
- 惠州市基层诊所医疗机构卫生院社区卫生服务中心村卫生室地址信息
- 四知卡(一责双卡 岗位风险识别卡)-加油站加油参考模板范本
- 西门子燃气轮机介绍课件
评论
0/150
提交评论