软件工程迭代式教学法论文

2022-04-30 版权声明 我要投稿

摘要:CDIOI程教育模式是近年来国际工程教育改革的最新成果。遵循CDIO理念的培养模式,探索基于CDIO理惫的本科《软件工程》教学改革,提出原型一设计一实现一测试(PDIT)的迭代式四步教学方法,指出教学过程中需要注意的问题。实践证明,该教学方法能有效改善课堂教学效果。下面是小编整理的《软件工程迭代式教学法论文 (精选3篇)》的相关内容,希望能给你带来帮助!

软件工程迭代式教学法论文 篇1:

软件工程一体化教学模式探讨与实践

摘要:软件工程是计算机科学与技术专业的一门专业核心课程,在分析该门课程传统教学过程中存在问题的基础上,提出一种集成“项目驱动+范型对照+案例复现+团队实践”的一体化教学模式。教学实践表明,该模式的实施已取得良好的效果。

关键词:软件工程;一体化;教学模式;项目驱动;范型对照;案例复现;团队实践

软件工程课程是高等学校计算机科学与技术专业的一门专业核心课程,它在整个课程教学体系中的重要性,随着软件产业对软件人才的大量需求而愈加突出。如何改革传统的软件工程教学模式,采用新的教学方法与手段,培养出既懂软件工程基本理论又懂实践的高质量软件人才是广大软件工程教师迫切而又急需解决的问题。在长期从事该门课程的教学过程中,我们对该课程教学模式进行了一些有益的探索与研究,提出集成“项目驱动+范型对照+案例复现+团队实践”的一体化教学模式。

1传统软件工程教学模式存在的主要问题

1) 重理论、轻实践。传统的软件工程教学过程中,教学内容重理论、轻实践。教学时不涉及或较少涉及具体的软件项目,学生在学习过程中很难将抽象的理论与实际软件项目联系起来,被动接受抽象理论的结果使得学生学习该课程的兴趣和激情逐渐消失。这与该课程工程实践性非常强的性质完全不相适应。

2) 重讲解、轻讨论。传统软件工程教学过程中,都是教师一味讲解软件工程的基本原理、理论,或者一味分析一些简单案例,不能发挥学生的主观能动性,没有让学生参与教材内容或案例的分析讨论,导致学生学起来非常枯燥无味,教师教起来也非常费劲。

3) 重技术、轻管理。软件工程应该包括软件开发、维护相关的技术与管理两方面内容,在传统软件工程教学过程中,由于课时紧张或者课时安排不当,总是只注重软件开发相关技术方面的教学,如软件生命周期模型、软件开发范型、各种需求与设计建模技术等,而对软件项目管理方面的内容只是很简要地一带而过。这样容易给学生一个错觉,让学生认识到只有软件开发技术才是最重要的,而软件项目管理是无关紧要的。事实上,一个软件项目的成功开发,依赖于技术与管理支持两方面,如果其中任何一方薄弱,项目将面临很大的风险。

4) 重SSA&D、轻OOA&D。由于教材编写上的安排以及教师本身的原因,很多学校在软件工程的教学过程中,总是先花费大量的精力讲解面向过程的结构化系统分析与设计方法(SSA&D),等到后面再来讲解面向对象的软件工程(OOA&D)方法时,发现时间不够了,要么根本不讲,要么只是蜻蜓点水式简单介绍一下,这样容易给学生造成一种只有SSA&D才是当前主要技术的错误认识,而对当前真正的主流技术OOA&D不重视。

5) 重程序、轻文档。传统软件工程教学过程中,除了理论课程的教学外,有些学校安排了一些实验课或实践课,但往往这种实验课或实践课最后的收效都不是非常理想。很多学生还是不能真正从心理上去认识软件工程实践的重要性,认为这门课程的实验或实践,最后无非是交一个实际可以运行的系统,所以把大量的精力都花费在编写程序代码上,而不是真正去遵循软件工程规范完成这个实验,他们认为文档是次要的,可有可无的。如果老师严格点,非要提交文档的话,他们也是在现有系统(程序代码)的基础上,去凑一些拙劣的文档应付。

