不同的语言体系会导致不同的思考方向,延伸开来就会导致一些奇怪的概念仅仅出现在某个语言体系中,但是在另一个语言体系中却完全空白,翻译和理解起来很是困难。比如中文的“上火”,不管男女老少上过几年学,一说就懂。但是在英文体系里就完全没有这个概念。甚至无法解释。
但是在专业术语中,由于英语体系中的造词习惯以及一些思维体系的差别,术语翻译成中文也是很难做到精准的。
比方说这里提到的软件需求分析中和软件系统设计中,经常会碰到的安全性的概念。严格来说,他在英文体系中是两个不同的专业术语:Safety 和 Security。这俩都翻译为安全(性),但是在专业术语中的定义完全是不一样的维度。
1 什么是Safety安全性?
“Safety” 专注于预防和保护人们不受意外或非故意的伤害和风险。它的核心在于预防事故、伤害和错误的发生。例如,在工作场所,通过设置安全防护设备和制定严格的安全操作规程,我们可以防止工人在工作时受伤;在道路交通中,通过遵守安全规则,可以减少交通事故的发生。“Safety” 强调的是一个无危险、无风险、无害的状态,它主要关注的是物理层面的安全保护。
在软件系统设计中,“Safety” 着重于确保系统在遭受故障或意外事件时仍能保持稳定,防止对人员、环境或设备造成任何伤害或损害。这涉及到硬件和软件的可靠性设计,以及对潜在故障的有效管理和适当处理。
安全性(Safety)要求软件系统在正常运行和遇到异常情况时都能保持安全,确保不会对用户或环境造成伤害。这通常包括硬件和软件的可靠性设计,以及对故障情况的妥善处理。安全性与可靠性(Reliability)、可用性(Availability)和持久性(Durability)紧密相连,共同构成了软件系统设计的重要考量。
“Safety” 在软件设计中扮演着至关重要的角色 1,它不仅关乎技术层面的稳健性,更关乎人的生命安全和财产保护。例如:
- 汽车防抱死制动系统(ABS):软件的设计必须确保在紧急刹车情况下,车辆能够安全地停下,避免可能发生的事故。
- 医疗设备监控系统:软件需要精确地监控病患数据,防止任何数据错误导致医疗事故的发生。
- 电梯控制系统:软件必须保证电梯在运行中的稳定性,防止因故障导致的意外坠落或停止。
2 什么是Security安全性?
“Security” 更多地着眼于对有意且恶意的行为或威胁的防护,像盗窃、攻击、欺诈、入侵之类。
例如,在信息安全方面,要防止数据遭受未经授权的访问、篡改或者窃取;在国家安全领域,要抵御来自外部的军事威胁以及内部的颠覆活动;对于建筑物的安保系统而言,要阻拦未经授权的人员进入。
其重点在于保护资产、信息或者人员免受有针对性的威胁与侵犯。
Security安全性侧重于保障软件系统免受恶意攻击,保证数据的机密性、完整性以及可用性。这涉及阻止未经授权的访问、数据泄露以及系统篡改。
“Security安全性”侧重于使软件避免恶意攻击,确保信息和数据的安全。它关系到软件的防护能力,防范未授权访问。例如:
- 在线银行系统:务必防止黑客攻击,守护用户的财务信息。
- 社交媒体平台:需要保证用户数据不被泄露,防止隐私被侵犯。
- 企业资源规划(ERP)系统:企业依靠这类系统管理敏感数据,必须防止数据泄露。
3 区别与对比
举例来说: 在一个工厂中,安装防火设备和设置紧急出口是为了确保工作场所的 safety;而安装监控摄像头和门禁系统以防止盗窃和破坏行为则是为了保障 security。 对于个人的电脑,安装杀毒软件和设置强密码是为了实现信息 security;而在电脑重启按钮设计的很小以防止意外碰撞则是关于 safety。
总的来说,safety 更侧重于防止意外和无意的危险,而 security 侧重于防范有意的、恶意的威胁和攻击。 但在某些情况下,这两个概念可能会有重叠。
4 具体事例对比解释说明
为了更好地理解安全性设计中的 Safety 和 Security,让我们来看一些具体的案例:
系统 | Safety安全性 | Security安全 |
---|---|---|
自动驾驶汽车 | 确保车辆在各种天气条件和道路状况下都能安全行驶,例如,当遇到突发情况时,车辆能够自动刹车以避免碰撞 | 防止车辆受到黑客攻击,确保控制系统的完整性和可靠性 |
医疗设备 | 确保设备在故障时仍能维持安全状态,例如,当电池电量低时,设备能够发出警告并安全关闭 | 防止未经授权的访问,保护患者的健康数据 |
工业控制系统 | 确保工厂生产线在异常情况下能够安全停止,例如,当传感器检测到危险时,生产线能够自动关闭 | 防止恶意软件感染控制系统,保护生产数据 |
无人机系统 | 确保无人机在飞行过程中能够避开障碍物,避免碰撞 | 防止无人机被非法操控或窃取数据 |
智能家居系统 | 确保智能家电在电源波动时能够安全关闭,例如,当电压过高时,智能插座能够切断电源 | 防止家庭网络遭受攻击,保护家庭成员的隐私 |
银行交易系统 | 确保交易系统在服务器故障时能够安全恢复,例如,自动备份重要数据 | 保护客户的财务信息不受黑客攻击,例如,通过加密技术保护转账数据 |
在线购物平台 | 确保网站在遭受攻击时能够快速恢复服务,例如,通过负载均衡分散流量压力 | 保护用户个人信息不被泄露,例如,使用双因素认证确保账户安全 |
移动应用程序 | 确保应用程序在手机内存不足时能够安全退出,例如,优雅地释放资源并提示用户 | 防止应用程序被逆向工程,保护知识产权,例如,使用代码混淆技术增加破解难度 |
物联网设备 | 确保设备在电池耗尽时能够安全关闭,例如,当电量过低时,设备能够进入低功耗模式 | 防止设备被恶意控制,保护用户隐私,例如,使用加密连接确保设备与服务器之间通信的安全 |
云计算平台 | 确保数据中心在自然灾害时能够安全运行,例如,通过备份和灾难恢复计划保证数据安全 | 保护云存储的数据不被非法访问,例如,使用访问控制列表管理数据权限 |
通过以上这些事例,我们可以看到 Safety 和 Security 在软件设计中的重要性。安全性设计不仅关乎软件的功能实现,更是确保用户安全和数据保护的关键。在软件开发过程中,必须充分考虑这两方面的设计要求,以构建出既安全又可靠的软件系统。
5 如何在中文分析和设计文档中区分使用这两个安全性。
一般来说,系统设计中和一般思维概念中,safety用的比较多。也比较符合安全性的设定。 建议是将 safety 维持原来的 安全性 的翻译。
对于security,比较接近的翻译是 安保或安防(性)。 但是安保,安防本身这俩词也在其他语境中官方应用。 权衡之下,安防性似乎比较接近写。 个人建议在分析或设计文档中是用安防性来表达 security, 同时附加备注说明。