应用型高校JavaEE技术实验课程教学探索

2022-05-30 15:43夏竹青王竹婷吴晓琴
电脑知识与技术 2022年10期
关键词:实验教学

夏竹青 王竹婷 吴晓琴

摘要:《JavaEE技术》实验教学环节在软件工程专业培养应用型人才的目标中发挥着重要作用,但目前教学目标和教学效果的差距较大。对《JavaEE技术》实验课程中存在的问题进行分析,并提出引入真实项目重新设计实验内容,搭建代码质量管理平台进行代码规范的实时教育,以及引入代码版本管理工具SVN推进小组开发的顺利进行等措施,提高教学质量。

关键词:JavaEE技术;代码规范;小组开发;实验教学;SVN

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2022)10-0169-02

1 引言

合肥學院以“地方性、应用型、国际化”为办学定位,围绕“应用型人才”培养方向,深化教育教学改革,教学环节更加突出强化实践教学。我校的“JavaEE 技术”课程作为计算机及相关专业高年级必修课程,是一门技术性、专业性和实践性都很强的课程[1],其教学目标是让学生通过课程学习,具备进行企业级软件开发的高级专业技能,毕业后能够较快胜任企业的软件开发工作。从课程的性质、教学目标到学校的办学定位,都说明了课程实验环节的重要性。本文对目前课程实验中存在的若干问题进行了分析,提出了相应的解决方案。

2 JavaEE技术实验教学存在的问题

2.1 实验项目针对单个知识点进行设计

对Spring、SpringMVC和Mybatis等框架的熟练应用是Web人才的必备技能[2],JavaEE技术课程围绕MVC模式的Web系统开发技术和框架展开。本课程的实验通常是一次实验围绕一个知识点进行训练,学生对单一知识点掌握较好,但多知识点综合应用开发能力不足,另外实验中接触的都是很简单的项目,对适用于体量较大项目的框架技术带来的开发效率提升缺乏切身感受,学生常感觉杀鸡焉用牛刀。

2.2 学生缺乏良好编码规范

软件系统的质量与效率离不开好的编程习惯,当开发小型项目时,为追求短期效益,常常率性而为。但随着项目规模逐渐扩大,编码规范就会逐步显出它的重要性。软件质量不仅依赖架构和项目管理,还跟代码质量息息相关,代码质量又与代码整洁度成正比[3] 。规范整洁的代码,既在质量上较为可靠,也为后期的维护、升级打下了良好的根基。

规范整洁的代码则要求学生遵循一定的编码规范。但在编程过程中,教师难以约束,学生常常率性而为,没有良好的编码习惯。究其原因,主要是编码规范教育一直处于说教模式,教师精力有限,遇到不规范代码难以一一及时指正。

2.3 小组合作开发项目效果不佳

目前编程类实验课大都会设计小组合作开发项目,这类项目规模稍大,需要多个同学合作完成。但是由于没有统一编码规范,组员编码风格不同,导致理解其他同学代码花费的时间精力较多。另外共享和同步组员的代码完全依赖手工传输,更新同步不及时,常出现代码冲突,团队合作效果不佳,效率低下。代码整合阶段问题频发,影响整体进度和实验效果。

3 重新设计实验项目

针对实验项目只涉及单一知识点问题,深入企业调研,挖掘真实项目案例,对真实项目进行了裁剪,保证规模和难度在学生可以接受的范围内,对实验项目进行了重新设计。除了实验一搭建实验环境,之后的实验均采用小组合作开发的方式对同一个项目采用不同的技术迭代开发,项目分为三个模块,每个模块有若干功能。每组3~5人,根据学生能力差异,每1~2个同学完成一个模块的设计开发。实验围绕中医经典处方管理系统展开。依次使用传统MVC技术、Spring的依赖注入和面向切面编程、Mybatis技术和SpringMVC技术对中医经典处方管理系统进行开发和技术升级。采用了“穿新鞋走老路”的方法[4],让学生体验技术迭代的过程,并对照前面的开发经历,体验新技术的优势和效率的提升。实验项目设计如表1所示。

表1 实验项目表

[实验编号 实验名称 对应知识点 1 基于JSP+JavaBean+Servlet技术的中医经典处方管理系统 掌握jsp+javaBean+servlet技术开发MVC模式的Web程序的方法 2 基于Spring IOC的中医经典处方管理系统 掌握Spring依赖注入技术;能开发低耦合的软件系统 3 中医经典处方管理系统的日志模块开发 掌握基于XML和注解的AspectJ开发AOP程序的方法,具备面向切面编程能力 4 基于Mybatis框架的中医经典处方管理系统 掌握MyBatis程序的开发步骤;熟练开发动态sql和关联查询 5 基于SpringMVC框架的中医经典处方管理系统 掌握基于注解的Spring MVC应用程序的开发方法 ]

4 进行编码规范的实时教育

4.1 搭建编码规范实时教育平台

传统的说教式编码规范教学效果一直不理想,原因有二,其一,编码规范的条目较多,需要学生先记熟,但由于编码经验不多,记熟的规则很难跟实际的编码场景产生联系。其二,对于初学者,靠自律去保证按照事先约定好的规范编码,实现难度较大。那么就需要老师在学生提交代码后去检查,但是课程针对的是企业级软件项目开发,代码体量较大,依靠老师个人去检查大量代码的规范性,一样难以完成。针对上述问题,走访了本地的软件企业,学习企业先进的代码质量管理办法,引入了开源的sonarQube代码质量管理平台,并搭载目前业界推崇的阿里Java编码规约,通过该平台对学生的编码规范进行实时教育。