6) 重个体、轻团队。传统的软件工程教学,通常强调按部就班的理论学习与实验,伴随着以程序设计语言为引导的编程实践,这种实践活动通常是以学生个体为单位进行的,它并没有充分教授学生从事软件开发所必需的方法和技巧[1]。现代软件工程,非常强调团队协作精神,而学生在我们的软件工程教学过程中很难体会到这一点。

以上传统软件工程教学模式中出现的诸多问题,我们认为有多方面的原因,如教授该课程的教师缺乏项目开发的实践经验,教学中过分偏重于理论和基础

知识的构建,致使所培养的学生解决实际问题的能力不强,导致学生所受教育与市场需求脱节[2];但一个更主要的方面是对软件工程教学没有一个正确的认识。软件工程是一门综合性、实践性很强的课程,对软件工程的教学,必须要改革传统的教学模式,努力探索一些适应当代软件工程学科发展的、广大学生普遍能够接受的、有一定实际成效的教学新方法、教学新模式。为此,在长期对该门课程的教学过程中,我们提出了集成“项目驱动+范型对照+案例复现+团队实践”一体化教学模式,并将这种模式应用于软件工程课程教学,取得了良好的效果。

2集成一体化教学模式

本模式关键在于突破传统软件工程教学过程中以知识传授为中心的教学模式,围绕能力培养展开教学,强调以提高解决问题能力为主的教学原则,它是在全面分析总结以往软件工程教学存在不足的基础上提出的,其核心是教授学生如何有效地实践,让他们了解并亲身体会开发过程。它不仅关注学生对基本理论、原理的掌握,更注意培养学生的动手能力、协作精神、职业操守等,如图1所示。

2.1项目驱动

项目驱动教学法的主要特点是“以项目为主线、教师为主导、学生为主体、注重实践”[3]。在教学活动开始,就应该选择一个来自于实际开发的项目或是经过改编简化后仍具有实际意义的软件开发项目,根据项目的推进,带动理论课程的教学,从而将该项目的讲解贯穿到教授该门课程始终。在教学过程中,教师要打破传统“一言堂”、“填鸭式”教学模式,启发学生进行积极讨论,通过讨论,让学生加深对软件生命周期理论及其各个阶段的理解,同时要求学生去对一些建模工具加以了解、学习、实践,使学生明白所学知识“可以做什么”、“应该做什么”和“如何做什么”。因此,项目驱动教学法能更大地激发学生的学习爱好和求知欲望,充分调动学生的学习积极性和主动性,从而培养学生自主学习、分析问题、解决问题的能力以及协作、创新、探索的精神。

2.2范型对照

从计算机专业本科生教学层面来说,软件工程中对软件的开发范型,主要教授面向对象软件开发范型与结构化软件开发范型[4],为了使学生对这两种开发范型的不同特点有一个全面的认识,我们上课的时候,在项目驱动的环境下,通过同一个项目,结合软件生命周期模型,分别按照传统的结构化范型(SSA&D)与面向对象的范型(OOA&D)来对照讲解(见图1范型对照部分),如结合瀑布模型讲解SSA&D,结合喷泉模型讲解OOA&D,这样学生对结构化范型的阶段性、顺序性以及面向对象范型的迭代性、无间隙性有一个非常清晰的理解。

2.3案例复现

软件工程的案例复现[5]是指利用一些软件企业已开发成功的软件工程项目,在去掉一些商业秘密后,学生在企业管理人员、工程人员的指导下,将原来的项目重新再做一遍,让学生全程深入地体验软件开发工程化的真实过程。当然这要求我们必须与一些知名的软件企业有着必要的密切联系,条件可能的话,要多建立一些这样的校外实习基地。同时,在选取案例的时候,根据不同学生的熟悉程度与感兴趣的方面有针对性地选取,如我们有针对性地选取了信息管理系统类、嵌入式类、基础软件类3个类型的软件。通过这种对企事业单位中的实际项目或从中抽取出的模拟项目为实践中心的案例复现,为学生创造一个仿真环境,将工程的思想、方法和技术应用其中,使其在课堂上就能接触到实际问题和环境,从而学会在复杂条件下利用所学理论解决实际问题。

