APP下载

基于Gitee+项目协作开发的JavaEE课程教学实践

2022-05-30刘梅卜言彬刘小群曹海燕

电脑知识与技术 2022年31期
关键词:企业项目教学方法

刘梅 卜言彬 刘小群 曹海燕

摘要:针对企业对Java开发人才的需求,高校Java EE课程教学过程中,存在着学生缺少企业项目实战经验和技术、缺少团队协作开发经验、教学开发工具滞后以及教学过程考评不精准等问题。通过介绍代码托管平台Gitee的高校教学管理功能,提出了一种基于Gitee+项目协作开发的Java EE课程教学方法。通过教学案例,展示了在教学过程中模拟企业项目开发流程的步骤和方法,并分析了教学实践效果。

关键词:Gitee平台; 协作开发; 企业项目; Java EE课程; 教学方法

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

文章编号:1009-3044(2022)31-0033-03

1 引言

Java EE(Java Platform Enterprise Edition) 是Sun公司为企业级应用推出的标准平台,在企业开发中广泛应用。为对接企业需求,国内外很多高校乃至职业院校将该课程作为软件工程专业高年级的选修或必修课程[1-2]。

1.1 Java EE课程教学研究现状

冯君在《基于三阶段教学模式的Java EE框架技术教学改革》一文中指出了Java EE教学过程经历的三个阶段,并对三阶段需要培养的能力做出说明[3]。黎才茂,陈少凡介绍了CDIO的课程能力培养目标,采用了翻转课堂和项目引领方式驱动学习,实现项目引领与混合教学模式的Java EE课程教学能力培养目标与内容的设计过程[4]。Sukru Eraslan指出软件工程课程旨在使学生具备各种软件工程实践所需的技能,学生通常需要与其他学生合作完成项目,文中将集成了软件版本管理工具的GitHub平台引入课程中,通过实践教学证明该方法有助于提高学生的成绩,有助于学生获得与行业相关的技能[5]。

1.2 人才培养的要求

对IT行业的多家企业进行用人需求调研的结论显示:企业迫切希望招聘具备企业项目开发经验的毕业生。为让学生毕业应聘时更具竞争力,高校亟须加强培养学生扎实的编程能力和熟练使用Java EE(如Spring、Spring MVC、Spring Boot、Spring Cloud等框架)进行开发的能力。在培养学生能力的过程中,不仅需要重点培养学生的企业级项目的实际编码能力、企业开发工具的使用能力和团队协作开发的能力,还需要培养学生良好的编码习惯、归纳总结以及编写技术文档的能力。

1.3 Java EE教学存在的问题

通过对同类院校培养方案研究,目前高校此类课程教学普遍存在以下问题:1) 企业级编码能力普遍薄弱。2) 教学中使用的开发工具滞后于企业。3) 缺少协同编程经验,学生对团队分工协作意识淡薄。4) Java EE实验课的过程考核无法精确化。结合多年企业项目开发经验和Java EE课程特点,本文提出了基于Gitee+项目协同编程的Java EE实践课程教学方案,可以很好地解决上述问题。

2 Gitee平臺介绍

Git是一个分布式的源代码版本管理工具,用于敏捷高效地管理项目代码。Gitee是国内的基于Git构建的代码托管平台,是企业软件项目管理的行业标准工具,具有连接稳定、速度快等优点。Gitee高校版提供全新编程教学实践环境,可轻松实现课程作业管理、结对编程、小组协作开发,赋能高校软件工程人才培养,已有高校将其引入Java EE课程教学中[6]。

2.1 Gitee平台的教学管理功能

Gitee高校版提供强大的教学管理功能,主要的功能如图1所示。教师可以在云平台上创建、检查、批改作业,也可以进行教学回顾和总结等活动,而学生可以在平台上获取作业、提交作业、查看教师评语等操作。

2.2 Gitee平台的教学优势

借助Gitee平台应用于教学具有以下优势:1) 教学内容以企业项目的形式展开,有助于学生熟悉实际企业项目开发流程。2) 有利于实施精准的过程化考核,整个教学过程教师都可以通过查看学生的任务量,代码的提交记录,评估学生的参与度和积极度,保证认真完成作业的学生获得高分,同时找出滥竽充数的学生,及时督促学生参与学习。3) 有助于学生协同编码和师生交流。4) 培养学生学习主流的开发工具,学习Git命令,积累Git使用经验,以便毕业后尽快适应企业开发。

