基线管理 《转》

1 .什么是基线?

基线是软件文档或源码的一个稳定版本,是进一步开发的基础。(是一个里程碑版本的快照)

一组已经被正式评审并一致通过其作为以后开发的基础的文档或工作产品。

这些文档或工作产品只容许通过变更流程来改变。

2 .什么是基线项和配置项? (baseline item & configration item)

    纳入配置库进行版本管理的都是配置项。

   基线项是具有里程碑性质的配置项。

  项目的所有产出物 包含( 配置项 包含 (基线项))

3 .如何设置基线计划?

基线计划的设定是根据基线的种类和控制力度不同而有所不同。

基线的种类:

     作为里程碑和和其他工作的基础

     在某一过程中要保留的状态

控制力度:

对于基线项的变更要实施基线变更流程(分析, Review ,控制实施)

综上所述我个人认为可以这样设置基线计划

     一定要选取里程碑的版本(较大的阶段,比如计划完了,设计完了,连接测试完了,综合测试完了)

     基线计划不仅在于计划基线的设置时间,而更多的关注点在于对基线项的控制(谁来控制,什么样的流程,什么样的文档)控制力度大,那么基线计划设置的就要细,控制力度小,基线就设置的粗。

一般而言我认为以下内容完了之后必须设置基线,并对基线的变更进行控制。

   计划阶段 ( 基线内容: schedule, 見積もり、レビュー計画&hellip&hellip ..)

   单体测试完了(基线内容:设计书)

连接测试完了阶段(设计书, Code ,单体测试产生物,连接测试产生物)

综合测试完了(设计书, Code ,单体测试产生物,连接测试产生物,综合测试产生物)

纳品完了(项目内的所有开发产物,计划产物)

以上内容只是一般而言,根据项目的情况进行调整:

例如移行在单体结束后可能还不能对设计书打基线

4 .如何变更基线(实施基线变更流程)?

  针对被谨慎选择的基线项的变更,一般而言通过以下流程。

  变更请求提出 --- CCB 审核请求 --- 〉识别关联内容 ---- CCB 确认关联内容 ---- 〉实施变更 --- CCB 确认变更的实施情况 --- 〉文档化

5 CCB

   CCB (控制变更委员会)的主要作用是在配置变更的过程中审核,确认,监督,检查配置变更过程。还包括配置列表,权限设置,基线计划,基线发布等活动的检查确认工作。

 

 

问题:

1 .刘斐提出

一个 PG 担当的工作延迟了两天,那么项目进度就发生了一定的变化。这是不是基线变更。

答:我的理解:不是。项目 schedule 中的实际进度经常出现提前一两天或延迟一两天的情况,在这种情况下不影响项目的整体 schedule ,所以也不需要对计划进行调整。

识别 schedule 这样的基线项是否需要走基线变更流程的关键在看 schedule 的计划时间有没有变化。

    2 .杜荣进提出

连接测试中对 BUG 的修改,是否算对基线项的变更。是否要走基线变更流程。

答:此时需要根据控制的力度来看,需要进行严格控制的基线项,是要进行基线变更的。举例:根据上述第三个问题我的建议的基线设置方法,在连接测试中发现的式样书 bug 需要走基线变更流程。

3 .自问自答

基线是为了取版本方便吗?

答:我不否认基线有如此功能,但是我的理解,基线的最大作用在于对变更的控制。