2.4团队实践

软件工程的教学实践证明,在教学实施的过程中,我们不仅要教授学生相关的软件工程基本原理、理论、实践知识,还要能够加强学生团队合作能力培养。所以,在案例复现的实施阶段,除选好案例外,还要学生在复现原有项目的过程中,形成一个实践团队,即在软件企业工程技术人员和教师的指导下,要求学生建立“项目小组”,每组不得超过5人,每个项目小组选出项目负责人或项目经理,由其召集项目组成员讨论、选定开发项目,并将项目开发各阶段的任务明确并落实到个人,小组成员分工合作,共同完成该项目的全部任务。开发过程中,每个成员各扮演一个角色,也可以扮演多个角色,或者轮流扮演角色。这种“以教师为主导,以学生为主体”的思想[6],让学生自主管理,分工协作,使其熟悉了软件项目的规范化开发过程,同时,编程能力、文档撰写能力和表述能力等都得到了一定提高。这既锻炼了学生参与项目管理的能力,又训练了学生之间的团队合作精神。

在实施以上集成一体化教学模式过程中,我们还注意到以下几点:在讲解软件开发范型的时候,在采用范型对照的同时,特别给学生指出,SSA&D与OOA&D的优点与不足,并指出后者已经成为当今软件开发的主要范型,并且将其作为主要教学内容来传授;在讲解软件开发各个阶段时,强调软件建模与组织文档的重要性,特别强调程序设计应该属于软件开发生命周期的软件实现这一阶段,软件工程不单是写程序,同时要求学生能利用有效的UML建模工具如Rational Rose或Microsoft Visio 进行系统建模[7],这样可使教学内容具有可操作性和趣味性;在团队实践的过程中,结合软件项目管理的基本知识,如人员组织、成本控制、计划控制等,指导学生有意识加强软件项目管理,认识到软件项目管理在软件工程中与软件开发技术同等重要。

3结语

通过这几年对以上软件工程集成一体化教学模式的实施,我们调查发现,学生对该门课程的学习兴趣日益增强,同时对该门课程重要性的认识也不断增加。我校2003级、2004级、2005级、2006级计算机专业学生对软件工程课程教学模式满意度的调查结果,如图2所示。

其中,2003级、2004级的学生是采用传统的教学模式,教师讲解软件工程的基本原理、理论,一味分析一些简单案例,不能发挥学生的主动性,学生满意度并不是很高。从2005级开始,我们采用了上文所提的一体化集成教学模式,可以看到,学生的满意度都能达到90%以上,受到了广大同学的认可。当然,在以后的教学实践中,我们也将进一步探索,使这种教学模式更好地得到完善。

参考文献:

[1] 周勇,黄国兴. 项目驱动的基于过程的小组开发在软件工程教学中的运用[J]. 计算机工程与科学,2006,28(A1):92-94.

[2] 王丽芳. 对“软件工程”教学改革的探究[J]. 计算机教育,2009(10):26-27.

[3] 李伟波. 项目驱动式的“软件工程”教学模式研究与实践[J]. 中国电力教育,2009(12):45-46.

[4] 齐治昌,谭庆平,宁洪. 软件工程[M]. 2版. 北京:高等教育出版社,2006:63-78.

[5] 林丕源,刘才兴. 本科软件人才培养探索与实践[J]. 计算机教育,2009(16):77-79.

[6] 孙艳春,王立福,梅宏. 软件工程本科教学的探索与实践[J]. 计算机教育,2009(16):112-115.

[7] 刘渝妍,解永刚. 软件工程教学情况调查分析与改革对策探讨[J]. 福建电脑,2009(8):29-30.

Discussion and Practice about Integrated Teaching Pattern of Software Engineering

WU Guo-dong, TU Li-jing

(Information and Computer College, Anhui Agricultural University, Hefei 230036, China)

Key words: Software Engineering; integrated; teaching pattern; project driving; model comparison; case reappearance; group practice

