人才培养软件工程论文

2022-04-20

摘要:以“卓越计划”的软件工程实施为背景,分析面向应用型IT人才培养的软件工程理论与实践课程教学改革中出现的问题,提出多层次阶梯型教学目标、基于案例的虚拟需求方监督、过程与综合性双重考核方式等针对性的解决方案,为深化教学改革作进一步尝试。下面是小编精心推荐的《人才培养软件工程论文(精选3篇)》相关资料,欢迎阅读!

人才培养软件工程论文 篇1:

面向国际化人才培养的软件工程专业本科教育课程体系研究

摘要:针对当前软件工程专业人才培养水平较低,难以满足软件企业不断增长的对国际化软件专业人才需求的问题,以培养复合型高级软件工程技术人才为目标,研究软件工程专业国际化人才培养本科课程体系的设置,提出了一个实际可行的软件工程本科课程体系架构。

关键字:软件工程;课程体系;国际化人才;教学改革

一、引言

当今,世界软件业已经超越国界,只有遵循国际标准和规范的软件产品才能投入世界软件市场,只有能够开发出标准产品的企业才具有国际竞争力[1]。然而,软件企业不断增长的国际化软件专业人才需求同软件人才教育供给不足的矛盾,已成为软件工程教育发展面临的一个重要问题。为了提高国家竞争力,美国、日本及欧洲的一些发达国家在上世纪90年代就开始了国际化人才培养模式的改革与研究。韩国、印度的一些高校也都出台了相应的措施来加强培养高端软件人才[1,2]。在国内,为了提升软件专业教育的国际化水平,教育部于2001年批准成立了37所国家示范性软件学院,这些软件学院积极探索,大胆改革,在双师型队伍和国际化课程体系建设方面做出了重要贡献。例如,一些示范性软件学院派教师去国外大学访学;有8所软件学院联合引进美国卡内基梅隆大学的软件工程本科课程[3];臧斌宇等学者对软件工程国际化人才培养方案及模式进行了研究[4]。然而,部分高校的研究实践表明,目前在软件工程国际化人才教育方面仍存在着一些问题,如培养模式不明确、课程体系不完善、教学方法不得当等,与实现国际化软件人才的培养目標和创立“国际化+工程型”的人才培养特色还有一定差距。合理的课程体系是高校培养目标与培养出高质量人才的重要保障。为了培养出高水平的软件工程国际化人才,本文以我院软件工程专业为例,对软件工程专业国际化人才培养本科教育课程体系进行研究。

二、国际化软件人才应具备的素质与技能

国际化人才是具有国际化意识和胸怀以及国际一流知识结构,视野和能力达到国际化水准,在全球化竞争中善于把握机遇和争取主动的高层次人才[5]。而国际化软件人才,应该是掌握一门以上外语,能利用软件工程领域的技术、工具或途径进行跨国文化交流与服务,并在软件工程领域具备一定的知识和能力,基本通晓国际行业规则的人才[6]。

要培养出高水平的国际化软件人才,建立合理的课程体系,首先需要明确国际化软件人才应具备的素质与技能。就软件工程专业而言,合格的国际化软件人才不仅需要具备国际化专业知识结构,还需要具有国际化综合素质。国际化软件人才应具备的专业知识结构主要包括软件开发新技术、现代软件工程及工程领域背景技术三个主要部分,此外还应具备语言能力、团队意识、创新能力、职业素养等综合素质[7]。

三、国际化软件工程本科教育课程体系架构

在对国内外高校软件工程专业课程体系进行了调研与分析的基础上,结合我院实际情况,以培养具有扎实的基础知识、较强的实践能力与创新精神的复合型国际化软件人才为目标,制定了如图1所示的国际化软件工程本科教育课程体系。该课程体系采用了从计算机科学导论展开与强调编程能力的程序设计优先相结合的课程启动策略,根据国际化软件人才应具备的素质与技能,在专业知识结构方面,强调在技术、工程与管理方面的综合培养;在综合素质培养方面,外语教学贯穿始终,在实践环节中逐步加强创新能力、团队意识等素质的培养。具体考虑如下。

首先,在软件开发技术培养方面,在专业基础课程中设置“C语言程序设计”、“面向对象方法学”作为启动;在专业方向课程中设置“网络编程”、“Web应用开发”等软件开发技术类课程,这些技术类课程进一步对学生的软件开发能力进行了加强。在设置这些课程时,从不同应用领域出发,使学生能够在网络、Web、嵌入式等各方面编程得到锻炼,为学生的个性化发展提供了选择。此外,前面的程序设计均以C/C++为主线,为了使学生对两大主流语言均有掌握,在选修课中设置了“Java程序设计”,另外还提供了一些高级程序设计类课程,如“多核程序设计”等,这些课程为培养学生的软件实现能力奠定了坚实的基础。

