软件工程实训体系建设探究

前言:寻找写作灵感?中文期刊网用心挑选的软件工程实训体系建设探究,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

软件工程实训体系建设探究

摘要:目前,我国工科教育模式中存在一些重点问题[1],如强调个人学术能力而忽视团队合作精神、重视理论知识的讲授而忽视创新创造能力的培养等,软件工程专业实践教学迫切需要在这些方面进行改进,以培养学生更好的实践能力和团队合作能力。在TOPCARES-CDIO(构思、设计、实现和运作)工程教学理念和思想的指导下,软件工程专业建立了课下与课上一体化、理论学期与实践学期一体化的项目主导、多元协同的实训教学体系。实践证明,通过该模式培养的专业人才,就业竞争力和个人职业发展能力显著增强,建设成果也得到社会、企业及同类型兄弟院校的广泛认可。

关键词:TOPCARES-CDIO;项目主导;多元协同;实训教学体系

1引言(Introduction)

软件工程专业一直致力于应用型软件人才的培养。尤其是自2009年学校全面开展TOPCARES-CDIO教育教学改革以来,以先进的工程教育理念为指导,以国家级、省级质量工程项目(教学团队、精品课程、品牌专业等)、省级教学改革研究项目(基于TOPCARES-CDIO校企专业共建模式的研究与实践、基于应用型人才培养中CDIO课堂设计的研究与实践、基于CDIO工程教育理念的高素质软件服务外包人才培养模式的研究与实践等)为平台,依照“以学生为中心”的人才培养理念,从CDIO工程教学理念出发,重点针对软件工程专业的软件服务外包人才培养目标进行优化调整,在专业人才培养方案、实践教学体系建设、教学模式改革、教学资源建设、实践环境建设、双师双能型师资队伍建设、教学质量管理体系与教学效果评价体系等方面进行了富有成效的探索与实践。通过总结凝练,形成了一套特色鲜明、人才培养各环节覆盖全面的一体化实训教学体系和实践教学模式[2]。

2实训体系建设思路(Constructionthoughtsoftrainingeducationsystem)

软件工程专业对实训体系的改革实际上从2010年就已经开始实施,在人才培养实践中逐渐完善成熟。自2016年开始探索实践专业教育与创新创业教育相融合的途径与模式,近年来,通过不断调研社会需求、分析创新创业教育与专业教育融合的课程设置现状,以及深入探讨创新创业教育与专业教育相融合的保障机制,对如何培养具有创新创业意识和能力的软件人才进行了更进一步的探索和研究[3]。经过近几年的分析和研究发现,项目教学资源研发对于高校应用技术型人才的培养至关重要,只有进行有效的实践实训项目教学资源开发和利用,才能够更好地发挥整体实践教学效果。学校与企业有效整合高校优质教学资源、企业项目资源、实训资源、培训资源及系统平台资源等,避免重复建设和资源浪费,有效缓解高校发展空间不足、社会教育资源欠缺、师资队伍薄弱等一系列问题,实现教学资源共享,充分发挥教学资源的最大效益,有效提升校方整体的软硬件教学环境和教学水平。学校与企业的教研合作包括共同开发实训平台教学资源、共同开发在线教学平台及资源、共同研发教材、共同建设实验室,以及成果与科研课题的共同申报。另外,企业为学生参加各类型比赛提供技术指导等。实践实训体系建设主要从两个方面入手:第一方面,建设与课程教学紧密结合的全方位立体化实践实训项目教学资源,项目内容涵盖多门课程,并且可以满足各类实践需求。建设指导思想是以IT岗位技能要求为目标、以企业真实项目为导向、以CDIO工程教育理念为指导,整合各方优势资源,从知识、能力、素质三方面设计高度融合、高度关联的IT类课程及项目资源模块,结合数字化平台及工具,构建工学结合的一体化、立体化IT类项目资源,从而达到系统化培养符合行业企业需求的软件工程专业人才。第二方面,建设慕课资源平台和实训平台等信息化平台。慕课平台以微课视频作为核心教学素材,与教学交互活动有机组织在一起,通过精心的设计、制作和编排,将课程知识点和技能点用最有效方式传达给学习者[4]。另外,学生还可以通过基于企业岗位需求的技能测评快速了解所掌握的知识和技能与企业岗位的实际差距。通过阶段性学习及评估测评,树立学习目标,为高质量就业奠定坚实的基础。项目实训平台根据软件企业对人才的要求,提供基于企业真实案例的不同难度、不同规模、不同主流技术方向的优质一体化实训项目教学资源包,供教学使用,支持项目实践、项目设计、实训周(小学期)、技能竞赛、双创实践、毕业设计等各类场景的实践教学。企业免费提供实训平台,并结合校企共建专业免费提供专业课程包。实训平台分为课程实训与项目实训,课程实训主要针对某一门或某几门课程进行实践演练;项目实训则是按照企业项目流程进行的综合项目实训。实训平台为学生提供软件开发、软件测试、数据建模等领域的大型项目的真实案例及资源包,资源类型包括链接、文本、问答、下载等,方便学生自主学习。同时,教师及管理员还可以对实训平台资源进行扩充,上传教师授课或项目指导所需的课件、视频、文档等。通过实训平台,学生可以实现随时随地学习、参与实训;教师也可以通过实训平台进行远程项目指导和全程监控,实时跟踪项目进度。

