收藏 分销(赏)

“101计划”软件工程课程建设思想及成果.pdf

上传人:自信****多点 文档编号:823237 上传时间:2024-03-26 格式:PDF 页数:5 大小:1.52MB
下载 相关 举报
“101计划”软件工程课程建设思想及成果.pdf_第1页
第1页 / 共5页
“101计划”软件工程课程建设思想及成果.pdf_第2页
第2页 / 共5页
“101计划”软件工程课程建设思想及成果.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、29计 算 机 教 育Computer Education第 11 期2023 年 11 月 10 日中图分类号:G642“101 计划”软件工程课程建设思想及成果毛新军1,孙艳春2,褚 华3,边耐政4(1.国防科技大学 计算机学院,湖南 长沙 410073;2.北京大学 计算机学院,北京 100871;3.西安电子科技大学 计算机科学与技术学院,陕西 西安 710071;4.湖南大学 软件学院,湖南 长沙 410082)摘 要:根据“101 计划”软件工程课程建设的要求,介绍“101 计划”软件工程课程建设的工作思路和原则,从课程知识体系、课程教案、课程教材、实践平台及案例等多个方面,概括所

2、取得的阶段性课程建设成果,讨论如何应用这些建设成果来开展软件工程课程建设与改革。关键词:101 计划;软件工程;课程建设;教学改革文章编号:1672-5913(2023)11-0029-05第一作者简介:毛新军,男,教授,研究方向为智能化软件开发、群智软件工程、多主体系统等,。0引 言软件是实现我国数字经济发展的基石和关键。近年来我国软件产业获得了快速发展,但同时也面临着诸多挑战,如工业软件基础薄弱、高水平软件人才短缺等。在促进软件人才培养方面,软件工程课程担负着重要的使命和任务。软件工程既是一门课程的名称,也是一个专业和学科的名称,这意味着该课程被赋予更多的内涵和知识,具有不同于其他课程的特

3、点,其教学要满足并适应工程类课程的诸多特征和要求,如实践项目要上规模、注重质量、聚焦复杂工程问题的求解、着力培养学生的综合能力与素质等。作为计算机大类专业的一门核心课程,软件工程课程具有教学内容抽象、实践要求高等特点,课程教学普遍存在着“难讲透、不易学、做更难”等突出问题,如何针对课程的特点、难点和重点来开展课程建设与教学,提升课程教学成效,是该课程任课教师面临的现实挑战1。2021 年 12 月,教育部启动实施了计算机领域本科教育教学改革试点工作计划(简称“101计划”),以推动计算机类专业的核心课程建设,开发一批一流核心课程教材,培养一支高水平的核心师资团队,建设一批核心的实践项目,探索计

4、算机领域高质量人才培养新模式,引领并带动高校人才培养质量的整体提升。作为 12 门核心课程之一,“101 计划”软件工程课程汇聚了国内 12 所高校的一线教师参与建设,包括国防科技大学、北京大学、清华大学、北京航空航天大 学等。课程建设初期,课程建设工作组对软件工程课程的国内外建设情况进行了系统、深入的调研分析,调研对象包括国际 5 所一流高校、国内 13所一流高校和国内 5 所一般性高校,产生了 29份调研报告。调研结果表明,该课程的开设名称多样化,如软件工程、软件工程导论、软件工程基础等;教学学时数从 32 学时到 80 学时不等;开课学期差异性较大,从第 3 学期一直到第 6 学期,大部

5、分开设在第 5 学期;课程教材数量多,国外教材内容相对较新、案例较丰富但叙述繁琐且费解,国内教材的内容类同性较大,从整体上看软件工程课程教材建设普遍存在知识体系落后于软件工程学科发展和产业主流技术、实践环节薄弱等问题,难以有效支撑课程建设、教学以及软件人才的培养。根据“101 计划”课程建设要求和总体部署,结合软件工程课程的特点、难点和重点,基于调研分析的结果,课程建设工作组开展了系统、深202330计 算 机 教 育Computer Education入的课程建设工作,包括制订课程知识点、撰写知识点教案、录制教学视频、编写课程教材、建设实践教学平台等。这些建设工作及相关成果对于推动软件工程课

6、程教学改革、提升课程教学成效和人才培养质量发挥着极为重要的作用。1课程知识体系建设课程的知识体系明确了一门课程要讲授的知识点以及这些知识点的组织结构,它是支撑课程教学的基石。软件工程课程知识体系的构建不仅要充分考虑软件工程专业和学科的发展,而且还要关注软件产业界的技术和实践,为此应遵循以下原则。(1)基础性,要确保基础知识点不能丢,以夯实课程基础,如软件的概念和特点、软件工程的思想和原则等。(2)先进性,要与时俱进地引入软件工程的新技术和新方法,以反映业界的进步与学科的发展,如群体化开发、持续集成与运维、智能化开发等。(3)规范性,要明确知识点的能力目标和讲授要求,从而为课程教学提供规范和指南