其次,在软件工程技术与理念培养方面,从“软件工程导论”出发,通过开设“软件需求工程”、“软件设计”等专业方向课,使学生对软件开发的各阶段有了深入认识与理解,掌握了一套完整的软件开发技术。此外,通过开设“软件工程的形式化方法”、“软件复用”等选修课程,进一步加强了学生的软件工程理念。

第三,在工程领域技术与技能培养方面,在“软件过程与项目管理”课程中安排了项目管理领域相关知识,并开设了“管理学概论”、“经济学基础”、“工程经济学”选修课程。

第四,在综合素质培养方面,首先,开设了“团队激励与沟通”课程,以加强学生的团队协作意识;其次,为了加强学生的语言沟通能力,英语教学贯穿始终。公共基础课程中的大学英语教学,培养了学生日常生活中的英语沟通与写作技能,该课程体系中“面向对象方法学”、“数据结构”等双语课程的开设,逐步向学生传递专业外语,“IT职业英语”课程的开设则专注于增强学生的专业英语交流和文档写作的综合能力。此外,为了培养学生的团队意识和职业素养,在实践课程设置上,从锻炼学生个人开发能力的课内实验出发,让学生先从小模块入手,逐步转向以某门课程内容为中心设计与开发一个相对完整项目的课程设计。课程设计中根据题目难易程度,可以选择一人一题或多人一题。不仅如此,为了让学生了解与感受企业中实际项目的开发流程,设置了将学生带入企业中的生产实习环节。在生产实习过程中,由企业工作人员负责带领一组学生,模拟一个开发团队,让学生各司其职,完成一个实际项目的设计与开发,从而在很大程度上加强了学生的团队协作意识、工程理念与职业素养。在最后一学期的毕业设计中,学生一人一题,独立地完成从需求分析到设计再到编码的操作,实现了整个项目的开发,极大地锻炼了学生分析问题与解决问题的能力,对学生的专业知识技能、软件工程理念进行了巩固与加强。

四、总结

为了培养高层次、实用型、复合型、具有国际竞争力的软件人才,本文以我院软件工程专业为参考,提出了一个切实可行的国际化软件工程本科教育课程体系架构,该课程体系以国际化软件人才所应具备的素质与技能为依据,通过合理的课程与实践环节设置,以达到提升学生专业知识技能与综合素质的目的。

参考文献:

[1]邢薇薇,卢苇.国际化软件工程人才培养的探索与实践[J].中国高等教育,2012,(8).

[2]韩国名校提供全奖培养国际化软件人才[EB/OL].新浪教育.http://edu.sina.com.cn/a/2010-08-09/1406191909.shtml.[2010-08-09].

[3]卢苇,王伟东.双师型队伍国际化课程[J].高等工程教育研究,2011,(6).

[4]臧斌宇,赵一鸣,李银胜,叶德建,朱军.国际化、创新型软件工程特色专业建设[J].中国大学教学,2008,(11).

[5]国际化人才[EB/OL].百度百科.

http://baike.baidu.com/view/1486108.htm?fr=aladdin [2014-11-10].

[6]李庆领,吕耀.论国际化人才培养的意义及策略[J].青岛科技大学学报(社会科学版),2007,(2).

[7]文俊浩,胡海波,杨丹,向宏,陈林.软件工程专业课程体系研究与实践[J].高等理科教育,2006,(4).

作者:叶娜 祁飞 边根庆 张帆 何箐

人才培养软件工程论文 篇2:

面向应用型IT人才培养的软件工程教改关键问题研究

摘要:以“卓越计划”的软件工程实施为背景,分析面向应用型IT人才培养的软件工程理论与实践课程教学改革中出现的问题,提出多层次阶梯型教学目标、基于案例的虚拟需求方监督、过程与综合性双重考核方式等针对性的解决方案,为深化教学改革作进一步尝试。

关键词:IT应用型人才培养;卓越计划;软件工程;卓越工程师

0 引言

近年来,应用型IT人才的社会需求日益增长,社会、企业急需高素质、具有较强实践能力的IT工程师人才。在国家“十二五”发展规划纲要中,将软件行业定位为我国国民经济中重要的战略性新兴产业。教育部提出了“卓越工程师教育培养计划”(简称卓越计划)。该计划旨在培养造就一批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,对促进高等教育面向社会需求培养人才、全面提高工程教育人才培养质量具有十分重要的示范和引导作用。

