繁体
首页

第98章 附录A《软件工程道德规范》和《ACM道德规范》(1)(2 / 3)

本规范不仅可以用来辨别那些可能存在疑问的行为的性质,它还具有非常重要的教育功能。由于这份《规范》表达了这个行业对于职业道德的一致认识,因此可以作为一种工具,教育公众和那些有志向的专业人员,让他们了解软件工程师的道德责任。

原则

原则1:公众

软件工程师的行为应当以公众利益为目标。具体来讲,在适当的情况下,软件工程师应做到以下几点。

1.01 对自己的工作承担完全的责任;

1.02 以公共利益为目标,综合考虑软件工程师自身、雇主、客户和用户的利益;

1.03 批准一个软件时,应当有足够理由确信该软件是安全的、符合规格说明、经过适当的测试、不降低生活品质、不侵犯隐私,也不会对环境造成伤害。该产品的终极效果应该对公众有好处;

1.04 当他们有理由相信有关的软件和文档可能对用户、公众或环境造成任何实际或潜在的危害时,应当把该信息告知适当的人或当局;

1.05 努力合作来解决由软件及其安装、维护、支持和文档所引起的公众严重关切的各种事项;

1.06 在所有关系到软件或者相关文档、方法和工具的声明,尤其是在那些公开声明中,要做到公正,避免欺诈;

1.07 认真考虑由于身体残疾、资源分配、经济劣势和其他可能影响使用软件的益处的各种因素;

1.08 应致力于将自己的专业技能用于公益事业,并对本学科有关的公共教育做出应有贡献。

原则2:客户与雇主

在保持与公众利益一致的原则下,软件工程师的行为方式应当满足客户和雇主的最高利益。具体来讲,在适当的情况下,软件工程师应做到以下几点。

2.01 在其胜任的领域内提供服务,对其经验和教育方面的不足应持诚实和坦率的态度。

2.02 不故意使用通过非法或非合理渠道获得的软件;

2.03 只在客户或雇主知晓和同意的情况下,只在获得授权许可的范围内使用客户或雇主的资产;

2.04 确保所依赖的每一个文档都是经过批准的,而且如果必要的话,应当是由授权人士进行批准的;

2.05 对在工作中遇到的任何机密信息要注意保密,而且这种保密要与公众利益和法律保持一致;

2.06 根据其判断,如果一个项目有可能失败,或者费用过高,违反知识产权法规,或者存在其他问题,应立即进行确认、记录在案、收集证据,并报告客户或雇主;

2.07 如果意识到在软件或相关文档中涉及某些重大的社会关注问题时,要及时进行确认、记录在案,并报告给雇主或客户;

2.08 所接受的外部工作,不能对他们在为主要雇主执行的工作产生不利影响;

2.09 不做损害雇主或客户利益的事情,除非其行为破坏了更高层的道德规范;而在这种情况下,应向雇主或合适的权力机构反映该道德问题。

原则3:产品

软件工程师应当确保他们的产品和相关的改进符合最高的专业标准。具体来讲,在适当的情况下,软件工程师应做到以下几点。

3.01 努力保证高质量、可接受的成本和合理的进度,确保你做出的所有影响较大的权衡对于雇主和客户都是清楚和认可的,并且把它们提供给用户和公众来考虑;

3.02 确保所从事或建议的项目有适当和可达到的目标;

3.03 识别、定义和解决工作项目中有关的道德、经济、文化、法律和环境问题;

3.04 确保自身拥有合适的教育、训练和经验背景,从而能够胜任正在从事或建议开展的工作项目;

3.05 确保在从事或建议的项目中都使用了合适的方法;

3.06 在工作中,遵循最适合手头工作的可用的专业标准,除非有道德或者技术上的正当理由支持你不这么做;

3.07 努力做到充分理解所工作的软件的规格说明;

3.08 确保所工作的软件的规格说明拥有良好的文档、满足用户需要,并且经过了适当的批准;

3.09 确保对其从事或建议的项目做出现实和定量的估算,包括成本、进度、人员、质量和成果,并对估算的不确定性做出评估;

3.10 确保对其从事的软件和相关文档有足够的测试、调试和复审;

3.11 确保对其从事的任何项目,都有足够的文档,包括所有他们发现的问题和采取的解决方案;

3.12 在工作中,开发的软件和相关的文档应尊重那些受软件影响的人的隐私;