敏捷开发模式在软件工程课程中的应用

作者: 连钰昕

[摘           要]  以软件工程课程为基础,阐述了敏捷开发模式在计算机教学中的具体改革创新实践。针对当前大环境下软件工程课程普遍存在的问题,运用敏捷开发模式对其进行新型教学,通过多环节环环相扣的方式,依据迭代周期内所得到的任务成果进行验收讲评,教师再进行针对性的讲解,以此提高学生对知识点的掌握程度。

[关    键   词]  敏捷开发模式;软件工程;教学改革;创新;适应性

[中图分类号]  G712                   [文献标志码]  A                   [文章编号]  2096-0603(2025)10-0159-02

一、引言

随着信息技术的高速发展,由计算机运行所需的各种程序及相关文档资料构成的软件,开始在人们生活的方方面面崭露头角。在高校的学科建设中,软件工程凭借其综合运用计算机科学、数学和管理科学等多领域知识进行软件开发的特点,一直占据着举足轻重的地位。然而,由于软件工程课程具有综合性、实践性等特点,高校教师在教学过程中常常面临缺乏项目化教学经验、理论知识与实际项目开发脱节等问题[1]。

教学内容过于侧重理论,缺乏实践指导,使学生在学习软件工程理论时兴趣不足,仅停留在表面理解,难以获得实际应用体验,从而导致教学效果不佳。因此,教育部《工程教育认证标准》明确提出,要培养学生的“实践和创新能力”[2]。为了保证预期教学效果、教学目标的实现,本文提出了将敏捷开发模式[3]运用在软件工程课程教学过程中,让学生在实际操作中培养软件工程思维。

二、教学存在的问题

(一)理论与实践脱节

软件工程课程因其内容复杂抽象,致使学生在学习过程中常觉得难以理解,甚至厌烦学习。实践环节不够完善,在实践环节对学生的要求大多是完成相对应的文档,而非自主创新完成实践内容。同时,缺乏适合学生的实践环境和资料,学生得不到真正锻炼。实践学时相对较少,学生实践能力较差,所撰写的软件开发文档也不够规范。

(二)体系不统一,定位不明确

软件工程课程的体系不统一,定位不明确,导致学生难以形成全面的理解。不同教师讲授课程时,由于对整体内容的认知和把控水平存在差异,学生不清楚每门课的作用,学习目标不明确,最终导致整个知识体系不牢固,出现与岗位需求衔接不畅的现象。

三、敏捷开发模式在软件工程中的实施

基于培养复合型、创新型人才的要求,当前的培养模式已经不足以满足新形势下高职学生的学习需求,因此,基于敏捷开发模式的新型培养方法应运而生。

(一)准备环节

相较于传统的讲授式授课模式,基于敏捷开发模式的教学模式要求教师在讲授基础知识时,结合相关软件开发经验,选取合适的项目作为背景进行讲解与应用[4]。在任务选择上,要依据学生的实际情况进行划分,既不能过于简单,也不能过于复杂。同时,教师在课前需做好充分准备,提前熟悉项目的每个环节,并在任务布置完成后,向学生详细说明,让学生明确基于该项目需要完成的任务。在任务开展过程中,教师要对学生进行分组,分组应采用“同组异质、异组同质”的方式,确保每个小组的学生之间能够进行有效的学习交流。例如,可以将机房设计成圆形分组模式,为每个小组划分一块场地,便于小组成员之间的沟通。此外,基于敏捷开发模式的软件工程项目要求在每个环节都完成相应的文档报告,因此需要为学生提供一定的设备资源,作为学生开展学习的基础条件[5]。

(二)实践环节

在任务执行过程中,教师扮演组织者与引导者的角色,其职责是发布项目任务书,并明确告知学生《项目需求说明书》。随后,各个小组依据需求说明书中的要求,自行进行角色划分,明确各自的工作任务。以“利用Axure软件实现图书管理系统的增删改查交互”这一教学实施为例,课堂教学情况如下:

1.课前分析环节

在课程讲解前,教师借助Axure软件,引导学生分析如何利用该软件实现图书管理系统中增加信息的交互。在提问过程中发现,学生普遍对交互的操作步骤不够熟练,无法灵活进行设置。