(编辑:姚彦如)

作者:吴国栋 涂立静

软件工程迭代式教学法论文 篇2:

基于CDlO理念的本科《软件工程》教学改革研究

摘要:CDIOI程教育模式是近年来国际工程教育改革的最新成果。遵循CDIO理念的培养模式,探索基于CDIO理惫的本科《软件工程》教学改革,提出原型一设计一实现一测试(PDIT)的迭代式四步教学方法,指出教学过程中需要注意的问题。实践证明,该教学方法能有效改善课堂教学效果。

0 引言

我国高等工科教育迫切任务是尽快培养与国际接轨的中国工程師。然而我国工科的教育实践中还存在不少问题,例如重理论轻实践、强调个人学术能力而忽视团队协作精神、重视知识学习而轻视开拓创新的培养等问题㈣。这种现象在本科计算机与软件工程学科的教学过程中尤为明显。

《软件工程》作为本科计算机相关专业的核心专业课程,具有理论与实践紧密结合、专业基础与综合能力并重的特点。对培养合格+优秀的软件工程師具有决定性意义,也极大影响着中国软件行业的未来。然而。当前本科《软件工程》教学过程中存在着诸多问题,例如只注重理论的讲授而忽视动手能力的培养,只开设理论课时而放弃实践环节、缺乏项目训练机制、教学方法落后导致课堂教学效果差等。

1 CDlO概述

根据CDIO官方的定义:CDIO代表构思(Coneelve)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标。国内关于CDIO的研究与实践最早起源于广东省的汕头大学。从2005年起,汕头大学工学院在常务副校长顾佩华教授的指导下,开始学习研讨CDIO工程教育模式并加以实施,现在已经取得明显的效果。在此之后,CDIO模式迅速在中国其他高校得到推广,开展了各种形式的围绕CDlO的研讨、推广和培训活动。第一批18所CDIO试点高校名单于2008年12月由教育部高教司在CDIO工程教育模式试点工作会议上确定,随后,第二批21所CDIO试点高校在2010年4月产生,全国共计有39所高校在开展CDIO试点工作。这种规模还在继续扩大。

2 基于CDlO理念的本科《软件工程》四步教学法

遵循CDIO理念的培养模式,本文探索基于CDIO理念的本科《软件工程》教学改革,根据《软件工程》课程的特点,提出了基于项目案例的原型一设计一实现一测试(PDIT)的迭代式四步教学方法。

2.1 原型

对每个项目案例,首先引导学生思考如何理解并运用《软件工程》中讲述过的软件开发方法的理论知识,然后鼓励学生选择其中一种开发方法进行尝试。在此基础上,对基础不同的学生,提出不同的要求。对基础一般的学生,鼓励他们遵照已有的课本知识,进行原型学习。对基础较好的学生。引导他们去查阅课外资料,研究最新的开发方法,并运用在项目开发中。

2.2 设计

在设计过程中,引导学生自由组合。构成一个开发团队,但给予一定的限制,即进行男生女生搭配,基础薄弱与基础良好搭配,基础较好的学生偏重项目管理,这样使得团队既能协调完成工作。又能使每位学生都能收获知识。对于软件设计。引导学生理解教材中常用的设计方法和设计原则,然而给予一定的示例参考。让学生首先进行模仿设计。在此基础上,鼓励每个团队查阅课外资料。研究最新的软件设计方法和设计泛型,并亲自实践这些方法,从而达到最佳的学习效果。

2.3 实现

实现是学生最感兴趣也是最能看到实际效果的软件开发阶段,在此阶段要引导学生学习《软件工程》中优秀的编码方法和良好的编码规范,督促学生认真完成编程任务。鼓励团队负责人按照项目模块进行适当的分工,并对分工结果给予指导和评价,对不合理的分工给予纠正,并促使团队成员思考如何合理的分工。对于编码过程,引导学生温习以往的编程知识,树立良好的编程习惯,引导学生自我鼓励,按照进度完成编码任务,养成进度和成本观念。

2.4 测试

