折叠 编辑本段 单片机
SCM ( Single Chip Microcomputer来自),资料详见百科"单片机"词条。
折叠 编辑本段 供应链
SCM 360百科( Surface Complexation Mo杀义席数重del)
SCM(Supply Chain Management)
Supply chain management (SCM) is the management of an interconnected or interlinked between network, channel and node businesses involved in the provision of product and service packages required by the end customers in a supply chain. Supply chain management spans the move派区展微点门千察ment and storage of raw materials, work-in-process inventory, and finished goods from point of origin to point of consumption.
Another defi慢境化武兵势据nition is provided by the APICS Dic贵信者死前叫细步告刑tionary, which defines SCM as the "design, planning, execution, c更演象孙落ontrol, and monitoring of suppl跑y chain activities with the objective of creating net value, building a competitive infrastructure, leveraging worldwide logistics, synchronizing supply with demand and measuring performance globally."
SCM draws heavily from the ar零尽eas of operations management, logistics, pr宗端定父损田口益专好ocurement, and informa今望针入画tion technology, and strives for an integrated approach.
折叠 编辑本段 WINSCM
WINSCM= Win at S触爱拿upply Chain Management
中文解释:赢在供应链
折叠 由来
折叠 定义
供应链管理(Suppl命突增是防露层德y chain management,SCM)是一艺迅可种集成的管理思想和方法,它执行供应链中从供应商到什祖钟久守占于些龙江哥最终用户的物流的计划和控制等职粉单村和宪能。从单一的企业角度来看,是指企业通过改善上、下游供应链关系,整合和优化供应链中的信息流、物流、资金流,以获得企业的竞争优势。
根据ERP原理,定义如下:供应链管理(Supply chain manageme因选米船古训队许滑其nt,SCM)是围绕核酸减看心企业,主要通过信息手段,对供应的各个环节中的各种物料、资金、信息等资源进行计划、调度、调配、控制与利用,形成用户、零售商、分销商、制造商、采购供应商的全部供应过程的功能整体。
供应链管理是企业的有效性管理,表现了企业在战略和战术上对企业整饭均奏仅厂离干陈洲减重个作业流程的优化。整合并优化了供应商、制造商、零售商的业务效率,使商品海断白让细盟以正确的数量、正确的品质、在正仍完载客细技无居确的地点、以正确的时间、最佳的成本进行生产和销售。
SCM(Supply Chain Management)就是对优派灯你小许省企业供应链的管理,是对供应、需求、原材料防曲越局双车丰采购、市场、生产、库存、整调剧米定单、分销发货等的管理,包括了从生产到发货、从供应商的供应商到顾客的顾客的每一个环节。
供应链管理(SCM)应用是在企业资源规划(ERP)的基础上发展起来的,它把公司的制造过程、库存系统和供应商产生的数据合并在留曲一起,从一个统一的艺基支报胶顺什气画点视角展示产品建造过程的各种影响因素。供应链是企业赖以生术洲简地绍存的商业循环系统,是企业电子商务管理中最重要的课题。统计数据表明,企业供应链可以耗费企业高达25%的运营成本。
它主要是一种整合整个供应链信息及规划决策,并且自动化和最佳化信息基础架构的软件,目标在于达到整个供应链的最佳化(在现有资源下达到最高客户价值的满足),为一种新的决策智能型软件,覆盖在所有供应链公司的ERP和交易处理执市长即纪举职面系统之上。
SCM通常具有一个转换接口,用以整合供应链上各公司的应用系统(尤其是ERP系统)及各种资料型态,此转换会通过标准中介吸职展玉培占斤领察额细工具或技术,如DCOM、COBRA、ODBC等等,提供与主要决策系统互动的能力。
供应链管理(Supply Chain Management ,简称SCM):就是指在满足一定的客户服务水平的条件下,为了使整个供应链系超么想广岩右帝让客重统成本达到最小而把供应商、制造商、仓库、配送中心和渠道商等有效地组织在一起来进行的产品制造、转运、分销及销售的管理方法。供应链管理包括计划、采落乙名最绿让备北省长购、制造、配送、退货五大基本内容。
折叠 安全管理
SCM(Secu神都rity Content ManagementSystem)
内容安全管理系统SCM(Security Con领便别原铁敌映tent Management System)作为新一代内容安全管理产品应运而生。
内容安全管理系统作为一种在线部署的产品,其设计目标旨在通过对网络通信内容、网络行为和国互培胞婷用省显流量进行分析、过滤和控制,实现对网站访问、邮件收发、P2P下载、论坛、判级获和确米损式在线视频等事件的全面有效管理。教怎画娘内容安全管理系统的主要特点如下:
1、全面内容管理
SCM采用URL网页过滤数据库和内容关键字技术,对网络中各类高风险、不良、反动网站及敏感信息进行告警、过滤;
2、规范网络行为
SCM采用世外音扬多种网络控制策略企地看到执垂妈千美兵如,灵活监控网站访问、邮件收发、论坛、即时通讯、文件上传下载、网络游戏、炒股等网络应用行为;
3、合理分配带宽资源
SCM可根据协议、内容等,制定流量管理策略,合理分配带宽资源。
因此,通过现有安全手段与内容安全管理技术相结合,构建一个立体的网络安全保障管理体系。
折叠 移动网络
随着3G移动网络的部署,SCM已经费进入了移动时代。称数缩新的移动SCM系统开启了SCM的移动时代。移动SCM,是利用无线网络实现SCM的技术。它将原有SCM系统上的公客户关系管理功能迁移屋短进到手机。移动SCM系统具有传统SCM系统无法比拟的优越性。移动SCM 系统使业务软件摆脱时间和场所局限,随时进行随地与公司业务平台沟通,有效提高管理效率,推动企业效益增长。数码星辰的移动SCM系统就是一个集3G移动技术、智能移动终端、VPN、 身份认证、地理信息系统(GIS)、Webservice、商业智能等技术于一体的移动SCM产品。
折叠 益处
增加预测的准确性。
减少库存,拿特除王殖文品精民提高发货供货能力。
减少工作流程周期,提高生产率,降低供应链成本。
减少总体采购成本,缩短生产周期,加快市场响应速度。
随着互联网的飞速发展,越来越多的企业开始利用网络实现SCM。
即利用互联网将企业的上下游掌很迫理主企业进行整合,以血逐红病乎表中心制造厂商为核心,将产业上游原材料和零配件供应英操仅收升油为班香费布商、产业下游经销商、尼完本更正妒汽要里矿多物流运输商及产品服务商以及往来银行结合为一体,构成一个面向最终顾客的完整电子商务供资劳图哪木应链,目的是为了节约采购成本和物流成本,提高企业对市场和最终顾客需求的响应速度,从眼言夫景诉础侵件果而提高企业产品的市场竞争力。
使单学每等兵记众数红演折叠 发展
供应链管理是当前国际企业管理的重要内容,也是我国企业管理的发展方向。基于企业内部范围的管理。它将企业内部经营所有的业务单元如订单、采购、库存、计划、生产、质量、运输、市场、销售、服务等以及相应的财务活动、人事管理均纳入一条供应链内进行统筹管理。当时企业重视的是物流和企业内部资源的管理,即如何更快更好地生产出产品并把其推向市场,这是一种"推式"的供应链管理,管理的出发点是从原材料推到产成品、市场,一直推至客户端; 随着市场竞争的加剧,生产出的产品必须要转化成利润,企业才能得以生存和发展,为了赢得客户、赢得市场,企业管理进入了以客户及客户满意度为中心的管理,因而企业的供应链运营规则随即由推式转变为以客户需求为原动力的"拉式"供应链管理。这种供应链管理将企业各个业务环节的信息化孤岛连接在一起,使得各种业务和信息能够实现集成和共享。
折叠 作用
从上述定义中,我们能够解读出供应链管理包含的丰富内涵。
折叠 首先
供应链管理把产品在满足客户需求的过程中对成本有影响的各个成员单位都考虑在内了,包括从原材料供应商、制造商到仓库再经过配送中心到渠道商。不过,实际上在供应链分析中,有必要考虑供应商的供应商以及顾客的顾客,因为它们对供应链的业绩也是有影响的。
折叠 其次
供应链管理的目的在于追求整个供应链的整体效率和整个系统费用的有效性,总是力图使系统总成本降至最低。因此,供应链管理的重点不在于简单地使某个供应链成员的运输成本达到最小或减少库存,而在于通过采用系统方法来协调供应链成员以使整个供应链总成本最低,使整个供应链系统处于最流畅的运作中。
折叠 第三
供应链管理是围绕把供应商、制造商、仓库、配送中心和渠道商有机结合成一体这个问题来展开的,因此它包括企业许多层次上的活动,包括战略层次、战术层次和作业层次等。
尽管在实际的物流管理中,只有通过供应链的有机整合,企业才能显著地降低成本和提高服务水平,但是在实践中供应链的整合是非常困难的,这是因为:首先,供应链中的不同成员存在着不同的、相互冲突的目标。其次,供应链是一个动态的系统,随时间而不断地变化。
研究表明,有效的供应链管理总是能够使供应链上的企业获得并保持稳定持久的竞争优势,进而提高供应链的整体竞争力。
折叠 管理
它从战略层次和整体的角度把握最终用户的需求,通过企业之间有效的合作,获得从成本、时间、效率、柔性等最佳效果。包括从原材料到最终用户的所有活动,是对整个链的过程管理。
SCM(供应链管理)是使企业更好地采购制造产品和提供服务所需原材料、生产产品和服务并将其递送给客户的艺术和科学的结合。供应链管理包括五大基本内容。
折叠 计划
这是SCM的策略性部分。你需要有一个策略来管理所有的资源,以满足客户对你的产品的需求。好的计划是建立一系列的方法监控供应链,使它能够有效、低成本地为顾客递送高质量和高价值的产品或服务。
折叠 采购
选择能为你的产品和服务提供货品和服务的供应商,和供应商建立一套定价、配送和付款流程并创造方法监控和改善管理,并把对供应商提供的货品和服务的管理流程结合起来,包括提货、核实货单、转送货物到你的制造部门并批准对供应商的付款等。
折叠 制造
安排生产、测试、打包和准备送货所需的活动,是供应链中测量内容最多的部分,包括质量水平、产品产量和工人的生产效率等的测量。
折叠 配送
很多"圈内人"称之为"物流",是调整用户的定单收据、建立仓库网络、派递送人员提货并送货到顾客手中、建立货品计价系统、接收付款。
折叠 退货
这是供应链中的问题处理部分。建立网络接收客户退回的次品和多余产品,并在客户应用产品出问题时提供支持。
折叠 意义
通过建立供应商与制造商之间的战略合作关系,可以达到以下目标:
折叠 制造商/买主
降低成本(降低合同成本)、实现数量折扣和稳定而有竞争力的价格、提高产品质量和降低库存水平、改善时间管理、缩短交货提前期和提高可靠性、优化面向工艺的企业规划、更好的产品设计和对产品变化更快的反应速度、强化数据信息的获取和管理控制。
折叠 供应商/卖主
保证有稳定的市场需求、对用户需求更好地了解/理解、提高运作质量、提高零部件生产质量、降低生产成本、提高对买主交货期改变的反应速度和柔性、获得更高的(比非战略合作关系的供应商)利润。
折叠 对于双方
改善相互之间的交流、实现共同的期望和目标、共担风险和共享利益、共同参与产品和工艺开发,实现相互之间的工艺集成、技术和物理集成、减少外在因素的影响及其造成的风险、降低机会主义影响和投机几率、增强解决矛盾和冲突的能力、订单、生产、 运输上实现规模效益以降低成本、减少管理成本、提高资产利用率。
折叠 战略
通过以下四个方面可以基本勾勒出企业的供应链战略,从而在战略指导下,确定企业的供应链主要业务流程及对SCM系统的需求。
第一个问题是企业未来三年供应链要达成多大规模,包括销售额、产品覆盖区域、生产产量、订单数量、物流业务量等。第二个问题是供应链关键参数,对终端需求的响应速度、供应链整体的库存周转率、供应链总成本水平。三是哪些业务是外包的,哪些业务是由企业自己完成。最后的问题是需要什么样的合作伙伴,与主要业务合作伙伴的关系。这些问题能基本勾勒出企业供应链战略的轮廓。
折叠 计划与执行
供应链管理软件根据功能和应用范围分为供应链计划软件(SCP)和供应链执行软件(SCE)两大类。
供应链计划软件是对整个供应链进行计划,把供应链上每个企业当成一个结点,建立每一个结点的包括产能、生产成本、结点之间运输成本等的基础数据,根据计划目标,计算供应链关键的执行参数,再交由各个企业的ERP软件执行,从而使得供应链整体最优化运作。它一般是由5个主要的模块组成:需求计划、分销计划、生产计划、排序/运输计划和企业/供应链分析。由于涉及到整个供应链运作,计划变动的因素非常多,SCP软件成功实施的难度非常大,但实施成功后带给企业的价值也非常显着。
供应链执行软件处理有关供应链上与执行相关的事务,因此SCE软件往往和物流联系非常紧密。
折叠 三层面需求
企业供应链管理对信息系统的需求,可以分为三个层面。
第一个层面是实现对供应链基本的信息管理,能够通过基本业务运作看到分销渠道中的库存、经销商甚至是二级经销商的进销存信息。通过基本业务流程的支撑,实现快速的业务处理;通过对渠道信息的掌握,为企业制定正确的供应链决策提供依据。这是企业实施供应链管理系统最基本的需求,但也是最难实现的需求。实现这个层面需求的关键在于企业对渠道成员的控制影响能力及在系统实施过程中对于利益的重新分配方式。这对实施商要求较高,要求实施的团队成员不仅仅要懂技术,而且应有大量的系统推进技巧,确保系统可以快速推广。
第二个层面是在基本信息及业务流程基础上能够实现业务管理与控制,初步发挥信息系统的价值。例如对于客户信用、产品流向、产品价格、渠道成员、促销品的管控等;通过信息系统实现联合预测及需求计划,提高预测准确度,促进供应链优化运作,在基础信息汇总分析基础上制定一系列优化的决策。这个层次的需求会对供应链管理系统提出一系列的个性化要求,因为不同的企业有不同的管控方式。
第三个层面是实现供应链的优化,这是真正实现供应链战略的关键。比如提高反应速度、降低整体运作成本和业务伙伴优化运作,都需要一系列供应链优化策略。
折叠 供应链优化
供应链管理中的供应链优化策略包括与下游的经销商实施VMI(VendorManagedInventory,供应商管理库存)的供货方式,快速获得需求信息,快速响应需求,提高对终端需求反应速度,降低渠道库存。还有实现物流业务优化,即经销商下订单的时候,能够对订货产品进行体积计算,使得车辆满载;对同一配送路线的经销商的订货时间进行安排,合并运输,采取milkrun(集货配送)的送货方式;对同一路线零担运输进行合并采取整车运输方式,支撑实现直送二批的方式,降低物流成本;对物流运输商的装载时间进行规划,减少等待,降低综合成本等。另外,支持与经销商联合制定销售计划与预测,提高整体计划准确性;对货品仓储位置进行规划,辅助优化库存分布策略,减少断货效率;支撑各种库存控制策略,控制成品库存等,都可以实现对供应链的优化。
折叠 编辑本段 相关书籍
《供应链管理(SCM)教程》
基本信息
图书名称:《供应链管理(SCM)教程》作者:林榕航著
出版社:厦门大学出版社
ISBN:9787561519929
页码:299
版次:1
装帧:平装
出版时间:2003-1-1
印刷时间:
字数:505000
原价:35.00元内容简介
本书系统、详细地阐述了供应链管理的基本知识及所涉及的相关问题,并列举了大量的国外大公司的实际案例,每节后附有实际应用题,内容翔实,活泼新颖。
本书可作为大学电子商务、经济管理、计算机专业的教材,包括MBA、本科、专科各层次,也适合企业人员学习,是企业经理人、上述各专业学生必读曲籍。也可作为相关人员的学习参考书。
目录
前言
第一章供应链管理概述
第二章供应链信息管理概述
第三章供应链物流管理概述
第四章供应链系统信息技术
《图解供应链管理》
基本信息
图书书名:《图解供应链管理》
书籍编号:B0011AGE8A
作者: (日)SCM研究会著,戢守峰,徐原青译出版社:科学出版社
ISBN:9787030108340
出版日期:2003年1月1日第1版
书本页数:226页
书本开数:32开
版次印次: 1
装帧: 平装
字数: 201600
书籍定价:19.80 元
内容简介
本书为实业企业管理丛书之一。主要内容包括统筹管理的概念;统筹管理的带来的变化;从供销管理法到统筹管理;生产计划的发展与统筹管理;SCM软件及其导入的要点;支撑统筹管理的信息技术;日本式统筹管理的展望;统筹管理的发展方向等。本书将质量管理的全部内容分为8个部分,每个部分又分成若干个具体问题加以论述,针对性强,便于读者查询、理解。既可以帮助从事企业管理和财务管理工作的人们迅速解决工作中遇到的实际问题,又是企业管理培训不可多得的参考教材。
目录
第1章供应链管理的涵义
第2章实行供应链管理,能改变什么?
第3章由现代物流到供应链管理
第4章生产计划的发展与供应链管理
第5章 SCM软件及其导入的要点
第6章支撑供应链管理的信息技术
第7章日本式供应链管理的展望
第8章供应链管理的实施方法
折叠 编辑本段 发展趋势
全球供应链系统合作关系的六大发展趋势将影响制造商和他们顾客之间在全球范围内做交易的方式:
Internet把合作关系推动到了一个新的水平
而所有这些在一年前为任何人所不能预测
在新型的B2B商业时代,新一代提供商已经能在爆炸性的数据扩张条件下管理交易进行的情况,成千上万的商家为提供贸易的宿主权而进行激烈的竞争,这个竞争推动了信息化的进程。还有一些公司在客户端配备复杂的软件来完成企业内部和外部之间处理过程的革命化化变革。去年是应用程序提供商(ASP)大行其道的开始,也就是各个客户不必要去购买商业软件而从ASP服务商处租用,解决了自己装软件并进行维护的复杂安装和无穷的升级烦恼。这种烦恼对于企业资源计划系统(ERP)的购买者来说更是切肤之痛,所以ASP大有作为。
外包成为了一个成熟的概念
产品提供商已经不再是顾客首先想到的解决问题求助者。经常是由于供应商满足不了顾客的实际需要导致客户关系的失败。这些失败对于所有参与其中的人员都是一个教训,它使得供应商不要承诺其提供不了的服务,客户也要采取更多实际一些的期望。外包的概念于是深入人心。
真正的合作关系逐渐地在形成
在很多的情况下,公司愿意将一小部分供应链系统外包出去,作为对供应商能力的一个测验。而公司以后会继续把其它更多的部分交出去,让更加专业的公司去做,同时双方保持一种良好的交流合作关系,公司不会停止对全部处理过程的控制权利。
没有保障的合作
合作关系已经到来,但也可以说可能很快又要结束或者溜开,有时是因为一些超越双方所能控制的原因,说到根本还是利益的所在。这样的结合有可能从开始就是一个不般配的。合并和收购可以改变公司长期的交易,成功的公司常常持续不断地再次评价其制造商,一个性能上的故障将很快结束一个合作关系。
寻找真正的全球供应商的活动还在继续
仅仅还在一年以前,公司还在经常抱怨参加产品开发的第三方的无故缺席,落得只有自己一个公司来管理供应链的结果。当然,许多缺乏内部处理流程的公司转而寻求全球范围内的资源、制造和销售。由于有了Internet这个神奇的驱动,合作双方都在快速地向全球规模的合作前进。一些公司已经宣称找到了理想的合作伙伴,但实际上很少的公司真正达到了所有的要求。
高级质量的客户服务
是成功商业计划的重要部分。有这样一个事实,很少公司真正按照承诺实现所应该实现的,但不要太看重这一点。从整体上来说,目前所有的努力都集中在满足前端销售的服务,并提供响应的同等可靠的售后支持服务,这是向高质量客户服务进展的一个必要的过程。
折叠 编辑本段 软件配置
什么是软件配置管理(SCM)
软件配置管理是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。 (Software configuration management (SCM, or just plain CM) is an organizational framework - that is, a discipline - for managing the evolution of computer systems throughout all stages of systems development.)
为什么需要配置管理
如果没有软件配置管理,最大的麻烦是工作成果无法回溯。为了避免成果被覆盖,包括我自己在内的很多人早期采用手工管理版本的方式,例如当一个新版本产生时用当时的日期来命名文件夹,然后再复制一下以后的修改在复制的文件夹内进行,这样上一个版本就被保存下来了,周而复始不同的版本不会被覆盖。虽然这种方式可以从某种程度上解决版本的回溯问题,但他存在的缺点是显而易见的:第一点如果保留结果过于频繁,将会导致产生大量的有着重复内容的文件夹,庞大的物理空间,管理起来很麻烦;如果保留旧版本的时间间隔太长,可能产生某些有用的老程序无法回溯。第二容易产生版本的混乱,如果是团队开发软件,这种简单的方法更难解决问题的本质了。
人的问题
配置管理的方法是成熟的,而且相应的软件工具也是成熟的,基本上不存在看不懂、不会用的问题。配置管理的执行效果如何,完全是事在人为。妨碍配置管理的主要问题是人们嫌麻烦和侥幸心理作怪。
在没出乱子的情况下,执行版本控制看起来有些麻烦。每次修改工作的时候总是要Get Latest Version,接着Check Out,修改完后又要Check In,多做了三步。其实这三步加起来也就十几秒钟,而且不费脑子,根本没有添加多少麻烦,仅仅是个人感觉不爽而以。然而不执行版本控制的话,万一发生工作成果被覆盖或丢失等问题,麻烦就大了。
软件配置管理规范
软件研发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,他们都应当妥善地保管起来,以便查阅和修改。如果把所有文件一股脑的塞进计算机里,那么使用起来很麻烦。
凡是纳入配置管理范畴的工作成果统称为配置项,配置项主要有两大类:一类是属于产品的组成部分,例如需求文档、设计文档、源代码、测试用例等等;另一类是在管理过程中产生的文档,例如各种计划、报告等。
每个配置项的主要属性有名称、标识符、文件状态、版本、作者、日期等。配置项及历史纪录反映了软件的演化过程。
基线由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被冻结后,不能再被任何人随意更改。基线通常对应于开发过程中的里程碑。通常将交付该客户的基线称为一个Release,为内部开发用的基线称为一个Build。
版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混乱等现象。配置项的状态有三种:"草稿"、"正式发布"和"正在修改" 。
配置项的版本号与配置项的状态紧密相关:
(1) 处于"草稿"状态的配置项的版本号格式为:0.YZ
(2) 处于"正式发布"状态的配置项的版本号格式为:X.Y。
一般只是Y值递增,当Y值到达一定的范围时X值才发生变化。
(3) 处于"正在修改"状态的配置项的版本号格式为:X.YZ。
一般只增大Z值,当配置项修改完毕,状态重新变成"正式发布"时,将Z值变为0,增加X.Y值。
常用的配置管理软件
目前国内常用的配置管理工具大概有SourceSafe、CVS、subversion、git和ClearCase,其中CVS,subversion和git属于开源版本控制系统。
SCM(Software Configuration Management,软件配置管理)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
软件配置
(Software Configuration Management,SCM)作为CMM 2级的一个关键域(Key Practice Area,KPA),在整个软件的开发活动中占有很重要的位置。正如Pressman所说的:"软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计来(1)标识变化,(2)控制变化,(3)保证变化被适当的发现,以及(4)向其他可能有兴趣的人员报告变化。" 所以,我们必须为软件配置管理活动设计一个能够融合于现有的软件开发流程的管理过程,甚至直接以这个软件配置管理过程为框架,来再造组织的软件开发流程。
迅速发展的软件配置管理
配置管理的概念源于美国空军,为了规范设备的设计与制造,美国空军1962年制定并发布了第一个配置管理的标准"AFSCM375-1,CM During the Development & Acquisition Phases"。
而软件配置管理概念的提出则在20世纪60年代末70年代初。当时加利福利亚大学圣巴巴拉分校的Leon Presser教授在承担美国海军的航空发动机研制合同期间,撰写了一篇名为"Change and Configuration Control"的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。
Leon Presser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:Change and Configuration Control(CCC),这是最早的配置管理工具之一。
随着软件工程的发展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如:最著名的ClearCase;开源产品CVS;入门级工具Microsoft VSS;新秀Hansky Firefly。
在国外已经有30多年历史的软件配置管理,但在国内的发展却是在21世纪这几年的事。但是通过专家们的介绍,我们感受到,国内的软件配置管理已经取得了迅速发展,并得到了软件公司的普遍认可。
软件配置管理的基本目标
软件配置管理是在贯穿整个软件生命周期中建立和维护项目产品的完整性。它的基本目标包括:
目标 1: 软件配置管理的各项工作是有计划进行的。
目标 2: 被选择的项目产品得到识别,控制并且可以被相关人员获取。
目标 3: 已识别出的项目产品的更改得到控制。
目标 4: 使相关组别和个人及时了解软件基准的状态和内容。
XSSC有关软件配置管理的方针
为了达到上述目标, 如下的方针应该得到贯彻执行:
技术部门经理和具体项目主管应该使用和遵循XSSC的OSSP中所描述的软件配置管理的工作过程。
施行软件配置管理的职责应被明确分配。相关人员得到软件配置管理方面的培训。
技术部门经理和具体项目主管应该明确他们在相关项目中所担负的软件配置管理方面的责任。
软件配置管理工作应该享有足够的资金支持,这需要在客户,技术部门经理和具体项目主管之间协商。
软件配置管理应该实施于如下产品:对外交付的软件产品,以及那些被选定的在项目中使用的支持类工具等。
软件配置的整体性在整个项目生命周期中得到控制。
软件质量保证人员应该定期审核各类软件基准以及软件配置管理工作。
使软件基准的状态和内容能够及时通知给相关组别和个人。
常用的软件配置管理工具
现在常用的软件配置管理工具主要分为三个级别:
Rational ClearCase,CA CCC/Havest
Merant PVCS
Microsoft VSS,CVS
软件配置管理角色职责
对于任何一个管理流程来说,保证该流程正常运转的前提条件就是要有明确的角色、职责和权限的定义。特别是在引入了软件配置管理的工具之后,比较理想的状态就是:组织内的所有人员按照不同的角色的要求、根据系统赋予的权限来执行相应的动作。因此,在本文所介绍的这个软件配置管理过程中主要涉及下列的角色和分工:
项目经理(Project Manager,PM):
项目经理是整个软件研发活动的负责人,他根据软件配置控制委员会的建议批准配置管理的各项活动并控制它们的进程。其具体职责为以下几项:
制定和修改项目的组织结构和配置管理策略;
批准、发布配置管理计划;
决定项目起始基线和开发里程碑;
接受并审阅配置控制委员会的报告。
配置控制委员会(Configuration Control Board,CCB):
负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。其具体职责为以下几项:
定制开发子系统;
定制访问控制;
制定常用策略;
建立、更改基线的设置,审核变更申请;
根据配置管理员的报告决定相应的对策。
配置管理员(Configuration Management Officer,CMO):
根据配置管理计划执行各项管理任务,定期向CCB提交报告,并列席CCB的例会。其具体职责为以下几项:
软件配置管理工具的日常管理与维护;
提交配置管理计划;
各配置项的管理与维护;
执行版本控制和变更控制方案;
完成配置审计并提交报告;
对开发人员进行相关的培训;
识别软件开发过程中存在的问题并拟就解决方案。
系统集成员(System Integration Officer,SIO):
系统集成员负责生成和管理项目的内部和外部发布版本,其具体职责为以下几项:
集成修改;
构建系统;
完成对版本的日常维护;
建立外部发布版本。
开发人员(Developer,DEV):
开发人员的职责就是根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务。
软件配置管理过程描述
一个软件研发项目一般可以划分为三个阶段:计划阶段、开发阶段和维护阶段。然而从软件配置管理的角度来看,后两个阶段所涉及的活动是一致,所以就把它们合二为一,成为"项目开发和维护"阶段。
项目计划阶段:
一个项目设立之初PM首先需要制定整个项目的计划,它是项目研发工作的基础。在有了总体研发计划之后,软件配置管理的活动就可以展开了,因为如果不在项目开始之初制定软件配置管理计划,那么软件配置管理的许多关键活动就无法及时有效的进行,而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种"救火"的行为。所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证。
在软件配置管理计划的制定过程中,它的主要流程应该是这样的:
CCB根据项目的开发计划确定各个里程碑和开发策略;
CMO根据CCB的规划,制定详细的配置管理计划,交CCB审核;
CCB通过配置管理计划后交项目经理批准,发布实施。
项目开发维护阶段:
这一阶段时项目研发的主要阶段。在这一阶段中,软件配置管理活动主要分为三个层面:(1)主要由CMO完成的管理和维护工作;(2)由SIO和DEV具体执行软件配置管理策略;(3)变更流程。这三个层面是彼此之间既独立又互相联系的有机的整体。
在这个软件配置管理过程中,它的核心流程应该是这样的:(1)CCB设定研发活动的初始基线;(2)CMO根据软件配置管理规划设立配置库和工作空间,为执行软件配置管理就阿做好准备;(3)开发人员按照统一的软件配置管理策略,根据获得的授权的资源进行项目的研发工作;(4)SIO按照项目的进度集成组内开发人员的工作成果,并构建系统,推进版本的演进;(5)CCB根据项目的进展情况,审核各种变更请求,并适时的划定新的基线,保证开发和维护工作有序的进行。
这个流程就是如此循环往复,直到项目的结束。
当然,在上述的核心过程之外,还涉及其他一些相关的活动和操作流程,下面按不同的角色分工予以列出:
各开发人员按照项目经理发布的开发策略或模型进行工作;
SIO负责将各分项目的工作成果归并至集成分支,供测试或发布;
SIO可向CCB提出设立基线的要求,经批准后由CMO执行;
CMO定期向项目经理和CCB提交审计报告,并在CCB例会中报告项目在软件过程中可能存在的问题和改进方案;
在基线生效后,一切对基线和基线之前的开发成果的变更必须经CCB的批准;
CCB定期举行例会,根据成员所掌握的情况、CMO的报告和开发人员的请求,对配置管理计划作出修改,并向项目经理负责。
软件配置管理的关键活动
1.配置项(Software Configuration Item,SCI)识别
Pressman对于SCI给出了一个比较简单的定义:"软件过程的输出信息可以分为三个主要类别:(1)计算机程序(源代码和可执行程序),(2)描述计算机程序的文档(针对技术开发者和用户),以及(3)数据(包含在程序内部或外部)。这些项包含了所有在软件过程中产生的信息,总称为软件配置项。"
由此可见,配置项的识别是配置管理活动的基础,也是制定配置管理计划的重要内容。
软件配置项分类软件的开发过程是一个不断变化着的过程,为了在不严重阻碍合理变化的情况下来控制变化,软件配置管理引入了"基线(Base Line)"这一概念。IEEE对基线的定义是这样的:"已经正式通过复审核批准的某规约或产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程改变。"
所以,根据这个定义,我们在软件的开发流程中把所有需加以控制的配置项分为基线配置项和非基线配置项两类,
配置项的标识和控制
所有配置项都都应按照相关规定统一编号,按照相应的模板生成,并在文档中的规定章节(部分)记录对象的标识信息。在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。
所有配置项的操作权限应由CMO严格管理,基本原则是:基线配置项向软件开发人员开放读取得权限;非基线配置项向PM、CCB及相关人员开放。
2.工作空间管理
在引入了软件配置管理工具之后,所有开发人员都会被要求把工作成果存放到由软件配置管理工具所管理的配置库中去,或是直接工作在软件配置管理工具提供的环境之下。所以为了让每个开发人员和各个开发团队能更好的分工合作,同时又互不干扰,对工作空间的管理和维护也成为了软件配置管理的一个重要的活动。
一般来说,比较理想的情况是把整个配置库视为一个统一的工作空间,然后再根据需要把它划分为个人(私有)、团队(集成)和全组(公共)这三类工作空间(分支),从而更好的支持将来可能出现的并行开发的需求。
每个开发人员按照任务的要求,在不同的开发阶段,工作在不同的工作空间上。当然,由于选用的软件配置管理工具的不同,在对于工作空间的配置和维护的实现上有比较大的差异,但对于CMO来说,这些工作是他的重要职责,他必须根据各开发阶段的实际情况来配置工作空间并定制相应的版本选取规则,来保证开发活动的正常运作。在变更发生时,应及时做好基线的推进。
3.版本控制
版本控制是软件配置管理的核心功能。所有置于配置库中的元素都应自动予以版本的标识,并保证版本命名的唯一性。版本在生成过程中,自动依照设定的使用模型自动分支、演进。除了系统自动记录的版本信息以外,为了配合软件开发流程的各个阶段,我们还需要定义、收集一些元数据(Metadata)来记录版本的辅助信息和规范开发流程,并为今后对软件过程的度量做好准备。当然如果选用的工具支持的话,这些辅助数据将能直接统计出过程数据,从而方便我们软件过程改进(Software Process Improvement,SPI)活动的进行。
对于配置库中的各个基线控制项,应该根据其基线的位置和状态来设置相应的访问权限。一般来说,对于基线版本之前的各个版本都应处于被锁定的状态,如需要对它们进行变更,则应按照变更控制的流程来进行操作。
4.变更控制
在对SCI的描述中,我们引入了基线的概念。从IEEE对于基线的定义中我们可以发现,基线是和变更控制紧密相连的。也就是说在对各个SCI做出了识别,并且利用工具对它们进行了版本管理之后,如何保证它们在复杂多变得开发过程中真正的处于受控的状态,并在任何情况下都能迅速的恢复到任一历史状态就成为了软件配置管理的另一重要任务。因此,变更控制就是通过结合人的规程和自动化工具,以提供一个变化控制的机制。
变更管理的一般流程是:
A) (获得)提出变更请求;
B) 由CCB审核并决定是否批准;
C) (被接受)修改请求分配人员为,提取SCI,进行修改;
D) 复审变化;
E) 提交修改后的SCI;
F) 建立测试基线并测试;
G) 重建软件的适当版本;
H) 复审(审计)所有SCI的变化;
I) 发布新版本。
在这样的流程中,CMO通过软件配置管理工具来进行访问控制和同步控制,而这两种控制则是建立在前文所描述的版本控制和分支策略的基础上的。
5.状态报告
配置状态报告就是根据配置项操作数据库中的记录来向管理者报告软件开发活动的进展情况。这样的报告应该是定期进行,并尽量通过CASE工具自动生成,用数据库中的客观数据来真实的反映各配置项的情况。
配置状态报告应根据报告应着重反映当前基线配置项的状态,以作为对开发进度报告的参照。同时也能从中根据开发人员对配置项的操作记录来对开发团队的工作关系作一定的分析。
配置状态报告应该包括下列主要内容:
A) 配置库结构和相关说明;
B) 开发起始基线的构成;
C) 当前基线位置及状态;
D) 各基线配置项集成分支的情况;
E) 各私有开发分支类型的分布情况;
F) 关键元素的版本演进记录;
G) 其它应予报告的事项。
6.配置审计
配置审计的主要作用是作为变更控制的补充手段,来确保某一变更需求已被切实实现。在某些情况下,它被作为正式的技术复审的一部分,但当软件配置管理是一个正式的活动时,该活动由SQA人员单独执行。
总之,软件配置管理的对象是软件研发活动中的全部开发资产。所有这一切都应作为配置项纳入管理计划统一进行管理,从而能够保证及时的对所有软件开发资源进行维护和集成。因此,软件配置管理的主要任务也就归结为以下几条:(1)制定项目的配置计划;(2)对配置项进行标识;(3)对配置项进行版本控制;(4)对配置项进行变更控制;(5)定期进行配置审计;(6)向相关人员报告配置的状态。
实施配置管理的收益
国内很多软件企业已经逐渐认识到配置管理的重要性,都希望通过实施配置管理来提高软件开发管理的水平,增强企业自身的竞争力,应对市场的压力。
具体而言,用户可以在资金、管理水平和保护知识财富等方面得到切实收益。
节约用户资金
(1) Hansky配置管理系统的总体实施成本低
对硬件系统性能的要求低,可以跨平台使用,节约了用户的投资;
安装简单,易于维护,无需专职的系统管理员;
功能简洁、实用,易于学习和掌握,可以有效缩短配置管理系统投入实际使用的周期;
良好的扩展性和灵活的License管理方式,以及组件式的解决方案,使得我们的配置管理系统既支持小组模式的用户,也能够支持大规模团队的协同开发工作,并且能够方便地进行扩展,用户可以根据实际需要,灵活的配置,大大降低了降低初期投入的资金;
具有前瞻性,保护用户的投资。Hansky公司的软件配置管理产品采用最新的技术(如纯TCP/IP技术、J2EE技术、MS .NET的开发环境等)和全新的应用模式(如三层结构、B/S应用结构等),确保系统在较长的时间内不会落后于同类产品或不需要技术上的更新;
自带存储库增量备份/恢复功能,节约用户在备份方面的支出。
(2) 缩短用户的产品开发周期
利用Hansky的Firefly系统对开发资源进行版本管理和跟踪,可以建立公司级的代码知识库,保存开发过程中的所有历史版本,这样大大提高了代码的复用率,还便于同时维护多个版本和进行新版本的开发,最大限度地共享代码。利用Butterfly组建开发团体之间的问题跟踪及消息通讯机制,通过与电子邮件系统的结合大大增强了开发团体之间的沟通能力,通过丰富的报表功能可对发现的问题进行整理、以报表方式分类报出,作为开发的指导。通过使用Hansky的配置管理套件可以提高开发效率和产品质量,避免了代码覆盖、沟通不够、开发无序的混乱局面,大大缩短了产品的开发周期。
(3) 降低产品的部署费用
使用Hansky的软件配置管理解决方案后,用户可以在Hansky技术专家的帮助下建立规范的配置管理流程,所有的软件产品将得到统一有效的管理。借助Firefly和Butterfly,工程人员可以通过访问服务器直接获取所需的最新版本,查找公司的知识库,提交变更请求,收集用户的反馈意见。开发人员无需到现场即可再现用户环境,集中解决问题,发布补丁。这样可以同时响应多个地点的项目,防止开发人员分配到各个项目点、力量分散、人员不够的弊端,同时节约大量的旅差费用。
提高软件开发管理的水平
(1) 改进用户的开发工作模式
使用Hansky的配置管理解决方案,可以有效地改进用户的软件开发模式和过程,提高企业软件能力成熟度的级别。
借助Firefly和Butterfly,用户可以:
有效的管理工作空间,各个成员的具有独立的工作空间,并能记录其变更集和整个生命周期中的完整变更历史;
简便建立分支,支持分支之间的比较与合并,归并,管理基线;
支持并行开发模式,提高开发效率;
支持异地开发,Firefly通过自动或手动同步不同开发地点的的存储库,为地理分布的开发团队提供很好的支持;
集成变更请求管理与项目生存周期中的变更记录与追踪,优化测试流程;
完善的发布管理,可以方便的回溯任意版本,为不同的用户定制应用程序的版本,促进系统的快速部署,提供发布版本内容的审计能力;
支持变更集和原子事务,确保变更的一致性;
支持离线的版本管理,帮助用户记录项目证明周期内的完整历史;
内置Defect、RFE、Task(问题、建议、任务)工作流,符合正规软件公司的软件开发流程。科学的工作流系统可以使公司人员工作起来得心应手,有条不紊,从而大大提高工作效率。
(2) 加强项目管理能力
通过浏览器,项目负责人可以方便地查看项目进展情况以及员工工作情况;
利用Web界面即可实现代码复查和项目状态复查;
丰富的图表、报告功能,可以自动生成变更统计报告、配置审计报告,支持过程管理与进度分析,能够帮助管理者进行决策。
(3) 量化工作量考核
传统的开发管理中,工作量一直是难以估量的指标。靠开发人员自己把握,随意性过大;靠管理人员把握,主观性又太强。采用Firefly和Butterfly管理后,系统能够客观的记录员工的工作内容和质量,可以作为工作量的衡量指标。
(4) 规范测试流程
Butterfly和Firefly集成后,可以有效地跟踪和处理软件的变更,完整地记录测试人员的工作内容,测试有了实实在在的工作,测试人员根据修改描述细节对每一天的工作做具体的测试。对测试人员也具有相应的可考核性,这样环环相扣,有效地增强了对测试的管理。
(5) 加强协调与沟通,增加团队竞争力
使用Firefly保存公司的所有知识财富、利用Butterfly的FAQ、检索以及Email自动通知功能,有效地加强了项目成员之间的沟通,做到有问题及时发现、及时修改、及时通知,却又不会额外增加很多的工作量,大大提高了开发团队的协同工作效率。
保护企业的知识财富
从整个企业的发展战略来说,如何在技术日新月异、人员流动频繁的情况下,本公司的知识库及经验库,把个人的知识及经验转变为公司的知识和经验,这对于提高工作效率、缩短产品周期以及提高公司的竞争力都具有至关重要的作用。采用科学的配置管理思想,辅之以先进的配置管理工具,可以帮助用户在内部建立完善的知识管理体系。
(1) 代码对象库
软件代码是软件开发人员脑力劳动的结晶,也是软件公司的宝贵财富,长期开发过程中形成的各种代码对象就像一个个零件一样,是快速生成系统的组成部分。然而长期以来的一个事实是:一旦某个开发人员离开工作岗位,其原来所编写的代码便基本成为垃圾,无人过问;或者由于文档不全,无从考究。究其原因,就是没有专门对每个开发人员的代码、组件和文档进行科学的管理,将其应用范围扩大到公司一级,进行规范化,加以说明和普及。Firefly为代码管理提供了一个平台和仓库,有利于建立公司级的代码对象库,增进代码复用,提高开发重用率和软件质量。
(2) 业务及经验库
通过Firefly和Butterfly,可自动生成完整的开发日志及问题集合,用文字记录开发的整个过程,不会因某人的流动而消失,有利于公司积累业务经验,无论对软件维护或版本升级,都具有重要的指导作用。此外,利用Butterfly内建的FAQ模块,可以建立检索方便的经验库,传播和共享集体的智慧。
(3) 安全性和可靠性
由于配置管理系统集中存储了企业的重要知识财富,因此对其安全性和可靠性有极高的要求。Firefly可以对所有存储的文件进行冗余校验,使用MD5作为文件的校验和,并提供备份和恢复工具,确保了数据的可靠性。同时Firefly支持用户身份验证和访问控制,支持用户组,便于权限设置。访问控制可以针对分支、目录,甚至单个文件设置,采用类似Windows NTFS的权限管理方式,既灵活又安全。这些措施使得企业的知识财富得到了安全可靠的存储和保护。
另外,由于Hansky的产品采用了三层结构设计,其存储库完全不依赖于网络文件体统,无需共享存储目录,能够有效防止病毒攻击所导致的存储库瘫痪或损坏,同时杜绝网络非法访问。
储存内存
做为硬盘技术的老祖宗,IBM实验室内部正紧锣密鼓研发一项称之为储存级内存(SCM, Storage-Class Memory)技术。
根据IBM提供的资料,SCM是新一代的非挥发性内存技术,其存取速度效能表现与内存模组一致,但又具有半导体产品的可靠性,且在无须拭去(erase)旧有资料的情况下直接写入。IBM表示,待其实际商品化之后--大约在5年之内,每1Gb成本大约只要闪存的1/3,因此将先取代前者在随身装置的市场位置;而在2012年到2015年之间,就可望取代企业等级存储设备中的硬盘。
IBM的规划是,SCM产品的出现将使目前各项储存技术构筑的金字塔结构改变:依照存取速度、价格、储存资料量来看,目前在最底端的是磁带,之上分别是光盘片、磁盘、内存模组。
"SCM技术将卡进磁盘和内存模组之间:SCM的价格比磁盘高,但是存取速度比磁盘快得多,又比内存模组便宜。" IBM系统科技事业群储存及软体架构副总裁Jai Menon说。他表示SCM其中之一的可行应用,就是取代硬盘进入电脑成为存储媒介。
视频格式
SCM是一种全新的互动视频格式,这个格式最大的特点就是支持交互式视频技术。可以说它开创了互联网上互动视频的先河。 SCM有很多特殊的技术,这些都是传统视频格式所没有的特点。比如: ⑴ 超级水印:非常华丽的动态水印,而且水印支持鼠标点击,可以直接激活相关网站链接 ⑵ 音视频数据流分组支持及自由播放控制 ⑶ 快速添加片头动画 ⑷ 可订制互动控制面板或用户界面 其他如DRM技术,主流解码器支持,内置字幕功能等等都一应俱全。因此我们认为这种视频格式有着传统rmvb/wmv/mkv/avi所不能比拟的很多优势,所以我们使用这种格式制作的视频。
SCM会为网站、发片组织和用户可以带来什么样的新感受?
一 SCM支持超级水印LOGO功能 这个功能可以让大家用最简单的方式做出来漂亮、美观、大方的台标logo。 scm格式支持swf,png,jpg,gif的动画logo技术,不但logo效果可以随心所欲好很多倍,而且添加logo几乎不需要任何额外的时间。制作影片速度和效率都能达到最高,以前专业的工作现在变得简单快捷,节约了时间就是降低了成本。更有趣的是logo上还可以添加超链接,用户不需要再输入网站域名,只需轻轻一点,就能链接到发片组的网站上看最新的信息。
二 SCM支持快速片头添加 如果你需要宣传你的网站,只需要做一个超炫的flash动画,配置到生成工具的配置中去,就可以在影片开头加入你网站的介绍。flash动画的制作成本,开发效率,以及画面效果,绝对超过用普通的视频编辑软件生成的视频效果。而且不需要根据不同的影片的码率分辨率重新编码,闪电间就能完成压片过程。而且 flash文件体积小,一个10秒450kbps的片头,传统技术差不多占用562.5KB的储存空间,而这么大的容量flash高手可以做出1分30秒到2分30秒的动画。
三 SCM支持内置字幕和快速字幕切换支持,支持srt/ass/ssa格式的字幕,这个是mkv格式才有的字幕支持特殊功能。 SCM比MKV更强的是在底层直接支持字幕的显示(mkv只储存了字幕字幕的显示是播放器决定的),因此SCM可以不依赖播放器是否提供了字幕的功能,而直接进行字幕显示与字幕快速切换。
四 SCM支持内置的章节跳转,这个功能和DVD的节目菜单选择功能一样。
五 开放的用户界面定制
除此之外,SCM最新最强的一个功能就是提供一个额外的可被定制的用户面板,这个功能原本是用来做互动视频的视频控制接口的,站长可以拿这个接口做一些额外的功能。因为这个用户界面也是flash技术做的,所以我们可以打造一个属于自己的发片网站、自己发片组品牌的控制面板,可以有一个全新的方式介绍自己的发片组,自己的网站,这总比bt目录中放一堆txt,url文件强很多吧(大家想想,如果猪猪出品的视频的旁边还有一个窗口上面有个憨厚的小猪向你眨眨眼是多有趣的事呀)。利用flash的功能也很容易设置更多的功能,比如链接论坛的程序接口,可以向用户及时推送最新的论坛信息和种子下载信息等等。至于前面所提的字幕切换与章节跳转,也可以通过这个界面实现。