迈向软件配置管理(SCM)与产品数据管理(PDM)的集成?
立即解锁
发布时间: 2025-08-22 00:19:08 阅读量: 2 订阅数: 9 

# 迈向软件配置管理(SCM)与产品数据管理(PDM)的集成?
## 1. 引言
工程的目标是提供以合理的成本、质量和时间来构建产品的实用方法。本文聚焦于计算机辅助产品工程,比较软件工程与其他多数工程领域的现状与实践。
长期以来,不同工程学科(如土木、机械、电气)一直致力于控制物理产品(如建筑、飞机、汽车)的设计与实现方式。复杂产品由众多部件组装而成,部件的细节体现了相关工程的内部特性。然而,大量组件及其演变引发了产品管理问题,专注于设计数据的学科便是产品数据管理(PDM)。早在计算机出现之前,就已出现了诸如版本和组装等概念来解决这些问题。
自 20 世纪 70 年代起,计算机在设计(CAD)和制造(CAM)两个方向提供辅助。同时,软件工程及相关产品应运而生。多数工程领域构建了完整的计算机辅助工程环境(CAEE),可分为两类工具:一类是特定领域工具,用于定义产品的各个部分;另一类是与产品管理相关的工具,涉及产品的存储、组装和演变。本文着重探讨第二类工具,即软件工程环境中的软件配置管理工具(SCM 工具)和产品工程环境中的产品数据管理工具(PDM 工具)。
在抽象层面上,SCM 和 PDM 看似相同。本文旨在深入分析这两类工具,找出它们的实际差异,研究各领域的专业知识、惯例和标准,以及这些标准和惯例的任意性程度,探讨一个领域的专业知识能否应用于其他领域,最终探讨构建通用计算机辅助工程环境(CAEE)的合理性。
本文选取了 PDM 领域的领先工具 Metaphase,以及 SCM 领域的 ClearCase 和 Adele 进行比较。SCM 和 PDM 都认可将服务分为四大类:
- 产品模型(组件及其关系的模型)
- 版本化产品模型(版本控制、组合、选择)
- 与特定领域工具的关系(工作空间、并行工程)
- 过程模型(变更控制、活动控制、组织控制)
## 2. 标准
### 2.1 PDM:STEP 标准
STEP(产品模型数据交换标准)是 ISO 标准(ISO DIS 10303),源于两大工业需求:一是大型产品涉及众多分包商,需要交换需求和设计;二是存在大量标准组件库。其目标是通过交换标准化数据产品模型,促进不同 CAD 环境之间的互操作性。
该标准十分全面,包含用于产品建模的 EXPRESS 语言(第 11 部分)。EXPRESS 定义了通用数据产品模型(GDPM)和集成资源(IR),如产品描述与支持、产品结构配置等与 SCM 相关的资源,多数其他资源则是特定领域的。
在此基础上,定义了应用协议(AP),描述特定应用领域。我们主要关注 AP203,即机械零件和组件的配置控制 3D 设计,它是首个达到国际标准水平并被专业人士广泛遵循的 AP。AP203 雄心勃勃,在多个方向定义了标准,包括产品模型、配置管理、一些过程支持,并通过上下文概念整合了不同工程学科。任何辅助专业人士的工具都需以某种方式支持 STEP 标准。
### 2.2 SCM:是否存在标准?
与 STEP 相比,软件行业尚未强大到足以推行全行业标准。虚拟企业并非主要关注点,行业范围的标准软件组件库仍是梦想。仅粗粒度组件(如数据库、窗口管理器)被广泛复用,替换组件常面临问题。
软件是一个年轻且不成熟的工程领域,目前尚未实现类似 STEP 的标准。这使得软件工程领域充满活力、适应性强,但也意味着每个 SCM 工具可自由提出自己的概念和机制,缺乏明确的优劣比较。未来可能会出现标准,但需确保与 PDM 标准兼容。
## 3. 产品建模
### 3.1 数据模型
数据模型是描述产品模型的形式化方法,如关系数据模型或面向对象数据模型。它决定了产品模型的构建概念,对产品建模方式和描述某些组装类型的可能性有重大影响。
#### PDM 数据模型
在 PDM 中,EXPRESS 是 STEP 数据模型,是一种面向对象的建模语言,用于静态定义满足复杂约束的结构化工件。对象类定义了一组属性和约束,属性值可以是对其他对象的引用。EXPRESS 提供了丰富的类型系统,支持多种类型构造器,允许定义聚合的排序、基数和唯一性,还可声明属性为可选。
例如:
```plaintext
SCHEMA person_organization_schema ; ........
ENTITY person ;
id
: identifier ;
last_name
: OPTIONAL label ;
first_name
: OPTIONAL LIST [1, ?] OF label ;
UNIQUE
UR1 : id ;
WHERE
WR1: EXISTS (last_name) OR EXISTS (first_name) ;
END_ENTITY ;
```
EXPRESS 旨在描述数据结构和相关不变量,不涉及动态方面,不提供方法。虽然 EXPRESS 语言在 STEP 标准中使用,但每个 PDM 工具都有自己的建模语言。例如,Metaphase 基于 Oracle 构建,关系可以有属性,但值非常简单,早期版本不处理文件。
总体而言,PDM 数据模型通常足以描述多种数据结构,但重点在于定义复杂对象的静态属性,而非行为或技术问题。
#### SCM 数据模型
传统 SCM 系统通常没有明确的数据模型,或数据模型非常薄弱。大多数系统基于文件和目录等硬编码概念,难以管理复杂对象,通常仅支持文件系统的属性。
现代 SCM 系统仍然存在不足。ClearCase 仅识别文件和目录,没有类型系统,所有文件属性相同,没有真正的关系和复杂对象概念。商业系统中,只有 Continuus 具有面向对象模型,但缺乏关系且语言基础薄弱。
Adele 是一个非标准的 SCM 系统,其数据模型是 Java 语法和执行模型与 EXPRESS 数据模型的结合。它兼具丰富的数据模型和优雅流行的编程语言,还包括触发器和关系等高级特性,自然支持高效的文件处理。
综上所述,除少数例外,SCM 更注重文件处理,而非对象建模。
### 3.2 产品模型
产品模型是根据数据模型表达的数据方案。SCM 产品模型通常包含程序、模块、接口等类的定义,而 PDM 模型定义了几何对象、组件或零件等类。
#### PDM 产品模型
“产品数据”涵盖了形状、功能、生产成本等多种信息,核心围绕产品结构。无论产品如何,基本概念是零件和组件,组合关系至关重要。例如,自行车是由两个轮子、一个车架等组成的组件。
PDM 模型的核心是组合关系。Metaphase 在其数据模型中包含了这一概念,但 EXPRESS 语言中,关系是一种模拟,通过包含“related_object”和“relating_object”两个属性的对象来表示,这使得高级概念和约束难以表达,并引入了性能问题。
PDM 产品模型的一个特点是,根据抽象级别,可以区分同一模型的不同实例。例如,自行车的两个轮子是同一模型的不同实例,这对于计算生产成本、重量和绘制物理表示非常重要。
PDM 工具提供了多种表示方式,从零件列表(树结构,每个节点对应组件的物理实例)到物料清单(
0
0
复制全文
相关推荐









