软件工程师职业道德规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程师职业道德规范
1993年5月,IEEE计算机协会的管理委员会设立了一个指导委员会,其目的是为确立软件工程作为一个职业而进行评估、计划和协调各种活动。同年,ACM理事会也同意设立一个关于软件工程的委员会。到1994年1
月,两个协会成立了一个联合指导委员会,负责为软件工程职业实践制定
一组适当标准,以此作为工业决策、职业认证和教学课程的基础。为完成
这项工作,他们提出了如下建议:*采用标准定义;
*定义所需的知识主体和推荐的实践活动;*定义道德标准;
*定义本科生、研究生(硕士)和继续教育(再培训和转岗)的教学课程指导委员会决定通过设立一系列的专题组实现这些目标。最初的几个
专题组包括:软件工程知识主体和推荐的实践活动;软件工程道德和职业
实践以及软件工程课程体系。
软件工程道德和职业实践小组的目标是为软件工程师在道德上和职业
上的责任和义务制定一份文件。本道德规范(草案)由IEEE计算机协会和ACM联合指导委员会的软件工程道德和职业实践专题组开发,并且已经过
该委员会的审查。
任何规范,如果认真制定并正确推行,都会成为推动职业化和建立社
会安全保障的有力工具。它们不应该也不会只开花不结果,但这常常是人
们对规范的错觉。本规范草案是在对多个计算学科和工程学科规范进行广
泛研究的基础上做出的,意在教育和激励采用规范的职业群体和成员。规
范也告诉公众,一种职业的职责及其重要性。规范向实践者指明社会期望
他们达到的标准,以及他们同行的追求和相互的期望。规范并不意味着鼓
励讼争,并且它们也不代表立法;但它们的确就影响专业人员及其客户的
一些问题给出了实际的建议,同时也给政策的制订者提供借鉴。序言现在,计算机越来越成为商业、工业、政府、医疗、教育、娱乐、社
会事务以及人们日常生活的中心角色。那些直接或通过教学从事设计和开
发软件系统的人员,有着极大的机会既可从事善举也可从事恶行,同时还
能影响或使得他人做同样的事情。为尽可能保证这种力量用于有益的目的,软件工程师必须要求他们自己所进行的软件设计和开发是有益的,所从事
的是受人尊敬的职业。为此,软件工程师应该坚持下面的道德规范。
本规范含有8组由关键词命名的准则,这些准则均与专业软件工程师
的行为和他们所作出的决定有关,也适用于本行业的从业者、教育者、管
理者和督办人、下午制定者以及职业受训者和学生。这些准则对参与其中
的个人、群体和组织相互之间的各种关系给出了区别,并指出了在这些关
系当中各自的主要义务。
规范中的每一组准则均以三个层次的道德义务阐述,这些道德义务都
是专业软件工程师在所述的各种关系中所应承担的。第一个层次给出的是
一组道德价值,这也是专业软件工程师和所有其他人就人性而言所共有的。第二个层次则是对软件工程专业人员提出的比第一个层次更具挑战性的一
些义务。之所以要求第二个层次的义务,是因为专业人员应对那些会受到
他们工作影响的人们负有特别的责任。第三层次也是更深的层次,包括了
只与软件工程的专业实践有关的因素所直接引出的几项义务。每组准则中
的条款是对相应的关系中各层次的义务的详细阐述。每组准则中的条款由
对应于三个层次的三种不同类型的陈述组成。
第一层次:渴望(对于真正的人)。渴望的陈述给出了方向和目标,并
用于指导职业行为。这些指导性的要求对道德判断是非常重要的。
第二层次:期望(对于专业人员)。期望的陈述表达了所有专业人员的义务和职业态度。虽然它们没有描述具体行为细节,但是它们清楚地指明了在计算科学领域中的职业责任。
第三层次:要求(对于良好的从业者)。要求的陈述提出了在软件工程中更具体的行为责任,这些责任与当前的技术状况密切相关。本层陈述的范围从一般的渴望陈述到具体的可度量的要求。虽然所有层次的职业义务都已列举,但本规范并不打算包罗万象,也不希望它的各个部分被孤立地用来判定失职或违规。所列的准则和条款并不是很详尽的,不希望读者对于所有实际情形中的职业行为,简单地以此来区分哪些是可接受的哪些是不可接受的。本规范也不是一个简单地给出道德判定的道德算法。在一些情况下,本规范的各个标准有可能相互冲突或与其他的标准冲突。此时,就要求软件工程师结合当时的环境,以与本道德规范的精神最一致的方式来进行道德判断和采取行动。
对于道德问题最好是给出经过深思熟虑的基本准则,而不是仅仅列出许多详细的规定。这些准则应该影响你去更广泛地考虑谁将受到你的工作影响;去检查你和你的同事是否以应有的尊重对待他人;去推测如果公众被恰当地告知,那么他们将怎样审视你所做的决定;去分析你的决定的最低影响力是多少;去考虑是否你的作为够得上软件工程师的理想的职业行为。因为本规范代表那些从事该职业的人的共同意见,所以我们应该重视由那些有见识的、受人尊重的和有经验的同行在掌握全部事实的情况下,他们认为的什么是特定环境中最道德的行为方式,并且只在具有深刻的原因同时又经过认真仔细地判别之后才违反这种常规。
软件工程的动态性和需求的前后关系,要求一个规范能对出现的新情形有较强的适应性和适用性。但是即使在这种一般性原则下,本规范也只
对那些以文档记录职业道德态度并采取积极行动的软件工程师提供支持;即提供相应开发组中的个人以及整个开发组都可以求助的道德基础。本规范也帮助定义哪些是对软件工程师提出的道德上不适当的要求。
本规范还具有教育的作用,它指出了对任何想加入的继续从事软件工程职业的人的要求。因为它表达了该有关道德问题的一致意见,所以可以用作决策制定的指导,它也可以作为公众和渴望从事该职业的人了解有关软件工程师的职业义务的教育工具。准则1:产品
1.01保证他们所做的软件的规格说明很好地制作了文档,能满足用户的需求,并得到客户的认可。
1.02努力去完全理解他们从事的软件的规格说明。
1.03通过适当的教育和经验的结合,保证对于从事的和将要从事的任何项目他们是合格的。1.04对于他们从事的和将要从事的任何项目,保证正确的和可以实现的方向和目标。1.05对于他们从事的和将要从事的任何项目,保证有一种恰当的方法学。
1.06对于他们从事的任何项目,保证有良好的管理,包括为提高质量和降低风险而采取的有效规程。
1.07对于他们从事的和将要从事的任何项目的费用、时间表、人员和支出,保证给出一个切合实际的预算,并且对这些预算作出风险评估。
1.08对于他们从事的任何项目要保证给出充分的文档,包括发现问题的日志和采取的解决方案。
1.13努力辨别、定义和阐明与任何工作的项目相关的道德、经济、文化、法律和环境问题。1.14为雇主、客户、用户和公众最大限度地提高质量和降低费用。为有关的各方之间作出折衷。