SCI、SSCI、EI、SCOPUS指导服务
论文翻译润色 论文预审评估 质量分析报告 期刊匹配推荐

与学术顾问沟通

软件工程课程设计教学新模式

分类:应用电子技术论文发表 时间:2020-03-23 09:27 关注:(1)

  分析软件工程课程设计教学现状,提出新工科背景下的课程教学新模式,阐述如何借鉴产学合作思想,采用符合目前主流企业软件项目标准开发过程和腾讯敏捷软件开发平台进行软件项目的设计与开发,组建工程化多层次综合师资队伍,完善课程评价体系,说明该教学模式能够激发学生学习兴趣,提高解决复杂软件工程问题的能力。

软件工程课程设计教学新模式

  关键词:新工科;软件工程课程设计;产学合作

  1背景

  作为信息技术的核心之一,计算机技术发展迅速,物联网、大数据、人工智能、移动计算、云计算等正在改变着人类的生产和生活方式,社会急需大量的相关人才。然而计算机类专业培养的人才与这些需求,特别是未来新的需求有较大的差距[1]。因此,本专业类要从“外延发展”转向以提高质量为主的“内涵发展”。为了更好地进行“内涵发展”,需要更新教育基本理念,从传统的以教为中心转变为以学生发展为中心,更加聚焦社会需求与学生发展,从面向课程的教育(CBE)转向面向产出的教育(0BE)。要以培养满足社会特定需求的毕业生为目标,要“问产业需求建专业”“问技术发展改内容”,加大产学合作的力度。

  2软件工程课程设计现状

  软件工程是研究软件开发维护与管理的工程学科,是计算机科学与技术和软件工程专业的专业基础核心课程,对于提升学生的综合能力具有至关重要的作用[2]。软件工程内容比较庞杂和抽象,,对于缺乏软件开发实际经验的本科生来说,学习这些抽象的理论知识往往会感到枯燥无味且难以理解[3],因此案例教学和实践环节是强化软件工程教学效果的重要途径。软件工程课程设计是与软件工程课程相配套的后继实践教学环节,其主要目的是通过实际项目开发培养学生的实践操作能力,使学生通过实际的“动手做”和“真正练”将在软件工程课堂上学习到的理论知识进一步消化、理解和巩固。软件工程课程设计通常的做法是将学生分成小组,按照软件工程的思想、方法和过程进行给定题目的项目开发,撰写提交开发计划、需求、设计等相关项目文档,最后展示开发完成的项目产品。然而面对新工科建设提出的对培养未来多元化和创新型卓越工程人才的要求[4],该课程存在以下几个问题限制了其达到预期的教学效果。

  2.1课程教学与产业需求结合不紧密

  在校教师掌握软件工程基本原理和知识,掌握多种软件过程模式,具有较丰富的工程开发经验,但是计算机技术发展迅速、日新月异,在校教师无法及时掌握企业最新开发信息、采用的流行方法工具,以及企业对人才培养的最新要求,限制了学校培养的人才与市场需求的有效接轨。

  2.2课程指导教师人员不充足

  由于在校教师人员数量和工作安排限制,通常一门实践课程的师生配比是1:30(即一名教师负责一个自然班)。但是为了提高课程教学效果,教师需要为学生提供有针对性的、个性化的现场指导,同时需要密切关注各个小组甚至每名成员在整个开发过程中的表现和参与情况,以便准确评估学生的课程成绩。因此理想的师生配比是1:5(或1:10,即一名教师负责一或两组学生),但目前这种师生配比在一般高校中都是无法实现的。

  2.3课程评价方法不完善

  软件工程课程设计对于学生的成绩考核评价通常基于学生项目小组在课程结束时提交的项目文档和系统演示。教师通过检查项目开发结果、评阅文档报告评定每个小组的总体成绩,再根据小组负责人为项目组成员评定的工作量贡献比例计算每个学生的课程成绩。这种评价方法既综合考查了软件过程质量(项目文档)和软件产品质量(系统演示),同时也区分了项目组成员的不同贡献度。但是小组负责人评定团队成员的个人工作量缺少客观标准;指导教师通常无法对多人协作项目组中的个人工作情况进行有效的监督和控制,进而也无法客观评定学生的个人课程成绩。同时,这种评价方式无法满足新工科背景下对软件工程实践课程提出的教学要求[5_6],强调学生不仅要具有现代软件工程开发能力,也要具备主动学习、协作学习、系统思维、过程控制、表达展示等综合素质,这些要求在传统评价方式中难以体现和落实。最后,指导教师在课程结束时进行的单次评价无法体现学生在实践过程中的详细工作情况,与“基于项目的教学”要求的过程控制相违背,难以实现“做中学”“做中教”的教学效

  3基于产学合作的软件工程课程设计教学新模式

  本着产学结合,培养创新复合型、适应市场需求人才的教学目标,调整教学内容,优化教学方式,组建工程化多层次综合师资队伍,完善课程评价体系。

  3.1采用基于TAPD的教学内容和教学方法

  敏捷开发是目前互联网企业主要采用的软件开发模式。腾讯敏捷产品研发平台TAPD(TencentAgileProductDevelopment)是腾讯公司在2006年提出的敏捷开发体系,提供贯穿敏捷研发生命周期的一站式服务。本课程引入TAPD平台,利用TAPD的灵活性选择合适模块搭建适合课内教学使用的研发流程,设计合理的课程教学方式、内容和计划。(1)课程采用“基于项目的教学”模式,以实际软件项目开发的形式进行。学生自愿分组,每组4?5人,指定一人为项目经理。(2)课堂上指导教师使用真实敏捷案例基于TAPD平台进行体验式教学。鼓励学生在课下进行自主学习,深人理解敏捷过程思想,快速掌握TAPD需求、迭代、故事墙、缺陷、报表、文档等核心应用,能够基于TAPD进行团队协作敏捷开发。(3)指导教师与学生共同确定敏捷开发题目,由每个项目小组自由选择,然后进行基于TAPD的敏捷软件项目开发。(4)开发过程中,指导教师基于TAPD监控项目组及学生个人工作进展情况,观察记录项目组各成员在项目开发活动中的参与情况,为学生在开发过程中遇到的问题提供必要的指导意见。(5)合理安排教学进度,使得学生可以在课程的32学时内进行2 ̄3次项目迭代,充分感受快速迭代式开发的工作方法。课程的课时建议安排见表1〇在课程的具体执行过程中需要注意以下几点。(1)讲授敏捷方法。课程采用敏捷开发思想,使用Scrum流程作为开发过程的实践流程,以期让学生在接近真实的场景下,在敏捷思想的指导下进行完整的软件项目开发。为此,需要在项目启动之前使学生明确敏捷思想和Scrum流程。这些内容可以在之前的软件工程理论课上进行学习,也可以在本课程初期讲授。(2)学习TAPD平台。指导教师在项目启动之前将利用真实敏捷示范性案例,带领学生进行体验式教学,让学生快速掌握TAPD平台的基本功能、使用方法和敏捷开发的基本流程。鼓励学生利用TAPD提供的在线帮助、帮助文档、使用手册、社区等学习资源进行独立阅读学习,理解TAPD核心应用功能,培养学生积极主动探索能力和自学能力。(3)设计项目题目。以学生兴趣为中心确定项目题目。对于一门实践课程,学生选择合适的题目是保证该实践教学顺利开展的关键。在进行选题设计时尽量选择真实的案例[7],并根据需求的难度复杂性、课程时间等因素进行必要的裁剪或定制。学生可以提出自己的题目,指导教师审核题目难度、工作量和与课程目标的匹配程度,通过后可以作为学生的开发题目。同时选题也要考虑和当前主流的计算机技术相结合,以激发学生的开发兴趣,提升学生的自主创新学习能力。(4)建设案例库。在教学过程中进行软件工程案例的收集与整理。一方面请求腾讯及其他软件组织为课程提供一定数量的真实案例,由教师根据需要进行必要的裁剪和定制;同时,在课程的实施过程中收集整理学生完成的优秀案例。这些真实案例不仅可以用来进行课堂上的体验式教学、学生课外的自主学习,而且可以让新一届学生以这些案例作为基准进行新一轮的迭代开发。弓|入TAPD平台能提高学生对课程的关注度,激发学生学习兴趣,增强其学习动力,达到以行业需求、产出为导向的目标,为学生就业和未来职业生涯发展奠定牢固基础,符合产学合作协同育人模式。在教学过程中学生需要进行知识延伸学习,找到自学的方式、方法和途径等,有利于培养学生终身学习能力。

  3.2建设工程化多层次综合师资队伍

  为了改善课程教学与产业需求结合不紧密和课程指导教师人员不充足的现状,可以采取“企业人校、教师人企、以旧带新”的解决方案。(1)向腾讯申请人员和技术支持,邀请企业一线工程技术人员进入课堂,指导学生进行基于TAPD的敏捷开发,现场解答学生问题,向学生传授软件公司一线最新开发经验、方法和技术。(2)定期派遣教师参加企业相关技术培训,或者到企业进行实地观摩、学习和实践,学校、学院制定相应政策,鼓励教师积极参加培训和实践活动。(3)征集一定数量的学生助教志愿者。在课程建设初期,征集一定数量的研究生加入校内教师团队进行必要的学习、培训,在课堂上协助教师指导本科生进行项目开发。在一期课程结束后,选取当次课程中表现优异的学生,本着自愿的原则,邀请他们帮助指导下一学年该课程的学生。通过“企业人校、教师人企”,可以帮助在校教师及时掌握企业最新开发信息、采用的流行方法工具,以及企业对人才培养的最新要求,培养满足市场需求的软件工程人才;通过“以旧带新”,让企业工程人员带教师、教师带学生、老生带新生,解决教师团队人员数量不充足的问题,保证课程指导人员队伍的可持续发展。组建工程化多层次综合师资队伍能够给予学生更高的关注度和更好的工程化指导,实现“做中教”的教学效果,培养符合软件产业需求的高水平软件工程人才。

  3.3建立科学的课程评价体系

  采取更加直观、有效、科学、客观的课程评价体系,综合评定项目组的整体成绩和项目成员的个人成绩,合理评定每个学生的课程成绩。项目组的整体成绩主要根据项目组提交的软件开发文档质量、项目组完成各项任务的及时性和最后提交的产品质量进行评价。项目组整体成绩占学生个人课程成绩的50%。项目组成员的个人成绩根据其在项目中的参与度和个人贡献情况进行评价,其中参与度主要考查该成员在项目开发过程中各种问题讨论、脑暴、会议等环节中的表现,由指导教师和项目组组长进行双重评价。参与度成绩占学生个人课程成绩的20%。个人贡献情况利用TAPD提供的相关功能进行客观评价:利用“资源看板”“需求分布统计”查看团队各成员的工作分配情况;利用“故事墙功能”查看团队各成员所负责需求的进度情况;利用“缺陷统计”查看团队各成员的需求开发质量;利用TAPD的文档功能查看团队各成员贡献的文档;利用TAPD集成的Github或Gitlab等工具,查看团队各成员的代码提交趋势统计和贡献统计等数据。个人贡献成绩占学生个人课程成绩的30%。这种方法一方面借助TAPD提供的项目开发数据增强了评价的客观性,实现了对多人协作项目开发的有效监督和控制;另一方面综合团队整体完成情况、个人参与度和个人贡献度评定学生课程成绩能够增强学生的团队意识、协调沟通能力,鼓励学生积极参与,踊跃发表个人观点,有利于培养学生协作学习、过程控制、表达展示等综合素质,实现“做中学”的学习效果。

  4课程教学改革成果评价

  在刚刚结束的2018—2019下学期的软件工程课程设计上,我们首次引人TAPD软件开发平台,利用敏捷思想进行软件项目开发。实践结果表明学生对TAPD平台反映良好,显示出了更高的学习积极性和自主性,学生在新技术学习、团队协同、文档撰写、项目展示等方面的能力获得了显著提升,深人理解了软件工程思想,掌握了软件工程过程,增强了分析和解决复杂软件工程问题的能力。5结语软件工程课程设计是与软件工程相配套的一门非常重要的实践课,课程教学效果的好坏将直接影响学生对所学软件工程理论、思想、方法和技术的理解和掌握程度,必须给予该课程足够重视,以培养创新型的软件开发人员为目的进行课程改革来提高教学质量。我们采取的新工科背景下基于产学合作的软件工程课程设计的教学新模式,在课程中引入敏捷软件开发思想,借助腾讯TAPD软件开发平台为学生实际软件项目开发给予全过程支持,组建工程化多层次综合师资团队为学生提供切实有效的开发指导,改进课程评价体系,客观、全面、科学地评定学生课程成绩。实践结果表明该教学新模式能够激发学生的学习兴趣,提高学习的主动性和积极性,改善课程教学效果,使学生更好地理解和掌握软件工程的基本原理、思想和方法,并且掌握当前应用广泛的软件工程过程模式和先进的敏捷开发平台,有利于培养新工科背景下满足市场需求的软件IDgA^。

  参考文献:

  [1]蒋宗礼.新工科建设背景下的计算机类专业改革[J].中国大学教学,2017(8):34-39.

  [2]刘强,陈越,路斌,等.“软件工程”课程教学实施方案[J].中国大学教学,2011(2):41-44.

  [3]胡劲松,张亮,黄海军.项目驱动的启发式教学在软件工程课程中的应用[J].计算机工程与科学,2016,38(增刊1):228-231.

  [4]钟登华.新工科建设的内涵与行动[J].高等工程教育研究,2017(3):1-6.

  [5]刘华东.构建“三三三”培养体系,推进本科教育迈向更高目标[J].中国高等教育,2012(18):34-36.

  [6]夏有为.培养实践能力,造就创新人才(二)——访美籍科学家交大密西根学院院长倪军教授[J].实验室研究与探索,2015,34(1):1-4.

  [7]孙明,田蜜,康文杰.设计型项目驱动的软件工程实践教学改革[J].计算机教育,2016(3):156-159.

  作者:车海燕 冯铁 马东辉 单位:吉林大学计算机科学与技术学院 吉林大学软件学院

期刊目录网是一家专业从事国内国外期刊学术论文发表指导,著作出版,发明专利的权威平台,提供文章翻译、文章润色、文章预审、期刊推荐、发表支持、书号申请、出书指导、专利申请等评职称相关学术成果服务。是您评职称学术成果指导首选权威平台。

AllSet微信公众号
说明:1、微信扫码或搜AllSet学术并关注
2、发送SCI/SSCI期刊全名告知分区
3、按提示可下载SCI、SSCI、EI期刊目录
Copyright © 2013-2022 www.qikanmulu.com,All Rights Reserved