测试工作是传统软件工程教学过程中最不受重视的一个环节,然而,当前的软件开发行业,对于软件测试的要求越来越高,相应的,对于软件测试人员的素质要求也越来越高。在这个环节,要引导学生学习《软件工程》中成熟和经典的测试方法。掌握这些测试理论和技术并运用在项目测试中。在此基础上,鼓励学生去查阅课外资料。研究最新的测试方法和自动化测试工具,并试用这些测试工具辅助软件测试过程。同时,在软件测试环节,对一些复杂的测试工具给予一定的教学指导。

3 结语

遵循CDIO理念的培养模式,本文探索基于CDIO理念的本科《软件工程》教学改革,提出了基于项目的原型一设计一实现—测试的迭代式四步教学方法,指出了教学过程中需要注意的问题。通过在本科生《软件工程》课堂的教学实践,证明这种基于项目案例的四步教学方法可以很好地调动学生学习的兴趣和积极性。有效提高了《软件工程》教学的效果。

参考文献

[1]Crawley,E.F.Malmqvist,J,Ostlund,S.Rethinking Enginee-ring Education:The CDIO Approach,Springer,New York,2007

[2]吴鸣,熊光晶,以工程能力培养为导向的工程教育改革研究[J].理工高教研究,2010,29(3):54~59

[3]中国CDIO网站,http://www.chinacdio.cn.

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

[5]丛飚,陈卓然,《软件工程》实验课程改革与实践[J].现代计算机,2011(6):42~44

作者:梁瑞仕 曾荔枝 杨亮

软件工程迭代式教学法论文 篇3:

软件工程专业“本硕联动”实践基地建设

摘 要: 针对软件工程专业校内基础实践基地和校外专业实践基地建设中存在的各类问题,首先提出“本硕联动”实践基地的总体建设思路,然后从本硕培养模式的改革、合作项目及人才的引进以及管理制度建设3方面说明实践基地建设中的具体举措。

关键词:本硕联动;产学一体;软件工程;实践基地建设;建构主义

0 引 言

教育部、国家发展改革委和财政部的相关文件指出:培养适应专业岗位的综合素质,引导和鼓励行业企业全方位参与人才培养,充分发挥行业和专业组织在培养标准制订、教学改革等方面的指导作用,支持校所、校企联合建设拔尖创新人才培养平台,完善校所、校企协同创新和联合培养机制。教育部和人力资源社会保障部的相关文件也指出:共同建立健全实践基地管理体系和运行机制,注重在实践中培养研究生解决实际问题的意识和能力。这充分说明了软件工程专业实践基地建设的紧迫性和必要性。

1 现有问题分析

由其培养目标、培养方式等可知,软件工程专业硕士研究生和本科生教育强调通过团队学习、案例分析、现场研究、模拟训练等方法,提升学生的职业能力和工程能力,尤其是分析和解决实际问题的能力,而当前软件工程专业实践基地建设中存在的种种问题[1-9]影响面向产业的专业硕士和本科毕业生的有效培养。

1)校内实践基础建设中的问题。

软件工程专业硕士和本科生期望培养能主导和协调项目实施(即具有较强的分析、设计和管理能力)的高层次应用型专门人才,这些综合能力必须在真实的项目环境下进行培养,如培养学生的管理能力,如果没有管理对象,管理能力的训练就无从谈起。工程化、产品化和商业化的真实项目纷繁复杂、时时变化,约束因素强、质量要求高,因此校内实践项目多以虚拟项目为主,难以模拟实际工程化、产品化和商业化项目的非线性环境,难以训练学生在未来职业发展中需要的工程实践能力。

2) 校外专业实践基地建设中的问题。

软件工程专业硕士和本科生期望培养面向中高端的系统分析、设计和管理人才(即行(企)业发展的核心所在),但在当前的现实情况中,一方面,各行(企)业有自己的生产任务和进度安排,在学生能力不足和实习时间较为有限的情况下,行(企)业方让学生真正参与实际生产的动力不足,导致学生无法获得真实有效的训练和培养机会;另一方面,行(企)业方人员的时间精力有限、理论水平参差不齐,严重缺乏水平匹配的指导老师,难以真正指导出專业理论水平较高和理论联系实际能力较强的学生。