“卓越计划”的提出获得了以培养合格IT工程师为主要目标的高校计算机学科的高度关注和积极响应,各高校计算机专业、软件工程专业纷纷开始针对包括教学理念、教学大纲、教学目标、教学内容、教学方法、考核方式等在内的教学体系改革探索。作为计算机课程体系中唯一讲授工程化、系统化、可量化的设计实现软件系统的课程,软件工程是高校计算机学科教学改革的重点内容。

软件工程是一门理论与实践并重的课程,具有综合性、实验性极强的特点,旨在提升学生的编程能力、分析与设计能力、工程素养及团队协作精神,为后续的系统分析与设计、毕业设计等课程乃至成为一名合格的软件工程师奠定良好的理论、技术及工程基础,因此该课程的教学效果对卓越软件工程师的培养起着举足轻重的作用。

1 面向应用型IT人才培养的课程教学中存在的问题

1.1 单纯引入案例教学法,学生未“身临其境”

案例教学法是指在课堂中运用案例进行教学的方式,最初兴起于美国,上世纪80年代进入中国。案例教学法的兴起,改变了传统的“黑板教育”,有利于提升学生分析解决问题的能力,提高教学效果。在软件工程教学改革中,积极引入大量企业优秀案例并纳入日常教学内容中。案例教学法的引入改变了传统教学中知识内容枯燥、陈旧、无法与企业需求接轨等现象,新的、优秀的企业案例为陈旧的知识内容输入了新鲜血液,在一定程度上激发了学生的学习兴趣,活跃了课堂氛围,提高了教学的质量。但是案例教学法的效果很大程度上需要师生角色的转换,并做到“身临其境”,真正的深入案例并体验角色。目前,在软件工程教学改革中,只是单纯的引入案例教学法,课堂更多是为了案例教学而教学,学生处于旁观者的角色。案例教学法的价值在于基于角色的深入体验,软件工程要求学生参与完成一个软件项目从需求分析、设计、编码、测试到维护的全过程体验,“身临其境”的角色体验对于学生对该门过程的把握和理解是非常重要的,这也是案例教学法应用于软件工程课程教学中的价值所在。目前,没有深入案例角色体验的教学法与其本身意义相悖,也失去其应用价值。

1.2 项目实践组队完全自由化,导致两极分化,学生学习兴趣消极

软件工程是一门以编程语言为基础的课程,在软件开发的生命周期中,编程是重要环节之一,因此编程能力的优劣在一定程度上影响学生对该门课程的学习。软件系统的复杂性决定其必须以团队化的模式运作,软件工程实践教学改革中,倡导项目驱动、任务驱动模式,以团体为单位进行项目实践,而项目组队多以学生自由选择的方式进行。在教学实践中,我们不难发现,完全自由化的组队方式容易造成“强强自愿优先联盟、弱弱淘汰被迫联盟”的两极分化。编程能力较强或者人际关系较好的学生容易走到一起优先结成团队,编程能力较弱或个性孤僻的同学“被抛弃”,最后被迫结盟。显然这种组合结果打击了后者对课程的学习兴趣,对学习产生消极影响,基于目前统一的考核标准,后者从一开始就输在了起跑线上;部分教师在教学中基于学生成绩和平时表现所产生的“不对等关注”,也会影响学生对该门课程的学习。

1.3 项目驱动教学模式缺乏引导和监督,项目开发未完全遵循软件开发生命周期过程

软件系统的完成,包括从需求分析、设计、编码、测试、维护。软件工程的“工程化、系统化”决定了软件工程实践教学中必须对软件开发的整个过程加以重视,而非只专注结果。以任务驱动的软件工程实践明确了软件开发的目标,但在教学实践中,由于实践课时有限、团队数量较多、教师精力不足等因素导致缺乏良好的引导和监督,项目开发未完全遵循软件开发的生命周期过程。在实践教学中,学生以团体为单位选择项目,完成项目需求、分析、设计、编码、测试和维护等过程。由于课堂时间有限,更多项目由学生在课余时间完成。但据学生课后反馈,大多数团队由于缺乏监督、自律性较弱、缺乏教师指导等并未完全遵循软件开发生命周期过程。学生拿到项目后的第一反映是如何进行编码而不是需求分析和设计,并未进行深入讨论和思考,甚至一部分团队的需求分析在期末需要提交项目大作业时才开始进行,这显然与软件开发的生命周期过程相违背。

1.4 实践教学重模仿,轻创新

软件工程改革针对长期存在的重理论轻实践的教学弊端,加大了实践教学的力度,这对提高学生的实践技能有明显的促进作用。但是在实践中,往往单纯加大实践教学课时而非注重实践教学质量,结果只是用“教师课堂演练学生模仿”模式代替了传统的“教师讲授学生听讲”模式。这种模仿式教学无法培养学生独立自主分析解决问题的能力,在一定程度上扼杀了学生的创新能力。培养出的学生只能是熟练的技工而非具有创新思维,能够独立分析解决问题的软件工程师。很多学生在课堂上能够熟练操作软件工具,但独立面对问题时,却束手无策。究其原因,在教学中学生缺乏自主学习和思考的过程,只知其然而不知其所以然。

