您好!欢迎来到源码码网

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

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

以人工智能、云计算、物联网、大数据、移动计算等为代表的新一代信息技术带动了全球新产业与新经济的迅猛发展,加剧了全世界从工业化社会向信息化社会转变的风暴。经济全球化与人才竞争国际化愈演愈烈,一个国家的强大需要归根结底需要人才实力做支撑,如何培养大批的新型创新型人才以及卓越工程技术人才,成为了现代教育体系面临的新挑战[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)
推荐阅读
  • 工程项目一体化自动管理软件解决方案
  • 工程项目一体化自动管理软件解决方案
  • 1.项目概述1.1项目背景在工程建设行业数字化转型浪潮下,传统项目管理面临信息孤岛、协同困难、进度不可控、成本超支等痛点。本方案旨在构建一个覆盖工程项目全生命周期、全参与方、全业务流程的一体化智能管理平台。1.2解决方案愿景打造数据驱动、智能协同、风险预警、自动执行的工程大脑,实现:管理流程自动化率≥80%项目协同效率提升40%成本偏差率降低至±3%以内安全事故发生率降低60%1.3目标用户矩阵┌───────────────┬
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:26
  • 阅读:152
  • 车辆管理系统需求文档与技术架构PC端+小程序
  • 车辆管理系统需求文档与技术架构PC端+小程序
  • 第一部分:需求文档1.项目概述1.1项目背景为企事业单位、车队运营商、租赁公司等提供一套完整的车辆全生命周期管理解决方案,实现车辆管理数字化、智能化。1.2项目目标建立车辆从购置到报废的全流程管理体系实现用车申请、调度、监控、结算的闭环管理通过数据分析优化车辆使用效率降低车辆运维成本20%以上1.3用户角色矩阵┌──────────────┬─────────────────────────────┬──────────────
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:11
  • 阅读:140
  • 智慧农业/渔业物联网系统需求文档
  • 智慧农业/渔业物联网系统需求文档
  • 智慧农业/渔业物联网系统需求文档文档版本: V1.0项目目标: 构建一个集环境智能监测、设备自动化控制、生长模型分析、溯源管理与远程指挥于一体的综合物联网管理平台,实现降本增效、提质增产、风险预警与品牌增值。1.系统总体概述1.1核心价值: 数据驱动决策,解放人力,实现农业/渔业生产的精准化、自动化与智能化。1.2用户角色:生产员/养殖员: 现场巡视、接收告警、执行设备手动控制、查看实时环境
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 11:04
  • 阅读:51
  • 程序员AI编程工具推荐
  • 程序员AI编程工具推荐
  • AI编程工具是当前开发者的“副驾驶”,能够极大提升开发效率。以下我将从通用型、代码专用型、垂直领域型以及开源/自部署型几个维度为您分类推荐,并附上它们的核心特点和适用场景,帮助您选择。一、通用型AI对话助手(编程是核心能力之一)这类工具本质是“更懂代码的ChatGPT”,适合处理广泛的编程问题、解释代码、生成文档等。ChatGPT(GPT-4/4o)简介:行业标杆,尤其在GPT-4版本下,代码理解和生成能力极强。优点:上下文能力强,
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 10:56
  • 阅读:82
  • 中医考证在线学习小程序系统需求文档
  • 中医考证在线学习小程序系统需求文档
  • 中医考证在线学习小程序系统需求文档文档版本: V1.0目标用户: 中医执业医师、助理医师、确有专长、师承等考证学员核心价值: 利用移动化、碎片化、智能化工具,提升学习效率与考试通过率。1.项目概述1.1项目目标开发一款专为中医考证学员设计的微信小程序,提供从课程学习、题库练习、考点记忆、模考冲刺到学习社区的一站式闭环学习体验。旨在帮助学员充分利用碎片时间,系统化、高效地备考。1.2用户角色学员(主要用
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-01-09 10:53
  • 阅读:19
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部