APP下载

软件工程专业“理论+实训”培养模式的探索

2016-05-14刘庚陈滨黄彬彬张万军

中国科技纵横 2016年6期
关键词:模式实训理论

刘庚 陈滨 黄彬彬 张万军

【摘要】杭州电子科技大学在软件工程教学改革的过程中提出了“理论+实训”的培养模式旨在促进和提高我校软件工程专业的本科培养质量,并开发了相应的实训平台TPS。本文从取得的成绩及存在的问题两方面对“理论+实训”的培养模式进行了全面的总结,并通过问卷的形式收集同学们对该教学模式的评价。

【关键词】软件工程培养模式“理论+实训”模式

1引言

软件工程专业是一个实践性非常强的专业,其很多的专业课和专业选修课具有很强的实践性。这些课程,如《软件工程》、《软件质量保证与测试》、《基于CMMI的软件工程》、《群体软件工程-TSP》、《个体软件工程PSP》,老师讲授的时候觉得是在“空讲理论”,而对于没有任何软件工程实践经验的学生来说是像在听“天书”。但这些课程开设的成功与否直接影响到毕业生的质量、竞争力和未来发展,直接影响学校的教学质量和学校声誉。杭州电子科技大学在软件工程教学改革的过程中提出了“理论+实训”的培养模式,并搭建了实训平台,旨在促进和提高软件工程专业本科省的培养质量。

2 原有培养模式综述

IT技术改变了世界,软件已经无处不在。对于软件工程师的培养是各个国家IT教育的重中之重。如何培养合格的、优秀的软件工程师是教育界研究的热点。在软件工程专业的教育上,各个国家都在进行不懈的探索,其中比较流行的3个培养模式是:

对软件人才的培养,传统的软件人才培养模式类似于瀑布软件开发模型,即瀑布型软件人才培养模式。在我国高等院校软件工程专业的教学模式中,大学4年的培养周期一般是:公共基础课—〉专业基础课—〉专业理论课—〉毕业设计(论文)与实践。这种单向的、线性的培养模式,缺乏反馈与迭代,这种模式对产业和技术快速发展变化缺乏有效的弹性配合,与产业发展主线难以形成有机融合。

另外有人提出螺旋式软件人才培养模式,这种模式打破先基础后产业、先理论后实践的培养过程,建立理论、实践、工程的培养过程,整个过程以教学环节、实验教学环节、工厂实践环节形成能力培养的螺旋学习环节,见图1所示。螺旋式培养模式是一个比较理想的IT人才培养模式,但在具体的实践上却遇到了重重困难,其主要原因是:一是去企业实习必要性不强;二是软件人才培养的校企合作存在巨大困难;三是螺旋式培养模式过于重视工厂实践,不适合培养高水平的软件分析师和架构师;四是由于扩招,专业学生太多,全部安排去公司实习是不可能完成的任务。

从2000年起,麻省理工学院和瑞典皇家工学院等四所大学组成的跨国研究获得Knut and Alice Wallenberg基金会近2000万美元巨额资助,经过四年的探索研究,创立了 CDIO 工程教育理念。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品研发到产品运行的生命周期为载体 ,让学生以主动的、实践的、课程之间有机联系的方式学习工程。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标。迄今为止已有几十所世界著名大学加入了CDIO组织,按CDIO模式培养的学生深受社会与企业欢迎,取得了良好效果。

3 杭电软工的理论+实训的模式

杭州电子科技大学从1984年就开设计算机科学与技术专业(软件方向),2015年以IT特色进入浙江省重点建设的5所大学行列,在中国的IT教育领域具有举足轻重的地位。为了巩固及加强我校在培养高质量的软件工程专业人才方面的领先地位,以培养工程实用创新型人才为目标,前软件工程学院以先进的教育理念为指导,通过借鉴CMU/SEI软件工程类人才培养体系,与CDIO教育体系结合,在2010-2014期间进行《基于CMMI的软件工程》精品课程建设,构建了软件工程专业课程教学的“理论+实训”教学方法。

3.1 取得的成果

课程组进行立体化教材的建设和实践,自主开发了“一个网站,两个课件,三个平台”。彻底改革传统教学结构,实现了有效培养面向企业岗位技能的E-learning教育体系。构建起了一个相对完备的立体化课程体系,建设了一个“教师易教、学生乐学、技能实用”的多元立体化教材系统及内容丰富的网络资源系统。