3 基于Gitee的实践教学——以传媒数据管理和分析项目为例

本课程(2021 年秋季)共有2个班级81名学生选课。教学过程中基于企业真实项目的工程源码进行删减,保留工程中核心的(Spring Boot+Vue) 框架代码和一套完整业务流程的代码,将其作为教学示例。通过模拟企业各个真实开发流程,设置相应的教学任务,学生自行分组,以小组为单位协作开发完成任务。

3.1 项目教学设计

模拟企业项目开发流程设计教学活动:1) 项目总体需求分析阶段:教师讲解本门课程需要完成项目的功能框图,梳理主要的功能接口,分析接口开发的难度系数,教学项目节点时间安排。2) 系统需求分析和概要设计阶段:讲授本项目开发环境搭建,项目开发涉及的技术和项目框架结构,通过分析需求引导学生进行前端主体页面设计和数据库设计。3) 模块详细设计阶段:讲解模块具体功能,引导学生自行设计页面和数据库以及业务逻辑梳理,组织小组为单位展示自己的前端和数据库设计,取长补短、形成最终的页面、业务和数据库设计文档。4) 功能分解与项目分工阶段:讲解如何功能分解,学生自行分组与分工。5) 开发与测试阶段:针对概要设计文档进行需求分析,形成详细设计文档,然后编码、测试、代码入库、更新代码,迭代开发其他功能。6) 回顾与总结阶段:组织小组作品展示,同学互评等教学活动,最后教师结合Gitee平台提供的统计信息对每个学生的学习情况进行评价。针对这六个阶段以传媒管理分析项目为例,在Gitee设置11个任务如图2所示。

每个任务设置相应的任务要求和时间节点,培养学生按照要求及时完成相应的任务,帮助学生熟悉企业项目开发流程。

3.2 Gitee平台的项目教学流程

借助Gitee的教学管理功能和协作开发功能组织教学的具体教学流程如图3所示。

对应于企业的项目开发流程,图3中的步骤step1~step4为项目教学的前期准备,主要开发环境搭建。步骤step5~step7为系统需求分析和概要设计阶段。步骤step8~step9为模块详细设计阶段。步骤step10~step12为开发与测试阶段,采用迭代循环完成教师在Gitee平台下发的任务。步骤step13~step14为回顾与总结阶段。

3.3 基于的Gitee的协作开发教学

版本管理工具Git具备多人协作开发的功能[7],将Gitee平台引入到教学活动中,可以实现教师和学生之间或小组成员之间的多人项目协作开发。具体步骤如图4所示。

上游仓库由教师创建,教师直接往该库提交代码,小组责任人可申请合入代码。下游仓库由小组责任人创建,可以拉取上游仓库的代码和接受学生提交的代码。每个学生拥有一个本地仓库,在本地仓库上,学生可独立编码、提交和更新代码。三层仓库既相互协同,又相对独立,可实现多人协作开发。

3.3.1 师生之间的协同编码

教师在Gitee平台创建项目代码仓库(nanjing-institute-of-media/mediaanalysissystem) 并推送项目框架代码到仓库中(upstream repository,上游仓库),小组负责人进行Fork操作拷贝,得到一个远程服务端下游仓库,学生可以在下游仓库自由进行开发,及时更新上游仓库的最新内容,学生也可以通过Pull Request操作,将新增代码贡献给上游仓库,从而达到师生之间协作开发。

3.3.2 学生之间的协同编码

小组负责人通过Fork获得上游仓库项目资料,小组成员git clone操作拷贝代码到本地,成员在自己本地进行编写代码,通过git pull和git push进行更新和提交到下游仓库[8]。其他成员提交的代码Git工具会自动合并,达到多人同时操作同一个库,完成协作开发。

3.4 基于Gitee的过程考评

本门课借助Gitee仓库监控台提供的仓库统计和仓库动态功能对学生的学习进行考评。

3.4.1 仓库的统计功能

Gitee平台提供了仓库统计功能,该功能按天统计学生的提交代码数量,以及项目任务完成的情况,并且支持按月读取信息,以图表的形式展示。比如班上一位学生10月的代码上库情况如图4所示。

通过该功能可以查看学生提交项目代码的次数和每次提交的代码量,同时可以分析学生的过程参与度,方便进行课程宏观考核。

3.4.2 Gitee仓库动态功能

Gitee平台提供了仓库动态功能,该功能提供了项目中所有人对仓库的操作情况,可以查看到某次学生提交的具体代码。教师通过查看学生提交的代码,可分析出学生项目功能完成情况、代码质量情况,从而做到精细化考查。