sonarQube是一款开源代码质量管理工具[5],也是技术债务管控的主流工具,可以检测代码质量问题,开发Sonar插件可以扩展检测功能[6]。采用sonarQube7.0作为服务器端,然后在开源的sonar pmd插件项目中对阿里编程规约的开源p3c-pmd项目做了融合,使服务器支持阿里编程规约。学生在编码过程中使用sonarlint插件和服务器建立连接,sonarlint自动按照老师在服务器上配置的编码规则对开发工具(如eclipse或idea) 中编写的代码进行实时检测,保证了学生及时发现问题,即时修正。sonar-scanner客户端则用于学生阶段性提交代码检测结果到服务器,方便老师统计跟进,督促学生们养成良好的编码习惯。

4.2 代码质量实时教育的评测

代码质量管理平台搭建起来后,教师在代码质量管理中的主要工作转移到督促学生使用平台的工具,另外通过工具提供的统计分析功能,记录学生的代码规范程度,并将代码规范程度列入课程的评分系统中。在每次实验课结束的时候,要求学生提交代码质量分析结果,对于综合性实验所占课时较多,由多次提交的结果取均值进行考核。

5 推动团队合作开发顺利开展

5.1 工欲善其事 必先利其器

小组开发是培养学生团队合作,沟通等能力的重要手段,但在合作开发中,学生的编码规范不统一,代码共享不方便,同学之间经常出现代码版本不一致,导致项目进展不顺。编码规范问题可以通过上面的sonarQube平台解决。代码版本控制问题,引入了企业协作开发常用的版本控制工具SVN进行代码版本管理,在校园网内搭建SVN服务器,对学生的代码进行统一管理。版本控制是企业进行项目开发与管理的标准做法,能追踪项目从开始到结束的整个过程[7]。

5.2 基于版本控制工具SVN的小组开发

1) 版本管理平台信息配置

在校园网内搭建SVN服务器,然后建立版本管理知识库,在知识库中每个小组建立一個目录。然后为每个同学建立账号,并分配访问(读写) 自己所在组目录的权限。

2) 学生机软件环境准备

每个同学在开发设备上安装版本管理工具SVN客户端,也可以在开发工具eclipse或idea中安装SVN插件,通过该工具连接SVN服务器,完成同步、提交代码等操作。

3) 实验过程

组长在每次实验前,事先建立工程,上传到SVN服务器自己所在组目录下,组员同步组长的工程。然后每个组员在同步的工程中根据分工进行设计开发。

每进行到一个项目阶段,组员及时上传代码,对于公共部分代码一旦修改完成,立即上传。同时养成习惯,修改某个公共类之前一定要先从SVN服务器同步代码,另外SVN也提供了冲突代码的解决办法。在这个过程中,组员的代码可以保持一致,另外发现公共部分代码被修改,可以及时交流,保障了小组开发的顺利进行。

6 结束语

本文分析了《JavaEE技术》课程实验教学中实验项目设计、学生编码规范和小组开发三个方面存在的问题,并针对存在的问题提出了相应的解决方案,改善了教学效果,提高了教学质量。

参考文献:

[1] 罗如为.基于项目驱动的JavaEE框架技术实践教学改革探索——以湖南人文科技学院为例[J].湖南人文科技学院学报,2018,35(5):69-72.

[2] 邓丹君,纪鹏,倪波,等.工程教育认证背景下JavaEE课程教学改革[J].软件导刊(教育技术),2019,18(8):56-57.

[3] 曹娜.代码整洁与代码质量研究[J].软件导刊,2013,12(10):38-40.

[4] 冯永安,王永贵,邱云飞,等.“链”式教学模式下Java Web 课程教学改革与实践[J].计算机教育,2020(3):145-147.

[5] 蔡建军,任女尔,魏金津.基于Sonar的代码质量检测技术研究[J].电脑知识与技术,2019,15(14):195-199.

[6] 曾新励.基于SonarQube平台提升企业软件项目质量的应用研究[J].电脑知识与技术,2019,15(11):78-80.

[7] 王海丰,李金霞,张鲲.基于SVN版本控制的程序设计类课程教学研究[J].软件,2018,39(4):218-221.

【通联编辑:王力】

收稿日期:2021-06-10

基金项目:2020安徽省教育厅教育教学研究一般项目(2020jyxm1598) ;2020年安徽省线上教学示范高校项目(2020xssfgx14) ;2019 年度省级软件技术系列课程教学团队(2019jxtd096) ;2019 年度安徽省教育厅教育教学研究一般项目(2019jyxm0385) ;2019 年度合肥学院模块化教材建设项目(2019hfmkjc18)

作者简介:夏竹青(1984—) ,女,安徽怀宁人,硕士,合肥学院人工智能与大数据学院实验师,研究方向为计算机应用技术和人工智能。

猜你喜欢
实验教学
问题引导在初中化学实验教学中实践探索
关于基础教育阶段实验教学的几点看法
光反应与有机化学实验教学结合的研究
电容器的实验教学
几何体在高中数学实验教学中的应用
基于云计算的计算机实验教学探讨
高中自然地理课堂实验教学的探讨
微课在高职高专实验教学中的应用探索
综合实验教学在妇产科护理学实验教学中的应用