4、术语与缩写表:建立统一的术语表,避免沟通歧义
做嵌入式开发这么多年,我踩过最大的坑,往往不是技术本身,而是沟通。
有一次,客户说“这个信号要拉高”。我理解的是GPIO输出高电平,结果他指的是内部上拉电阻使能。就这一个词,折腾了两天。你说冤不冤?
所以,术语表不是文档的装饰品,它是团队的“共同语言”。今天我就跟你聊聊,怎么建好这个表。
4.1 为什么术语表这么重要?
说白了,汽车ECU开发涉及的角色太多了。硬件工程师、软件工程师、测试工程师、系统工程师、项目经理……每个人对同一个词的理解可能都不一样。
举个例子,“复位”这个词:
- 硬件工程师:电源掉电再上电
- 软件工程师:看门狗超时触发的中断
- 测试工程师:手动按复位按钮
你看,同一个词,三种理解。项目不出问题才怪。
我个人习惯,在项目启动的第一周,就把术语表定下来。哪怕后面再补充,也比没有强。
4.2 术语表应该包含哪些内容?
一个合格的术语表,至少要有四列:
| 列名 | 说明 | 示例 |
|---|---|---|
| 术语 | 英文缩写或全称 | ECU |
| 全称 | 英文全称,必要时加中文 | Electronic Control Unit |
| 定义 | 一句话说清楚是什么 | 电子控制单元,负责执行控制逻辑的嵌入式系统 |
| 备注 | 使用场景、注意事项 | 在本文档中特指动力域ECU |
嗯,这里要注意:定义一定要“一句话说清楚”。别写长篇大论,没人看。
4.3 常见术语举例
我整理了一份汽车ECU开发中最常见的术语表,你可以直接拿来用:
| 术语 | 全称 | 定义 |
|---|---|---|
| ECU | Electronic Control Unit | 电子控制单元,汽车上的嵌入式计算机 |
| MCU | Microcontroller Unit | 微控制器,ECU的核心处理器 |
| CAN | Controller Area Network | 控制器局域网,汽车常用总线协议 |
| LIN | Local Interconnect Network | 本地互联网络,低成本低速总线 |
| OSEK | Offene Systeme und deren Schnittstellen für die Elektronik in Kraftfahrzeugen | 汽车电子开放式系统接口标准 |
| AUTOSAR | AUTomotive Open System ARchitecture | 汽车开放系统架构,全球标准化软件平台 |
| SWC | Software Component | 软件组件,AUTOSAR中的基本功能单元 |
| RTE | Runtime Environment | 运行时环境,连接SWC与BSW的中间层 |
| BSW | Basic Software | 基础软件层,提供底层服务 |
| NVM | Non-Volatile Memory | 非易失性存储器,掉电不丢失数据 |
我的小技巧: 把这份表放在文档的第二章,或者附录里。每次开会前,先花30秒扫一眼。你会发现,争论少了很多。
4.4 如何维护术语表?
术语表不是写一次就完事了。项目进行中,新术语会不断冒出来。
我曾经遇到过一个项目,中期评审时发现“DTC”这个词,硬件组和软件组的理解完全相反。硬件组认为是“诊断故障码”,软件组以为是“数据传输控制”。
从那以后,我定了个规矩:
- 每周更新一次:周五下午,花10分钟过一遍新增术语
- 谁提出谁负责:发现新术语的人,负责填写定义
- 必须评审:定义写好后,至少让另一个角色的人看一眼
- 版本控制:每次更新都要记录版本号和修改人
注意: 千万别让一个人闭门造车写术语表。我见过最离谱的,是项目经理自己写了50个术语,结果团队里没人看得懂。术语表是大家的,不是某个人的。
4.5 避坑指南
做术语表这么多年,我总结了几条血泪教训:
- 别用太长的定义:超过30个字,基本没人会读完
- 别用术语解释术语:比如“SWC是AUTOSAR中的组件”,那AUTOSAR又是什么?
- 别忽略中文:虽然代码里全是英文,但团队沟通时,中文更高效
- 别放在文档最后:放在前面,大家才会看
你想想看,如果连“ECU”和“MCU”都分不清,后面的架构设计还怎么聊?
4.6 一个实用的模板
最后,我给你一个可以直接用的模板。我在好几个项目里都用过,效果不错:
# 术语与缩写表
| 术语 | 全称 | 定义 | 备注 |
|------|------|------|------|
| ECU | Electronic Control Unit | 电子控制单元 | 本文档特指动力域ECU |
| MCU | Microcontroller Unit | 微控制器 | 采用Infineon TC3xx系列 |
| CAN | Controller Area Network | 控制器局域网 | 速率500kbps |
| ... | ... | ... | ... |
更新记录:
- v1.0 2024-01-10 初始版本
- v1.1 2024-01-17 新增DTC、NVM
嗯,就这些。记住一句话:术语表越简单,团队沟通越顺畅。
下一章,我会聊聊架构设计文档的“分层原则”。到时候见。