配置管理大部分时间都处理大型,复杂,使用寿命长(超过10年)且涉及更多人的系统。 工程支持的关键问题是协调参与者并为每个工程师提供一个环境,也称为工作空间,他们可以在任务期间独立工作。 前者指的是合作工作支持,后者主要称为工作空间支持。
简介
形态管理大部分时间被利用来处理大型、复杂、持续长期寿命(超过10年)、并且牵涉众多人员的系统。工程支援(Engineering Support)的主要议题则是为了协调参与人员,并提供每一位工程师一个环境(也称为工作空间),使其能够在工作期间内独立作业。前者归类为团队工作支援,而后者通常称为工作空间支援。
团队工作支援
许多并行的工作空间可能包含、或变更相同的物件(档案),因而引进团队工作支援(Cooperative work support);所以,有必要同步化这些物件、并且管制并行的工作。由于活动可能持续一段长久的期间(意味着档案将被锁住太久,而发生严重的锁死现象),解决这类问题也很重要。合并规则系统可利用来同步化物件。
引入了协作工作支持,因为许多并发工作空间可能包含和更改相同的对象(文件)。因此,需要同步对象并控制并发工作。这也很重要,因为活动的持续时间可能很长,这意味着文件将被锁定太长时间并且会发生严重的死锁,为了解决这个问题,合并算法用于重新同步对象。
同步方法
对象A用于两个工作组。为了防止重叠,创建了集成工作空间以协调两个开发工作空间。与数据库相比,集成工作空间起着中央DB的作用,其他基本工作空间起着并发事务缓存的作用。开发工作空间定期报告(将图中的箭头集成)到集成工作空间,并从中接收新版本以与其他组同时工作。从外部看,完整的组表现为其集成工作空间,而可以构造节点为组或基本工作空间的树来记录历史。两个工作空间之间的容纳可能意味着将工作分解为并发活动或不同级别的验证。
控制并发工作
并发工作的控制是处理谁可以在哪个时间,哪个对象的哪个属性执行更改的问题。可以引入优先级来解决部分问题,但该领域仍在研究中。
在软件配置管理(SCM)中,Merge用于基于逐行比较方法组合文件。合并控制通常应用于对不同对象的相同属性的更改或对同一对象的不同属性的更改。对象并发变更控制包含传统的文件控制,并为妨碍并发软件工程的许多困难提供同质和优雅的解决方案。
工作区支持
软件配置管理(SCM)系统负责在正确的文件系统中为每个工程师提供工作空间,在适当的时候让用户独立工作,并在工作完成后自动保存或更新更改。有时,后者也被称为变更管理。
合并工具广泛用于促进工作空间支持。下图提供了基于逐行比较方法的合并工具的处理流程。
上层流程digram介绍了软件配置管理中合并工具的主要原理。当第二个工作空间需要源文件时,中心数据库将向其传送该文件的副本。在提交同一文件的两个版本后,合并工具将开始将这两个版本合并为一个新版本。它基于逐行处理,即:如果提交的版本中有新行,则将它们添加到源文件中,如果新版本中不存在行,则删除源中的这些行文件。经过多次迭代后,源文件的新版本(包含两个(或更多)作者创建的所有更改)将再次上载到中央数据库,并充当源文件的新版本。