S1000D DMC 是什么?数据模块代码字段与编码规则
DMC 不是一串可以随意拼接的编号,而是把型号、系统、组件、信息类型和项目差异组织成可管理的身份信息。不同 Issue、项目规则和业务场景可能启用不同字段,实际编码必须以已批准的 DMC 规则为准。
DMC 在项目中负责什么?
DMC 为数据模块提供结构化身份。它帮助 CSDB 区分模块、支持引用和版本管理,也让项目团队能按系统、组件、信息类型和差异范围组织 DMRL 与出版物。DMC 解决的是“这个模块是谁”,标题解决的是“读者如何理解它”,两者需要保持一致。
注意:DMC 是标识体系,不等于文件路径,也不等于业务人员看到的完整标题。项目可以根据 CSDB、交付包和遗留系统制定文件名映射,但不应破坏已批准的 DMC 语义。
常见 DMC 字段有哪些?
| 字段或元素 | 通常表达的内容 | 项目核对重点 |
|---|---|---|
dmCode | DMC 的整体容器。 | 字段顺序、属性名称和必填性由 Schema 决定。 |
modelIdentCode | 型号或产品识别范围。 | 与项目型号清单、构型和供应商编码一致。 |
systemDiffCode | 系统差异或项目定义的差异范围。 | 不要把临时版本号当成系统差异码。 |
systemCode、subSystemCode、subSubSystemCode | 系统、子系统和更细层级的分类。 | 应与 SNS 和项目分解结构建立映射。 |
assyCode、disassyCode、disassyCodeVariant | 组件、拆装组件及其变体。 | 明确装配层级和变体的维护责任。 |
infoCode、infoCodeVariant、itemLocationCode | 信息类型、信息变体和项目定义的位置属性。 | 编码含义要写入业务规则并可被校验。 |
上表列出常见字段,不代表所有项目都启用全部字段。不要根据其他 Issue 或其他组织的 DMC 样例直接复制编码。
如何制定可维护的 DMC 规则?
- 先确定产品型号、系统分解、信息类型和差异管理范围,再确定字段。
- 为每个编码字段建立代码表、责任人、申请流程和变更记录。
- 把编码规则、禁止组合和特殊例外写入项目业务规则,并在编辑或导入时校验。
- 用典型的描述、程序、零件和故障隔离模块做试编,检查重复、歧义和复用效果。
- 明确 DMC 与文件名、目录、PM、DMRL 和遗留资料编号的映射。
DMC 常见错误
- 同一模块在不同表格、文件名和正文引用中使用了不同编码。
- 把设备序列号、软件版本或发布日期直接塞进 DMC,导致模块无法稳定复用。
- 系统码和组件码没有与 SNS 对齐,后续 DMRL 和适用性筛选难以维护。
- 只检查编码格式,不检查模块标题、内容类型和实际任务是否匹配。
- 变更编码却没有保留版本、状态和审批轨迹,无法解释旧版引用。
常见问题
DMC 与数据模块是什么关系?
DMC 是数据模块的结构化身份信息,数据模块还包含标题、状态、适用性和实际技术内容。
DMC 可以自行设计吗?
项目可以在正式规则允许的范围内制定代码表和映射,但必须遵循采用的 Issue、Schema、Data Dictionary、业务规则和合同要求。