1.5 实践中教学重编码,轻规范

软件工程课程要求学生通过理论和实践学习,掌握软件项目自开发到维护的一般过程,掌握软件开发的传统和最新方法,用软件工程的方法参与软件项目的分析、设计、实现和维护。该课程不仅要求学生在编程能力上的提高,更要求在软件分析与设计的能力、工程素养、团队协作能力上的提升。目前在实践教学中,学校大都强调系统的复杂性,并以此作为学生实践考核的主要依据,忽视了工程化团队项目中所应具有的工程素养及文档、代码规范。软件开发是一项需要团队协作的系统性工作,优秀的编码能力固然重要,但良好的文档及代码规范也是其保障。

1.6 考核方式重结果,轻过程

教学改革中加大了实践技能在考核中的比重,引起了学生对实践技能的注重,促进了教师对学生实践技能的培养,但实践技能多以小组项目最终成果作为考核内容,在一定程度上造成了重结果而不重过程的现象。软件工程实践的教学目标是要求学生掌握软件开发生命周期的整个过程,目前的考核方式与教学目标的初衷不符。

2 改进举措

为进一步深化软件工程教学改革实践成果,提升教学质量,培养高质量的卓越软件工程师人才,我们基于教改实践中的问题,从教学目标、教学内容、教学模式、考核标准等多方面提出具有针对性、实践性的改进措施,对教学改革方案进行完善。

2.1 多层次梯度学习目标和多级考核标准

在教学目标上和考核标准上,基于先修课程的掌握情况对学生团队进行多层次有梯度的再分组,变传统的单一学习目标和统一考核标准为分层次的目标和多级考核标准。在目标设定上,建议从高到低分为3个梯度,从而实现梯度内目标、考核标准相同,梯度问要求逐步提升,满足不同层次学生要求。

(1)对于第三梯度,以项目系统的完整性和可用性为主要目标和考核标准。

(2)对于第二梯度,在系统项目完整性基础上,以系统项目的复杂性、功能性、文档的规范性为主要目标和考核标准。

(3)对于第一梯度,要求满足系统项目完整性、功能性、复杂性的基础上,着力强调创新性和技术前沿性。

各小组根据先修课程的掌握情况在教师的引导下进行不同层次不同梯度目标选择。每一梯队内的各小组目标及考核方式相同进行直接竞争,并根据排名进行成绩评定。

这种分层次多目标的教学方式和考核标准,满足不同层次学生的需要。第一梯队学生具有较好的基础,较强的编程能力,有利于培养他们的创新能力;第二梯队学生在课堂知识学习的基础上有利于加深知识的扩展;第三梯队学生有利于提高他们学习的兴趣,完成基本的教学目标,为后续课程打下基础。而站在同一起跑线上的同一梯队下的小组竞争,更会促进学生对学习的兴趣,软件工程教改深化体系结构如图1所示。

2.2 以学生为主教师为辅的教学方式

在教学模式上,提出“以学生为主教师辅导为辅”的学生课堂展示教师辅助的教学方式,加大学生自主学习的空间,引导学生多思考和讨论。教师提前公布下一节课的教学内容、学习要点及学习目标,并辅之以丰富的学习资源方便学生课下学习,学生以小组为单位进行学习,互相讨论。课堂主要是学生成果展示,小组间讨论和教师引导学生对出现的问题进行思考。通过学生小组自学的方式,培养学生的自主学习能力和团队精神;通过学生课堂成果展示并进行评比,提高学生对学习的兴趣;教师提出问题学生进一步思考从而提高学生思维能力。这种以学生自主学习为主教师辅导为辅的教学模式提升了学生的学习兴趣,加强了对学生创新能力的培养。

2.3 引入组建监督

此外加大教师在整个开发过程中的监督和引导力度,并创新性地引入组间监督,即在教师作为监督者的基础上,各小组间进行互监督,并以软件需求方的身份进行。以项目案例为基准,引入以其他小组为虚拟的需求方。作为需求方的小组有权根据给定的项目提出自己的“个性化需求”。作为开发方的小组进行需求分析不再是对着文字版的案例进行自由发挥,而是通过深入了解并与需求方讨论进行需求分析和设计。需求方与开发方的讨论需要从项目伊始持续到项目最终完成,需求方需要对开发方所完成的项目情况进行评定并给定意见。这种虚拟需求方模式引入了第三方监督,并对企业软件开发环境进行了一定程度的模拟。对于软件开发的每个团队,既作为开发方又作为虚拟的需求方。开发方在两方监督(教师和需求方)下,将会更加注重软件开发的过程性;需求方在模拟角色的同时,也会对软件开发的整个生命周期过程有进一步体会。

