软件工程道德规范和专业实践 Software Engineering Code of Ethics and Professional Practice

原文:Software Engineering Code of Ethics and Professional Practice (Version 5.2),
官方中文

FIT51365看起来很喜欢这个,实际考试里即便是已经出了同一Week里IP(知识版权/专利)的考题也还是要再出一题考这个。

前言

计算机在商业,工业,政府,医学,教育,娱乐和整个社会中都发挥着中心作用,并且在不断增长。软件工程师是指通过直接参与或通过教学对软件系统的分析,规范,设计,开发,认证,维护和测试做出贡献的人员。由于软件工程师在开发软件系统中的作用,他们有很多机会去做善事或造成伤害,使他人能够做善事或造成伤害,或者影响他人做善事或造成伤害。为了尽可能地确保他们的努力会得到良好利用,软件工程师必须致力于使软件工程成为一个有益而受人尊敬的职业。根据该承诺,软件工程师应遵守以下《道德与专业准则》。

该规范包含与专业软件工程师的行为和决策有关的八项原则,包括从业人员,教育者,管理人员,主管和政策制定者以及该行业的学员和学生。本原则确定了个人,团体和组织参与的具有道德责任感的关系,以及这些关系中的主要义务。每个原则的条款都是这些关系中包含的某些义务的说明。这些义务建立在软件工程师的人性基础上,对受到软件工程师的工作影响的人们以及软件工程实践的独特要素应给予特别的照顾。 《准则》将这些规定为任何自称或希望成为软件工程师的人的义务。

并非有意将本规范的各个部分孤立使用,仅为疏忽或委托的错误辩护。原则和条款清单并不详尽。在所有实际情况下,本条款均不应理解为将专业行为中的可接受与不可接受分隔开来。 《准则》不是产生道德决策的简单道德算法。在某些情况下,标准之间可能会相互冲突,也可能与其他来源的标准存在冲突。这些情况要求软件工程师在特定情况下使用道德判断以最符合《道德与专业准则》精神的方式行事。

最好通过对基本原则的认真考虑来解决伦理紧张局势,而不是盲目地依赖详细的法规。这些原则应影响软件工程师,以广泛考虑谁受其工作影响;检查他们和他们的同事是否在适当尊重他人的情况下对待他们;考虑在合理了解情况的情况下,公众如何看待他们的决定;分析最无权的人将如何受到他们的决定的影响;并考虑是否认为他们的行为值得担任软件工程师的理想专业人员。在所有这些判断中,对公众健康,安全和福利的关注是首要的;也就是说,“公共利益”是本《准则》的核心。

动态而苛刻的软件工程环境需要一个适应新情况并与新情况相关的准则。但是,即使在这种普遍性下,本《准则》也为需要在特定情况下采取积极行动的软件工程师和软件工程师的经理提供了文件化的职业道德证明,从而为他们提供了支持。该准则为团队中的个人以及整个团队可以上诉的道德基础提供了基础。该准则有助于定义那些在道德上不符合软件工程师或软件工程师团队要求的操作。

《准则》不仅仅是为了裁定可疑行为的性质;它还具有重要的教育功能。由于本规范表达了专业人士在道德问题上的共识,因此它是一种教育公众和有抱负的专业人员有关所有软件工程师的道德义务的方法。

原则

原则1:Public 公共

软件工程师应采取符合公共利益的一致行动。特别是,软件工程师应酌情:

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 致力于开发软件和相关文档,以尊重那些将受到该软件影响的人的隐私。

3.13 注意仅使用通过道德和合法手段获得的准确数据,并仅以经过适当授权的方式使用。

3.14 保持数据的完整性,对过时或有缺陷的事件敏感。

3.15 以与新开发相同的专业态度对待所有形式的软件维护

原则4:审判

软件工程师应保持专业判断的完整性和独立性。特别是,软件工程师应酌情:

4.01。通过支持和维护人类价值观来调整所有技术判断。

4.02 仅批准在其监督下或在其权限范围内并与他们达成协议的文件。

4.03。对于要求他们评估的任何软件或相关文档,保持专业的客观性。

4.04。请勿进行欺诈性的财务行为,例如贿赂,重复开票或其他不当的财务行为。

4.05。向所有有关各方披露无法合理避免或避免的利益冲突。

4.06。拒绝以成员或顾问的身份参加与软件相关问题有关的私人,政府或专业机构,在这些机构中,他们,其雇主或客户存在未公开的潜在利益冲突。