3实训体系中各个项目的关系(Relationshipsbetweenprojectsoftrainingeducationsystem)

在TOPCARES-CDIO工程教学理念和思想的指导下,软件工程专业建立了课下与课上一体化、理论学期与实践学期一体化的实训教学体系,建立了包括涵盖四年所学知识的一级项目、涵盖学年知识的二级项目及涵盖单一课程知识的三级项目的完备的项目体系,如图1所示。在网联网和智能手机已经普及的情况下,软件项目已经很少只采用一种形式,而是多种技术相结合。基于此,我们对第6学期、第9学期和第10学期的实践实训项目资源、体系结构等进行了整体规划,第6学期重点培养桌面系统的开发能力,第9学期重点培养Web应用的开发能力,第10学期重点培养移动应用开发能力。另外,为了培养学生的创新创业能力,在第10学期的后半部分完成一个自选项目的开发。

4实训体系的技术方案选择(Thetechnicalschemeselectionofthetrainingeducationsystem)

开设在第6学期的《软件工程项目训练》属于二级项目,要完成对大二学年主要课程的支撑,这些课程包括:数据结构、数据库原理与应用、Java语言程序设计和面向对象系统分析与设计,如图2所示。Fig.2Supportingcoursesofsoftwareengineeringprojecttraining“数据结构”课程中需要支撑的主要内容如下:数组、链表、查询和排序、图和树等,图和树作为可选内容。“数据库原理与应用”课程需要支撑的主要内容如下:数据库的设计、常用的SQL语句、视图、触发器和存储过程。“Java语言程序设计”课程需要支撑的主要内容如下:基本语法、常用工具类(数组、集合框架、Math、Random、String、日期等)和常用API(JDBC、多线程、网络通信、GUI)。“面向对象系统分析与设计”课程需要支撑的主要内容如下:常用设计模式和代码优化。以上这些特点决定了《软件工程项目训练》项目应该采用如下结构:(1)多客户端的C/S结构;(2)数据使用数据库存储。《软件工程项目训练》应该具有以下功能:(1)要求查询比较复杂的结果,让学生使用视图;(2)要求对某个表进行操作的时候会影响其他数据,让学生使用触发器;(3)设计复杂业务,让学生必须使用存储过程才能提高效率;(4)设计复杂业务,让学生必须使用图和树的相关知识才能解决问题;(5)设计报表,包括图形方式和表格方式,让学生使用图形界面元素;(6)设计功能,让学生应用常用的设计模式;(7)鼓励学生自己提出功能并加以实现。《软件工程项目训练》体系结构及主要相关技术如图3所示。《软件工程项目实战》开设在第9学期,属于二级项目,要完成对大三学年主要课程的支撑。考虑到第三学年的课程比较多,并且在接下来的第10学期要综合运用的还是这些课程的内容,所以考虑在第9学期重点强化Web方面的能力,对如下课程进行综合应用:界面设计、人机交互设计、软件测试、软件工程、分布式应用系统开发技术和软件体系结构与架构技术。项目的功能考虑与第6学期的客户端程序对接,前者实现的是客户端功能,后者实现Web部分的功能,第10学期实现移动开发功能。《软件工程项目实战》的主要内容如下:(1)按照软件工程的流程完成各阶段任务;(2)确定需求,教师指定题目或者学生自选题目(需要教师审核);(3)界面原型设计,给出效果图;(4)将界面原型转换为网页HTML代码;(5)搭建开发框架(BootStrap+SpringMVC+MyBatis+MySQL);(6)项目开发,需要考虑安全、日志、异常、备份等功能;(7)项目测试。《软件工程项目实训》开设在第10学期,属于一级项目,要完成对前面两个二级项目的支撑,以及移动开发相关内容,并为接下来的毕业设计做准备。移动应用开发部分需要四周时间,剩下六周时间完成一个综合使用这些技术的应用,采用团队开发的模式。另外,第10学期还要为毕业、就业做准备,并且要培养学生创新和创业能力。准备专题为学生的面试就业做准备,让学生在就业的时候有更好的竞争力。在技术和题目的选择上给予学生更大的自由,便于学生创新和创业。《软件工程项目实训》主要内容如下:(1)在前半阶段,先完成移动部分功能的编写。按照软件工程的流程完成各阶段任务,并完成文档的编写。(2)在后半阶段,完成一个自选项目。整个项目的实现过程包括:首先,确定需求,由教师指定题目或者学生自选题目(学生和实训教师共同确定);然后,开始进行技术调研,学生自行联系企业,或者学生到教师指定企业调研,形成技术调研报告,并运用到自己的项目中;接下来,采用团队开发的形式,需要项目管理和版本控制等功能;最后,进行项目测试,主要考虑性能测试和自动化测试。在这个项目实现过程中穿插如下讲座:(1)开发新技术和技术发展趋势专题讲座;(2)面试、就业技巧和职场专题讲座;(3)Java核心技术面试题专题讲座;(4)数据库和数据结构核心技术面试题专题讲座。

