APP下载

基于开源软件,改进软件工程CDIO课程体系

2018-11-08龚伟

课程教育研究 2018年29期
关键词:实践教学

【摘要】基于开源软件,改进软件工程CDIO课程体系不仅能够满足软件工程专业培养的工程性、实践性和创新性的要求,还能达到不同于其他工科专业人才的独特特性,即人的协作性的培养,这对于培养在专业技能上、团队协作上得到有效的锻炼,成长为企业所期望的“来之即用”、“来之好用”,具有工程性、实践性、创新性和协作性的高素质软件工程人才,具有重要的意义。

【关键词】开源软件 CDIO 软件工程课程体系 实践教学

【基金项目】本文受重庆市高等教育教学教改项目(132022)资助。

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2018)29-0240-02

软件工程专业是我国高等教育中培养高素质软件工程人才的专业,非常强调人才培养的工程性、实践性和创新性,以及不同于其他工科专业人才的独特特性,即人的协作性。软件工程专业的人才培养要求与CDIO(Conceive、Design、Implement and Operate)工程教育模式是一致的,我校软件工程专业进行了CDIO人才培养模式的初步探索,经过近几年的实践,软件工程专业的建设已初见成效。尤其是,近3年来的“基于开源软件,改进软件工程CDIO课程体系”取得了明显的教学改革成果。

一、开源软件对于软件行业的重要性

经过近30年的蓬勃发展,开源软件已经深刻地改变了软件产业结构,越来越多的企业开始将开源软件提升到了企业IT的战略层面,我国的《软件和信息技术服务业“十二五”发展规划)》中,明确了“支持开源软件开发和应用推广,加快形成基于开源模式的产业生态系统”的发展重点。工业和信息化部在“软件和信息技术服务业发展规划(2016-2020年)”也明确指出“构筑开源开放的技术产品创新和应用生态。支持企业、高校、科研院所等参与和主导国际开源项目,发挥开源社团、产业联盟、论坛会议等平台作用,汇集国内外优秀开源资源,提升对开源资源的整合利用能力。”因此,我国的软件产业亟需培养大量的各类层次的开源软件工程人才,才能在未来的软件产业转型升级中跟上世界的脉搏。

二、传统软件工程专业课程体系的问题

1.课程内容案例单一,与实践的结合性远远不够,缺乏丰富的低、中、高等不同层次的新颖课程案例来支持实践教学。

2.课程实践缺乏相应的软件工程实验软件,学生实践比较困难,严重影响了CDIO“做中学”的教学效果;部分课程采用了盗版软件,侵犯了知识产权,无法让学生树立版权意识,背离了CDIO职业素养教育的精神。

3.现有的大多数课程之间相对独立隔离,无法在实践中相互融合,严重影响专业人才协作性的培养。这些孤立的课程教学无法真正实现CDIO一体化课程计划的设计,无法将软件系统的生命周期作为工程教育的背景环境,无法将技术知识和其他能力的教、学、练融为一体化,无法培养出良好实践协作能力的专业技术人才。

三、基于开源软件,建立软件工程CDIO课程体系

为了有效地解决上述问题,我校软件工程专业进行了“基于开源软件,改革创新软件工程CDIO课程体系”的教学改革,建立了以开源软件为基础的软件工程CDIO实践教学体系,其基本结构如上图所示。该体系包括了3年一贯制实施“课程实验+项目实训+创新竞赛+企业实习+毕业设计”5大模块。

图中,整个体系中的下层模块作为上层模块的基础,同时也有部分相互交叉的影响,注释部分描述各个模块的目标。

该教学实践体系为软件工程整个课程体系的改革和创新,提供了有力的实践教学支撑,主要体现在以下几点:

1.针对基础课程,进行基于开源技术的实践教学的改革