在整个软件开发生命周期中,学生需要深入情景并多次进行开发方与需求方角色转换。在每个角色中,除了与教师沟通外,包括学生个体之间,团队小组内部成员之间,团队之间等多方讨论和沟通,容易获得较高质量的过程体验,潜移默化获取知识并转化为能力。

2.4 过程性考核与综合性考核并重

基于上述教学模式,进一步改革考核体系,把整个考核体系分成2个层次,即过程性考核和综合性考核,过程性考核注重阶段完成情况,综合性考核注重最终结果。

过程性考核需要全程监督,在考核主体上,从传统的教师一人考核转变为“教师引导的学生双向考核”模式。在模拟需求方模式中,每一小组既作为评估方,也作为被评估方。评估方与教师在软件开发生命周期的整个过程中进行监督,由于评估方与被评估方需要在多个环节中需要进行讨论,此外小组的最终成绩除自身项目完成情况外,作为评估方的表现也被纳入其中,使高质量的过程性监督得以保证。

教师在整个过程中,充当引导者和第三方监督的角色。这种基于过程化、双评式的考核方式,加强了整个过程的监督,也增加了项目实践中的趣味性,使得课堂及考核不再是传统的枯燥的讲授和试卷,提高学生的学习兴趣。

在考核内容上,加人代码和文档的可读性。传统教师单一评估模式中,最后只有教师对学生项目成果进行评价,在双评模式中,评估方也需要对项目成果进行评价,并作为考核的内容之一。这种双评模式在一定程度上促使各开发方在撰写代码和文档时,为了使得代码和文档能被对方充分理解,会更加注重文档的规范性。而教师在教学中的进一步引导,将起到事半功倍的效果,帮助学生养成良好的编程习惯。

3 结语

未来我们将进一步关注软件工程的教学改革,理论与实践教学相结合,将理论方法落实到实践教学中的每个环节,积极进行教学效果反馈并进一步修正。卓越计划的实施是一项需要长期坚持的系统化工程,需要持之以恒的不懈努力以及教学实践的不断尝试和反馈。

参考文献:

[1]关于实施卓越工程师教育培养计划的若干意见[S].教高[2011]1号.

[2]林健.“卓越工程师教育培养计划”通用标准研制[J].高等工程教育研究,2010(7):56-59.

[3]李峰,夏小玲.计算机软件工程专业卓越计划实践教学[J].计算机教育,2013(13):18-21.

[4]王燕霞.以“卓越工程师培训计划”为平台,提升工科类大学生创业能力[J].中国校外教育,2011(16):21-84.

[5]张海藩.软件工程导论[M].北京:清华大学出版社.2008(3):5-20.

(编辑:赵廓)

作者:王辰尹 衣杨

人才培养软件工程论文 篇3:

面向应用型人才培养的“软件工程”教学改革与实践

摘要:“软件工程”课程是理论性、实践性和工程性都很强的一门专业课。以应用型人才培养为目标,对“软件工程”课程的教学内容、教学方法、实践教学等内容进行研究,结合教学实践提出了一些提高教学质量、满足应用型人才培养要求的切实可行的方法。

关键词:应用型人才培养;软件工程;教学改革

作者简介:李秀芳(1979-),女,山东莒南人,鲁东大学信息与电气工程学院,讲师;宋丽华(1965-),女,山东济宁人,鲁东大学信息与电气工程学院,副教授。(山东 烟台 264025)

随着我国经济的快速增长,产业结构的不断调整以及高等教育向大众化教育的转变,对应用型人才的需求大量增加。同时,我国信息产业的快速发展对计算机类应用型人才培养提出了更高的要求。进行应用型人才培养的关键在于培养学生的实践动手能力,为此,在计算机专业课程教学中应该不断更新教学内容、教学环节、教学方法和教学手段,不断增强学生的社会适应能力和竞争能力。[1]因为计算机类毕业生就业方向的特殊性——主要从事计算机应用系统的开发、管理和应用,所以能够应用软件工程思想解决实际问题是计算机专业学生必备的技能之一。通过对“软件工程”课程的学习,可以提高学生综合运用知识解决实际问题的能力,对学生科研能力、工程能力以及创新能力的培养以及更高层次的发展都具有重要作用。因此,在当前应用型人才培养模式下,进行“软件工程”课程教学模式的探讨具有重要意义。