2 总体建设思路

为了克服校内实践基础建设和校外专业实践基地建设中存在的上述问题,我们尝试以现有软件工程创新实验室为基础,建立产学—本硕一体化的实践教学基地。本基地兼顾产学研,以发挥价值、按时交付、质量保证和互惠共赢为导向,与行(企)业合作建立研发中心,把行(企)业的研发项目和研发人员按需引入软件工程创新实验室,结合具有较高专业理论水平的本校教师,共同研究和开发实际软件产品,为软件工程专业硕士研究和本科生的实践教学创建一个工程化、产品化、商业化的真实项目环境。

软件工程创新实验室现有的本科生不仅能为软件系统的实际开发提供足够的技术人员,为软件项目的具体实施提供充分的人力保障;还能为计算机类专业硕士研究生的项目管理能力训练提供天然的实践对象,同时本科生的综合能力也能在项目实施过程中得到训练,从而实现本硕双方的价值发挥和互惠共赢。“本硕联动”实践基地建设模型如图1所示。

(1)行(企)业:行(企)业擅长市场运作、产品规划、推广实施与服务、项目管理,与学校全面协作,可以充分利用高校在理论、信息和技术方面的优势,开发出技术先进的相关产品。相对自行组建软件研发团队而言,利用研发基地的风险更小、综合成本更低。

(2)学校(教师):根据本课题,高校教师的主要任务是和行(企)业的管理人员、技术人员等一起进行需求分析和系统设计,共同指导专业硕士研究生的产品开发。一方面,可以保质保量、定制式地完成专业硕士和计算机类(尤其是软件工程)本科生的教学任务,培养出行(企)业欢迎、高水平的本科生和研究生;另一方面,也有利于研发基地获得相关的科研项目和科研经费,促进研发基地的发展和教师学术水平的提高。

(3)本科生:计算机类本科生跟随校内外的专业指导老师和专业硕士研究生,全程参与软件系统的需求分析和系统设计,重点专注产品的实现和测试;在真实的软件项目环境中,接触行业前沿技术,充分了解具体应用领域的相关领域知识,提高专业知识的理论水平,锻炼理论与应用相结合的综合能力,从而提高有针对性就业和后续职业发展的核心竞争力。

(4)硕士生:专业硕士研究生主要协同校内外的指导老师(即“双导师”制:校内的学术导师,要求具有较高的科学研究水平,主要保证硕士生的基本学术研究;校外的工程导师,要求具有丰富的项目开发经验,主要负责硕士生的项目工程实践)完成软件项目的需求分析和系统设计,带领计算机类(尤其是软件工程)本科生完成产品的实现和测试,对其所在的项目小组进行综合管理。在此过程中,专业硕士研究生不仅可以适度了解(甚至全程参与)行(企)业的市场运作、产品规划、推广实施与服务、项目管理,在真实的项目环境中锻炼分析、设计、管理等能力,还可以在以目标为导向的环境中锻炼发现问题、分析问题和解决问题的能力,成为行(企)业真正需要的应用管理型高层次人才。

3 基于建构主义的具体建设举措

学习是用现有经验和知识解释新接受的信息,这一过程即为建构。由于每个人的现有经验和知识不一样,因此对同样的新信息,不同的人学习到的结果(即对新信息的解释)是不一样的。没有解释就没有学习,纯粹的记忆没有任何学习产生。不同的人如何做到根据同样的信息获得基本一致的解释,关键在于行动,而行动、反馈、修正解释三者迭代形成的闭环可以使所有人对信息的解释趋于一致。反馈分为正面反馈和负面反馈,正面反馈对现在解释进行确认和强化,负面反馈促使提出新的解释方案。从这个意义上来说,“错误”比“正确”对于学习的意义更大。从构建主义观点出发,教育有两大目标:引导学生对新信息进行解释(不一定是正确的解释);训练学生构建解释的能力(学习解释的一般规律)。前一个目标强调学习的结果,后一个目标强调学习的方法。学习结果的价值有限,学习方法的价值更为关键,故而应该引导学生在不断的实践中自我思考和自我提升。基于建构主义的建设思想如图2所示。