例如,在“C语言程序设计”的课程中,多数教师以往都是基于微软的VC(Visual C++)或者VS(Visual Studio)开发环境来讲述C语言编程技术,具有很大的局限性。VC和VS都不支持C语言的C99标准,更不支持C11、C17标准,无法基于这些环境讲解C语言新标准的教学内容。为此,我们引入了在各个开源企业广泛使用的GNU開源工具链,基于该工具链讲解了C99、C11和C17标准的重要内容,通过让学生掌握体会各个分立的工具cpp,cc1,ld,gcc和gdb的使用方法,让学生理解软件构建和调试的完整过程,初步建立了编程技术、操作系统技术与程序设计语言的关联,并且改革传统的理论考核方式为小组提交小型程序作品、个人上机考试、个人笔试相结合的考核方式。

2.针对软件工程的核心课程进行整合,改进为基于开源软件的课程群

在传统的软件工程课程体系中,C++程序设计、软件工程导论、UML面向对象建模与设计和软件工程课程设计是4门核心的课程,但由于这3门课程往往独立讲授,彼此无法将相关课程中的知识点完全连接到一起,造成了“学习C++只编程不建模,学习软件分析和设计只写文档、学习UML建模只画图不关心模型与软件分析、设计、实现的一致性和转换性、课程设计只是简单地拼凑软件”的尴尬局面。同时,由于完整支持整个软件生命周期的闭源软件集太过于昂贵,使用Visio和VS的破解版也会引起法律的问题,这对课程的教学也带来极大的影响。

为此,我们引入了开源的集成开发环境Eclipse/QtCreator,利用Eclipse的各类建模插件或者建模工具DoUML或者Umbrella,可以在同一环境中进行软件的分析建模、设计建模、版本控制以及编码实现,并为此将课程改革为《软件工程I:语言与需求》、《软件工程II:建模与分析》、《软件工程III:设计与实现》和《“开源软件杯”创新作品大赛》等四门关联很强的课程,在教学内容上进行了彼此的融合,避免了传统方式上教学内容的分裂,让学生模拟真实的工程环境学习软件技术、软件工具和软件过程。

3.为了增强学生的设计-实现的经验和更好地提供进行工程实践的场所,开展了一系列实践教学课程改革,取得了较好的效果

在当前的课程体系中,设置了实验、实训、实习等初级、中级、高级的实践环节并实施了相应的改革措施,以增强学生的设计-实现的经验。在实施过程中,设计了大量的基于开源技术的实验内容。尤其是“开源软件杯”系列的比赛课程,鼓励学生学习使用相关的开源技术,开发相应的软件作品,对于学生专业实践技能的培养,起到了极大的促进作用。

四、结语

在近3年来“基于开源软件,改进软件工程专业课程体系”的教学实践实施以来,学生的专业能力得到了明显的提升。本专业的学生先后参加“中国软件杯”大学生软件设计大赛获得全国二等奖2项、三等奖1项、最具潜力奖3项,中国大学生计算机设计大赛重庆市二等奖3项、三等奖1项;全国大学生数学竞赛若干项。近3年的毕业生一次性就业率平均达到90%以上。许多学生到网易、百度、腾讯、深信服、HP、奇虎360、旭硕(科技)、猪八戒网络、爱奇艺、中国民航信息有限公司以及成都民航二所等知名企业从事软件研发测试等工作。因此,基于开源软件,改进软件工程专业CDIO课程体系是切实可行的课程体系改革,对于培养在具有行业竞争力的新时代的高级软件工程人才具有重要的意义。

参考文献:

[1]Roger S.Pressman. 软件工程:实践者的研究方法[M]. 机械工业出版社.2011.

[2]Edward F. Crawley, Johan Maimqvist等. 重新认识工程教育[M]. 高等教育出版社. 2009.

作者简介:

龚伟(1974-),男,硕士,讲师,主要研究方向为软件工程。

猜你喜欢

实践教学
茶学专业校企合作实践教学探索
《电气工程毕业设计》 课程的教学设计
研究型学习在传热学实践教学中的应用
思想政治理论课实践教学研究述评
高职院校商务礼仪课程教学改革探索刍议