基于Gitee平台的软件实训课程分组教学设计与实践

2023-06-03 12:10朱家乐
电脑知识与技术 2023年10期
关键词:分组教学

朱家乐

关键词:Gitee;软件实训;分组教学;Git;版本管理

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

文章编号:1009-3044(2023)10-0105-03

0 引言

软件类课程的重要特点是理论与实践联系非常紧密,提倡手脑并用。学生经过一段时间的理论知识的学习后,必须通过软件实训课程的动手训练,才能对理论知识有深刻的理解,提高软件开发能力。对于软件实训课程,经常采用分组教学的方式来推进教学过程。软件实训课程存在任务多、时间短等特点,在两周左右的时间内需要完成系统设计、编码、测试、答辩等过程,对单个学生来说难度较大。采用分组教学的方式,可以模拟企业真实的软件开发场景,锻炼学生的团队协作能力,提升学生职业能力。在分组教学的实践过程中,传统的方式多是手工操作,无法对学生代码、教学过程进行有效管理,需要有对应的平台支撑。在企业级软件开发过程中,Git已经成为代码版本管理的标准工具。Gitee是国内基于Git的代码托管平台,文章介绍了基于Gitee平台进行分组教学设计与实践,可以有效支持软件实训课程的分组教学过程。

1 相关工作

在传统软件实训课程实践过程中,往往没有重视版本控制系统的使用,学生通过本地存储、U盘拷贝等方式進行代码保存和交流。版本控制系统提供版本管理功能,用于存储、追踪文件夹和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。Git是目前最流行的开源版本控制系统,其最大的特点是分布式。和SVN相比,Git客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来,包括完整的历史记录[1]。GitHub是全球最流行的基于Git的开源代码库以及版本控制系统,已经成为管理软件开发以及发现已有代码的首选方法[2]。文献[3]和文献[4]分别提出了基于GitHub的协同式实验教学方法和问题驱动式编程实验教学方法。GitHub的缺点是在国内访问速度比较慢,另外只有英文界面,对学生的英文要求比较高。Gitee 是开源中国社区2013年推出的基于Git 的代码托管服务,目前已经成为国内最大的代码托管平台[5]。和GitHub相比,国内访问的速度较快,全中文的页面和文档也更加友好。学生学会使用Gitee后可以很容易上手GitHub。

2 基于Gitee 的分组教学设计

南京工业职业技术大学的《小型应用系统设计综合实训》课程是面向软件工程、人工智能、大数据等专业开设的综合实训课程,课程学时3周72学时,是经过计算机导论、程序设计基础、数据库等课程学习之后,进行完整系统开发训练的综合项目。通过该综合实训,一方面培养学生通过Java等语言进行应用软件开发和数据库应用的能力,另一方面培养学生在软件项目的需求分析、总体设计、详细设计、数据库设计、用户交互设计、系统测试、项目文档撰写等方面的能力,使学生经历应用软件开发端到端的完整工作过程,提高软件开发职业能力。下面以该实训课程为例,重点介绍Gitee平台相关操作部分。实训课程的参考项目计划如表1所示。

2.1 Gitee 基本原理及操作

本阶段,教师需指导学生学习Git基本原理及操作。Git是目前最流行的开源版本控制系统,其最大的特点是分布式。和SVN相比,Git客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来,包括完整的历史记录。学生首先需要完成Git 软件安装,学会Gitee的基本原理和基本操作,尤其是Git基本命令。可以参考Gitee官方文档完成快速入门,注册Gitee账号,创建第一个仓库,提交第一行代码。本阶段学生需要理解Git工作区、暂存区、版本库的基本概念,掌握基本的Git操作命令,包括创建仓库、克隆仓库、添加文件到暂存区、提交代码、push代码、pull代码、分支管理等。Git基本原理及常用操作命令如图1所示。

2.2 团队创建

下面基于Gitee平台完成团队创建工作。首先,教师申请Gitee高校版账号,完成高校空间地址的注册,邀请学生加入高校空间。Gitee高校版支持仓库管理、团队管理、项目管理,是分组教学的基础平台。然后,学生线下完成分组,每组有一名组长,实行组长负责制。根据学生分组信息,在Gitee中创建团队,组长负责维护本团队成员的信息。为了方便成绩评定,要求学生注册的姓名中包含学号、姓名等信息。最后,团队负责人创建团队Git仓库,作为本团队代码的唯一协作仓库。创建团队项目,团队项目须关联本团队成员、团队Git仓库。教师最后负责检查团队创建情况。本阶段要求完成团队的创建及团队仓库、团队项目的创建,组长负责维护相关信息的正确性。团队创建流程如图2所示。