“软件工程”是高等院校计算机及相关专业的一门专业课,主要讲述了软件工程的基本原理、开发方法、开发工具以及软件项目管理。[2]20世纪80年代以来,国内各高校都陆续开设了“软件工程”课程,但在课程设置、教材内容、讲授重点、教学方法等方面都存在不少问题。在实际教学过程中,“软件工程”课程教学效果并不令人满意,也很难达到“软件工程”课程目的和预期教学效果。笔者结合多年“软件工程”课程教学经验,不断进行课程教学方法的改革,调整教学内容、教学方法和教学模式,加大实践教学力度,提高“软件工程”课程教学质量,逐步满足计算机专业应用型人才的培养要求。

一、准确把握课程教学内容

纵览软件工程发展的40年,软件工程学科经历了四个发展阶段。第一阶段称为传统的软件工程阶段,主要以结构化开发方法、Jackson方法为代表,系统开发分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码和测试以及运行维护七个部分。[3]第二阶段是面向对象的软件工程阶段,主要是以Booch、OOSE等为代表的面向对象的软件开发方法;以对象为核心,进行对象模型、动态模型和功能模型的设计以及面向对象的实现。第三阶段是软件过程工程阶段,着重进行软件过程的控制和管理,如:项目计划、成本估算、质量保证以及软件配置管理等。第四阶段是构件工程阶段,着重于软件重用和基于构件的软件开发方法。随着CPU计算能力的快速提升以及并行运算技术和多核多线程技术的应用,使得软件开发模式也将发生相应的变化。在未来的软件工程领域,需求工程的研究与实施、领域工程、敏捷过程、持续集成以及配置管理等方面都将成为研究和应用的热点。

在“软件工程”课程教学中,教学内容应该与时俱进。首先,应该摒弃以传统软件工程作为教学重点的老式教育,重点讲述面向对象的软件开发方法以及基于构件的开发方法,不断调整教学内容,适时增加UML建模语言、RUP、极限编程、SOA等当前流行技术以及其他新技术,在保证学生掌握核心思想的同时,不断拓宽他们的知识面,完善知识结构,增强学生的竞争能力。其次,随着新技术的不断引入,教学内容将更加繁多。所以,对教学内容进行提炼是非常必要的。通过分析各个内容之间的关联关系,凝练成各个知识点;然后按照计算机应用型人才培养目标选择知识点进行重点讲解。另外,国内的大多数教材在内容取材、案例的选择和图示符号的描述等方面存在一定的问题,涉及先进技术的介绍较为缺乏或者介绍很肤浅。在实际的教学中,不能单纯地依赖某本教材,可以通过综合多本教材尤其是国外的优秀软件工程教材,取长补短,及时调整教学内容。否则,教学内容将严重滞后于技术的发展。

二、灵活运用多种教学方法

在“软件工程”的教学过程中,如果只是采用单一的教学方法,时间一长,学生很容易产生厌倦的情绪,从而影响教学效果。考虑到“软件工程”课程的理论性、实践性和工程性的特点,可以综合运用案例教学法、项目驱动式教学法和启发式教学法等多种教学方法,充分发挥各种教学方法的优势,以更好地提高教学质量。

1.案例教学法

案例教学法是在教师的指导下,根据教学目的、教学内容的需要,通过对典型案例的剖析,引导学生分析问题和解决问题的一种启发式的教学方法。它是一种亲验性的教学方法,以学生为主体,让学生主动观察、分析和解决案例中存在的问题。与传统的灌输式教学法相比,案例教学法的目的在于培养学生分析问题、解决问题的能力以及创造性思维能力。

在软件开发的各个阶段都可以借助案例说明如何开展各种活动。在案例的选取上要下功夫,尽可能地选取学生容易理解又能够涵盖教学内容的案例。不管是讲传统的软件开发方法还是面向对象的软件开发方法,选取的案例应该是一致的和连续的。通过学习,学生可以掌握一个具体的系统从定义、开发到实现的整个过程。

在讲解结构化软件开发方法时,选取了学校正在使用的图书馆管理系统,分析该系统的数据需求和功能需求,然后采用面向数据流的设计方法设计其体系结构。在讲解面向对象的软件开发方法时,选取学生熟悉的ATM自动取款机系统,通过详细的需求分析去确定系统的对象模型、功能模型和动态模型,然后进行类、对象、关联以及服务的设计。在整个教学过程中,案例教学法起到了很大的作用,它使教师的讲授更加清晰,学生的理解更加深刻。

2.项目驱动式教学法

