软件配置管理和质量保证
软件配置管理目的:● 通过使用配置管理软件,遵守版本控制、变更控制等规程,保证所有配置项的完整性和可跟踪性。
范围:● 适用于公司的软件开发项目,它规定了软件配置管理活动的具体规程及其工作产品。
角色与职责:● 配置管理员:编制项目配置管理计划;创建并维护配置库。
● 配置变更控制委员会(SCCB):审批配置变更申请。
● 软件开发组成员:在权限内使用配置管理工具操作配置库。
● 项目SQA人员:审计配置管理活动的规范性。
主要活动:1 在项目早期(在项目计划初稿后,并与项目计划一起评审)编制项目配置管理计划。
● 确定项目配置管理员。
● 项目经理和项目配置管理员共同指定项目组的SCCB。
● 项目经理与项目配置管理员按确定的软件生命周期,识别出项目要进行控制的软件配置项和纳入配置管理的日期。
● 项目经理与项目配置管理员依据项目定义软件过程,共同确定项目的基线,并标识每个基线的配置项。
● 项目经理确认由项目配置管理员制定的在软件生命周期各个阶段配置项的使用权限清单。
● 项目配置管理员按照《配置管理计划模板》制定项目的SCM计划。
● 项目配置管理员根据项目所使用的开发工具确定项目使用的配置管理工具。
● 项目配置管理员根据项目计划的变动,适时调整项目的SCM计划。
具体规程见《项目跟踪与监控过程》计划变更相关步骤。
● 由项目主管主持,项目经理、公司配置管理主管、项目配置管理员、软件工程组、软件相关组参加对配置管理计划书的评审。
具体规程参见《同行评审过程》。
2 按照配置管理计划,进行项目的配置库管理。
● 项目配置管理员规划、建立项目的目录结构。
该结构支持对配置项的存储和检索功能。
● 项目配置管理员根据项目的规模,规划和配置管理工具相关的配置库结构。
● 项目配置管理员依据经项目经理确认的权限清单对目录结构进行权限分配,以达到在相关组之间或配置库内部之间进行共享和传输。
● 项目配置管理员将配置项用配置管理工具统一管理,将软件工作产品存放在指定的服务器的软件基线库中。
● 项目配置管理员保证由软件基线库制造的产品的正确生成。
● 公司配置管理员定期对服务器的软件开发库、软件基线库进行备份,对配置项的归档版本提供存储和恢复功能。
软件配置管理的相关职责
对于任何一个管理流程来说,保证该流程正常运转的前提条件就是要有明确的角色、职责和权限的定义。
特别是在引入了软件配置管理的工具之后,比较理想的状态就是:组织内的所有人员按照不同的角色的要求、根据系统赋予的权限来执行相应的动作。
因此,在本文所介绍的这个软件配置管理过程中主要涉及下列的角色和分工:项目经理(Project Manager,PM):项目经理是整个软件研发活动的负责人,他根据软件配置控制委员会的建议批准配置管理的各项活动并控制它们的进程。
其具体职责为以下几项:制定和修改项目的组织结构和配置管理策略;批准、发布配置管理计划;决定项目起始基线和开发里程碑;接受并审阅配置控制委员会的报告。
配置控制委员会(Configuration Control Board,CCB):负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。
其具体职责为以下几项:定制开发子系统;定制访问控制;制定常用策略;建立、更改基线的设置,审核变更申请;根据配置管理员的报告决定相应的对策。
配置管理员(Configuration Management Officer,CMO):根据配置管理计划执行各项管理任务,定期向CCB提交报告,并列席CCB的例会。
其具体职责为以下几项:软件配置管理工具的日常管理与维护;提交配置管理计划;各配置项的管理与维护;执行版本控制和变更控制方案;完成配置审计并提交报告;对开发人员进行相关的培训;识别软件开发过程中存在的问题并拟就解决方案。
系统集成员(System Integration Officer,SIO):系统集成员负责生成和管理项目的内部和外部发布版本,其具体职责为以下几项:集成修改;构建系统;完成对版本的日常维护;建立外部发布版本。
开发人员(Developer,DEV):开发人员的职责就是根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务。
软件配置管理的主要任务是什么呢?
软件配置管理是一门应用技术、管理和监督相结合的学科,通过标识和文档来记录配置项的功能和物理特性,控制这些特性的变更,记录和报告变更的过程和状态,并验证它们与需求是否一致。
“配置第一”这个理念是一位IT公司的项目经理告诉我的,他用了“深刻教训”四个字来为这个言论作注脚。
他告诉我这样一件事: 这家公司曾为电信企业开发一个手机收费的中间业务系统。
按规定,系统的收费平台应根据第三方传来的手机资费信息进行扣款。
其中,负责网络通讯的路由器是由多家厂商提供的。
在项目试运行阶段,系统运行一切正常。
这时,有一家路由器厂商(以下简称A厂商)要升级运行程序,网络通讯接口要变,A厂商向电信提出了修改接口程序的提示。
负责项目开发的这家IT公司很快完成了通讯接口修改,和A厂商联调测试无误后,准备将接口程序发布运行。
负责程序发布的老兄嫌版本发布流程太麻烦,便走捷径,私自将程序更新上线了。
未料到,接口的改变影响了电信与其他厂商路由器的数据通讯。
途经A厂商路由器的通讯数据没有问题,可其他品牌的路由器却收不到信息了。
后果是:当天电信用户的手机资费信息数据报大量遗失,相关电信资费损失无法挽回。
负责软件承包的IT公司境遇可想而知。
“痛定思痛,痛何如哉!”从此,该公司痛下决心,买工具、定规范、搞培训,将配置管理切切实实地作为日常重点管理工作来抓。
配置管理是什么“东东”,它真这么重要吗? 软件配置管理是一门应用技术、管理和监督相结合的学科,通过标识和文档来记录配置项的功能和物理特性,控制这些特性的变更,记录和报告变更的过程和状态,并验证它们与需求是否一致。
简而言之,配置管理(Softwae Configuation Management , 简称SCM)就是对软件产品的配置项进行控制和管理。
它的目标是最大限度的减少错误和混乱,保证软件项目工作产品在整个生命周期内的完整性。
配置管理的对象是配置项,主要包括:接口描述、过程描述、需求、设计、测试计划、测试结果、代码及模块、工具、系统参数、版本描述等。
配置项与配置人员、配置工具、配置规范等构建起了整个配置管理体系。
配置管理的出现是项目发展的必然结果 软件技术迅速扩展,项目开发日趋复杂,人员数量不断扩充,系统开发平台多样化,开发及测试场所分布各地,开发规模日益扩大,随之而来的管理复杂性急剧增加。
软件开发永远不变的特点就是变化,需求变更、技术更新、人员变化、环境变化、架构变化等层出不穷,所有这些使项目风险大大增强,如何应对并追溯变化,从而控制变化,是一个重要课题。
软件系统越做越大,产品组件动辄上千,多者上万,版本控制如何着手,令人头痛。
“乱世出英雄”,配置管理便在这样的环境下应运而生了。
配置管理的管理范围恰是项目开发、协调最混乱的地方: 交付给用户的软件产品(需求、源代码等) 软件产品的外部产生“环境”(操作系统参数、编译程序等) 对项目内部而言工作产品(过程描述、流程控制等) 那么,这种管理的特点是什么呢?它到底能带来什么好处呢? 特点 相对独立。
配置管理相对独立于其他管理控制活动,它可以在其他活动都未开展或还不成熟的时候独立进行。
是其他各项管理的基础。
需求管理、需求变更、资源变更、系统维护、合同管理、计划管理、文档管理等都是在配置管理这个“平台”基础上进行的。
优点 对项目产品单元进行统一的版本变更管理,统筹安排系统的修改、发布以及系统资源的使用,预防开发的进程混乱,保证系统版本的完整和一致。
支持并行开发与维护。
软件开发过程时常要求多个开发人员同时在同一个软件模块或项目文档上工作,同时对同一个代码或文档部分作不同的修改,配置管理能满足这样的要求,同时使跨平台、跨地域的并行开发成为可能。
使项目管理人员能掌握项目开发进度。
配置管理系统可以提供配置状态报告,对每日变更完成的工作量、开发中存在的问题等会有详尽的反映。
减少人员变动对项目带来的影响。
项目的变更轨迹可跟踪,文档的增删、代码的修改、参数的改变、配置项的状态、基线之间的差异等都有案可查。
参照变更的原因、内容描述等内容,我们便可对项目的开发进程有详细而完整的把握,从而避免对相关人员的过分依赖。
配置管理的重点工作描述 1) 配置项识别 软件配置管理工具的选择 “工欲善其事,必先利其器”,配置工具的选择对配置管理的好坏影响巨大。
软件配置管理主要包括哪些基本过程
软件配置管理是贯穿软件开发过程始终的一项工作。
对于一个软件项目来说,软件配置管理规范至少包括以下的内容: (1)配置项及其命名规则。
(2)配置库文件目录结构。
(3)角色和权限定义。
(4)配置项变更流程。
(5)配置项发布。
(6)基线定义和基线变更。
项目中的基线有两个方面:一是作为里程碑的基线;另一个是模块的阶段性成果基线(对工作产品而言),一般来说都要避免变更基线。
对这两种不同的基线,其影响的范围不同,确立和变更方式也不一样。
项目的基线变更控制委员会由客户代表、产品经理、项目经理和技术经理组成,对发布的里程碑类基线的变更必须由变更控制委员会确认并由QA进行变更记录,所有被变更影响的配置项都需要重新同步后再次发布;而对于仅仅作为工作状态保留的基线,一般只需要建立基线的小组确认更改并在QA进行记录即可。
软件配置管理有什么好处?
软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。
软件配置管理应用于整个软件工程过程。
在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。
SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。
从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
软件配置管理,贯穿于整个软件生命周期,它为软件研发提供了一套管理办法和活动原则。
软件配置管理无论是对于软件企业管理人员还是研发人员都有着重要的意义。
软件配置管理工程师是做什么的
关于软件配置管理工程师的工作范围,先要了解什么叫软件配置管理。
根据百度辞条“软件配置管理”(局部): 软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。
软件配置管理应用于整个软件工程过程。
在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。
SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。
从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
软件配置管理(Software Configuration Management),又称软件形态管理、或软件建构管理,简称软件形管(SCM)。
界定软件的组成项目,对每个项目的变更进行管控(版本控制),并维护不同项目之间的版本关联,以使软件在开发过程中任一时间的内容都可以被追溯,包括某几个具有重要意义的数个组合。
……那么软件配置管理工程师的工作范围就很清楚了,以一个“XX财务管理系统”为例来说明吧:1、管理本系统所有文档(调研文档、需求分析文档、设计文档、测试文档、维护文档、客户反馈文档等等)、所有代码(含基本代码、注释、各细分版本和更新版本代码)、所有数据库(含测试数据、演示数据、模拟数据等等)。
2、管理本系统所有版本和更新版本及其研发、衍生依据。
3、管理本系统所有版本和更新版本的测试环境。
比如全面测试运行的操作系统类型与级别(Linux、UNIX、MAC、iOS、Android、Windows98、Windows ME、Windows2000、Windows XP、Windows2003、Windows VISTA、Windows7……),全面测试运行的磁盘介质(FAT、FAT32、NTFS……),全面测试运行的数据库系统(Oracle、Sybase、DB2、SQL Server、MySQL、ACCESS、Sybase Anywere……)等等等等。
4、管理本系统所有BUG,并尽力重现其出现环境;管理本系统所有客户反馈的意外情形及维护部门和开发部门的处理方案。
5、管理国家财政部门颁布的新会计制度、新会计科目和核算方法及标准。
……辞条部分是引用的,后面是我帮你总结、描述的。
引用部分的链接:http://baike.baidu.com/link?url=84VkD1Ggv3yxdO25TOdCwO8Jpr16N2ZOrnT8Xed-KUCW2ZBNbdDZxNs7CWEjvL6p希望我的回答能够帮助到你。
敬请采纳。
软件项目管理的内容有那些?
《软件项目管理的内容》 软件项目管理的内容主要包括如下几个方面:人员的组织与管理,软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置管理等。
这几个方面都是贯穿、交织于整个软件开发过程中的,其中人员的组织与管理把注意力集中在项目组人员的构成、优化;软件度量把关注用量化的方法评测软件开发中的费用、生产率、进度和产品质量等要素是否符合期望值,包括过程度量和产品度量两个方面;软件项目计划主要包括工作量、成本、开发时间的估计,并根据估计值制定和调整项目组的工作;风险管理预测未来可能出现的各种危害到软件产品质量的潜在因素并由此采取措施进行预防;质量保证是保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动;软件过程能力评估是对软件开发能力的高低进行衡量;软件配置管理针对开发过程中人员、工具的配置、使用提出管理策略。
因为大家对人力资源管理和软件过程能力比较有兴趣,下面就详细的对这两方面展开讨论。
从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。
不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。
根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、项目跟踪和控制管理、软件风险管理及项目策划活动管理四方面内容导入软件开发的整个阶段。
在20世纪80年代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同样,在进行软件项目管理时,也应该遵循这七条原则。
它们是:1、用分阶段的生命周期计划严格管理;2、坚持进行阶段评审;3、实行严格的产品控制;4、采用现代程序设计技术;5、 结果应能够清楚地审查;6、开发小组地人员应该少而精;7、承认不断改进软件工程实践的必要性。
...
转载请注明出处51数据库 » 软件配置管理的基本活动
卓而不群