2.下发任务

教师下发“利用Axure软件实现图书管理系统的增删改查交互”任务书,任务书内容包括:(1)任务简介,介绍“图书管理系统”项目交互的进展情况,以及全部交互完成后的最终功能界面;(2)任务目标,明确本节课学生应掌握的知识目标和技能目标;(3)课后汇报清单,涵盖各小组完成本次任务需提交的项目文件、站会记录等。

3.迭代计划会议

各小组在任务开始前,依据本节课的任务要求召开小组会议。会议中,各小组成员根据自身技能掌握的熟练程度,对完成本节课任务所需时间进行估算,并根据任务的难易程度进行排序,明确每名小组成员的工作计划,制订迭代周期与迭代目标。

4.每日站会

各小组在任务初期,根据小组成员的操作情况安排站会时间。站会期间,组长带领团队成员对任务需求进行详细分析,确保本节课的任务均有小组成员认领,并实行人员负责制,对优先完成任务的小组成员实施奖励制度。同时,教师在召开小组站会时,需明确各小组之间的任务已清晰划分。为进一步激发学生在任务完成过程中的积极性,教师在下发任务时,应尽可能提醒团队成员将任务细化,并鼓励每个学生在任务完成后主动汇报工作进展。

5.审评及总结会议

任务完成后,各小组派代表向教师和其他同学展示成果。教师根据展示结果进行点评,针对巡视过程中发现的共性问题进行讲解。在总结环节,可对展示过程中的优秀案例进行详细评析,同时通过控屏等方式列举反例,说明常见错误。让学生在一定时间内对各组项目进行改进,并收集最终改进后的项目成果。

(三)课程总结

在本节课的项目教学任务完成后,教师需及时对全班学生进行评价,既要指出问题,也要给出改进意见或措施。评价可采用过程性评价与总结性评价相结合的方式。过程性评价是依据学生在项目完成过程中的参与度、完成度、创新度和组织协调能力等方面,采用优、良、中、差四个等级进行评定,并在项目完成后,按照项目细则的占比计算最终成绩,作为学生的平时成绩。总结性评价则是根据学生最后上传的项目成果及相关文档进行整体评分。项目评价的最终成绩,总体评分占比40%、平时成绩占比60%。

敏捷开发是一种以人为核心、迭代且循序渐进的开发方法,它注重在整个开发过程中的适应性与灵活性。将敏捷开发模式应用于软件工程课程教学中,能让学生主导开发过程,增强他们的参与感与积极性。同时,这种开放性的评价方式真正做到了以学生为中心,摒弃了成绩中心论,极大地增强了学生学习的自信心,有效激发了学生在学习过程中的创新能力。

四、结束语

敏捷开发模式在教学过程中的应用,切实实现了实践驱动的学习。敏捷开发秉持“做中学”的理念,学生借助实际操作与迭代开发,能够更深入地理解并掌握复杂的计算机知识与技能。同时,迭代过程有助于学生在项目早期便发现问题,并及时加以解决,避免问题的堆叠,进而提升学习效果。对教师而言,敏捷开发的迭代过程使其能够更清晰地洞悉每个学生或团队的进度与存在的问题,从而给予更具针对性的指导。并且,教师可依据学生在敏捷开发过程中的表现与需求,灵活、动态地调整教学内容,使其与学生的实际水平和兴趣高度契合。

参考文献:

[1] 曹静,谢日星.高职软件技术专业群课程模块化设计研究[J].中国成人教育,2011(4):61-63.

[2] 工程教育认证标准(2017年11月修订)[J].电气电子教学学报,2019,41(1):1-4.

[3] 王思阳.工作流引擎技术分析及在项目管理系统中的应用实践[J].数字技术与应用,2023,41(9):96-98.

[4] 李娜,任志宏,张萍.敏捷开发在校企互联网项目实践过程中的探索与实践[J].电脑知识与技术,2022, 18(12):48-50.

[5] 丁洁,周颖,郭艳.翻转课堂教学模式在软件开发教学中的应用:以敏捷开发模型为例[J].科技风,2018(12):19.

编辑 郑晓燕