第14讲 软件度量与配置管理
- 格式:ppt
- 大小:402.00 KB
- 文档页数:45
软件配置管理(Software configuration management,SCM)目录软件配置管理 (1)什么是软件配置管理 (2)配置管理的任务 (2)实施软件配置管理的优点 (2)配置软件管理实施的流程 (3)软件配置管理与CMMI (4)软件配置管理案例分析 (4)案例:配置管理在软件企业中的应用 (4)软件配置管理(SCM)是一种标识、组织和控制修改的技术。
软件配置管理应用于整个软件工程过程。
SCM活动的目标就是为了配置管理是对产品进行标识、存储和控制,以维护其完整性、可追溯性以及正确性的学科。
目的是使错误降为最小并最有效地提高生产效率。
1.维护和编制公司配置管理规划、流程和策略。
2.负责日常运行维护及系统优化,负责配置管理工作,包括权限分配、基线管理、版本管理、变更管理、配置审计等;负责配置管理报告的编写和分析。
3.监督和审核项目过程中配置管理规范的实施情况,为项目组提供配置管理流程、工具方面的咨询、培训和支持,参与公司产品及体系认证与维护工作4.负责建立和优化公司配置管理的相关规范和流程并进行相关推广。
不断优化公司配置管理方法和工具(1)定义配置项:软件配置项(SCI)即软件配置管理的对象。
软件开发过程中产生的所有信息构成软件配置,它们是:代码(源代码、目标代码)以及数据结构(内部数据、外部数据)、文档(技术文档、管理文档、需方文档)、报告,其中每一项称为(2)标识配置项:正确标识软件配置项对整个管理活动非常重要,对软件开发过程中的所有软件项目赋予唯一的标识符,便于对其进行状态控制和管理。
(3)定义基线:基线标志着软件开发过程一个阶段的结束,任一软件配置项,一旦形成文档并审议通过,即成为基线。
基本的作用在于把各阶段的工作划分得更明确,使本来连续的工作在这些点上断开,以便检验和肯定阶段成果。
(4)定义软件配置库:软件配置库内容涵盖开发的全过程.实施软件配置管理的优点∙节约费用:缩短开发周期、减少施工费用∙利于知识库的建立:代码对象库、业务及经验库∙规范管理:量化工作量考核、规范测试、加强协调与沟通。
-如何进行有效的软件度量什么是软件度量软件度量(Software Measurement)是通过各种不同的量度(metric)对软件生命周期中的各个元素进行度量(Measure),它能够为项目管理者提供有关项目的各种重要信息,同时也是进行大多评估活动的基础。
"软件度量"是一个包含很多完全不同的活动的术语。
它主要包括:费用和工作量估计模型和度量、生产率度量模型和标准、质量控制和保证、数据收集、质量模型和度量、可靠性模型、性能评价和模型、算法/计算复杂性度量、结构和复杂性度量、GQM法(Goal/Question/Metric)、其他等。
通常度量程序是由一些软件工程组在组织中进行实施,而这种用于量化软件过程的决策手段实际上能为所有涉及软件的人或部门带来好处:1.项目经理得益于在计划及控制软件项目时作出相关决策;2.项目成员能聚焦于工作的改进;3.软件配置管理组能关注于产品的完整性;4.软件质量保证组则能专注于过程的保证;5.当然用户则关于软件产品的最终使用;6.除此以外,其他涉及并关心软件过程及产品的职能部门都能以此作出相关决策。
为什么需要软件度量在软件开发中,软件度量的根本目的是为了管理的需要,利用度量来改进软件过程。
在软件开发的历史中,我们可以意识到,在60年代末期的大型软件所面临的软件危机反映了软件开发中管理的重要性。
而对于管理层人员来说:没有对软件过程的可见度就无法管理;而没有对见到的事物有适当的度量或适当的准则去判断、评估和决策,也无法进行优秀的管理。
我们说软件工程的方法论主要在提供可见度方面下工夫。
但仅仅是方法论的提高并不能使其成为工程学科,这就需要使用度量。
度量是一种可用于决策的可比较的对象。
度量已知的事物是为了进行跟踪和评估。
对于未知的事物,度量则用于预测。
事实上现在在软件工程的主流里度量却被忽略了。
现在的情况是:■当我们在设计和开发软件产品的时候,我们并未能制定出度量的目标。
配置管理规范文件编号:QMS—PROC-SCM03版本:1.2受控签章修改历史1目的和范围本规范是为了配合公司配置管理流程文件的执行所给出的配置管理活动中配置项用命名、角色定义及权限分配规范,目的是给配置管理流程的使用人员详细的操作指南。
2目标配置管理活动相关人员通过本规范的学习,充分撑握配置项命名规范、配置管理活动中所有角色的定义和权限的设置,更有效的执行公司配置管理流程。
3术语3.1软件配置管理(Software Configuration Management,SCM)软件配置管理是标识和确定系统中配置项的过程,在系统整个生存周期内控制这些项的投放和更动,记录并报告配置的状态和更动要求,验证配置项的完整性和正确性。
一言以蔽之,配置管理是门通过一系列技术、方法和手段来维护产品的历史、鉴别和定位产品独有的版本、在产品开发和发布阶段控制变化,从而使管理制度化、有效减少重复性工作、保证产品的质量和效率的科学。
3.2 配置项(configuration Item,CI)软件配置指一个软件产品在软件生存周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、程序及其数据的集合。
该集合中的每一个元素称为该软件产品软件配置中的一个配置项(configuration item)。
3.3 产品基线product baseline指在软件组装与系统测试阶段结束时,经过正式评审的批准的有关所开发的软件产品的全部配置项的规格说明。
产品基线是最初批准的产品配置标识。
3.4 配置控制配置管理的一个要素,由评估、协调、批准或不批准,和对正式创建配置标识的配置项实施变更等活动组成。
3.5 软件配置管理库software controlled library软件配置管理库又称软件受控库,是指在软件生存周期的某一个阶段结束时,存放作为阶段产品而释放的、与软件开发工作有关的计算机可读信息和人工可读信息的库。
软件配置管理就是对软件受控库中的各软件项进行管理。
配置管理作用的理解一、什么是配置管理配置管理(Configuration Management)是指通过制定并执行一系列的过程和方法,对系统或软件的配置项进行标识、控制、追踪和审计的过程。
配置管理的目的是确保系统或软件在开发、维护和部署的过程中能够保持一致性和可控性,以达到高质量的交付和可靠的运行。
二、配置管理的作用1. 统一管理与控制配置管理可以对系统或软件的各个配置项进行统一管理和控制。
通过配置管理的手段,可以对配置项进行标识和分类,确保每个配置项都能够被唯一标识和追踪。
通过配置管理的控制措施,可以建立起配置项的修改和变更机制,确保每个变更都经过审批和记录,从而保证配置项的可靠性和一致性。
2. 提高开发效率配置管理可以提高开发效率。
通过配置管理,可以建立起配置库和问题追踪系统等工具和平台,为开发人员提供一个统一的开发环境。
开发人员可以通过配置管理的工具和平台,快速获取所需的软件和开发工具,同时可以轻松地进行版本控制、构建和发布等操作,从而提高开发效率。
3. 管理变更和风险配置管理可以管理变更和风险。
在软件开发过程中,变更是难以避免的,而未经控制的变更可能会引入风险,导致系统出现故障或功能缺陷。
通过配置管理的手段,可以对变更进行统一审批和记录,确保每个变更都经过合理的评估,并且能够对变更进行追踪和回退,从而最小化变更引入的风险。
4. 确保系统稳定性和可靠性配置管理可以确保系统的稳定性和可靠性。
通过配置管理的控制措施,可以对系统和软件的配置项进行有效地控制和管理,确保系统在部署和运行过程中的配置是正确的、一致的和合理的。
更重要的是,配置管理能够追踪和记录系统的配置信息,为问题的排查和分析提供有力的依据,从而保证系统在长期运行中的可靠性和稳定性。
5. 保证质量和合规性配置管理可以保证软件的质量和合规性。
通过配置管理的手段,可以建立起配置项的检查和验证机制,确保每个配置项都符合指定的要求和标准。
通过配置管理的过程,可以对软件的质量和合规性进行监控和度量,并对问题进行追踪和处理,最终保证软件交付的质量和符合相应的规范和标准。
软件度量论文1软件度量的基概述1.1 软件度量软件度量(software measurement):对软件开发项目、过程及其产品进行定量化的过程,目的在于对其加以理解、预测、评估、控制和改善。
度量取向:软件开发的诸多事项,涉及项目、产品和过程多方面,包括规模、成本、进度、可靠性、功能性、易用性、缺陷、生产率、生命周期等等。
●度量取向的依据是:事实、数据、原理、法则;●度量取向的方法是:测试、审核、调查;●度量取向的工具是:统计、图表、数字、模型;●度量取向的标准是:量化的指标。
1.2软件度量流程项目计划工作日志文档和代码测试报告评审记录PTS用户反馈及时改善效率实际工作量计划工作量项目规模成熟度缺陷及其状态维护数据生产率代码质量工作量过程度量报告测试评审效率比较工作量分布情况项目规模与工作量相关性维护工作量分布缺陷趋势缺陷优先级分布缺陷活动分布质量报告整理收集分析统计[软件度量流程]1.3软件度量三维度目进度、顾客满意度等。
项目度量目的:辅助项目管理、进行项目控制。
规模度量(size measurement)是估算软件项目工作量、编制成本预算、策划合理项目进度的基础。
2软件规模的估算方法代码行(LOC:lines of code)功能点分析(FPA:function points analysis)德尔菲法(Delphi technique)COCOMO模型特征点(feature point)对象点(object point)3-D功能点(3-D function points)Bang度量(DeMarco‘s bang metric)模糊逻辑(fuzzy logic)2.1代码行(LOC)所有可执行源代码行数,包括可交付的工作控制语言(JCL:job control language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。
一代码行(1LOC)的价值和人月均代码行数可以体现一个软件组织的生产能力。