<think> 嗯,用户这次聚焦在Windchill基线的技术细节上,看来是个PLM系统管理员或实施顾问。之前我已经系统梳理过PLM四大核心思想,其中基线管理属于"全生命周期数据贯通"支柱下的关键技术。用户引用的三篇材料很有价值:引用[1]涉及Windchill域权限体系,引用[2]是SQL查询技巧,引用[3]则是基线创建的API示例——这些正好构成基线管理的完整技术栈。 需要重点解析三个维度:首先是概念层,基线作为冻结配置的本质需要结合产品生命周期阶段说明。比如设计阶段的基线用于冻结评审通过的设计方案,制造阶段基线则关联EBOM-PBOM换。其次是技术实现,用户提供的SQL语句[^2]和Java代码[^3]展示了数据层和API层的操作逻辑,这里可以补充Windchill独特的版本树管理机制。最后是业务价值,要关联变更管理流程说明基线如何确保变更可追溯性。 注意到用户特别关注"最新的固定状态"物料查询[^2],这提示实际业务中常遇到的痛点:如何快速识别有效版本。Windchill基线通过versionsortida2versioninfo这类字段实现版本排序,结合latestiterationinfo标识最新迭代——这正是单一数据源思想的落地体现[^1]。 安全问题不能遗漏。基线创建时setContainer方法涉及域权限控制[^1][^3],需强调组织域(OrganizationDomain)对基线的访问隔离机制。突然想到个技术细节:用户引用的API示例里用getFolderingInfo()继承文件夹权限,但实际项目中常遇到基线跨文件夹的场景,这点要在注意事项里提醒。 最后生成的问题要侧重实操:如何配置基线规则?变更时如何重新基线化?特别是用户提到的固定状态查询[^2]与基线的关系需要专门展开——这正是实施中最易出错的点。 </think> 以下是Windchill基线的系统化解析,结合核心功能、底层机制与实践要点: --- ### 一、**基线本质与核心价值** 1. **配置冻结** - 基线是**特定时间点的产品配置快照**,冻结包括CAD模型、BOM、文档等关联对象的版本组合 - 解决变更导致的版本漂移问题,确保设计状态可追溯[^3] $$ \text{基线}(B) = \{ \text{部件}_i(v_j), \text{文档}_k(v_m), ... \} \quad \text{其中} \ v_j,v_m \in \text{固定版本} $$ 2. **关键应用场景** | 场景 | 作用 | 技术实现要点 | |---------------------|--------------------------|----------------------------| | 设计评审 | 锁定评审版本 | 基线关联CAD与需求文档[^3] | | 制造发布 | 同步EBOM/MBOM版本 | 基线绑定BOM换规则 | | 合规审计 | 还原历史配置 | 基线元数据记录时间戳[^2] | --- ### 二、**技术实现机制** 1. **对象关系模型** ```mermaid graph LR 基线(ManagedBaseline) --> 包含--> 部件(WTPart) 基线 --> 包含--> 文档(EPMDocument) 部件 --> 版本控制--> WTPartMaster[主数据] ``` - 基线通过`WTHashSet`动态关联对象(如`addElement(epmDocument)`)[^3] - **版本冻结原理**:基线存储对象的迭代ID(`iterationida2iterationinfo`),非版本号[^2] 2. **底层数据存储** - 基线元数据表:`WTMANAGEDBASELINE`(存储名称/描述/容器) - 对象关联表:`WTHASHSETENTRY`(通过`ida3bcontaininghashset`关联基线ID) ```sql /* 查询基线包含的部件最新发布版本 */ SELECT wtpartnumber, versionida2versioninfo FROM wtpart WHERE ida2a2 IN ( SELECT ida3boccurrence FROM wthashsetentry WHERE ida3bcontaininghashset = '基线ID' ) AND statestate = 'RELEASED' AND latestiterationinfo=1[^2] ``` --- ### 三、**关键操作与权限控制** 1. **基线创建流程** ```java // 创建基线实例 ManagedBaseline baseline = ManagedBaseline.newManagedBaseline(); baseline.setName("Design_Review_2024Q3"); // 唯一标识 baseline.setContainer(Workspace.getPDMLinkContainer()); // 绑定组织域[^1] baseline.setTopObject(primaryPart); // 设置基准对象 PersistenceHelper.manager.save(baseline); // 持久化[^3] ``` - **权限要求**:用户需在组织域(`Organization Domain`)拥有`Modify`权限[^1] 2. **基线更新规则** - **增量更新**:新增对象需手动加入现有基线 - **全量替换**:创建新基线替代旧版本(保留历史基线审计记录) --- ### 四、**实践注意事项** 1. **域权限隔离** - 基线默认继承创建者所在组织域(`Organization Domain`)的访问规则[^1] - 跨域访问需显式授权(如`User Domain`用户访问`Organization Domain`基线) 2. **生命周期协同** - 基线状态(如`IN_WORK`/`RELEASED`)应与关联对象状态同步变更 - 基线发布后自动生成`BaselineReport`(含对象版本清单) --- > **核心总结**:Windchill基线通过**版本固化机制**解决配置一致性问题,其技术实现依赖: > 1. 对象关联的`WTHashSet`模型 > 2. 域权限继承体系[^1] > 3. 基于迭代ID的版本锁定[^2][^3] --- ### 相关问题 1. 如何通过SQL查询基线内所有对象的版本历史? 2. 跨组织域共享基线需要配置哪些权限策略? 3. 基线发布后如何防止误修改?有哪些技术锁机制? 4. 在变更管理流程中,基线如何与工程变更请求(ECR)联动? 5. 大规模基线(>10k对象)的性能优化方案有哪些?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值