7、,如能力要求和学时要求。(4)实践性,要强化知识点的运用,以反映课程强实践的特点,例如如何应用知识点来开展软件开发,课程实践应满足什么样的要求等。(5)灵活性,知识体系要有一定的灵活性和可剪裁性,以满足不同的教学要求,如哪些知识点是必需的、哪些是可选的。整个课程的知识体系由 13 个知识点模块、56 个课程知识点组成(如图 1 所示)。图 1 软件工程课程知识体系软件慨念软件生存周期软件质量软件质量保证技术开源软件软件软件工程概念软件危机计算机辅助软件工程及工具软件工程师职业道德软件工程概述结构化开发方法的概念和思想结构化开发方法的建模语言结构化分析和设计的过程和策略结构化开发方法软件项目估算

8、和计划软件项目跟踪软件项目风险管理软件项目质量保证软件项目配置管理软件项目组织和团队管理软件项目管理软件部署方法软件维护概念和形式软件维护技术DevOps软件交付与维护面向对象开发方法的概念和思想面向对象开发方法的建模语言面向对象分析和设计的过程和策略面向对象开发方法敏捷开发方法的思想和原则典型的敏捷开发方法敏捷开发方法群体化软件开发的理念和思想开发任务管理分布式协同开发分布式版本管理群体化开发方法软件过程概念经典的软件过程模型CMM和CMMI软件过程软件缺陷、错误和故障软件测试概念和思想软件测试用例软件测试过程和策略白盒测试技术黑盒测试技术面向对象软件测试技术软件测试编码规范及风格代码调用程

9、序调试编码实现软件设计概念软件体系结构及风格软件体系结构设计用户界面设计软件设计模式软件详细设计数据设计软件设计软件需求概念可行性分析软件需求获取方法软件需求分析方法软件需求的规约,评审和管理需求工程软件工程课程知识点专题策划:“101 计划”课程建设(一)第 11 期31针对知识点模块下的每一个知识点,进一步明确其能力目标要求和教学学时要求。表 1以“敏捷开发方法”知识点模块为例,详细刻画了知识点的内容、能力目标和教学学时。有关课程知识点的详细描述可参阅高等学校计算机类专业人才培养战略研究报告暨核心课程体系2。各个高校的软件工程课程可结合具体的施教情况(如施教对象、教学学时等)来遴选知识点模

10、块,制订课程标准或教学大纲,遴选原则如下:须覆盖 A 级(即基础和核心能力级别)的知识点模块,尽可能选择 B 级(即高级和综合能力级别)的知识点模块,有条件的可选择 C 级(即扩展和前沿能力级别)的知识点 模块。2课程教案建设课程知识体系明确了课程教什么(What),课程教案则是教师根据课程知识体系和教学大纲而制订的施教方案。它详细描述了如何教(How),包括教学内容的组织、教学方法的运用、教学要达成的目的、教学的重点和难点等。高质量的课程教案是上好一门课程的根本,是指导课程讲授、反映教学技巧和方法的纲领性文件。“101 计划”软件工程课程基于以下原则和思想,为每一个知识点提供多样化的课程教案

11、:课程教案要体现个性化、差异化和多样化的特点,以反映不同教师施教的独特思想和方法。无疑,同样一个知识点,不同教师可能会有不同的讲法。针对软件工程课程知识点抽象、当前我国软件产业面临诸多问题和挑战等情况,课程教案要强化案例教学与思政教学,以加强学生对知识点的理解、掌握和运用,深化针对学生的思政教育。鼓励大众参与课程教案的制订,吸引群智的力量来制订丰富多样的课程教案。为了规范课程教案的编写,课程建设工作组制订了课程教案的编写模板,明确了一个课程知识点教案要刻画的内容和要素,包括知识点名称、教学学时、教学目的、教学重点和难点、教学内容和方法、知识点测评、扩展阅读 7 个部分。其中,教学内容和方法是课

12、程教案的重点及表 1 知识点模块“敏捷开发方法”包含的知识点描述知识点模块知识点主要内容能力目标参考学时敏捷开发方法敏捷开发方法的思想和原则(Ideas and Principles of Agile Development Method)敏捷开发的理念、思想和过程,敏捷宣言和原则理解敏捷开发的思想和理念(A)理解敏捷开发的价值观和原则(A)0.5典型的敏捷开发方法(Classic Agile Development Methods)极限编程(XP)、Scrum方法、测试驱动开发、特性驱动开发(FDD)等典型的敏捷开发方法理解典型的敏捷开发方法(A)理解不同方法的特点及适用场景(A)运用敏捷开