原则5:管理

软件工程经理领导者应当赞成和倡导以道德方式进行软件开发和维护管理。特别是那些管理领导,应酌情:

5.01 确保对其所从事的任何项目进行良好的管理,包括提高质量和降低风险的有效程序。

5.02 在遵循标准之前,请确保将标准告知软件工程师。

5.03 确保软件工程师了解雇主的保护密码,文件和信息的政策和程序,这些密码,文件和信息对雇主是机密的或对他人是机密的。

5.04 只有在考虑了对教育和经验的适当贡献后,才进行工作分配,并希望进一步发展该教育和经验。

5.05 确保对他们从事或提议从事的任何项目的成本,进度,人员,质量和成果进行现实的定量估计,并对这些估计提供不确定性评估。

5.06。仅通过完整准确地描述雇用条件来吸引潜在的软件工程师。

5.07。提供公平公正的报酬。

5.08。不公正地阻止某人担任该人具有适当资格的职位。

5.09。确保就软件工程师所贡献的任何软件,过程,研究,写作或其他知识产权的所有权达成公平协议。

5.10。在违反雇主政策或本守则的指控中规定正当程序。

5.11。不要要求软件工程师做任何与本规范不一致的事情。

5.12。不要因为表达对项目的道德顾虑而惩罚任何人。

原则6:专业

软件工程师应提高与公共利益一致的专业的正直和声誉。特别是,软件工程师应酌情:

6.01。帮助建立有利于道德行为的组织环境。

6.02。促进公众对软件工程的了解。

6.03。通过适当参加专业组织,会议和出版物来扩展软件工程知识。

6.04。作为专业人士,应支持其他努力遵循本准则的软件工程师。

6.05。不以职业,客户或雇主为代价来提升自身利益。

6.06。遵守所有规范其工作的法律,除非在特殊情况下,这种遵守不符合公共利益。

6.07。准确说明其运行的软件的特征,不仅避免虚假声明,而且避免合理地被认为是投机性,虚假性,欺骗性,误导性或可疑性的声明。

6.08。负责检测,纠正和报告其工作所在的软件及相关文档中的错误。

6.09。确保客户,雇主和主管知道软件工程师对本《道德准则》的承诺以及此承诺的后续后果。

6.10。避免与与此准则冲突的企业和组织建立关联。

6.11。认识到违反本准则与成为专业软件工程师是不一致的。

6.12。当发现重大违反本《准则》的行为时,请引起有关人员的关注,除非这是不可能的,适得其反的或危险的。

6.13。如果很明显,与这些重大违反行为的人进行磋商是不可能,适得其反或危险的,请向有关当局报告重大违反本准则的行为。

原则7:同事

软件工程师应公平对待并支持其同事。特别是,软件工程师应酌情:

7.01。鼓励同事遵守本准则。

7.02。协助同事进行专业发展。

7.03。充分信任他人的工作,不要过度信任他人。

7.04。以客观,坦率且有据可查的方式审查他人的工作。

7.05。公正地听取同事的意见,疑虑或投诉。

7.06。协助同事充分了解当前的标准工作惯例,包括用于保护密码,文件和其他机密信息的策略和过程,以及一般的安全措施。

7.07。没有不公平地干预任何同事的职业;但是,出于雇主,客户或公共利益的考虑,可能迫使软件工程师真诚地质疑同事的能力。

7.08。在超出自己能力范围的情况下,请征询在该领域具有能力的其他专业人员的意见。

原则8:自我

软件工程师应参加有关其专业实践的终身学习,并应提倡以道德的方式进行专业实践。特别是,软件工程师应继续努力:

8.01。进一步了解软件,相关文档的分析,规范,设计,开发,维护和测试以及开发过程管理方面的开发知识。

8.02。提高以合理的成本在合理的时间内创建安全,可靠和有用的高质量软件的能力。

8.03。提高制作准确,信息丰富且编写得很好的文档的能力。

8.04。增进对他们工作所在的软件和相关文档以及使用它们的环境的了解。

8.05。提高对相关标准的知识,以及管理他们工作所在的软件和相关文档的法律。

8.06 提高对该守则,其解释及其在工作中的应用的了解。

8.07 不要因为任何不相关的偏见而对任何人给予不公平的待遇。

8.08。不影响他人采取任何涉及违反本准则的行为。

8.09。认识到个人违反本《准则》与成为专业软件工程师是不一致的。