【软件技术论文】敏捷开发在高职软件课程教学中应用(共4627字)

敏捷开发在高职软件课程教学中应用

摘要:针对传统教学的问题,提出把当前软件开发领域最流行的“敏捷开发模型”应用在高职软件技术专业课程教学中,将Java课程与前端课程HTML网页设计相衔接,基于教师团队进行全局教学内容的设计与优化,结合高职院校学生特点,介绍具体教学实施过程,最后通过教学效果说明教学改革的有效性。

关键词敏捷开发;高职;软件技术;Java语言

0引言

随着软件技术的发展和软件应用环境的变化,软件开发过程表现出明显的迭代式特点。敏捷开发作为一种轻量级开发方法,具有迭代性特征,广泛应用于工业界软件开发过程,也推动了相关大学课程的教学改革。近几年,基于敏捷开发的教学实践在部分本科院校已经展开[1-3],在提升本科院校学生软件工程能力方面取得了一定成效,但新的教学模式也面临着诸多挑战,特别是针对目前高职院校学生普遍存在的职业理想模糊、职业能力足、缺乏团队精神的现象,学生个人发展和能力提升受阻,无法适应岗位需求和社会发展的需要[4]。如何将敏捷开发模型有效融入高职软件教学体系,如何管理和评价基于团队项目的敏捷开发过程,是当下高职院校教师面临的重要课题。Java作为一种编程语言,在软件工业领域得到广泛应用,并且常年占据软件工业程序设计语言排名榜首,近几年随着JavaWeb网站、安卓系统应用APP的爆炸式增长,Java语言获得了更广泛的市场需求。Java程序设计作为计算机专业及电子信息类等其他专业的入门级专业课程,是学习动态网站开发、安卓APP、小程序设计的重要先行课程,是软件开发的基础,具有较高的实践要求,对于初学者,很多内容具有一定难度,如面向对象三大特性、抽象类和接口、集合框架、文件流等,理论知识单调枯燥、晦涩难懂,学生在学习理论知识时可能面临一些困难[5]。

1教学内容改革

高职院校软件技术专业方向主要包括Web前端、程序开发、软件测试、软件维护等方向,涉及的课程有常用办公软件使用、计算机网络搭建与管理、Linux操作系统配置与管理、HTML网页制作、MySQL数据库开发与管理、JavaWeb网站开发、桌面应用程序编码、软件文档书写、软件建模等。传统的Java课程,任课教师主要关注自己负责课程的教学,未从专业群整体上考虑如何改善,各课程衔接不够密切,难以进行深入教学,造成学生的知识深度和知识结构存在缺陷,难以满足企业对人才的需求[6]。本校Java编程技术基础和HTML网页设计两门课程,是软件技术相关专业学生的专业基础课,分别对应软件功能的后台开发和前端效果实现。在教学内容的选取上,采用“项目驱动,案例教学,一体化课堂”的教学模式展开,充分考虑本院校现有的教学条件,以人才培养方案要求为总体目标,与软件技术专业前端课程对接,寻求贴近社会实际工作、规模适中的项目作为任务载体,根据学生学习能力选择适合高职院校学生的开发项目。根据这一思路,可以将学生在HTML网页制作前端课程中学习的购物网站经过精心组织和设计,根据其后台功能需求转换为Java教学项目,启动界面如图1所示,学生具有购物平台的经历,对直观掌握“JD购物商城”项目的需求有益。按照项目的开发流程和项目的功能模块,课程共设计9个子任务(见表1),每个任务均经过整体规划,分步实施,涵盖Java课程的所有知识点。共18个学习模块,总计72课时,并针对每个学习模块进行单元教学设计,每经过一轮敏捷开发,就完成一个学习模块,让学生“所见即所得”。当前任务完成不仅扩充前一个任务内容,还引出下一次任务需求;循序渐进地实现完整的项目,不仅考虑到学生的编程能力,还体现知识的组织连贯性、项目的完整性。

2教学实施

将软件开发的敏捷开发模型应用在课程与教学领域,积极主动、有效率地响应学生个体差异以及不断变化的学习需求。在教学中,首先将学生作为课程开发团队的重要成员并贯穿始终;其次对学习需求进行分解和细化,做到准确掌握;另外通过站会、协商民主的方式对课程开发中的问题反复权衡、共同决策,让学生广泛参与到问题发现与应对的过程中。在重点培养技能型人才的高职院校,将敏捷开发模型应用到软件开发的课程项目中,开发过程以学生发展为核心,将软件技术专业知识应用在项目产品中,通过不断迭代循环完善项目功能,提升学生的职业能力和团队精神。在此开发模式下,项目被分割为多个小项目,每个小项目都具备可集成、可视、可运行的效果,最终实现开发项目的整体运行。在教学过程中,教师和学生共同按照开发流程从下发任务、日常站会(DailyMeeting)、评审会议(SprintReviewMeeting)、回顾会议4个核心过程逐步展开,并演变出具体的教学模型(如图2所示)。在实施过程中,划分成3个阶段:课前准备、敏捷开发和课后拓展,让学生体验到软件开发企业的工作流程和方法,实现从校到企的良好过渡。

2.1课前准备

