贯彻职业道德培养的软件工程课程教学

时间:2022-06-12 07:54:36

贯彻职业道德培养的软件工程课程教学

摘要:将大学职业道德教育贯穿到专业课的讲授过程中,是培养大学生良好职业道德行为的有效方式。文章针对软件工程专业大学生职业道德培养的现状,分析软件工程专业大学生应具备的良好职业道德,结合软件工程实践课程的授课体会和当前计算机本科教育中职业道德的培养目标,介绍通过项目式教学和校企合作加强学生职业道德培养的3个途径。

关键词:职业道德;本科教育;项目式教学;校企合作

0 引言

软件工程专业毕业生作为程序员到软件企业工作后,大部分的时间都在和程序打交道。程序本身没有伦理和职业道德,但是程序员和软件企业要有。越来越多的人把自己的身份证号、账户名、密码、真实姓名、家庭成员、手机号等私密内容交给程序,希望程序的操控者,即程序员不做坏事。许多社会功能如彩票、汽车摇号、交通管理、个人诚信信息查询甚至核电站的运行和卫星发射都交给了软件工程师创造的软件来管理。因此,社会对程序所承载的安全性使命的要求越来越高,对程序员的职业道德水准的要求也越来越高。

用人单位已经意识到雇佣具有良好职业道德水准的程序员的重要性,而且他们已向学校培养的人才提出了新的、更高的要求。然而,高等教育的发展和实际人才需求之间还存在一定的脱节现象,在重视基础知识和实践能力培养的过程中,往往忽视了对其良好职业素养的培养。

软件工程是软件工程专业大学生的必修课,在进行基础知识和实践能力培养的基础上,该课程授课大纲的各个阶段均蕴含着丰富的职业道德教育资源。本文结合IEEE/ACM的Software Engineering Code of Ethics and Professional Practice,即《软件工程职业道德规范和实践标准》,介绍了我们在软件工程课程教学过程中贯彻职业道德培养方面的一些尝试与探索。

1 大学生职业道德教育存在的主要问题

通过对软件工程专业大学生的职业道德教育现状进行分析,可发现普遍存在以下问题:

(1)大部分高校仍将职业道德教育设置为公共课,不同学院不同专业的学生受到的职业道德教育比较宽泛,卫生行业有希波克拉底誓言,金融专业、法律专业等不同专业有不同的更加具体的行业规范。尽管不同行业有不同的行业规范,但是这些公共课的讲授并没有根据学生的不同专业结合不同的行业规范而开展。

(2)不少院校在软件工程专业大学生的培养上将重点放在了实践实训能力的培养上,对大学生的情操培养也将重点放在良好心理素质的培养上。实际上,在实践实训环节,可以通过企业导师的言传身教对学生的职业道德素养进行培养,但这一点很容易被忽视。

(3)软件工程专业的课程中通常蕴涵丰富的职业道德教育资源,如数据库设计与开发蕴涵着确保数据安全方面的道德教育资源,软件测试蕴涵着必须保持“所见即所得”的文档记录方式的道德教育资源,但是这些资源在专业课的讲授中并没有被涉及。

(4)对软件工程专业大学生的职业道德教育往往从负面(如预防计算机犯罪和防止病毒进攻等方面)进行,而不是从正面(如正确的分工与合作,坦诚直接的客户沟通方式等)实施,这未能帮助学生以更积极向上的心理状态适应未来的职业生涯。在专业课的讲授中,课程内容都是从积极的角度说明坚持某些原则的优点和必要性,这有助于学生从正面的积极心态去遵循已有的良好职业道德规范。

2 软件工程课程中蕴含的职业道德教育资源

软件工程是软件工程专业学生的必修课程。通过分析可发现,该课程蕴含着《软件工程职业道德规范和实践标准》中包涵的所有道德教育资源。下面根据软件工程教学大纲,介绍该课程蕴含的职业道德资源。