项目教学法是以实际项目为实践教学对象,将知识点融入项目中,教师以一个典型项目为依托,将项目分解成一个个任务案例进行剖析。在教师的指导下,围绕教师所下达的项目要求,学生完成相关任务模块,并最终将一个个任务模块“组装”成一个完整的项目。任务驱动教学法是一种建立在建构主义学习理论基础上的一种教学方法。它将教学场景设计成学生感兴趣的任务模块,以完成具体任务模块为主线,把知识点贯穿于任务模块中;学生在一定的场景下借助教师的引导和同学的帮助,利用必要的学习资料,完成所布置的任务模块,通过意义建构方式获得知识。

在“软件工程”的实践教学中,可以采用项目驱动式教学方法,即综合项目教学法和任务驱动教学法。[4]学生自由划分成若干个小组,不同的小组选择选择不同的项目。以“项目”为“主线”,将课程知识点贯穿于项目的每个任务模块中,在教师的引导下“驱动”学生完成任务。通过模仿课堂教学中所讲的案例,完成每个任务模块,再将每个任务模块“组装”成一个完整的项目。在这个过程中,学生的学习活动是在项目开发的各项过程和活动的驱动下完成的。通过这种方式使学习过程成为每个学生都参与的创造性实践活动,使学生在实践过程中理解和把握知识技能。“项目驱动”实践教学法激发了学生的成就感,培养了学生的团队协作精神,能充分调动学生的自主学习积极性,可显著提高实践教学质量。

3.启发式教学法

在“软件工程”的课堂教学中,应该经常采用启发式教学方法,给学生独立思考的机会,尽可能地避免满堂灌。软件工程中的很多理论都可以采用启发式教学方法。如:在讲授软件过程开发模型时,讲完每种开发模型的基本原理之后,不直接给出模型的优缺点,而把问题留给学生。在学生思考的过程中不断地给以引导,总结出每种模型的优缺点。之后再引导学生根据每种模型的原理特点分析该模型适合哪种类型的软件项目开发,从而对各个模型进行比较学习。在整个过程中,教师需要针对学生的反应进行正确的引导,对学生的回答进行总结和完善。学生参与其中,可以很好地调动学生的学习积极性和主动性,加深对知识的理解和掌握。

三、强化实践教学环节

“软件工程”课程的实践性特点决定了在教学中应该重视实践环节。目前,大多数高校“软件工程”课程的实践环节主要由两部分组成:平时实验和课程设计。而平时实验学时普遍较少,所以对于实验内容需要精心设计。而且实验课一般一次只有2学时,如果实验任务过大往往完成不了,这时往往需要多次实验才能完成,也就是需要跨越多个星期,失去了实验过程的连续性。对于不少学校在平时实验中安排应用系统的开发,笔者认为这种实验设计不够合理。平时实验的目的应该是通过实验加深对理论知识的理解、消化和应用,同时为课程设计奠定一定的基础。为此,我们在平时实验中设计了各种工具的使用,如:数据库建模工具Power designer、UML建模工具、软件项目管理工具Project以及软件测试工具等等,同时结合具体的案例,加深学生对相关理论知识的理解和应用。

课程设计环节则是依托学生比较熟悉的图书馆管理系统、学籍管理系统等应用系统,3~5人一组,自由组合,合作完成。所有小组针对同一个系统进行竞争性开发(如果学生人数过多,可以分成几个大组,每个大组一个题目)。根据每个小组的需求分析和设计结果从中选择最优方案,将模块实现任务分配到各个小组,各个小组负责编码实现和测试相应模块。在模块开发完成后,小组之间开始进行模块双向选择,并将所选择的模块与自己开发的模块整合成为一个完整的系统;最终将各自集成的完整系统进行包装和演示。具体实施时,需求分析、软件设计部分可以随课堂教学内容同步开设,而编码测试阶段可以集中完成,在每个阶段学生都要提交阶段性成果(需求规格说明书、总体设计和详细设计说明书、测试说明书等)。由于在课程设计过程中,采取小组答辩、汇报以及相互打分的形式,可以在一定程度上激发学生的学习和实践热情,同时对学生自主学习能力、应变能力、团队协作能力、动手实践能力的培养都起到了重要作用。通过课程设计,使“软件工程”教学达到理论与实践相结合、知识与能力相结合,既培养个体的程序设计与实现能力,又强化了学生对团队协作的工程规范和专业知识的综合运用。

除了传统的实践教学环节,还可以利用讲座、培训、校企合作等方式不断充实实践教学环节。通过邀请IT企业的技术人员来校举办讲座和培训,让学生从中了解软件开发人员的职责,体验软件开发的实践过程,有利于调动学生的学习兴趣,明确未来的职业目标。目前,学校已经建立了多家校外实习基地,针对计算机相关专业,主要涉及程序设计语言以及应用系统的开发。通过实习和培训,学生强化了学习内容,深入理解了软件工程中的各个环节,充分领悟了软件工程知识在软件开发中的作用以及团队协作精神的重要性。