5结论(Conclusion)

结合未来教学改革的发展趋势,以提升人才培养效率为愿景,对软件工程专业实训体系建设将进行更进一步的工作。采用东软特有的TOPCARES-CDIO教育理念及线上线下混合式教学模式,从提升项目实践能力方面入手,大力建设慕课资源平台和实践实训项目资源,实施“视频微课学习+自主项目训练+专业综合训练+教学与学习效果评估”的线上线下混合式教学一体化教学模式[5],提供MOOC+SPOC+翻转课堂支持,重塑课程体系、课程内容和课堂教学组织方式[6],并且将企业真实软件开发全流程信息化管理与高校实践实训教学管理相融合,在实习、实训教学环境中组织学生分组进行软件项目开发训练。通过为学生提供涵盖后端框架开发、前端页面开发、数据库设计、软件测试等多方面内容的真实案例和完整规范的企业项目文档,使学生在实训的过程中体会到符合企业级规范的软件开发和测试流程、评估标准等,并提高学生在未来工作中面对项目的专业化能力,同时感受真实工作环境和工作节奏,培养学生良好的职业习惯,更好地实现从校园人到企业人的转变。从近期的实施效果观察,学生的实践能力有了显著改善,在毕业设计完成质量、实习率、就业率等方面均较往年有所提高。另外,从教育改革的长期发展形势来看,建设以项目为主导的、多元协同的线上线下一体化的实训体系,使其与传统的教学模式更好地进行融合将是必然趋势。

作者:刘冰月 单位:大连东软信息学院软件工程系