2.3 任务分配

团队相关资源创建完毕后,由各小组根据实训要求,进行任务的分配和完成。本实训课程的主要任务包括:项目背景分析、需求分析、系统总体设计、系统详细设计、系统编码、系统测试、项目文档撰写、系统答辩等,任务的分配由各小组的组长、组员讨论确定。传统的分组实训一般采用手工记录的方式分配任务,存在任务分配不透明、任务进度不直观等问题。采用Gitee平台后,各小组使用团队项目空间,进行任务的创建、分配、状态变更、关闭等,通过状态看板监控项目所有的任务状态。任务可以关联里程碑,利用燃尽图的展示方式,可以直观地预测工作何时全部完成。通过团队项目空间进行任务管理后,各组员不但清楚了自己目前的任务,也知道其他组员在做哪些任务。这样促进了任务分配公开化、透明化、可视化,让过程管理有迹可循。本阶段要求利用团队项目空间进行任务分配,创建里程碑。任务的分配和完成情况作为成绩评定的依据之一。

2.4 版本管理

软件产品最重要的管理是代码版本管理。小组所有代码提交到团队仓库中,各个组员通过仓库进行代码协作。典型的协作流程如下:1)每个小组创建本组代码仓库,使用单分支模型简化操作,只创建master 分支。2)每位组员克隆代码仓库到本地,要求每次开发新特性前先更新代码,确保本地代码最新,减少代码冲突的概率。3)根据分配给自己的任务,先提交代码到本地仓库。4)一个任务开发完毕后,及时push代码到远程仓库。5)如果遇到代码冲突,务必解决冲突后再上传代码。学生将直观感受到团队协作场景下,代码是如何通过Git仓库协作的。学生将学会掌握版本管理技能,如更新代码、代码冲突、合并代码、提交代码等。本阶段要求代码使用本团队的Git仓库进行协作,避免使用本地存储、U盘拷贝的土方法。Git版本管理的典型流程如图3所示。

2.5 成绩评价

经过系统演示和小组答辩后,评定学生的最终成绩。学生的成绩由团队成绩和个人成绩组成。团队协作情况、系统演示情况和答辩情况决定了团队成绩,任务完成情况、代码提交情况和个人实训日志决定了个人成绩。通过Gitee平台可以查看组员的任务分配、完成情况,统计组员的代码提交次数等,作为过程成绩的依据。

3 实践结果

以信息管理系统综合实训为例,班级共有46人,分成8个小组,每组5到6人。线下分组完成后,在Gi?tee平台上进行团队资源的创建,包括团队成员加入、8个团队项目、8个团队仓库。学生在团队仓库的首页写上团队名称、团队口号、团队成员分工等信息,提升团队归属感和荣誉感。实训课程结束后,首先基于Gitee统计8个小组的工作情况,作为团队成绩评定依据之一,各小组工作统计如图4所示。

通过分析,发现各组创建的任务数和成员数大致相同,说明任务分配的力度比较大,基本上是每个同学负责一块。也发现有个别小组未进行任务分配,需要进一步了解情况。从仓库提交的次数看,共进行了342次提交,平均每个小组40次提交,说明学生基本掌握了如何使用Git进行代码版本管理、代码协作。再基于Gitee统计小组成员的贡献,作为个人成绩评定依据之一。各小组内部呈现出明显的领头羊特征,启示教师要注重引导同学之间的互帮互助、共同进步,尤其要重视优秀学生的带头作用。以第3组为例,各组员工作统计如图5所示。

4 结束语

随着IT行业及教育的蓬勃发展,教育方法和内容需要和产业流程紧密联系。文章针对传统软件实训课程分组教学存在的问题,提出了基于Gitee平台的分组教学方法。实践表明,该方法提高了学生的团队意识、协作意识、职业素养,提升了分组教学的过程管理能力。后续将进一步探索企业级软件管理流程在教学中的应用,如静态检查、自动测试、自动部署等,推进Git成为软件开发类课程的标准版本管理工具。

猜你喜欢
分组教学
利用数学建模提高高等数学教学效果的研究
分组教学在中学体育教学中的实施研究
巧用分组教学,优化中职高三数学复习
分组合作学习在计算机基础教学中的实践与思考
农村偏远学校信息技术课的有效提质
实施分组教学, 促进学生个性化发展