第四讲软件配置管理资料
- 格式:ppt
- 大小:2.06 MB
- 文档页数:9
软件配置管理方法1软件配置管理办法1软件配置管理基础1.1软件配置管理简介随着计算机应用范围的日益广泛,应用软件的规模及复杂度日益广泛深入,应用软件的规模和复杂程度日趋大型化,复杂化,这就导致软件开发的方式越来越强调团队的协作开发。
而在这种开发方式下,会遇到很多问题,例如:需要将整个软件的版本恢复到以前的某一时间的状态,限制随意修改程序,或者控制某一程序在同一时间内只能一个开发人员修改等等。
为了解决这些问题,提高软件产品和软件项目的质量及软件开发过程中的管理水平,更好地为以后的软件开发工作提供有效的服务,必须采用先进的管理手段,实现软件产品和软件项目源码的科学管理。
1.2软件配置管理工具软件配置管理工具有很多,例如:Starteam、PVCS、ClearCase、VSS和CVS等。
Starteam、PVCS和ClearCase更适合庞大的团队和项目,并且价格不菲,所以并不常用。
目前使用比较广泛的是VSS和CVS。
两者在使用上有各自的优势和不足。
VSS的全名是VisualSourceSafe,是微软公司开发的VisualStudio开发套件中的软件配置管理部分,有非常好的技术支持和非常详尽的技术文挡。
VSS适合在局域网范围内,以Windows平台为主的中、小项目,以文件管理为主要功能,使用方便,学习成本低,对服务器仅需要快速大容量的存储器也是它的优势。
CVS的全名是ConcurrentV ersionSystem,是一种可以并发的版本控制系统。
它是一个开源项目,可以直接从网站下载最新的源代码。
CVS可以满足局域网和广域网不同的网络条件,提供不同级别安全性选择,在一台专门的服务器配合下,客户可以使用任何平台开发项目。
CVS本身是在unix系统上开发的,在unix下提供的是命令行使用模式。
在Windows 平台下你可以选择用CVSNT搭建服务器,用WinCvs作为客户端。
CVS对于已经完成了开发过程进入项目维护阶段,或者进入项目升级阶段的项目,可提供完善的软件配置管理的支持,不过在学习和操作上学习成本比较高。
软件质量控制与测试第五章软件配置管理第4章回顾4.1 软件质量控制与保证4.1¾目标问题问题度量法¾风险管理法4.2 软件质量控制模型和技术¾控制模型¾控制模型要素¾质量控制技术¾实施与跟踪4.3 软件质量控制工具(七种工具)4.4 软件质量保证体系444.5 改正性和预防性措施4.6 支持性质量保证手段46第5章软件配置管理51 5.1 概述52配置的概念最早应用于制造系统,其目的5.2 配置项53是有效标识复杂统的各个组成部分,例如制造行业的材料清单5.3 基线54概念。
如今软年的复杂性日曾益增大,如果仍然把软件当作单的整体就无法解5.4 版本控制55一的整体,就无法解决所面临的问题,因此,软件产品同样需5.5 变更控制5.6要类似材料清单的概念,于是,配置的概念引入到软件领域。
5.6 软件配置管理系统软件项目已经成功实施了8个月,项目组已经进入编码阶段,在此过程中产生了许多的软件产品。
程中产生了许多的软件产品¾到了编码阶段已经有了近百个软件产品(包括技术文档、管理文档、程序模块等),项目组在管理这些产品方面感到繁琐和困难程序模块等¾此时,用户提出要变更需求,软件项目组同意用户的需求变更请求,为此,修改了软件需求规格说明书¾项目组将更改后、新的软件需求规格说明书交给了软件设计小组,设计小组为此更改了设计。
更改后的软件设计涉及诸多的软件设计小组为此更改后的软件设计涉及诸多的软件模块和数据设计,为此导致许多的模块和源程序代码和可执行代码发生了变化¾由于变化的范围太大,项目组很难清晰地了解哪些作了变化、做了什么样的变化由此带来的新的问题是:由此带来的新的问题是¾项目组未能及时将这些变化通知给相关、受影响的小组和人员,从而出现软件产品之间的不一致(设计与编码不一致),所开发的产品没有完全符合和满足用户的需求有全符满户对于某些模块更为糟糕,因为这些模块已经经过了多达-¾67次的修改,而且每次修改都有意义,从而产生了不同版本的软件模块设计,由于没有相关的有效管理措施,开发人员已经很难清晰、有效识别、区分这些软件模块,出现许多开发人员都有该模块的诸多版本与此相对应的是该模块的源代码也有许多版本¾与此相对应的是,该模块的源代码也有许多版本¾在实际组装软件时,项目组不能有效提取出所需的软件产品,共同构成可运行的软件系统软件开发现状软件开发过程中会产生大量软件产品(包括文档、源代码和数据等),且这些产品之间存在档代数等产存在关联关系。
可编辑修改精选全文完整版软件配置管理规范编制XXXXX审核XXXXX批准XXXXX发布日期软件配置管理规范更改更改人单号/日期——XX/2022- 10-29 更改后的版次A/00更改序号1 第一次发布更改说明软件配置管理规范本文件用于规范软件的配置管理过程。
本程序合用于本公司开辟的XX 软件,其他软件组件可参考实施。
无在整个软件生命周期内,管理软件配置项的版本变更及发布。
配置项包括:源代码文件、配置文件、数据库脚本、资源文件、构建安装相关的脚本与说明文档、生成的二进制可执行文件、引用的库文件、安装文件、设计文档、设计评审记录、设计验证记录、现成软件。
还包括开辟管理、质量管理、风险管理等与软件开辟相关的文档。
使用Apache Subversion 作为版本控制工具。
使用FTP 管理现成软件与安装文件。
建议的SVN 目录如下,可以根据实际情况做变动。
trunk trunk 目录为开辟目录,即最新的内容doc 存放设计相关的文档:输入输出文档,设计相关的记录及验证文档软件配置管理规范buildsrc3rd_partyXX-libsincludelibpublictemplateunittest[project][module]toolsexportexamplestesting[version]branches[branch]tags[tag]documentsmain存放构建与安装相关的脚本文件,说明文档,软件配置表源代码目录开源的第三方内容lib 如果第三方库有静态库,统一放在这里,便于引用... 每一个第三方库单独放在一个子目录公司自己的公共库lib 如果公共库有静态库,统一放在这里... 每一个公共库单独放在一个目录引用的头文件,除XXX 和XXX 的内容,包括但不限于:整个项目相关的定义头文件、配置头文件,接口文件;其他硬件产品的引用头文件;其他工程的引用头文件,定义头文件,其他工程可以是本仓库内的工程;... 按内容,头文件可以再分目录存放与include 对应,引用的静态库,除3rd_party 和XX-libs 的内容,包括但不限于:其他硬件产品的引用静态库;其他工程的引用静态库,其他工程可以是本仓库内的工程;多个工程共用的源码文件模板,配置文件的模板、数据文件的模板、数据库创建脚本等单元测试代码目录工程目录,每一个工程单独一个目录模块目录,每一个模块单独一个目录编写的工具工程或者脚本,不发布可以供其他工程(不在本仓库)使用的输出文件,包括头文件、动态库文件、静态库文件示例工程目录,以下可以再分目录存放测试分支的目录发布前的测试分支,来源于trunk 的拷贝,每一个版本单独一个目录存放试验性分支试验性质的分支,来源于trunk 的拷贝,每一个分支单独一个目录存放分布的标签发布的标签,来源于每一个测试分支的最后一个测试修订其他文档:计划文档,软件测试文档,软件更改相关文档使用external 属性设定,引用/trunk/doc开辟期所有的变更提交至/trunk 目录。
软工常见软件配置管理工程解析软件配置管理是软件工程中非常重要的一个环节,它通过对软件配置项进行控制和管理,确保软件在开发、维护和发布过程中的可控性和可追溯性。
本文将对常见的软件配置管理工程进行解析,包括配置项识别、版本管理、变更管理和发布管理。
一、配置项识别配置项是软件配置管理的核心,它可以是代码文件、文档、数据库、脚本等软件开发过程中的任何元素。
配置项识别的目标是确定软件开发过程中需要被控制和管理的所有配置项,并对其进行编码和命名。
在识别配置项时,可以采用树状结构,将配置项进行层次划分,形成配置项的分类结构,以便更好地进行管理和控制。
二、版本管理版本管理是指对软件配置项的版本进行管理和控制,确保在开发过程中不同版本的配置项能够互相区分和追溯。
版本管理的基本原则是每个配置项有唯一的版本号,通过版本号实现对配置项的标识和管理。
常见的版本管理工具包括Git、SVN等,它们能够记录每个版本的修改历史,并支持分支管理和合并操作,方便团队协作和代码版本的管理。
三、变更管理变更管理是指对软件配置项的变更进行管理和控制,确保对配置项的修改和升级是有序、可控的。
变更管理的过程包括变更请求的提交、变更评审的组织和变更实施的跟踪。
变更请求应该包含变更的目的、范围和影响分析,变更评审是对变更请求进行讨论和决策的过程,变更实施是将变更应用到软件系统中并进行验证和测试的过程。
通过严格的变更管理,可以降低软件开发过程中的风险和错误,提高软件开发的质量和可靠性。
四、发布管理发布管理是指将经过开发和测试的软件配置项交付给用户或部署到生产环境中的过程。
在发布管理中,需要制定详细的发布计划,包括发布时间、发布内容、升级流程等。
同时,还需要进行发布前的验证和测试,确保发布的软件配置项能够在目标环境中正常运行。
在发布完成后,需要进行发布评估和问题追踪,及时处理用户的反馈和报告的问题。
五、总结软件配置管理工程是软件工程中不可或缺的一部分,它通过对软件配置项的识别、版本管理、变更管理和发布管理,确保软件开发过程中的可控性和可追溯性。
软件配置管理的主要内容软件配置管理的主要内容:1、版本管理1.1 软件配置项(software configuration item):含义:在软件生存周期内所产生的各种应纳入管理范围的系统构成成分。
包括各种管理文档和技术文档,源程序与目标代码,以及运行所需的各种数据等(配置管理的资源对象)。
形态:在通常的软件配置管理系统中,最基本的软件配置项是以磁盘文件的形式进行存放和管理的。
1.2 版本管理是配置管理的基础:应当记录每个软件配置项的所有历史记录,并记录该软件配置项由何人创建,何人在何时因何原因进行了修改等信息,以及对这些软件配置项版本的进行的检索和信息查询等活动。
1.3 版本树:可以对软件系统的不同演化方向进行管理。
1.4 软件配置项的版本管理——版本数记录一棵带有时间标记的配置项版本演化的树结构信息。
2、配置支持2.1 软件配置(software configuration):所有软件配置项在不同时期的组合、结构与关系定义。
2.2 系统建模通过定义配置来表示整个系统或其中的子系统。
2.3 依赖性追踪例如:查找与某个源文件版本对应的设计文档的版本。
2.4 影响分析分析对系统一个部分的修改可能影响哪些其它部分。
3、变化管理3.1 变化:软件版本演化的来源与过程来源:需求变化、增加功能、修改错误……生命周期:请求、审批、实施、验证、审核、结束。
3.2 变化控制记录和控制对软件配置项的每一次修改。
3.3 变化跟踪一个变化生命周期进行到哪一步了?如果一个已经改掉的bug又出现了,怎样找出原因。
3.4 变化传播帮助将对产品一个版本的修改传播到其它版本中。
4、构造管理(Build)4.1 系统的构造和重新构造(Build)帮助开发人员正确和快速地构造和重新构造产品的任何版本。
4.2 软件发布管理(Release)为不同的用户提供不同的版本,避免其中发生混乱。
4.3 软件部署管理(Deployment)帮助在分布式环境中部署整个系统。
软件配置管理基础SCM的定义软件配置管理(Software Configuration Management,SCM),是软件工业化开发和工程化管理的基本手段;是为减少软件开发中出现的混乱,使得软件开发过程有序化,可管理的现实、可靠的手段;是为保证软件配置项的完整性和正确性,在整个软件生命周期内应用配置管理的过程。
通常包括配置标识、配置控制、配置状态记实、配置评价、软件发行管理和交付等。
SCM是一种按规则实施的管理软件开发和维护过程以及其软件产品的方法。
SCM是一套用于在开发和维护的各个阶段管理各种程序中间产品的规则。
SCM的基本术语1.配置控制委员会(Configuration Control Board,简称CCB)是指由技术和管理专家组成的,对配置及其管理具有决策权限和职责的小组。
配置控制委员会由相关的管理和技术人员组成,实施软件技术状态控制。
可根据组织和任务建立多级CCB管理,上级CCB负责协调下级各部门CCB的关系,各级CCB将负责不同规模、不同领域、不同阶段、不同程度软件配置控制。
2.软件配置项(software configuration item,SCI)定义:为了配置管理的目的而作为一个基本的独立单位来看待的软件成分,通常为软件配置中的一个元素。
包括:源代码、目标码、数据库;文档测试用例软件工具、可复用软件、外购软件、用户提供的软件等。
在多数的软件配置管理系统中,最基本的软件配置项是以磁盘文件的形式存放和管理的。
下面是构件的定义:构件是一个特定的、可文档化的工作产品(文件)集,其中,这些工作产品是在生存周期过程中产生的或使用的。
一个工作产品可以被定义为:一个由软件开发项目的功能、活动或任务所产生的任任意有形的(软件)项。
工作产品包括管理计划、测试计划、需求规约、设计文档、代码、会议记录、备忘录、进度和预算等。
一个构件可以是一个工作产品或是一组相关的工作产品,在配置管理活动中,这些工作产品被当作是一个单一实体。
配置管理规范文件编号: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软件配置管理库又称软件受控库,是指在软件生存周期的某一个阶段结束时,存放作为阶段产品而释放的、与软件开发工作有关的计算机可读信息和人工可读信息的库。
软件配置管理就是对软件受控库中的各软件项进行管理。