Rational环境提供了把一个很大的Ada产品分成多个小模块以及限制变更影响范围的功能。这些小模块被称为子系统,子系统包括接口说明书和实现主体并指出配置项目,因此,他们可被看为一个整体并通过他们的名称被评价。在一个子系统内的组件不可被其他子系统内的组件所访问除非为了被输出而通过接口说明书将这些组件指明。Rational环境检查实现主体完全匹配上接口说明书所需的运行时间。结果是,工作可以在实现主体上展开而独立于当用户想用时就可以被改变的接口说明书,到接口被改变时仅针对那个子系统中的组件会发生二次编译。这时使用了这个接口产品的任何模块都将进行二次编译。对一个接口说明书所作的更改可能需要整个产品进行二次编译。子系统对其组件进行了版本控制,子系统本身可以是一个特定版本。用户可以用过组合匹配系统的版本来形成该品的一个特殊产品。概括的说,子系统为用户指示了一种方法,它限制了变化和二次编译所带来的影响,并提供了检查一个产品的各组成部分的有效性的环境。
3.4.4 对象池运用系统建模的概念,DSEE已拥有一切必须的信息,此信息能够确认产生一个生成对象的特殊版本需要些什么。生成的对象被放置在用户们共享的对象池中。一旦用户暗示了对对象属性的需求DSEE就能够共享。被产生的对象池包括一个由转换工具生成的二进制代码和其它对象组成的集合。每一个被产生的对象和其所有的信息有联系,而这些信息是关于其包括原始版本的系统建模和与转换项一起使用的转换工具,被包括的用户注释的出处﹑日期﹑时间﹑人员和引出的位置.这个信息被认为是一个BCT.当DSEE构建一个系统时,会为系统中每一个组件计算需要得到的BCT数。DSEE在对象池中查找来看生成的对象和所需的一个已存在的对象是否匹配。如果匹配,它就被用;如果不匹配,它被构建。因此,任何时候一个用户需要一个特殊的生成对象时(或是一个一致的对象)。DSEE能够从对象池中再使用从而消除了生成这个对象的需要。用户不需要知道生成现存对象要做的;DSEE作了全部的检测。一旦池中的对象成为死亡的(基于一阶段无作用)DSEE能够删除他们,从而释放空间。这就节省了大量的编译时所需的时间和空间,再使用的工作已经在进行。DSEE也提供了各种不同的对象池,例如从源文件中得到的对象仍是对提供给特殊用户的库的检测。结果,CM系统使再生成组件的需求最佳化且最大数量的分享生成对象。
3.4.5 属性Adele系统通过用一个有数据建模能力的关系数据库实体来普及库和系统的建模。产品在一个数据模型方面被描述,Adele基于那个模型进行它的运算。产品的组件被描绘为拥有属性和关系的数据库对象。属性和每一对象及那个对象的特性相关。属性有一个名字和一个值。一个例子是名为delta的用于描绘对象是否存在于ASCΠ表中从而能够被理解的属性;它可以有一个为真或为假的值。有两种属性被区别:预先确定和用户确定。前者被Adele管理而后者被用户定义和声明。一个预先确定,特殊的属性是“类型“。这个命令属性是强制的且对每一对象都是不可变的。它在Adele中表现为主要的的CM实体(例如对象的组成,文献,修改和元素)。关系在对象间独立定义,例如对象B源自对象A。用户能够按照对象的特性而不是按照一系列对象的特殊版本来描述一个配置。Adele例示和构建一个配置用来选取规则和强制围绕属性和关系为中心。用户能够按照所需特性对一产品定义任何结构。从而用户能在一经由其特性的抽象的高水平描述一产品,其优于按照冗长的文件列表的组成来描述。
3.4.6 一致性维护CMA提供了配置的释义和确认,其是基于一个对于产品的抽象描述也是基于有关形成配置的组件的使用用法成功或不成功的信息。数据建模便利的包括预先确定用户所描述的配置的属性和关系。基于那些属性和关系的语义,CMA能够决定一配置(就是一系列组件的实例)是否是可用的。成为可用的,一配置必须是完全的,无歧义的,一致的和没有歪斜的版本。这意味着一个配置必须有全部组件所需的实例组成且不必包括多重的一个组件的实例。属性的等级描述了象约束,类型和版本这样的用户定义的特性。关系的等级表现了各种依赖性,例如,合理性,兼容性,构成,实例和可继承的独立性。每次一个新的配置被组建,CMA就利用经由先前对形成配置的组件的使用在数据库中积累的信息。这样,CMA预见配置是否可用。这种新的配置为了将来分析可用性而加入数据库。从而,用户能够依靠系统来识别任何不一致以及在构建和重复使用用配置时保护此不一致。
3.5 团队概念描述工作在一个工程项目上的软件工程团队间的独立、合作、同步的术语是工作区,透明检查和协调。描述如下:
3.5.1 工作空间工作空间为开发人员提供独立的工作空间。
在“形状”中的工作空间是被设计用来防止用户之间的相互干扰。它提供了在配置管理下的能在可调对象上持续的工作空间。工作空间是通过版本状态模型来获得的。这就意味着属性“状态”是和构件的版本相连系的。依靠那种状态(例如状态“忙”或“冻结”),构件或者被认为是一个私有的工作区或者被认为是一个公有的库。“忙”构件是可调的并且不能被其他人所使用,象“冻结”就是一个对公共使用来说能获得的但不可调的例子。构件被提交给公共库的同时使得它们在被适当的用户证明后,对公共用途来说是可获得的。在效力上,工作区提供工作的独立性且建立在一个全局的、长期的为不可调对象的库和一个为可调对象且私有的短期的库之间的区别。
3.5.2 透明视图透明视图提供从主配置库到工作区的访问机制,该机制具有防止非法存取的功能。
软件管理系统通过使工作区成为一个透明(清晰)的对象和提供在那个工作区的库的透明检查来增强了工作区的术语。这就意味着仅仅用户感兴趣的文件版本能在工作区中看到,所有其他的版本都不可见(尽管它们在物理上是存在的)。例如,任何对最新公有版本的变化都不需在工作区里显示出来,用户从公有变化中分离出来,并且工作区提供给用户一个特定库的外表。相关工作区版本计数的版本控制提供在工作区中。新版本是私有的并且在从工作区中释放出来之前是不可能被公共用户所见的。一个配置从公有库中检测出来提供给工作区。用户访问分配给自己的工作区。工作区里的组件有效地属于那个工作区而非一个用户。仅仅在那个工作区已登记的用户才能改变配置,且仅有那个工作区的构件能被访问。总的来说透明检查通过防止对一个配置的非授权访问而提供了一个检查机制。
3.5.3 协调控制协调控制协调开发组成员对同一配置项的修改。
网络软件环境(NSE)[12]协调控制代表了一个工作协调单元。它反应了工程的结构并且支持工作的独立性、用户间的相互影响和合并变化。一个协调包含一个环境和一系列命令。环境提供了类似于工作区和透明检查的术语。它显示了用来存储资源和派生对象的目录结构。那些命令,例如“获得”、“退后”、“重新同步”和“解决”,在不同环境中提供相互活动。它们代表了用来协调和同步用户间活动的协议,也代表了实际变化的通信。用户独立地工作在他们自己的环境里,改变相同的或不同的配置。用户用配置的新版本来更新库。网络软件环境支持将变化合并到库里。但是它检查什么已存在于库里(可能被其他用户放置在那儿)而且不和正在进行的变化产生冲突。假如有冲突,网络软件环境提示用户注意合并问题,同时提供减少冲突的帮助。对于任何库的变化,用户能请求进入他们自己的工作区。总而言之,协调同步和协作团队们改变工程产品的相同或不同部份。
文章来源于领测软件测试网 https://www.ltesting.net/