(1)在软件定义阶段,应培养学生如下的职业道德:综合考虑软件工程师、客户和用户的利益并把任何对以上三者可能造成的危害,告知相关人员或者专家;在所有关系到软件的声明,要做到公正且避免欺诈,并对会降低软件收益的因素所带来的结果进行全面考虑。在自己的能力范围之内提供服务,诚实坦率地交待自身在经验和教育上的任何局限。在工作中,对任何机密信息要注意保密,当员工意识到待开发软件涉及某些重大的社会关注问题时,要及时发现、记录并向雇主或客户汇报,力求高质量、可接受的成本和合理的计划,要准确叙述自己所做的软件的特性,不但要避免错误的断言,也要防止那些纯理论的、有误导性的未被证实的断言。

(2)在软件开发阶段,应培养学生如下的职业道德:对自己分内工作负有直接责任,当员工觉得项目将要失败,要及时记录收集证据并向客户报告。确保对在做项目的程序和文档有足够的测试、调试和复审。当与明显违反道德规范的人无法磋商以致会影响工作或有危险时,应向有关部门报告,而不能瞒报漏报。代码审查时要做到客观、坦诚并真实地记录。

(3)在软件维护阶段,应培养学生如下的职业道德:维护数据的完整性,对于过期和有问题的数据要敏感。对于任何形式的软件维护,要有和开发新软件一样的专业精神。

(4)文档在传统的软件开发生命周期内占据着重要位置,在书写、维护和评价文档方面,应培养学生如下的职业道德:确保每一个文档的建立基础都是经过检验的,如果必要的话,还须提供授权人士的认证;确保在做的项目要有足够的文档;只撰写尊重用户隐私的文档;只签署并认可那些是自己管理之下的或是自己职权范围内且已在业内达成共识的文档。评估任何软件和文档时保持专业的客观性。提高能力,写出精确、可读、有价值的文档且对自己负责的相关文档负起检测、修正和报告错误的责任。

3 在软件工程课程中贯彻职业道德培养的途径

职业道德情感主要包括岗位自觉感、责任感、荣誉感和合作感4个方面。软件工程课程在课程的后半期采用了项目式教学方法,要求学生自愿组合共同完成一个项目。这要求学生从软件定义,开发到投入运行等阶段要团结协作。而且本课程针对的是大三学生,他们在学期末有2~4周的实习实训课程,在这期间,通过企业教师配合,要求学生遵守相关的职业道德、规范,并通过反复的行为训练和及时纠正,使学生养成良好的职业道德行为习惯。

(1)教师以身作则起到榜样的作用:要让学生建立良好的职业道德,专业课教师就应该以身作则,从以下3个方面示范,让学生养成良好的职业道德。

①教师自觉遵守软件行业职业道德规范,起到示范作用:在学生项目开发的各个阶段,当教师介入进行指导或检查时,教师自身必须遵循各种文档的书写格式规范、良好的项目管理统筹方式、严格的代码审查制度以及适当的异常处理方式等。一旦发现问题,必须通知学生进行修改,以养成学生诚实坦率、不回避问题的对项目认真负责的态度。

②教师具备良好师德,起到榜样作用:充满人格魅力、敬业爱生的教师在学生心目中起到的榜样作用是不可低估的。在授课和项目实施阶段,教师都应该具有良好的职业态度、职业纪律和职业良心。教师的榜样作用会让学生找到正面的参考对象,并在实际项目中,以教师的行为和思想做参考,自觉遵循良好的职业道德行为方式。

③注重师生情感交流的辅助作用:师生在课上和课下建立的和谐融洽的师生关系,有助于师生之间建立更坦率真诚的交流方式。学生不因教师的批评而懊恼,教师不因学生的直白而生气,“有则改之无则加勉”的教育方式也更容易实施。这种“亲其师则信其道”关系的建立有助于学生自觉接受教育,主动迎合教师的期望。

(2)在校企合作中注重企业导师的言传身教:在企业不断发展壮大过程中,优秀企业逐步形成了被全体员工所认同并自觉遵守的带有本企业特色的企业精神、价值观念和员工行为守则等。与学校相比,企业员工具有丰富的实践经验,可以言传身教,给学生树立榜样。天津工业大学计算机科学与软件学院的合作企业主要包括软通动力信息技术集团有限公司和南开创元信息技术有限公司,其中软通动力的业务范围涵盖咨询及解决方案、IT服务及业务流程外包服务等,是高科技、通信、银行/企业金融/保险、能源/交通/公用事业等行业重要的IT综合服务提供商和战略合作伙伴。南开创元为国内的信息安全厂商提供目录服务基础设施,为国内信息安全、电子政务等领域中的关键而敏感的信息提供了安全、可靠、高效、自主的数据整合、存储和管理方案。这两家公司对软件及人才的质量要求都非常高。在本课程涉及的职业道德培养中,学院与这两家公司主要在两个方面进行了合作:

①在学生进人企业实训前,由企业负责人讲解本企业的价值主张及社会责任,让学生对该企业需要的人才状况有初步了解。在实习过程中,通过不定期考核的方式,让在同一项目组内的学生按照企业提出的道德行为规范进行互评并通知学生分数,让学生总结自身的不足和缺点,给出改正的期限。

②在企业导师引导学生做项目的同时,请导师根据自身的实践经验和体会,以自己做过的项目为案例,讲述项目实施中良好职业道德行为规范对自身及项目带来的影响,并监督学生在项目实施的各阶段都按照《软件工程职业道德规范和实践标准》及企业内部价值理念对自己的行为进行规范。

(3)在实践中养成“激励+强制”的行为方式:任何一种行为或思想,不论好坏,只要不断地重复就会成为习惯,进而在不知不觉中影响潜意识,最终改变人的行为。对于良好的职业道德行为,只要坚持不懈地让学生重复正确的行为,他们就会养成正确的习惯。与职业道德公共课程相比,专业课能够在反复训练中促使学生养成良好的职业道德。

在软件工程课程的实践教学中可以采取以下措施,督促学生养成良好职业道德行为。

①重视“首次效应”:在项目式教学和校企合作的过程中,注重学生第一次行为习惯的养成,教师注意到不足之处时,要及时给学生指出,并让其立即改正。课程中涉及的职业道德规范是随着课程内容的推进而逐个讲授给学生的,这些行为规范之间的关系是递进的,在告知并督促学生养成某一职业道德规范的同时,还要让他们确保与之相关的其他规范的第一次的行为是正确的。

②及时的激励:美国哈佛大学教授威廉・詹姆士指出激励是挖掘潜力的重要途径。他的研究表明在缺乏激励的环境中,人的潜力只能发挥出20%~30%,但如果受到充分的激励,他们的能力可发挥出80%-90%。在项目实践中,贯彻执行良好职业道德行为的学生,专业课教师和企业导师会以提高其平时成绩的方式作为激励,并通知该生为其加分的理由。通过这种方式,使学生在脑海中不断强化其做正确行为的观念。

③以强制方式督促改正不良行为:对不良行为多次督促仍不改正的部分学生,专业课教师要采取强制措施,但这些措施并不是简单的“一刀切”式的蛮横做法,而是通过私下交谈的方式,指出学生存在的不良行为及出现次数,对每次谈话做记录,指出出现频率高的不良行为的出现时间、出现次数和表现形式。之后,让学生自己给出改正期限并到时检查,如果规定期限内仍未改正,教师将以降低平时成绩的方式作为惩罚,并通知学生本人,讲明原因,一旦他们对不良行为进行改正,便及时修改他们的平时成绩,做到惩罚和激励并重,使其逐步养成良好的职业道德行为规范。

4 结语

专业课程往往蕴涵着丰富的职业道德教育资源,加强学生良好职业道德的培养也是专业课教师应积极承担的责任。《软件工程职业道德规范和实践标准》对软件工程师在软件开发的各个阶段应遵循的职业道德规范做出了详细规定。另外,软件工程这一专业课统筹讲述了软件开发各阶段的主要内容。

随着软件工程方法学的不断更新,我们要不断总结进行改革和创新,使软件工程课程在培养学生良好职业道德规范的过程中发挥更大的作用。

参考文献:

[1]杨全胜,王晓蔚,朱怡健.加强计算机专业大学生专业素质与职业道德培养的思考[J].计算机教育,2007(1):39-41.

[2]Sommerville Ⅰ.软件工程[M].9版.程成,译.北京:机械工业出版社,2013:8-10.

[3]朱冬玲.Java语言程序设计课程中贯彻职业道德培养的探索[J].广州城市职业学院学报,2010(3):98-101.

上一篇:浅谈石灰拜耳法原料与制程物料的质量影响 下一篇:能见度与跑道视程在塔台管制中的应用探讨