您好!欢迎来到源码码网

敏捷教学在软件开发的应用

  • 行业资讯
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-04-14 15:03
  • 阅读:357

以人工智能、云计算、物联网、大数据、移动计算等为代表的新一代信息技术带动了全球新产业与新经济的迅猛发展,加剧了全世界从工业化社会向信息化社会转变的风暴。经济全球化与人才竞争国际化愈演愈烈,一个国家的强大需要归根结底需要人才实力做支撑,如何培养大批的新型创新型人才以及卓越工程技术人才,成为了现代教育体系面临的新挑战[1]。教育部于2017年推动了“新工科”发展战略,掀起了我国高等教育的新一轮改革热潮,人们积极热烈地探索人才培养的新模式和新途径。针对新形势下应用型人才培养目标,国内很多应用型本科院校积极引进国外先进教学理念,探索“项目教学”、“校企合作”、“以证促学”、“CDIO实训”等多种教学改革方式并取得一定的成效[2],但在实施过程中或多或少存在一定的问题。在信息工程领域软件开发课程体系中,实训教学是一个培养学生综合能力的关键实践环节,为了达到预期的教学目标,把软件工程领域中“敏捷开发”的方法与软件开发实训教学相结合,让学生了解软件企业真实流程,提升其职业综合素质,更好的与企业需求接轨。

1传统软件开发实训教学中的问题

软件开发属于团队行为,传统的软件开发实训教学一般以分组教学的形式展开,即将学生分成小组,一个小组的成员协作完成一个小型项目的开发,项目开发过程多以“瀑布模型”的模式展开,这种任务驱动的教学过程中存在的主要问题如下:(1)时间进度难以控制。传统实训教学中一般流程是教师布置任务、学生执行实训任务、教师验收检查,学生领取任务后,会按软件工程的周期要求制定计划并有序展开各阶段任务,但是由于学生经验不足,而实训的时间周期也有限,学生很难在一开始就把所有的需求和设计全部明确,执行过程中经常会发生需求、设计变动的情况,这种变动可能导致前期工作全部返工,轻则造成进度滞后,重则导致整个项目开发失败。(2)教学过程难以管理,师生互动不充分,无法及时有效形成教学反馈。传统的实训实施过程中,教师为了督促学生积极有效参与实训,通常会按预先制定的进度计划进行阶段性检查,但是往往由于进度计划不够细致具体,对学生起不到应有的策动效果,部分学生只是应对老师检查,对于实训中遇到的问题学生往往不能或不愿积极主动进行反馈,师生不能深入互动,实训效果也得不到保障。(3)团队成员之间沟通、协作不够深入。以小组的形势展开实训旨在模拟真实的软件开发过程,提高学生得团队协作和沟通能力。但在传统的实训教学中,由于项目开发的各个阶段线性实施,如编码完成之前测试无法进行,这就造成编码阶段负责测试的同学无法展开工作;另一方面,小组中能力强的学生往往包揽大部分或全部任务,能力弱的同学则成了打酱油者,小组成员之间无法有效协作和沟通。

2敏捷教学模式探讨

传统的软件实训教学以“需求分析、设计、编码、测试、维护”这样一个线性流程来安排展开,这与当前众多软件企业中普遍采用的轻量级软件敏捷开发方法严重脱节[3]。针对传统实训教学存在的问题,顺应业界潮流,培养满足企业实际需求的人才,将敏捷软件方法与软件实训教学相结合实施敏捷教学。

2.1敏捷教学的理念

敏捷教学的理念源于20世纪90年代软件工程领域中兴起的敏捷软件开发方法,其强调以用户需求为核心,以多轮迭代、循序渐进方式进行软件开发,可以大大提高软件开发效率。敏捷教学遵循进化性原则、灵活性原则、迭代性原则和协同性原则[1],它以学生发展为中心,强调理论、技术和实践教学的交叉并行与快速重构,通过多轮迭代的知识学习过程实现能力循序渐进的提升,是一种具有动态适应性的教学新型形态。具体到软件开发实训教学,敏捷教学将抛开传统软件开发的线性实施顺序,按照“编码-测试-发布”的形式进行迭代实施,将整个实训周期划分成若干个较短的迭代周期,每一次迭代都可以生成阶段性的可交付运行的软件版本,这将便于学生之间的沟通和协作,提高学生的参与度和积极性,教师也可以更及时地对开发过程进行干预和控制,形成良性教学反馈闭环。