据图1所示总体思路和图2所示基本思想,我们提出以下3个方面的具体建设举措。

3.1 本硕培养模式的改革

1)软件工程专业硕士研究生的培养模式。

由于研究生的规模相对本科生小,课程体系相对简单,且研究生具有本科教育基礎,更加有利于工程实践教学的深度改革,因此我们将现有的研究生课程学分划分为实践学分和理论学分,设计了“实践先行、理论提升、环环相扣、专人定制”的硕士研究生培养模式。

根据硕士的培养周期,研究生入学面试时,由学术导师和工程导师共同组成的面试小组根据每个学生的具体情况分别给出理论基础等级(如优、中、及格)和工程技能等级(如项目管理级、分析设计级、程序实现级),再由硕士生自己的学术导师和工程导师综合这两个元素有针对性给出“专人定制”的培养计划(例如:项目管理级研究生可以直接担任项目小组长,而程序实现级研究生必须从基本编程开始做起)。

在课程设置方面,尽量以小课(课时数少于20)、微课(课时数约为10)为主;时间开设也应灵活,因为项目开发中涉及客户沟通,为了避免时间冲突,可以将理论课程开设在晚上或者周末等。由于软件工程专业硕士研究生的培养定位为高层次应用研究型人才,课程内容重在引导(即解决研究生在项目实践中遇到的理论瓶颈问题)而非知识的讲授,因此需要先将其投入项目中锻炼,让学生在具体的工程实践中不断遇到问题和思考解决方案,再利用理论课程从科学的角度对其进行解惑和提升。我们因而提出基于建构主义的“实践先行、理论提升”,研究生入学后立即分入不同的项目小组开始项目研发,修得实践学分后才能够选修相对应的理论课程,如在选修高级软件工程这一理论课程以前必须获得高级程序设计这一实践课程的学分。由于课程课时较少,一门课往往能够在几周内完成,因此一学期内学生可以不断地在实践课和理论课之间切换,环环相扣,从而实现理论研究与工程研究的双向循环。

在最终考核方面,将项目开发过程中的综合表现纳入研究生的毕业要求,即由学术导师负责毕业论文的质量考查,给出学术论文成绩;由工程导师监督毕业设计(即毕业论文所依托的软件系统)的完成,全面考查研究生的客户沟通、人员管理、工作协调、需求分析、系统设计、编程实现等各方面能力,给出工程实践成绩,共同完成专业硕士学术和工程两方面素质的考核。

2)软件工程专业本科生的培养模式。

在“本硕联动”的实践基地建设框架中,本科生是项目小组的主要构成部分,本科生的传承式培养是核心环节。教师可依据本科的培养周期,采用 “大一选拔、大二轮岗、大三巩固、大四职业、以老带新、优胜劣汰”的培养模式。

工程导师根据专业任课老师的推荐和学生在专门的笔试、面试环节的表现,在大一新生中选出具备项目开发基本素质的学生进入实践基地培训生库;大二这一学年,这些培训生不参与具体的项目组,而是作为观察者在各个项目小组之间轮岗,强化学习项目开发所需的专业知识和技能;大三的时候,所有培训生全部进入不同的项目小组,开始实打实地程序设计与编码实现,在具体的代码和文档中不断巩固前期掌握的知识和技能;经过前面两年在实践基地的积累,大四的学生大致已经具备程序员的基本技能和职业素养,此时实践基地用一般软件公司的职场要求对其进行规范化管理,并可以在给予其实践学分的基础上根据项目和学生的具体情况给予学生一定的物质报酬。

在具体的项目开发过程中,不同水平的学生各司其职,遇到问题先自己解决,再相互探讨,然后请教项目小组中高层次的学长,最后寻求工程导师的指点;每周固定举行一次例行的讨论会,研究生负责各项工作的部署和学术价值的分析,大三、大四学生负责总结其所承担任务中的得失与所思所想,大二学生可以就其关心的内容自由提问,学术导师和工程导师负责引导讨论会的进程;每学期一考核,淘汰无法升级的不合格者,再从原先未进入实践基地培训生库的学生中引入新人进行补充。