为了满足国家卓越工程师中软件工程培养的需求,特别是对软件工程的实践部分,以微软的Windows Server 2008 R2、SQL Server 2008作为基础软件平台,对微软的SharePoint Service 3.0和Team Foundation Server 2010进行深度定制,开发了一套合适于团队项目开发实训、班级统一授课(普通专业课)实训的过程框架。该框架在授课过程中,可以根据不同专业课的需要进行个性化定制,目的是实现教与学的资源共享、知识共享、无障碍沟通。

学生在机房输入http://10.65.7.81/sites/portal/CMMI/default.aspx(目前该平台已经转移到“杭电云研究中心的”云平台上,网址改为http://tps.hdu.edu.cn),然后依据要求输入用户名和密码即可进入学院的实训平台。根据自己所学的课程,可以选择进入相关的课程网站,在课程网站上可以访问和下载相关的课程资料,同时也可以进入自己的班级课程网站或实训小组网站。

在4年的重点课程建设中,严格执行“《基于CMMI的软件工程》课程师资队伍培养计划”,培养了一个优秀的教学团队。教学队伍共12人,是一支知识结构、年龄结构、职称结构及学历结构比较合理的队伍。其中具有高级职称教师有6名,占总人数的50%,高级职称教师平均年龄为45岁,职称结构合理;课程组教师大部分年龄在40岁以下,均具有硕士以上学位,年龄结构学历结构合理。《基于CMMI的软件工程》课程组教师四年来多次参加CMU/SEI举办的培训,有3位教师拿到CMU/SEI认证证书;另外,课程组中有多位教师来自国内知名IT企业,具有丰富的软件开发经验。

四年来,课题组成员总共主持教学类项目5项;取得教学成果及荣誉2项;公开发表教改论文7篇;参加SEI及移动应用开发培训2次;出版了《基于CMMI的软件工程教程》、《基于CMMI的软件工程实训指导》、《ASP.NET案例教程实训指导》和《基于CMMI的软件工程及实训指导》等教材4部,其中《基于CMMI的软件及实训指导》为浙江省十一五重点建设项目教材。

2015年6月12日-19日期间我们利用“问卷星”问卷调查网络进行一次问卷调查,共收集了58份电子调查问卷。首先我们对同学们是否曾经使用过该实训系统进行调查分析,其中35个同学以前没有使用过该系统,23个已经使用该系统,对该系统具有一定的了解;然后对实训课程的总体评价是,27个对该系统评价等级为“优”,其它27个为“良”,4个“中”,如图2所示。

我们在问卷中设计了“你认为实训系统有哪些优点”的可多选问题,给出4个勾选项及2个随意填写项。4个勾选项目是:能满足系统实训要求、系统很实用、功能完整、说明书和系统是匹配。在这58份调查问卷中,同学反馈结果如图3所示。67.24%勾选了“实训系统能满足课程实训的要求”,51.72%的同学勾选了“系统很实用”。37.93%的同学勾选“功能完整”。22.41%的同学勾选“说明书和系统是匹配的”。可见同学们对本实训系统是相当满意的。

3.2 存在的问题

《基于CMMI的软件工程》在课题组多年的悉心建设下,尽管取得了一定的成绩,但仍存在一些课题有待改进,这主要表现在以下几个方面:

由于软件工程具有很强的实践性,课程的实训内容不但要巩固理论又要接实践的地气,这使得任课教师在确定实训案例的时候难以把握案例的难度和工作量,实训案例的吸引力和后续的可继续利用性也难以保证。部分实践材料参考了现有的公开资料,学生可以轻易搜寻到答案。所以确定新案例及案例库的建设是软件工程实训的一个重要的课题。目前市面上有很多的相关的图书,如李龙澍等老师编写的《软件工程课程设计》[3]及熊庆宇编写的《软件工程实训项目案例I》[3]及《软件工程实训项目案例II》[4]等可以做为重要的参考资料。

教学计划上规定的课外实训学时难以落地。以《基于CMMI的软件工程》课程的实训为例,实训内容涉及(1)熟悉开发环境、(2)组建项目小组、(3)项目立项、(4)需求收集、需求分析、(5)项目详细策划、(6)建立配置库、(7)系统设计、(8)系统实现与测试、(9)测试计划及测试用例、系统测试、(10)项目总结等10项内容。教学计划安排是32学时,但实际完成则需要76学时。这76个学时是按照项目小组的人数、在大家分工合理密切配合的前提条件下才能完成。32学时实训效果是可控的,必定有固定的场地,有老师的监督指导。而其余44课时的课外实训,由于没有固定的场地和环境,学生只有自找场地。本来在固定的场地固定的群组完成的实训,由于时间和场地的原因,同一项目组的同学如盘散沙,教师也是鞭长莫及,原本设立的项目小组组长也无力监督本小组的同学,导致实训时间和效果难以得到保证,学生无暇领会实践的过程在实践中的重要意义。