2.2敏捷教学中的角色

软件开发属于团体行为,经典的敏捷开发方法论中包括三种角色:PO(ProductOwner即产品负责人),SM(ScrumMaster即团队负责人),TM(TeamMember即团队成员)。PO负责提炼产品需求,确定开发目标,把开发任务分解成若干个子任务并确定子任务优先级;SM负责整个开发团队的协作运行,带领团队按照敏捷开发的流程展开实施,确保目标达成;TM负责具体实施子任务的迭代开发和增量交付。在具体实训教学中只有教师和学生两类角色,所以要确定这两种角色与PO、SM、TM的对应关系。PO一般由教师充当,也可以由能力较强的、对产品需求有清晰认识的学生兼任;SM一开始由教师兼任,当学生团队在教师指导下形成自组织团队时,可由协调能力较强的学生负责,此时教师退出SM角色;TM当然由学生充当,负责项目的迭代开发和增量交付。

2.3敏捷教学在软件实训中的实施

敏捷开发最突出的特点就是以“编码-测试-发布”的形势进行多轮迭代、增量开发[4],强调尽早编码、尽快开发出软件原型。结合学生经验不足的实际情况,在迭代流程开始之前,可以让学生以头脑风暴的方式明确项目需求,具体步骤如下:(1)学生分组认领任务:首先将学生分组形成若干个开发团队,确定团队开发课题任务,小组人数一般以4-6人为宜,可根据任务的难度和规模适当增加人数。(2)生成软件产品规划:在PO指导下,把实训任务分解成若干个子任务,由PO、SM、TM协同讨论,确定ProductBacklog(产品需求列表)。ProductBacklog中的一行表示一个子任务,通常以UserStory的形势展现,一个UserStory包含三个主要要素(3W):角色(Who),即谁要使用该功能;活动(What),即需要完成什么功能;商业价值(Why),即为什么要这个功能。另外ProductBacklog中还要给出子任务的优先顺序、计划完成时间等。在预估子任务完成时间时,可以采用头脑风暴的形势,团队中的每一个成员都要估算任务完成时间并解释为什么,只有所有成员意见达成一致时才能确定预估时间。ProductBacklog列表形式如表1所示,其中优先级的设置主要考虑子任务与核心功能、重要功能的相关度。因为实训课程周期比较短,通常为四周时间,为了更加高效地进行迭代开发时,通常对ProductBacklog中的子任务进行进一步分解,得到SprintBacklog列表,并以人课为单位估算出每个SprintBacklog所需时间,如表2所示。(4)实施迭代开发团队成员根据SprintBacklog列表循环实施“编码-测试-发布”的过程。考虑到学生学习能力和实践能力不均衡,编码阶段可以采用结对编程的方式进行,这样当一个成员在编码时出现语法或逻辑错误时,与之结对的成员可以及时发现并改正,这样有利于团队成员之间的交流和互相促进。在编码的同时,测试人员可以根据功能描述设计测试用例,编码完成后即可进行测试,以及时发现缺陷反馈问题,以促进修改完善代码,这样编码与测试交叉进行,可以提高开发的效率和质量。为了更直观的展示迭代开发进度,便于对迭代开发过程透明化管理和团队协作,可以制作迭代任务看板。具体作法是在一块白板上绘制一个表格,该表格包括UserStory、ToDo、Doing、Done四列,分别表示用户故事(迭代目标)、待实施的子任务、正在实施的子任务和已经完成的子任务,每一个迭代完成后及时更新任务看板,便于教师掌握实训进展情况。

3总结

