软件工程与软件能力成熟度的融合.ppt
第四章 软件工程与软件能力成熟度的融合,4.1 融合的重要意义4.2 项目质量的支撑点4.3 软件工程与软件能力成熟度融合框架4.4 CMM过程管理技术规避系统规划中风险4.5 CMM过程管理技术规避系统分析中风险4.6 CMM过程管理技术规避系统设计中风险4.7 CMM过程管理技术规避系统实施中风险4.8 CMM过程管理技术规避系统维护中风险,4.1 软件工程与软件能力成熟度融合的重要意义,软件过程改进的理论以及软件项目开发过程中遇到的严重的、顽固的危机与风险告诉人们:软件开发中出现的一系列成本、进度、质量等问题,仅仅依靠技术是不可能提供较完整的解决规避风险的方案。,融合的必要性,软件开发方法的创新与突破刻不容缓项目管理存在较大的风险缺乏有效的可操作性强的评价与监督方法,融合的主要作用,融合框架反映了事物的内在的本质和联系 规避风险,提高管理的可视性、可洞察性以及可监控性 理论上的突破、延伸与发展 项目开发中的指导作用 CMM模型的应用平台 在前沿研究与教育环节之间架起过渡的桥梁 有利于提高软件企业内部的管理水平 有利于提高IT行业的成熟度 符合国际化管理的规范,融合的重要意义,软件工程与CMM过程改进的融合提供结构和信息的双向支持,它在重视技术风险的同时,正视管理风险的存在。有利于超越软件企业的混沌状态,有助于企业超于混沌、内部评价、提高技术和管理的自动化水平、打造企业的良好环境,增强企业的竞争能力,从而提高我国IT行业的整体水平。,4.1 融合的重要意义4.2 项目质量的支撑点4.3 软件工程与软件能力成熟度融合框架4.4 CMM过程管理技术规避系统规划中风险4.5 CMM过程管理技术规避系统分析中风险4.6 CMM过程管理技术规避系统设计中风险4.7 CMM过程管理技术规避系统实施中风险4.8 CMM过程管理技术规避系统维护中风险,4.2 项目管理的支撑点,4.2.1 项目管理常见的问题4.2.2 管理产生漏洞的主要因素4.2.3 项目管理的两个支撑点-管理与技术,4.2.1 项目管理常见的问题,项目管理常见的问题归纳为三大类:第一类:资源成本问题 典型问题描述:成本/预算问题、计算机资源的使用问题、人事/员工的分配的问题,第二类:进度问题,典型问题描述:开发计划的问题、测试进度的问题、递增、修改进度的问题、里程碑出现的问题、生产率的问题等,第三类:管理质量问题,典型问题描述:配置管理薄弱、错误的捕捉需求、错误的结构设计、错误的编码管理、错误的测试方案设计、错误的转换方式、培训管理薄弱、缺乏基线的管理等,4.2.2 管理产生漏洞的主要因素,1、重视技术,轻视管理的基础工作 项目管理依赖于技术支持与管理的支持。2、管理工作随意性强,缺乏规范性 项目的成败过分依赖经理与用户领导的能力。一旦人员变动,项目将面临较大的压力 3、信息管理不规范 项目内部缺乏交流,信息交流不畅通,4.2.3 项目质量的两个支撑点,管理+技术 软件产品质量与技术和管理息息相关,软件开发方法应全面考虑技术和管理两个领域的问题。技术和管理保证性活动的有机融合构成了软件过程的两个重要支撑点,通过软件开发生命周期与CMM管理之间建立联系。,图4-1 技术与管理的支撑软件的质量,4.1 融合的重要意义4.2 项目质量的支撑点4.3 软件工程与软件能力成熟度融合框架4.4 CMM过程管理技术规避系统规划中风险4.5 CMM过程管理技术规避系统分析中风险4.6 CMM过程管理技术规避系统设计中风险4.7 CMM过程管理技术规避系统实施中风险4.8 CMM过程管理技术规避系统维护中风险,4.3 软件工程与软件能力成熟度融合框架,框架应用的具体步骤,概括地描述软件工程的各个阶段的主要工作与特点阐述某个具体软件容易出现的典型问题陈述CMM的某个过程管理域的核心内容应用融合技术的重要指导作用,4.1 融合的重要意义4.2 项目质量的支撑点4.3 软件工程与软件能力成熟度融合框架4.4 CMM过程管理技术规避系统规划中风险4.5 CMM过程管理技术规避系统分析中风险4.6 CMM过程管理技术规避系统设计中风险4.7 CMM过程管理技术规避系统实施中风险4.8 CMM过程管理技术规避系统维护中风险,4.4 CMM过程管理技术规避系统规划中风险,4.4.1 CMM项目计划关键域的重要指导作用4.4.2 CMM软件配置过程管理的重要指导作用4.4.3 CMM培训程序过程关键域的重要指导作用4.4.4 CMM软件转包合同过程关键域的重要指导作用,4.4.1 CMM项目计划关键域的重要指导作用,系统规划阶段常见的管理问题:(1)规划缺乏总体性(2)不现实的计划(3)缺乏管理上的有效支持,软件项目计划的主要内容,软件项目的目的、目标、范围、对象软件生命周期的选择供软件开发维护的规程、方法、标准待开发软件工作产品的确定和更改估计软件工作产品的规模软件项目的进度识别和评估软件项目的风险提出项目软件工程设施和支持工具的计划对项目的关键计算机资源进行估计,CMM项目计划关键域的重要指导意义,提供人员与组织的保障计划需客观、可行、具体、全面调整计划需规范化确定项目的开发方式采用市场的运作机制,4.4.2 CMM软件配置过程管理的重要指导作用,软件配置管理(SCM)是软件过程的关键要素,是开发和维护各个阶段管理软件演讲过程的方法和规程。其功能为配置识别、变更控制、配置状态统计、配置审核,软件配置管理薄弱的严重后果,软件产品缺乏可视性缺乏完整性和一致性造成软件产品跟踪与审核的困难制定下一阶段计划缺乏依据,CMM软件配置管理的关键过程域的核心内容,提供组织与人员的保障提供必要的资金实施软件配置管理的主要活动软件配置管理需要必要的培训工作软件配置管理的评价,CMM软件配置管理的关键过程域的重要指导意义,人员与组织上保证提供必要的资金指定软件配置管理的计划在项目开发整个阶段实施配置管理建立基线库修改软件配置的控制活动配置信息的查询功能,4.4.3 CMM培训程序过程关键域的重要指导作用,培训工作 目的是提高软件开发者和软件管理者的知识和技能,以便使他们可以更加高效率和高质量地完成自己的任务。,培训工作中常见的管理问题,认识上的错误错误地选择了培训时间过窄或过宽的培训范围,CMM的培训程序过程关键域的核心内容,组织与人员保证提高必要的资金培训的途径培训的主要活动培训的评价,4.4.4 CMM软件转包合同过程关键域的重要指导作用,软件转包 是指将软件开发不在公司内部开发,而是将软件承包给第三方的厂家。积极作用:一、提高软件的可重用性 二、减少功能蔓延,软件转包的主要风险,可视性降低专业技术水平下降下一步开发失去控制,CMM软件转包管理过程关键域的核心内容,提供人员与组织的支持提供必要的资源外包需要必要的培训软件转包合同管理的主要活动评审转包商定期审查,CMM的软件转包合同管理的重要指导意义,人员与组织的支持考察应具全面性外包的工作计划、合同应具体、详细与承包商保持经常性的联系,4.1 融合的重要意义4.2 项目质量的支撑点4.3 软件工程与软件能力成熟度融合框架4.4 CMM过程管理技术规避系统规划中风险4.5 CMM过程管理技术规避系统分析中风险4.6 CMM过程管理技术规避系统设计中风险4.7 CMM过程管理技术规避系统实施中风险4.8 CMM过程管理技术规避系统维护中风险,4.5 CMM过程管理技术规避系统分析中风险,4.5.1 系统分析阶段的主要工作4.5.2 了解需求分析阶段常见的问题4.5.3 CMM的需求管理过程关键域的核心内容4.5.4 CMM需求管理过程关键域的重要指导意义,4.5.1 系统分析阶段的主要工作,1 需求分析方法的选择与应用2 文档的建立与管理3 与用户交流方式的选择与应用,4.5.2 了解需求分析阶段常见的问题,1 用户不能准确地表达需求2 用户参与不够深入3 研究导向造成的目标偏离4 开发人员缺乏交流与说服能力,4.5.3 CMM的需求管理过程关键域的核心内容,人员与组织的保证提供必要的资金需求的分类实施需求管理的主要活动需求更新的控制需求管理工作的评价,4.5.4 CMM需求管理过程关键域的重要指导意义,人员与组织的保证提供必要的资金需求优先级的设定预防需求遗漏和过分蔓延文档的规范化发挥数据字典的重要作用(课本图4.5-8),4.6 CMM过程管理技术规避系统设计中风险,4.6.1 系统设计的主要工作4.6.2 了解系统设计常见的问题4.6.3 CMM软件项目跟踪和监控关键域的核心内容4.6.4 CMM软件项目跟踪和监控关键域的的重要指导意义,4.6.1 系统设计的主要工作,1 系统的总体设计2 详细设计3 系统设计说明书的编写,4.6.2 了解系统设计常见的问题,1 未充分利用系统分析的阶段结果2 设计难度不适度3 混乱的设计易造成水波效应(图)4 对开发工具的过高的估计5 忽视总体效果6 综合查询难于实现,4.6.3 CMM软件项目跟踪和监控关键域的核心内容,人员与组织的支持资金的保证软件项目跟踪和监控的主要活动软件项目跟踪和监控的评价,4.6.4 CMM软件项目跟踪和监控关键域的的重要指导意义,人员与组织保证提供必要的资金减少设计和修改的随意性数据库的规范化设计阶段评审会的重要作用,4.7 CMM过程管理技术规避系统实施中风险,4.7.1 系统实施的主要工作4.7.2 了解系统实施阶段常见的问题4.7.3 CMM的软件质量保证关键过程域的核心内容4.7.4 CMM的软件质量管理过程关键域的的重要指导意义,4.7.1 系统实施的主要工作,系统实施的主要工作包括:一 程序的编写与测试二 系统的安装与转化,4.7.2 了解系统实施阶段常见的问题,不妥的人员安排不明确的人员分工测试用例不全面鲁莽的编码缺乏复审对并行转换时间错误的理解不恰当的纠正错误的方式缺乏安全管理的系统转化(109 表),4.7.3 CMM的软件质量保证关键过程域的核心内容,人员与组织的保证资金的保证软件质量保证的主要活动质量的监督与管理软件质量保证的评价,4.7.4 CMM的软件质量管理过程关键域的的重要指导意义,人员与组织上的保障提供必要的资金组间协调以及复审工作为编程与测试的准备工作技术回顾正确选择并行转化时间系统转化的安全管理,4.8 CMM过程管理技术规避系统维护中风险,4.8.1 维护阶段的主要工作4.8.2 了解维护实施阶段常见的问题4.8.3 CMM的基线管理的核心内容4.8.4 CMM的基线化管理的重要指导意义,4.8.1 维护阶段的主要工作,系统维护工作主要包括程序维护、数据的维护、代码的维护、机器和设备以及应用系统的维护。按维护的性质划分为纠错性维护、适应性维护、预防性维护、完善性维护,维护活动总的工作量,114页,4.8.2 了解维护实施阶段常见的问题,阅读程序的难度文档不规范、信息不一致修改程序产生副作用,4.8.3 CMM的基线管理的核心内容,基线库管理的相关基础工作如下:组织与人员的保障建立软件基线库更改、控制、审核软件基线,4.8.4 CMM的基线化管理的重要指导意义,专人负责提供必要的资金判定错误的类别确定优先级 116页图监控与修改工作的规范化基线化管理,问题11 新技术的先导性实验是如何进行的?答:1 定义先导性实验活动的方法,成立实验活动小组2 定义评估需要的数据指标3 制定实验活动的计划4按照计划执行先导性实验活动5 收集和分析实验数据6 制定实验报告,问题12 新技术是如何进入正式应用的?答:1 制定技术应用计划,并把该计划集成到TCM执行计划中2 预计技术应用所需的时间和进度3 定义技术应用中的数据指标4 在全组织范围内开展对新技术的培训5 收集技术应用数据并跟踪技术应用至结束6分析技术应用数据并从项目中得到反馈信息7 制定技术引入报告8 该阶段的输出结果包括更新的技术更新管理执行计划和技术引入报告,