四、综合运用系统演示、多媒体、黑板等多种教学手段

案例教学法几乎适用于“软件工程”课程所有内容的教学。从需求分析到编码测试阶段讲解案例时,如果能够适时地进行系统演示,对于学生的理解会有很大帮助。如果在需求分析阶段只是针对某个应用系统的需求陈述进行分析,学生很难将其和未来的可运行的应用系统关联起来。此时,采用原型开发模型是一个很好的选择。可以先演示一个包含基本功能的系统,让学生分析和体验该系统的基本功能,然后在此基础上再引导学生分析还需要补充哪些功能,哪些功能还需要优化,最终确定所开发系统的功能。在这个过程中,系统演示起到了重要作用。

多媒体呈现的信息量大、丰富多彩,尤其是可以借助于动画、音频和视频等多媒体信息展示课程内容,受到了很多教师的青睐。同时,在课程中涉及到大量的图例,如果采用板书也会占用大量的课堂时间,所以在讲解这些内容时采用多媒体教学是比较合适的。正因为多媒体的诸多特点,对多媒体课件的制作、课件的利用以及讲解过程都提出了较高的要求。教师应该精心制作课件,讲解时不能照“片”宣科,讲解速度不能太快,否则学生容易疲劳,失去学习的兴趣,从而影响了教学效果。而对于教学中的细节问题还需要借助于黑板,黑板的使用使得学生能够紧跟教师的思路,而且讲解内容会更加清晰。

总之,在实际教学中应该综合运用多种教学手段,充分发挥各种教学手段的优势,丰富课堂教学过程。

五、课程考核多样化

“软件工程”是一门实践性很强的课程,所以课程考核的重点不是理论考试成绩,而是学生能否在软件开发的过程中贯彻软件工程学的思想和方法。因此,应该加大实践考核(实验和课程设计)的比重,对于在实践中积极参与和思考、表现良好的学生,教师给予充分的肯定和加分奖励。在这种情况下,可以充分调动学生上课的积极性和主动参与性,从而提高了学生运用知识分析问题和解决问题的能力,培养了他们的创新意识。在笔试题目中综合性和设计性题目应占主要部分,同时可以增加阐述个人观点、现象分析等让学生自由发挥的题目,考查学生对所学知识的理解和运用能力。

六、不断提高教师自身素质

教师自身素质的高低在一定程度上影响着课程的教学效果。如果教师的知识面过窄、知识更新不及时,在教学过程中很难进行扩展,学生也很难通过教师讲解了解到软件工程学科的前沿知识。在日常教学中,教师应该阅读大量相关书籍,综合多种教材,取长补短,精心备课,及时更新自身的知识储备,紧跟学科发展的前沿。同时,可以通过申请进修或参加企业或公司培训,提高自身的业务水平;参与课题研究或项目开发,提高自身的科研水平。知识丰富了,水平提高了,上课自然会游刃有余。

七、结束语

经过近几年的“软件工程”课程教学改革和实践,本课程的教学取得了较好的效果。从学生反馈的信息来看,普遍认为:课堂教学内容丰富,能够理论联系实际;通过典型案例将抽象的软件工程方法具体化、实例化,易于接受和理解,教学效果良好;在实践教学中通过项目开发的实训,体验了就业职位角色,明确了工作岗位的技术能力要求,为未来就业提供了一次项目演练的机会。通过本课程的学习,学生的学习主动性和实践动手能力有了很大的提高,在后续的毕业设计中很多学生都能够较好地运用软件工程的思想和方法完成系统的开发。

虽然教学改革取得了一定的成果,但在课程案例的选择和建设、软件工程实验平台的搭建、软件工程教材的编写等方面仍然需要进一步改革和探讨。在今后的教学工作中,在保证教学内容的实用性和先进性的同时,力争通过加大校企合作力度、开发大型项目模拟环境等途径为学生创造更好的学习和实践环境,进一步提高学生的实践动手能力,以满足计算机应用型人才培养的要求。

参考文献:

[1]杜娟,衣治安,刘志刚.计算机类专业应用型人才培养一体化教学模式的研究[J].中国电力教育,2011,(8):38-39.

[2]张海藩.软件工程导论(第五版)[M].北京:清华大学出版社,2008.

[3]苗清影,软件工程教学中的策略探讨[J].计算机教育,2004,(11):66.

[4]仁青诺布,格桑多吉.项目驱动式教学方法在计算机课中实施过程研究[J],西藏大学学报(自然科学版),2008,(1):67.

(责任编辑:刘辉)

作者:李秀芳 宋丽华 盛国瑞

上一篇:教师信息技术思考论文下一篇:科技计划项目管理论文