本文首先分析了国内应用型高等院校教学改革的现状和传统软件实训教学中存在的主要问题,针对问题把目前企业中普遍采用的敏捷开发方法与软件开发实训教学相结合,介绍了敏捷教学的理念,阐述了敏捷教学在软件开发实训课程中具体的实施流程和措施。实际教学实践证明,这种新的实训教学模式可以有效解决传统实训教学中存在的问题,对提高学生积极性和参与度、促成师生深度互动、提高实训效率有明显效果。


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 设备全生命周期智能巡检管理系统
  • 设备全生命周期智能巡检管理系统
  • 一、项目概述项目名称:设备全生命周期智能巡检管理系统核心目标:通过一机一码(二维码)标准化巡检流程,确保不漏检、不错检。建立并维护每台设备的完整数字档案(涵盖基础信息、巡检、维修、保养全记录)。实现故障的快速上报、跟踪与闭环处理。将线下纸质记录电子化、流程化,实现数据可追溯、可分析。目标用户:现场巡检/操作人员:使用移动端进行日常巡检与记录。设备管理员/维修工程师:处理故障、执行维修保养、管理设备状态。部门主管/管理层:查看报
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-06 11:31
  • 阅读:81
  • 同城跑腿预约系统功能需求文档
  • 同城跑腿预约系统功能需求文档
  • 1.文档概述项目名称:同城跑腿预约系统核心目标:为用户提供便捷、可靠的同城即时物品取送、代办服务,并为服务提供者(师傅)提供高效的订单匹配与管理工具,实现线上线下服务闭环。目标用户:用户端:有物品取送、购买、代办需求的个人及企业用户。师傅端:提供跑腿服务的骑手、司机或自由职业者。核心价值:便捷预约、智能调度、全程追踪、安全可靠。2.总体业务流程用户发布订单 -> 系统智能派单/师傅抢单 
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-06 11:18
  • 阅读:216
  • 百度搜索垃圾广告霸屏,市场份额被蚕食?
  • 百度搜索垃圾广告霸屏,市场份额被蚕食?
  • 进入2026年,随着AI的崛起,中国传统搜索引擎市场的用户占比和竞争格局发生着明显的改变。需要强调的是,传统“搜索”的定义正在被颠覆,分析必须从“搜索行为”和“流量入口”两个维度来看。核心结论百度依然是综合搜索的龙头,但份额持续被蚕食,市场已从“一家独大”变为“一超多强”。“搜索去中心化”是最大趋势。越来越多用户,尤其是年轻群体,不再打开百度,而是直接在抖音、微信、淘宝、小红书等超级App内进行“站内搜索”来获取信息、商品和服务。微软必
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-06 10:56
  • 阅读:198
  • AI编程对当前程序员就业环境的影响:挑战、机遇与未来重塑
  • AI编程对当前程序员就业环境的影响:挑战、机遇与未来重塑
  • 一、影响全景:行业正在经历“技术性重构”直接冲击领域基础代码生成:重复性编码任务(如CRUD操作、简单API开发)效率提升50-80%代码审查与调试:AI辅助定位bug、优化代码结构,减少人工排查时间文档与测试:自动生成技术文档、测试用例成为新常态入门级岗位需求变化:对初级程序员“代码搬运”能力需求下降,更重问题分析与架构理解数据对比(2023-2024行业调查)使用AI工具的开发者任务完成速度平均提升35%63%的企业调整了初级工程师
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-06 10:41
  • 阅读:236
  • SSL证书有哪些类型,应该如何选择
  • SSL证书有哪些类型,应该如何选择
  • SSL证书根据验证级别、保护域名数量和功能特性主要分为以下几类。选择合适的证书需综合考虑安全需求、预算、品牌形象和技术兼容性。一、SSL证书的主要类型1.按验证级别分类(从低到高)2.按保护域名数量分类3.按证书功能/特性分类标准SSL证书:基础加密功能。代码签名证书:用于软件/代码签名,验证开发者身份(如Windows驱动、APP)。邮件证书(S/MIME):加密和签名电子邮件。客户端证书:用于双向认证(如VPN、企业内网)。二
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-06 10:35
  • 阅读:151
联系客服
源码代售 源码咨询 素材咨询 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部