繁体
首页

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

A.1 《软件工程职业道德规范和实践要求》

下面列出的《软件工程职业道德规范和实践要求(第5.2版)》是由ACM和IEEE计算机协会(IEEE Computer Society,简称IEEE-CS)软件工程职业道德规范和实践要求联合工作组推荐,由ACM和IEEE-CS批准定为讲授和实践软件工程的标准。

《软件工程职业道德规范和实践要求》(简明版)

序言

本规范的简明版以更高层次的摘要形式归纳了规范的主要意图,完整版所包括的条款则给出了范例和细节,说明这些意图会如何改变软件工程专业人员的行为。如果没有这些意图,细节就会变得过于法律化和繁琐;而如果没有细节补充,这些意图又会显得高调而空洞。因此,意图和细节一起构成了本规范的整体。

软件工程师应履行其实践承诺,使软件的需求分析、规格说明、设计、开发、测试和维护成为一项有益和受人尊敬的职业。为实现他们对公众健康、安全和福祉的承诺目标,软件工程师应当坚持以下八项原则:

1.公众:软件工程师的行为应当以公众利益为目标;

2. 客户和雇主:在保持与公众利益一致的原则下,软件工程师的行为方式应当满足客户和雇主的最高利益;

3. 产品:软件工程师应当确保他们的产品和相关的改进符合最高的专业标准;

4.判断:软件工程师应当维护他们职业判断的完整性和独立性;

5. 管理:软件工程的经理和领导人员应赞成和促进对软件开发和维护合乎道德规范的管理方式;

6. 职业:在与公众利益一致的原则下,软件工程师应当推进其职业的完整性和声誉;

7.同事:软件工程师对其同事应当持平等和支持的态度;

8. 自我:软件工程师应当终生参与和职业实践有关的学习,并促进合乎道德的职业实践方法。

《软件工程职业道德规范和实践要求》(完整版)

序言

目前,计算机正在商业、工业、政治、医疗、教育、娱乐和整个社会中发挥着核心和日益增长的作用。软件工程师通过亲身参与或者教授,对软件系统的分析、说明、设计、开发、授权、维护和测试做出贡献。正是由于他们在软件系统开发中起到的重要作用,软件工程师才有很大的机会去造福或者危害社会,并有能力去促使或影响他人造福或者危害社会。为了尽可能确保他们的努力会被用于好的方面,软件工程师必须做出自己的承诺,使软件工程成为有益和受人尊敬的职业,为符合这一承诺,软件工程师应当遵循下列的《职业道德规范和实践要求》。

本规范包含有关职业软件工程师的行为和决断的八项原则,涉及人员包括软件工程的实际工作者、教育工作者、经理、主管人员、政策制定者以及该职业的受训人员和学生。这些原则指出了个人、团队和组织参与软件工程的道德责任关系,以及这些关系中的主要责任。每个原则的条款会对这些关系中的某些责任做出说明。这些责任的基础是软件工程师的人性、对受软件工程师工作影响的人们的特别关注,以及软件工程实践的独特因素。本规范把这些责任规定为任何把自己称作是或有意从事软件工程的所有人必须遵守的基本原则。

不能把本规范的个别部分孤立开来使用,以辩护有意或无意犯下的错误。本规范所列出的原则和条款并不是非常完善详尽的。在所有实际使用情况中,都不应当将条款中关于职业行为的可接受部分与不可接受部分分开来讲。本规范也不是可以用来产生道德决定的简单道德算法。在某些情况下,标准可能互相抵触或与来自其他地方的标准产生抵触,在这种情况下,就要求软件工程师运用自己的道德判断能力,根据特定情况,按照符合《职业道德规范和实践要求》精神的方式来选择自己的行为。

解决道德冲突最好的方法是对基本原则进行全面思考,而不是盲目依靠一些具体规定条款。这些原则应当会促使软件工程师们,更广泛地思考哪些人会受到他们工作的影响,审视他和他的同事是否给予其他人足够的尊重,考虑对他们工作有足够了解的公众会如何看待他们的决定,分析他们的决定如何对劣势人群的影响最小,以及思考他们的行为是否符合一名理想的专业软件工程师的标准。在所有这些判断中,对公众健康、安全与福祉的关注是最主要的;也就是说,“公众利益”是本《规范》的核心。

由于软件工程这一行业的多变性与苛刻性,它要求相关规范也能适应和应对不断出现的新情况。然而,即使在这样一般化的情况下,本《规范》记录了这个行业的道德立场与标准,依然可以为软件工程师以及他们的经理提供支持,帮助他们对所遇到的特定情况采取建设性的行为。对团队中的个人和团队作为一个整体来说,本规范都提供了一个可以遵循的道德基础。本规范还有助于判断哪些行为对于软件工程师或其团队来说,属于道德上不正当的追求。