1)教师课前准备。教师在授课之前,准备本次任务的“需求说明书”文档,并对任务中涉及的新知识点“for循环语句”“while循环语句”“break”“continue”“return”等关键字,提前在云平台发布预习任务(学习MOOC、观看微视频、阅读资料、完成测评),设置任务截止时间。任务结束之后收集学生反馈的信息(学习时长、测试结果),云平台根据考核权重,自动核算学生课前预习成绩。教师根据学生课前成绩进行分组,4~5人组成一个项目开发团队,将课前成绩排名靠前的学生任命为项目组长,负责带领整个团队进行本次任务开发。教师结合学生在课前任务中遇到的问题,准备课堂教学的侧重点。2)学生课前准备。学生根据教师发布的预习任务“循环的概念”,提前了解for循环、while循环的语法结构,观看教学资源,记录和反馈预习中遇到的疑难问题,完成课前任务“猜年龄游戏”,在云平台发起头脑风暴讨论活动,实现自我知识建构。学生提前记住相应语法规则,读懂、对比相关的Java程序,完成对知识点记忆、理解和初步应用的目标。

2.2课堂教学

以“任务三注册和登录”中的子任务“用户登录功能实现”教学实施为例,课堂教学流程的组织情况如下。1)分析易错案例。根据学生课前在云平台提交的作业情况,请学生对课前发布的易错案例“猜年龄游戏”进行分析,教师适当补充并提问。经过教学实施发现,学生在分析过程中,普遍对for循环的条件控制理解不够深刻,不能灵活运用循环设置“猜3次错误就退出游戏”。2)下发任务。教师下发“用户登录功能实现”任务书,任务书内容包括:①任务简介,介绍目前“JD购物商城”项目的进展情况,以及最终完整项目的功能需求;②任务目标,介绍本次课学生要完成的主要技术目标和性能目标;③提交物清单,包括各小组完成本次任务须提交的项目文件、站会记录、项目实施报告。教师借助Java开发平台Eclipse向学生展示项目完成效果,让学生对任务要求有直观清楚的认识,并现场公布本次任务的分组情况。3)召开站会。此过程对应敏捷开发中的迭代开发初级阶段。组长带领开发团队对任务需求进行分析,掌握大致的工作量;开发团队的成员进行任务认领,确定本次任务的开发人员、测试人员。教师在小组召开站会期间,为了使小组成员更好地理解和进行迭代开发,克服畏难心理、增强成就感,提醒项目组长将开发任务划分成尽可能小的模块;在项目成员确认分工之后,巡查项目组成员个人工作进展情况。4)评审会议。在此过程中,项目成员明确分工开始执行任务,完成之后测试人员进行代码审查和功能测试,在审查或测试阶段如发现任何问题,记录并反馈给开发人员解决问题。敏捷理念主张采用集体评审的方式来实现产品的开发与运作,通过协商民主的方式就开发过程中的问题反复权衡、共同决策,因此小组在评审会议中,应广泛汲取成员意见,并达成一致的解决方案。教师在小组进行评审会议期间,提醒项目组解决以下问题:①任务进度的管理;②开发人员代码的提交、合并;③借助代码分析工具检测Java代码质量,快速找到代码中的错误和潜在缺陷。5)回顾会议。本次任务完成后,项目团队中的测试人员向教师和其他项目组人员展示阶段成果,项目组依据考核评分标准完成组间互评。教师点评并给出改进意见,对巡视过程中发现的典型问题、优秀样例进行解析和讲评,总结课堂实践环节中的通用性错误,要求学生在课后完成本次子任务的项目实施报告并提交至云课堂。

2.3课后考核评价

学生总结本次任务完成情况,撰写项目实施报告并提交至云平台;教师通过云平台发布拓展任务,任务以学生课中出现的错漏问题为侧重点,强化薄弱部分,并适当进阶难度。笔者改革传统的学生评价手段和方法,采用阶段评价、过程性评价与目标评价相结合,理论与实践一体化的评价模式,全过程考核评分细则见表2。评价过程包括课前、课中、课后3个阶段,教师结合演示情况和文档对本阶段任务进行综合评价,学生自评分占30%,教师评价分占70%,其中自评分由组内所有成员的具体业绩分组成。

3教学效果

本专业教学团队已经在2个学期的软件技术专业理论实践课程中使用项目驱动的敏捷开发模型,在提升学生编程能力、激发学生学习兴趣、提高软件开发质量等方面,取得了较好的效果,主要体现在以下几个方面:①编程大赛成绩提升显著。本专业学生参加由工业和信息化部人才交流中心主办的“蓝桥杯”大赛JavaC组赛项,2021年荣获省赛一、二等奖16人,与2020年的10人、2019年的9人相比,获奖人数逐年稳步上升,学生的编程能力明显增强。②项目开发技能得到提升。在实践过程中,学生以项目组长、测试员、开发人员的身份自愿领取开发任务,体验了企业真实的开发流程,实现了与行业及市场的接轨,使得其在校就获得了企业开发经验。③考核评价客观公平。由于敏捷开发模型的透明性,每位学生的工作完成情况在实践过程中一目了然,教师打分结合学生自评、组间互评,保证了评价的公正性。

4结语

校企合作、产教融合的深入改革对学生在校学习方式提出了更多要求,学生有更多的方法和途径获取知识,给教师授课提出了更高的要求。敏捷开发模型应用在教学过程中,以学生为中心,利用信息技术的优势,改变传统的教学方法,要求学生主动学习、解决问题。该模型也对教师的能力有更高的要求,除了要具有扎实的专业学科知识,还要具备一定的信息技术能力、学习资源设计与开发能力和创新能力,对教师在课堂上的把控能力、引导能力、沟通能力和组织能力等方面也提出了更高的要求,有效促进了教师的职业发展。

作者:许孟杰 徐昶 单位:湖北科技职业学院软件工程学院

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片