13、发方法来指导软件开发(B)1.5核心,它详细阐述了课程知识点细节、内容的组织方式和采用的教学方法、引入的软件案例和思政元素等。“101 计划”软件工程课程最终产生了 127 份教案,每个知识点至少有 2 份以上的教案。教案的贡献者既有参与课程建设的 12 所高校的教师,也有其他高校从事软件工程课程教学的教师。读者可以通过访问“101 计划”的门户网站来获得这些教案,以此来指导自己教案的编写以及课程知识点的讲授,并融入自己的思考和想法,从而形成自己独特的、个性化的教案。3课程教材建设教材是支撑课程教学的基础。针对当前软件工程课程教材建设的现状以及存在的不足,“101计划”软件工程课程建设工作组组

14、织了近 10 位一线教师,计划编写 3 本具有中国特色和“101风格”的一流软件工程课程教材(见表 2)。每本教材都基于“101 计划”软件工程课程的知识体系,结合软件工程专业发展、产业实践及科学研究,通过教学科研相结合的方式,融入对软件工程课程知识点的独特理解与认识,从而形成各自的特色和优势。“101 计划”秘书办于 2022 年 12月组织了教材主审专家组,对 3 本教材的内容和章节结构进行了评审,以评估每本教材的特色和202332计 算 机 教 育Computer Education亮点、不同教材的区分度和关注点,提出教材编写的改进意见和建议,并为每本教材指定了一名主审专家,以确保教材的

15、质量。为了确保教材编写的进度和质量,教材编写工作组经常性地组织线上和线下的交流与研讨,并遵循以下编写思路和原则:基础性与先进性并重,既要涵盖软件工程的基础性知识,也要结合软件工程的学科发展与产业实践,适当引入新出现的、在业界已经开始广泛应用的新方法和新技术,如开源软件技术、群智软件工程、智能化软件开发技术等。加强案例性、思政性内容,针对软件工程知识点抽象、难以理解的问题,强化软件开发案例和思政案例的设计与引入,如互联网软件、人机物融合等,以促进对抽象软件工程知识点的阐述,加强对软件工程思想、方法和技术的理解。教学科研相结合,要将科学研究和工程实践过程中对软件工程的理解与认识融入到教材,以深入诠

16、释软件工程的思想、原则、方法和技术,如技术的发展脉络、方法的产生背景等。3 本教材的特点见表 2。表 2“101 计划”软件工程课程教材教材名称教材特色负责编写教师预计出版时间软件工程理论与实践知识体系先进、基于案例和思政诠释、章节组织科学、强化综合实践、丰富教学资源毛新军(国防科技大学)2023.09软件工程五大关键领域软件开发案例,统一概念体系,学练结合彭蓉(武汉大学)2023.12软件工程经典、现代和前沿 包含经典、现代和前沿软件工程 3 部分,展现学科发展与产业实践孙艳春(北京大学)2023.12(1)软件工程理论与实践教材从多个维度系统梳理了软件工程的发展脉络,有助于深入认识软件工程

17、学科、专业和课程;引入以开源软件技术、群体化软件开发等为代表的新颖方法,有助于掌握先进的软件工程技术和实用的软件工具;融合软件开发的工程范式和开源范式,有助于促进复杂软件系统的群智化开发与运维;引入了诸多身边的软件案例以及两个完整的软件系统案例来示例并诠释知识,有助于促进对抽象软件工程知识的理解、掌握和运用;从程序及其质量保证入手,重组了教材的知识体系及章节,有助于基于具体的程序代码来深入理解与认识软件工程;强化了综合实践,设计了两个不同性质的综合实践任务,贯穿全书各个章节,有助于促进软件工程知识的运用与实践;提供了丰富、多样、齐全的配套教学资源和生态(),有助于教材的讲授与学习以及实践的实施

18、与考评。(2)软件工程教材采用了设计统一的概念体系,明确核心概念间的逻辑关系,帮助读者更好地理解知识点;在正文中引出问题,给出引申阅读和阅读提示,使读者能够通过拓展阅读,进一步理解软件工程的各种方法、技术、过程、模型的设计初衷和实践要点;采用以反例辨析引出正例的方式,帮助读者通过实例来体会软件工程原则的作用与意义;以五大关键领域软件开发案例为切入点,通过丰富的真实案例场景,并以“案例展示+基础实践”学练结合的方式,帮助读者融会贯通课程知识点。(3)软件工程经典、现代和前沿教材以“101 计划”软件工程课程的建设目标为导向,内容全面新颖,覆盖“101 计划”软件工程课程知识体系,包括经典软件工程