3.5 实践结果分析

本次基于Gitee+项目协同开发的Java EE教学实践,8个教学周64课时完成了git命令、企业开发基本流程、Spring框架下的Java EE企业级代码的编写方法讲解,组织学生完成了传媒数据管理与分析系统的用户模块、视频模块、分析推荐模块等11个功能模块的教学任务。20个小组共提交263次代码,累计代码552103行。从代码提交的时间、次数以及代码量来分析,班级绝大部分学生能跟上教学进度并完成项目任务要求。

3.5.1 学生掌握情况

本门课程2020年秋季采用传统的教学方式教学,2021年秋季采用Gitee+项目协作开发方式教学,通过对理论知识点和编程能力进行综合对比,按照掌握情况进行统计分析得到學生综合考评对比如表1所示。

从表1中数据可知:在Java EE课程实践教学过程中,使用Gitee+项目协作开发方式相对传统的教学方式有很大的优势,熟练掌握Java EE企业级开发能力学生大幅提升。

3.5.2 学生就业与回访

为检验教学效果,在课程结束后的第四个月,对81位学生发起了问卷调查,42名学生肯定了使用Gitee平台为依托模拟企业项目开展Java EE实践教学的模式。在知识点的实用性方面,52.8%学生认为Git操作非常实用,25%的学生认为Spring Boot +Vue框架开发颇为重要,22.2%学生认为在企业项目的开发流程和编码能力上收获颇丰。本课程项目模拟了企业项目的开发流程,对学生找工作有很大的帮助。在新冠肺炎疫情肆虐的情况下,有1/5左右学生在课程结束的2个月内获得较好的工作机会,其中不少同学获得万人规模的软件公司的工作邀请,相比之前传统的教学方式,教学效果和就业质量均得到明显的提升。

4 结束语

采用基于Gitee+项目协作开发的教学方法,有助于学生熟悉企业项目管理和开发流程;有助于实践类课程的精准过程考核。分组协作开发项目也有助于培养学生团队合作精神,对学生就业以及将来工作有很大的帮助。

参考文献:

[1] 谢景明,孙庚.项目驱动的进阶式J2EE课程教学设计探讨[J].计算机教育,2009(22):57-59,50.

[2] 王新颖,娄艳丽,屈俊峰.基于项目驱动的《Java EE框架技术》教学改革与实践[J].轻工科技,2019,35(8):174-175.

[3] 冯君.基于三阶段教学模式的Java EE框架技术教学改革[J].大学教育,2013,2(17):111-112,120.

[4] 黎才茂,陈少凡.项目引领与翻转课堂的Java EE课程教学模式设计[J].计算机教育,2019(3):77-80.

[5] Eraslan S,Kopec-Harding K,Jay C,et al.Integrating GitLab metrics into coursework consultation Sessions in a software engineering course[J].Journal of Systems and Software,2020,167:110613.

[6] 卢华灯,李婷妤.基于Gitee的理实一体化迭代式项目驱动教学法应用研究[J].计算机教育,2019(7):117-120.

[7] 王真.版本控制工具在软件开发项目管理中的应用——以GIT为例[J].项目管理技术,2020,18(6):131-134.

[8] Chacon S,Straub B.Pro Git[M].Apress,2014

【通联编辑:王力】

收稿日期:2022-02-25

基金项目:江苏省哲学社会科学研究一般项目资助(2022SJYB0672) ;江苏省高校自然科学研究面上项目资助(18KJD520006) ;江苏省高等教育学会专项课题支持项目(2021JDKT065) ;全国高等院校计算机基础教育研究会立项支持(2021-AFCEC-550)

作者简介:刘梅(1985—) ,女,江苏南京人,工程师,硕士,主要研究方向为计算机应用、智能算法;卜言彬(1984—) ,男,江苏南京人,副教授,硕士,主要研究方向为机器学习、计算机视觉;刘小群(1985—) ,女,江苏南京人,工程师,硕士,主要研究方向为人工智能、软件测试技术;曹海燕(1985—) , 女,江苏南京人,讲师,硕士,主要研究方向为人工智能、嵌入式开发技术。

猜你喜欢

企业项目教学方法
教学方法与知识类型的适宜
基于战略视角的企业项目管理模式研究
基于公众视角的民族地区地方企业项目绩效评价研究
关于当前企业项目管理模式建设的探析①
我的教学方法