根据教学经验,《基于CMMI的软件工程》实践课程师生比不能超过1:40,即每40个学生配置一名辅导教师。但实际的授课过程中,受到课程教务安排和学生选课倾向的影响,往往大于这个比率,使得教学难度增加、实训效果很难达到良好的预期效果。

基于传统的一课一练的思路,我们对《软件工程》、《软件质量保证与测试》、《基于CMMI的软件工程》、《群体软件工程-TSP》、《个体软件工程PSP》等分别设置了实训内容,但实训内容有很多相同的部分,大多都是开发一个某某系统,需要完成相同的软件周期,其差别仅在于:(1)系统规模的大小及难度不同;(2)所关注的侧重点不同,如基于CMMI的软件工程关注过程文档,PSP关注与开发人员自身的相关内容。这些课程的实训共有的现象是:系统的开发成果粗糙,系统的架构、功能和界面等雷同,实训时间不足。未来可以通过课程间的整合,多门课程围绕一个实训案例开展联合实训。

现在“挑战杯”、“创业大赛”、“服务外包”等创业类竞赛种类繁多。那些有想法、学习成绩好、动手能力强的学生成了同学中的明星和老师眼中的红人。他们早早主动或被动的被一些项目导师给“求包”或“被包”了。在课程的实训中有些学生直接提出不参加工程实训的申请,理由也很简单及充分:“我们也在做类似的工作”;有些直接拿出自己的参赛题目直接要求“自我命题”,这类项目往往代码都有了,倒过来补写软件开发过程中的相关文档。

在2015年6月12日至19日的调查问卷中,我们同时也设计了“你认为系统有哪些缺点”的问项,希望从同学们那里听到意见、批评和建议。和问题3的设计一样,我们也是给出4个勾选项目及2个随意填写的项目。反馈的结果如图4所示。结果显示53.45%的同学对于“进入系统要输入很长的网址”这个缺点有强烈的共鸣;32.67%的同学认为说明书不清晰;6.9%的同学认为说明书和实际功能不匹配;32.76%的同学认为有些功能和实际不匹配。

我们在问卷调查中专门设置了一项“对于基于CMMI的课程实训,你的其它建议”来弥补格式化问卷的缺陷,让参与调查的同学对我们的实训系统提意见。虽说这是个可选回答项,但我们收到21个同学的反馈,占36%。同学们的回答基本上可归纳如下几个方向:关于系统功能,有4位同学反映:“实训系统有很多功能不完善、系统有点太过复杂、一些不必要的功能应该删去”;关于实训内容安排方面有3位同学建议:“多些实例讲解、多给一些前辈的实训经验和例子、可以用一些案例来分析,这样我们理解的更好!”;关于实训的组织方面有4位同学对于实训过程中的分组进行了吐槽,认为“应该合理安排实训时间及具体任务,应该重视如何分组,不然有些人忙死,有些人“打酱油””;最后关于实训中实践和理论进行融合方面有3位同学建议:实训也要注意加强理论指导,而不是直接“照葫芦画瓢”,不是只把模板DOWN下来,机械的填写内容后再UPLOAD上去。

4 结论和展望

软件工程专业教学实训平台为学生的实训搭建了坚实的基础,为杭电的软件工程人才培养做了很多的开端和铺垫。目前已经完成了“硬件”建设部分,现在已经进入了“软件”建设阶段,我们认为未来应该在此良好的“硬件基础”上,着力研究课程群的划分、各科内容的相互划分和协调,授课教师小组的建设及案例库建设等。

参考文献:

[1]李龙澍,郑斌.软件工程课程设计.北京:机械工业出版,2010.

[2]李超,卢军.螺旋式软件人才培养模式探索与实践.北京:科学出版社,2008.

[3]熊庆宇.软件工程实训项目案例I.重庆:重庆大学出版社,2013.

[4]熊庆宇.软件工程实训项目案例II.重庆:重庆大学出版社,2013.

猜你喜欢

模式实训理论
坚持理论创新
神秘的混沌理论
理论创新 引领百年
相关于挠理论的Baer模
基于CDIO理念的数控实训教学改革与实践
电工电子实训教学改革与创新
永续债券探析
思想政治理论课实践教学研究述评
中学数学创造性教学的模式与策略研究
微课在数控实训课中的应用探析