19、、现代软件工程和前沿软件工程 3 部分,不仅体现了学科发展与产业实践,也体现了创新性和综合实践性。现代软件工程部分,包括敏捷开发方法、群体化开发方法开源和众包、DevOps 方法等。前沿软件工程部分,主要结合作者的科研优势和研究成果,分别对人工智能、区块链、云计算、大数据、物联网等新型技术驱动的前沿软件工程理论和方法进行介绍。该书采用基础理论与工程实践并重的宗旨,通过大量案例深入浅出地讲授软件工程理论、方法和技术,培养学生的工程实践能力和软件项目管理的能力。软件工程任课教师可以结合课程教学的具体情况(如教学对象、教学要求、教学学时等),选专题策划:“101 计划”课程建设(一)第 11 期33

20、参考文献:1 毛新军.升级软件工程教学:开源软件的启示J.中国计算机学会通讯,2021,17(10):66-71.2 胡振江,郭耀.高等学校计算机类专业人才培养战略研究报告暨核心课程体系M.北京:高等教育出版社,2023.(编辑:赵 原)择以上教材及其配套的教学资源来开展课程教学。4课程实践平台及案例建设针对软件工程实践性强、实践要求高等特点,“101 计划”软件工程课程建设工作组强化了实践支撑平台和实践案例的建设,以更好地支撑课程实践的实施与开展。依托多样化的支撑平台(如头歌、希冀、各个高校自研平台等),并遵循以下原则来搭建软件工程课程实践的支撑环境:平台要提供多样化的功能和服务,为教师的作

21、业布置、跟踪、考评,学生的实践实施、提交、分析等提供支撑,如布置实践任务、管理实践项目、提交实践成果、评估并分析成果质量、发现实践存在的问题、统计实践投入、分析实践贡献等。平台要支持实践资源的充分共享与重用,包括软件文档及模板、开源软件及代码、软构件等。提供丰富、多样的软件工具,以满足课程实践的需求,实现课程实践实施以及考评的自 动化。目前课程工作组结合各自学校的实践教学需求,构建了丰富多样、特色鲜明的软件工程课程实践支撑平台和案例,提供全流程的新型实践教学服务体系和智能化评测反馈,支撑智能导学决策跟踪,形成开放的科教平台、社区生态等。(1)国防科技大学依托头歌平台,构建了软件工程课程线上实训

22、( 线 上 实 践( 17 个章节、89 个单元、121 道选择题关卡、15道实践关卡,帮助学生巩固课程知识、掌握软件开发工具;线上实践为教师和学生开展课程综合实践提供系统化、全方位的支持,支持教师布置实践作业、跟踪实践状况、分析实践成果等,帮助学生创建项目及关联作业、开展分布式协同开发、提交并管理实践成果等。(2)武汉大学将软件过程分解为 5 个环环相扣的实验任务,使学生直观、深入地理解软件质量的概念以及影响软件质量的若干因素,了解并掌握软件质量分析软件工具,并能根据分析结果对软件质量有较为准确的评估。(3)上海交通大学建设的软件案例以学生团队提出的软件项目需求为起点,通过流程模版、文档模版

23、、关键检查点、关键技术落实检查等来引导整个项目的有序展开,结合教师、助教的参与式讨论与指导,帮助学生团队完善需求并对项目进行调整,使得软件需求管理、软件设计、软件实现、软件测试、项目管理等技术能够有机融合到整个项目开发中去。(4)湖南大学建设的实践案例覆盖软件开发的完整过程及其配套文档,提供的过程文件包括个人周计划和周总结、小组会议纪要、小组周计划和总结,以及在此过程中创建的需求及原型、数据库、UML 设计文档等。正式文档为最后版本的需求文档、迭代开发计划、设计文档、用例文档、测试文档、用户手册等。5结 语在“101 计划”专家组的指导下,经过 1 年多持续、高强度地建设,“101 计划”软件工程课程取得了一系列富有特色的高水平建设成果,包括课程知识体系、课程教案及视频、课程教材、实践平台及案例等。读者可以访问“”和“ 计划”软件工程课程建设工作组将加强建设成果的分享、推广和应用,如何针对不同高校的特点和需求来提供个性化的课程教学定制服务将是一项主要挑战。工作组将依托“101 计划”软件工程课程虚拟教研室、课程导教班等平台来开展课程建设成果的研讨以及应用经验的分享,以推动各个高校软件工程课程的教学改革以及教学质量的提升。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服