3.2 合作项目及人才的引进

学校可引入有一定技术实力和市场资源的软件公司,签署校企合作框架协议。根据“本硕联动”的人才培养模式,企业首先为学校提供一定的项目经验丰富(如具有10年以上开发经验)的工程人员,作为本、硕生的工程导师,进而建立专门针对本硕生项目开发的工程导师库,在条件合适时,将具体的软件项目引入研发实践基地。首先,由学术导师充分考虑理论、技术、方法和工具的先进性,科学选择最优的解决方案;再由工程导师对项目进行合理的任务分解,并将开发过程规范化、正统化和标准化;最后由两位导师共同商定项目的人员设置,指定1~2名研究生和若干本科生组成一个项目小组。

3.3 管理制度的建设

研发实践基地的健康发展,关键在于按时、高质量地完成软件项目的开发,才能与行(企)业建立充分信任的长期合作关系。软件项目顺利完成的关键在于研发团队的有效管理,但由于学生的非职业化特征和身份认知,教师的身份认知与传统定位、技能有限、经验欠缺等原因,以高校教师和学生为成员的研发团队管理难度较大,尤其需要建立完善和明确的管理制度,确定相关各方的职责、权利和行为规范,做到奖惩分明、利益分配合理。

4 结 语

作为大数据环境下工程实践的主力军培养专业,软件工程本硕教育中对学生工程基本思想和项目开发技能的培养不足一直为业界所诟病、为教育研究者所担忧。思想必须在实践中形成,技能需要在经历中打磨,因此创建一个工程化、产品化和商业化的真实项目环境对软件工程专业本硕生的实践教育显得有效而必要。

我们针对软件工程专业校内外实践基地建设中的一系列问题,提出“本硕联动”实践基地的建设思路及其措施;以发挥价值、按时交付、质量保证、互惠共赢为导向,按需引入软件行业的真实项目和研发人员,有效结合高校的理论知识根基和专业师资队伍,打造工程导师与学术导师相配合的本硕生“多导师”团队;双导师协同指导专业硕士生,硕士生具体负责以软件工程专业本科生为主体的项目团队,共同研究、实际开发兼具学术价值和实用意义的软件产品,产学一体,进而培养出软件开发素养良好的高质量应用技术型本科生和项目管理能力过硬的高层次应用研究型硕士生。

参考文献:

[1] 曾明星, 王晓波. 基于云计算的软件工程专业校企合作实训平台构建研究[J]. 现代教育技术, 2013(1): 107-112.

[2] 张杨, 徐传运, 王森. 面向课程群的软件案例库建设方法研究[J]. 计算机教育, 2015(19): 35-38.

[3] 李祥. 软件工程专业实训教学质量保障模式探索[J]. 东华理工大学学报(社会科学版), 2013(1): 87-90.

[4] 郭威. 基于CDIO的软件工程综合实训课程的改革[J]. 实验科学与技术, 2014(5): 115-117.

[5] 申天恩. 应用型高校经管类实验教学体系的构建与实施[J]. 实验室研究与探索, 2013(6): 24-29.

[6] 朱磊, 徐传运, 张杨. 系统分析与设计课程的双向驱动案例教学法[J]. 计算机教育, 2014(5): 84-86.

[7] 张小川, 周龙福, 李发陵, 等. 基于创新人才培养的实验室建设实践探究[J]. 软件导刊, 2016(2): 189-191.

[8] 徐传运, 张杨, 王森. 针对JAVA程序设计的仿真教学法[J]. 计算机教育, 2013(6): 99-102.

[9] 刘征海, 李萌, 肖建田, 等. 基于三学期制的软件工程专业实践教学[J]. 计算机教育, 2015(8):100-102.

(编辑:宋文婷)

作者:徐传运 李刚 张杨 张小川

上一篇:竞选药监科长优秀演讲材料下一篇:竞聘演讲稿通信公司副总经理