软件过程与改进课过程改进.ppt_第1页
软件过程与改进课过程改进.ppt_第2页
软件过程与改进课过程改进.ppt_第3页
软件过程与改进课过程改进.ppt_第4页
软件过程与改进课过程改进.ppt_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

第8章过程改进 如何对过程进行改进 软件过程与改进 3 软件过程质量 过程质量质量是指 某一事物的特征和属性 作为一个事物的属性 质量往往指的是事物的可度量的特征 且这些特征都是可以与已知标准进行比较的 软件过程和软件产品一样 都是属于知识或信息实体 对其在质量方面的定义和描述具备一定的复杂性 尽管如此 软件过程质量 即过程质量 的表现形式不外乎体现在静态和动态这两个方面 1 软件过程静态方面 当软件过程仅以某种特定的描述形式存在时 过程质量就表现为静态的一面 此时的过程质量实际上就是软件过程描述本身所具备的属性 它表现为 功能性 该过程描述满足实际需要的程度 易使用性 用户使用该过程描述进行过程实施和运作所需的努力程度 其中包括易理解性和易学习性等子特性 准确性 描述特定类型的软件过程的准确程度 可包含精确性 一致性 完整性 冗余度等子特性 易维护性 用户在改进基于该描述形式的软件过程时所需的努力程度 其中包括易分析性和易修改性等子特性 软件过程与改进 2 软件过程动态方面 当软件过程在执行运作时 过程质量就表现为动态的一面 此时的过程质量是以软件过程所表现出的过程运作能力来衡量 其中包括过程运作能否达到所预定的目标 是否保证了软件产品的质量等 可以简称为过程能力 软件过程与改进 软件过程改进 三步 软件过程及其实例进行不断优化的活动 过程度量过程评价过程改进 软件过程与改进 软件过程的度量 过程度量是针对所指定的软件过程 以某种方式对其过程能力指标实现合理的量化 从而以一定的标准衡量该软件过程的质量 过程度量的特点 过程质量静态特征动态特征 过程能力是过程质量的动态表现 是通过过程运作而体现的 因而和产品度量不同 过程度量是同过程运作紧密相关的 只有经过过程运作 过程度量才能体现其 过程 含义 这是过程度量与产品度量的根本区别 软件过程与改进 客观度量与主观度量 度量的客观性是指所得到的关于某对象的度量值是该对象的真实描述 例如LOC度量 代码行数 就是具备客观性的度量 度量的主观性是指所得到的关于某对象的度量值是由度量者的主观判断得到的 因此所得到的度量值会随度量者的不同而异 如系统的易学习性 的度量值 软件过程与改进 过程度量的通用模式 软件过程与改进 9 过程评价 Evaluation 过程评价 以一系列的标准对软件过程的质量进行评定而使软件过程不断改进和优化的系列活动 过程评价 过程评估 SEI在 评价 评估指南 评估指南 当用户以过程改进为出发点 对自身机构的软件过程进行评定时评定过程现有的过程能力预见其能力 潜在缺陷和改进方向 评价指南 仅是客观评定过程能力当时所达到的程度 软件过程与改进 无论是过程评价还是过程评估 其目的都是 认知过程能力 比较过程能力 改进过程能力 过程评价有多种实现方法 其中过程度量便是一种最有效且最系统化的方法 其他诸如问卷调查 实际走查 walkthrough 等也是实现过程评价的常用方法 软件过程与改进 度量模型 过程度量模型就是要研究过程度量所涉及的属性和问题 从而规范过程度量的内容和步骤 实现过程度量的目标 软件过程与改进 FCM FactorCriteriaMetric 模型1976年Bohem等提出定量进行软件质量评价的概念 两年之后 Walters和McCall提出一个质量要素 准则 度量的三层次式软件质量度量模型 其中 要素是软件质量的反映 软件属性可用作评价准则 量化地度量软件属性可反映软件质量的优劣 此后 G Murine提出软件质量度量技术 SQM 用于定量地评价软件质量 1991年ISO推出了以FCM模型作为基准模型的标准ISO9126 信息技术 软件产品评价质量特性及其使用指南 软件过程与改进 ISO IEC9126质量模型分三个层次 质量特性 6个 质量子特性 21个 功能性Functionality适合性Suitability准确性Accurateness互操作性Interoperability依从性Compliance安全性Security可靠性Reliability成熟性Maturity容错性Faulttolerance易恢复性Recoverability易使用性Usability易理解性Understandability易学习性Learnability易操作性Operability 软件过程与改进 效率时间特性Timebehavior资源特性Resourcebehavior可维护性Maintainability易分析性Analyzability易改变性Changeability稳定性Stability易测试性Testability可移植性Portability适应性Adaptability易安装性Installability一致性Conformance易替换性Replaceability 软件过程与改进 FCM模型的基本出发点是 通过一种分层结构建立面向用户的质量要素 面向软件过程属性的准则和度量之间的关系 通过对软件过程属性的度量来反映软件过程质量特性 FCM模型 软件过程与改进 以FCM模型为基础构造的度量模型的特点 第一层先定义面向用户 或是 外部的 的关于软件过程质量的软件特性 第二层通过分解第一层的软件过程外部质量特性 建立可被度量的软件过程内部属性的基本范围 根据第二层指定的基本范围内的软件过程属性 找到使其量化的度量方法 形成第三层 软件过程与改进 过程改进 过程改进是在软件过程工程中为了更有效地达到优化软件过程的目的 所实施的改善或改变其软件过程的系列活动 认知现有软件过程发现软件过程存在的问题和缺陷提出改进的意见软件过程的改进和完善过程改进的关键是发现软件过程中所存在的问题和缺陷 而过程度量正是发现问题和缺陷的必备手段 软件过程与改进 过程改进 过程改进 ProcessImprovement 简称PI 的目的是 建立和维护对机构级和项目级的过程 并就该过程在机构内达成改进共识 协调机构过程的实施 并对过程进行评估 维护以及改进的各项工作 全面识别并了解机构过程及过程资产已经存在或潜在的强项及弱项 软件过程与改进 研发过程改进活动流程图 软件过程与改进 过程性能改进 软件过程与改进 过程改进方式 在软件过程工程的各项活动中 过程改进活动是一项综合且需要持续开展的活动 软件机构的过程模型 具体软件项目的过程实例 软件过程与改进 过程改进的对象 过程模型过程实例主要对过程模型改进 这是因为 1 过程模型代表了一类软件项目的共性 这使得针对过程模型的改进活动比针对具体项目的过程实例的改进活动更具有代表性 因而更加有效 2 过程模型通常体现了该机构的项目管理和技术管理手段 优秀的软件机构更加注重过程模型的改进 以提高其管理水平 软件过程与改进 过程改进的两种模式 目标驱动模式目标驱动的过程改进模式是指根据一个预先给定的目标 自顶向下制定过程度量或评价模型 有目的地开展相关改进活动的过程改进模式 缺陷驱动模式缺陷驱动的过程改进模式是指根据过程实施时所产生的关于过程缺陷的反馈信息 进行有针对性改进活动的过程改进模式 软件过程与改进 过程改进的通用步骤 软件过程与改进 软件过程成熟度 近代质量管理的理论与实践是软件过程成熟度学说的基础 软件项目失败的教训导致软件工程的出现 全面质量管理 TQM 的成功启发了软件产业 近年来对软件过程成熟度学说有重大影响的专家和事件WalterShewhart1930统计质量控制原理 PDCA循环EdwardsDeming1956对上述原理做了发展和证实PhilCrosby1980提出质量成熟度网格概念WattsHumphrey1986将上述概念用于软件过程 提出了成熟度等级的概念美国SEI1987提出成熟度框架 CMM CMMI SPA TSP PSP 软件过程与改进 软件过程与改进 PDCA循环 Plan计划 Do实施 Check检查 Action措施 P D C A 软件过程与改进 只是做为了做好前思后想利用已有经验预测可能的结果经验再丰富 活动 评估 改进 制定计划 输入 改进 预测 产生 输入 输入 结果 标准 PDCA的扩展 软件过程成熟度运动的普及 SEI的CMM及美军软件工程标准MIL STD 498 欧洲委员会为欧洲系统与软件创新项目 ESSI 投资 鼓励软件过程改进的试验 PIE 英国国防部所属防务研究总署DRA制定软件质量标准 并进行软件过程改进的研究工作 所制定的软件质量标准及研究方案成为ISO的软件过程改进和能力确定标准 ISO15504 SPICE SoftwareProcessImprovementandCapabilitydEtermination 的核心部分 软件过程与改进 德国联邦陆军发起开发V 模型 IABG 1992 国际电信联盟得到BellCanada公司的支持 于1994年开发了Trillium软件过程持续改进模型 欧洲宇航总署ESA 于1991年公布了软件工程标准PSS 05 0 ISO制定并发布了多项标准 ISO9000 3 1991 1994 1997 ISO90003 2004 ISO IEC12207ISO IEC15504 近年出现的软件过程评估与过程改进方案 见下表 软件过程改进框 四个组成部 软件过程基础设施 软件过程改进路线图 软件过程评估方法 软件过程改进计划四部分关系 互相联系 缺一不可 基础设施是条件 评估是改进的推动力 路线图为改进指向 全部活动需18 24个月 软件过程与改进 B 软件过程改进路线图 C 软件过程评估方法 D 软件过程改进 A 基础设施 A 软件过程基础设施 什么是软件过程基础设施 支持软件过程的基础框架和结构基础包括 机构和管理的岗位和职责必要的技术工具和平台 作用 用于支持定义过程实施过程活动获取和分析有关过程执行情况的信息开展过程改进活动 分类 组织和管理基础设施技术基础设施 软件过程与改进 组织和管理基础设施 建立 实施 监控过程活动所需的岗位及其职责 机构级 如软件工程过程组SEPG 项目级或关键过程域级技术基础设施 支持过程改进的技术平台 工具 工具类型数据和文档存储和检索工具检索和决策支持工具过程实施支持平台 过程模板 软件过程与改进 B 软件过程改进路线图 CMM CMMI是典型的过程改进路线图 其特点 能表明过程有效性不同的等级 成熟度等级 软件过程与改进 混乱的 持续改进的 规范化的 标准和协调的 可预见的 能给出每一等级的属性 关键域和特点ISO IEC15504是另一种2维的平面路线图 C 软件过程评估 评估是给机构定位 只有定位才能明确改进的方向 评估要证实机构是否利用了使过程有效的各种机制以及利用的程度 评估的要求 不仅限于文档要考察培训的情况要证实过程的有效性不应只利用提问单 还要配合其它方法评估前对评估组成员进行培训参考路线图 软件过程与改进 D 软件过程改进计划 以评估结果为基础 已明确了强项和弱项 应包括进度 资源投入 负责人 质量计划 配置管理计划等必须明确界定改进范围和边界 有明确的目标必须明确人员的责任 软件过程与改进 建立有效的软件过程 条件 过程文件得到充分的理解 遵循和实施1得到管理者的切实有效支持并不停留在口头上 文件上理解到过程的实施最终是与业务目标是一致的不是为给别人看的 是给自己用的2要明确过程的责任人和所有者 过程不能没有责任人和所有者 否则会出现混乱 软件过程与改进 3必须作培训 并有针对性地对不同人员作不同的培训 软件过程与改进 4过程实施结果的度量和反馈及时地对过程实施情况进行度量对理解过程的效果十分重要度量可分为过程的有效性 过程效率和过程适用性三个方面 软件过程与改进 软件过程与改进 过程度量的类型 过程应用者的反馈反馈意见收集形式 普遍调查重点访问主动反映征询反馈的问题举例 过程对你是个帮手还是障碍 在你的工作中是怎样帮你或妨碍你的吗 在什么情况下 过程对你有用 过程的哪些方面需要改进 你认为过程应该怎样改进 是什么因素让你遵循过程 软件过程与改进 吸收来自外部信息 考虑过程运行中周边业务环境的影响 过程的推行和检查机制发现不符合现象 加以纠正和预防检查的形式可以多种多样 软件过程与改进 业务成果 所有者 过程定义 活动及工具 有效的过程环境 过程改进技术进步 反馈 度量及反馈 培训 建立过程文化 过程制度化 过程思维已渗入整个组织的日常活动 过程制度化的两个支柱过程文化过程基础设施 软件过程与改进 过程文化 技术工具 管理机构 过程基础设施 过程制度化 过程文化文化 特定人群在特定时间内表现出的习惯和文明过程文化 人们的习惯和行为受到过程思维和过程管理原则的影响是人们公认的 并非勉强的和强加的 不是停留在口头上的 软件过程与改进 过程文化的特征 软件过程与改进 过程基础设施是必要的保证条件 建立过程数据库 建立收集过程实施情况信息的机制包括成功和失败的经验与教训信息对倡导当前项目的顺利开展和未来项目的成功均有意义 过程改进的原则 软件过程改进的6条基本原则 Humphrey 1989 对软件过程的重大变更必须是自上而下的每个人都必须参与有效的变更需有现行过程的目标和对它的深入了解变更要持续进行软件过程变更如果没有自觉的努力和定期的强化将不会持久软件过程改进需要有必要的投入 不遵循上述原则可能导致的后果过程改进的积极性因高层领导支持不力而失败过程变更计划由于其目标未明确规定而失败过程变更计划因缺少每个员工的参与而失败 软件过程与改进 软件过程公用模型或软件过程国际标准 组织定义的专用软件过程 组织或领域的特性 注重 适用性效率 注重 稳定性灵活性 组织特定的剪裁 由国际标准或公用模型得到组织定义的过程 组织的标准过程 项目定义的软件过程 反馈 项目特性 注重 适用性效率 注重 稳定性灵活性 通过对组织标准过程剪裁得到的项目过程 项目专用剪裁 软件过程改进的标准与模型 软件过程与改进 CMM软件过程成熟度模型 CMM CapabilityMaturityModel 即能力成熟度模型美国卡内基梅隆大学软件工程研究所 SEI 在美国国防部资助下于二十世纪八十年代末建立的用于评价软件机构的软件过程能力成熟度的模型 主要目的在于为大型软件项目的招投标活动提供一种全面而客观的评审依据 而发展到后来 又同时被应用于许多软件机构内部的过程改进活动中 软件过程与改进 CMM可以指导软件机构 通过确定当前的过程成熟度状况 识别对过程改进起关键作用的一些问题 来明确过程改进的方向和策略 通过一组有限的与过程改进的方向和策略相一致的过程改进活动 软件机构便能稳步而有效地改善其软件过程 使其过程能力得到循序渐进的增长 CMM提供了一个级别框架 1级 初始级 2级 可重复级 3级 已定义级 4级 已管理级和5级 优化级 软件过程与改进 54 软件组织的成熟与不成熟 成熟表现不成熟表现 55 软件组织的成熟与不成熟 不成熟的软件组织软件过程一般并不预先计划 而是在项目进行中由实际工作人员及管理员临时计划有时 即使软件过程已计划好 仍不按计划执行没有一个客观的基准来判断产品质量 或解决产品和过程中的问题对软件过程步骤如何影响软件质量 一无所知 产品质量得不到保证 而且 一些提高质量的环节 如检查 测试等经常由于要赶进度而减少或取消 产品在交付前 对客户来说 一切都是不可见的没有长远目标 管理员通常只关注解决任何当前的危机由于没有实事求是地估计进度 预算 因此他们经常超支 超时 当最后期限临近 他们往往在功能性和质量上妥协 或以加班加点方式赶进度 软件过程与改进 成熟的软件组织 具有全面而充分的组织和管理软件开发和维护过程的能力管理员监视软件产品的质量以及生产这些产品的过程制定了一系列客观基准来判别产品质量 并分析产品和过程中的问题进度和预算可以按照以前积累的经验来制定 结果可行 预期的成本 进度 功能与性能和质量都能实现 并达到目的能准确及时地向工作人员通报实际软件过程 并按照计划有规则地 前后一致 不互相矛盾 工作 软件过程与改进 凡规定的过程都编成文档软件过程和实际工作方法相吻合 必要时 过程定义会及时更新 通过测试 或者通过成本 效益分析来改进过程 全体人员普遍地 积极地参与改进软件过程的活动 在组织内部的各项目中 每人在软件过程中的职责都十分清晰而明确 每人各守其责 协同工作 有条不紊 甚至能预见和防范问题的发生 软件过程与改进 59 60 软件过程成熟度级别 1 初始 initial 级 软件过程的特点是无秩序的 甚至是混乱的 几乎没有什么过程是经过妥善定义的 成功往往依赖于个人或小组的努力 2 可重复 repeatable 级 建立了基本的项目管理过程来跟踪成本 进度和功能特性 制定了必要的过程纪律 能重复早先类似应用项目取得的成功 3 已定义 defined 级 己将管理和工程活动两方面的软件过程文档化 标准化 并综合成该机构的标准软件过程 所有项目均使用经批准 剪裁的标准软件过程来开发和维护软件 4 已管理 managed 级 收集对软件过程和产品质量的详细度量值 对软件过程和产品都有定量的理解和控制 5 优化 optimizing 级 过程的量化反馈和先进的新思想 新技术促使过程不断改进 软件过程与改进 62 初始级 能力成熟度级别中的关键过程域 共18个 基于CMM的过程改进 基于CMM的过程改进是目标驱动的过程改进模式 基于CMM的过程改进步骤如下 1 确定本机构目前的CMM成熟度级别 明确下一步需要达到的级别CMM要求一个机构的成熟度级别应当从第2级开始并逐步升级实施 不允许进行成熟度级别的跨越实施 2 初始化过程改进应当将过程改进本身作为一个项目来进行管理和策划 过程改进策划的内容包括 需确定详细步骤和活动及所涉及的里程碑 所涉及的关键人物 资源 进度 并确保所有相关人员得到并确认所策划的内容 软件过程与改进 3 准备并实施过程评价由于当前所处的级别已经明确 可以直接利用CMM得到当前软件机构的过程评价结果 例如 假如当前级别已被评价为3级 则可根据第2 3级所标明的能力特点 关键过程域 关键实践来表明本机构当前的过程评价结果 软件过程与改进 4 分析评价结果和制定改进活动计划根据所希望达到的CMM级别的关键过程域中对目标 执行约定 执行能力 执行活动 测量和分析 验证执行等关键实践的要求 列出各子目标 对每个子目标 详细计划所需增加的活动 资源 度量方法或工具 验证手段等 并依此制定达到每个子目标的具体计划和实施策略 5 实施改进活动依照计划实施改进活动 注意应有必要的监控手段 软件过程与改进 6 确认改进结果组织合格的评估师对所进行的改进活动进行评价 以判定是否达到本机构所希望达到的CMM级别 对于那些希望其CMM级别获得SEI认可的软件机构而言 所聘请的评估师必须获得SEI颁发的CMM评估师资质 而对那些仅希望通过CMM评价达到自身改进目标的软件机构而言 可在本机构内部组织进行CMM级别的评价 其方式可模仿SEI要求的评价方式 也可用自身特有的方式进行评价 以判断是否达到了所希望的CMM级别 软件过程与改进 7 维持和监督改进的结果努力将机构维持在新的CMM级别上 应当建立有效的监控机制来保持已达到的级别的持续性 对于CMM5级的机构而言 由于这样的监控机制已经制度化 机构只需保持该制度的正常执行 就能确保改进结果的持续性 但对于其他级别的机构而言 应当指定专门人员监督新级别的维持 并赋予足够的权限 8 重复1到7 软件过程与改进 SPICE软件过程改进模式 SPICE SoftwareProcessImprovementandCapabilitydEtermine 过程改进模式 ISO15504 所面向的对象也是软件机构 其目标是通过对一个软件机构软件过程的评价达到以下目的 1 确定被评价的软件过程的能力 2 对被评价的软件过程加以改进 软件过程与改进 软件过程评价标准中过程评价 过程能力确定与过程改进之间的关系 软件过程与改进 SPICE软件过程评价标准由下述九个部分构成 第1部分 概念和介绍指南第2部分 过程和过程能力的基准模型第3部分 评价第4部分 评价指南第5部分 评价模型和标识指南第6部分 审核员资格指南第7部分 过程改进指南第8部分 确定承包方过程能力的使用指南第9部分 术语 软件过程与改进 ISO15504各部分之间的关系 软件过程与改进 ISO15504过程评价模型是一个两维空间的模型 过程 维和 过程能力 维 横向 过程 维参考了ISO12207 软件生存周期过程 给出一个软件机构所应具备的5类软件生存周期过程 即客户供方类过程 工程类过程 支持类过程 管理类过程和机构一级过程类 每类过程中又有若干个具体的过程 这样的横轴表示出对一个软件机构而言 应当提供被评价的所有过程 软件过程与改进 评价模型的纵向 过程能力 维在一定程度上参考了CMM的评价模式 它给出每个过程所处的从0级到5级的6个过程能力级别 即不完整级 0级 已执行级 1级 已管理级 2级 已建立级 3级 可预测级 4级 和不断优化级 5级 这6个级别又由9个具体的过程属性加以细化 对不同属性的满足程度决定了一个过程所处的级别 级别越高 表明一个软件过程越成熟 而级别越低 则表明该过程需要进行的改进更多 软件过程与改进 对每个过程而言 其能力的提高也需由低到高逐级提升 不能跨越 对一个软件机构而言 ISO15504并不要求象CMM过程能力成熟度那样给出一个整体的过程能力评价值 而是要求给出机构内不同软件过程的能力成熟度 显然 由于不同的软件过程可能会有不同的能力成熟度 因此依据ISO15504评价模型所产生的评价结果 将会形成关于过程能力的一条能力曲线 曲线上方的部分表明该过程的改进空间 软件过程与改进 某软件机构过程能力曲线 软件过程与改进 SPICE过程改进步骤 同CMM一样 SPICE过程改进模式也是目标驱动的过程改进模式 所不同的是 SPICE既可针对机构内单个过程模型的改进 也可针对一个机构整体过程模型的改进 当

温馨提示

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

评论

0/150

提交评论