新工科建设背景下软件建模技术课程建设探索
2023-01-19杨雷,王刚
杨 雷,王 刚
(1.东北大学 计算机科学与工程学院,沈阳 110169;2.东北大学PBL 教学创新研究中心,沈阳 110169)
新世纪以来,新一代科技革命和产业革命方兴未艾,给工程发展带来了历史性的机遇,这其中云计算、物联网、人工智能与大数据更是深入生活中的各个领域,改变了人们的生活。在这个背景下,教育部提出了新工科建设要求,推动人才培养理念、培养模式等方面的改革[1-2],用以适应新兴产业发展的需要,培养新型工程人才,引领工程教育建设强国。教育部联合工业和信息化部及中国工程院于2018 年10 月8 日发布了《关于加快建设发展新工科实施卓越工程师教育培养计划 2.0的意见》,该文件的发布充分推动了“新工科”建设的深化与扩展,同时也对计算机类专业人才的能力与素质培养提出了更高的要求[3]。计算机类专业作为涵盖人工智能、大数据、“互联网+”和网络安全等新兴技术并且能够充分体现新工科强调的交叉融合的新工科专业,应该勇于承担责任,紧跟新工科建设的步伐,履行工程教育发展赋予的使命,将培养工程实践能力强、融合创新能力强,并具有国际竞争力的新型工程人才作为主要培养目标之一[4]。
在当前新工科背景下,计算机类专业课程教学改革探索受到了社会和教育界的高度重视。软件建模技术为计算机科学技术方向的专业选修课程。本课程的任务是介绍统一建模语言UML 和一些相关的建模知识。通过该课程的学习,学生掌握一些软件开发和设计过程中有效的建模知识和方法,掌握面向对象领域的核心概念,学会使用UML 建模工具,掌握利用用例技术进行业务建模的方法和实践过程,掌握利用用例技术进行需求建模的方法和实践过程,掌握利用用例分析进行面向对象分析的方法和实践过程,了解软件设计模式和体系结构设计,了解设计模型到代码的正向和逆向转换过程。通过软件建模技术课程的学习,为系统和科学的软件开发打下良好的基础。其所包含的知识以及技术方法,对于计算机专业本科生来说,无论对进一步学习计算机领域里的其他知识,还是将来从事应用开发及技术管理等工作都起着重要的作用。
一、软件建模技术课程现状分析
东北大学软件建模技术课程主要授课对象是计算机科学与技术专业大学三年级本科生。课程的教学时长是32 学时,其中理论教学24 学时,实验教学8 学时。目前的课程现状具有以下特点。
(1)软件建模技术课程内容繁杂[5],知识点多,逻辑性、抽象性强。软件建模技术课程从面向对象和UML 的基本概念入手,循序渐进地讲解业务建模、需求建模、需求分析、设计原则和模式、架构设计、构件设计和代码生成等分析设计期间的各个知识点。相对于24 学时的授课学时,软件建模技术课程专业理论强,概念、原则、原理复杂,内容规模庞大与繁杂。
(2)软件建模技术课程理论教学以教师课堂讲授为主,授课内容重视理论教学,对于应用思维与应用能力的培养重视不够。分析和设计是软件开发中至关重要的一环,面向对象的方法是主流的软件开发方法,UML 是用于面向对象分析设计的标准化建模语言。软件建模技术应该关注于培养学生实际软件开发中所需要的知识和实践技能。目前如何调动学生学习的积极性和主动性也是一个主要问题。软件建模技术课程教学内容繁杂,知识点,学时紧张。如何合理地组织课堂教学内容,充分调动学生课堂学习的积极性,提高课堂教学效果是教师需积极思考探索的重点内容。很多学生缺少主动进行编程实践的机会,不利于学生创新能力的提高。同时,课程对于如何与实际问题相结合,处理实际问题的能力重视不够。尽管课程包括8学时实验,但是实验题目的设计往往是对于基本软件建模技术实现以及简单应用的训练和考察。实验题目缺乏应用创新性。同时,教学实践中发现,有的学生即便课程取得较好的成绩,仍然感到本课程抽象不易理解,更不知在实际问题中如何进行应用,如何针对实际项目应用建模知识进行建模,无法把学到的建模知识应用项目开发实践中。
二、软件建模技术课程教学改革的探索
针对计算机类专业软件建模技术课程现状,有必要以新工科理念为指引进行相应的改革和实践,充分调动学生学习的主观能动性,提高软件建模技术课程的教学质量,提升学生的工程实践能力、创新能力和综合素质。为达到上述目标,我们将从优化教学内容、改进教学模式和完善教学评价等方面对软件建模技术课程进行改革探索。
(一)优化教学内容
软件建模技术作为工程性非常强的一门专业课,具有专业理论强的特点,概念、原则和原理十分复杂。课程的目标还要掌握UML 的语言体系,理解各模型的作用和应用范畴,合理应用各种模型于软件系统开发,能够胜任基本的系统分析和设计阶段的建模工作。如何充分利用24 学时的授课实践,如何更合理地组织课程教学内容成为目前的首要任务。在之前的教学内容安排上以UML 语言体系及各种模型的基本概念、使用方法为主,介绍开发过程和面向对象结合为辅,表1 给出了课程改革前后,教学内容和学时安排的变化,从中可以看出,之前的教学内容以讲授用例图、类图、时序图和状态图等为主,因此学生在实践中存在个人能力强、团队协作能力弱,实践应用少,自主分析能力不足等问题。归根结底是学生无法将所学理论完全与实践应用相结合,工程实践能力差的问题。之后的将UML 语言体系及各种模型的基本概念和面向对象的开发过程相结合,从辅以实际的项目开发实例,通过面向对象建模过程来串联UML 知识点,将零散知识点转化为完整连续的建模知识线,改善课程过去知识点繁多、学生不知如何下手的困境,有利于培养学生工程价值观,更好地达到工程化教育的目标。
表1 软件建模技术教学内容调整前后对比表
(二)改进教学模式
软件建模技术是一门实践性非常强的课程,要求学生有一定的编程基础及软件开发经验,为了充分调动学生课堂学习的积极性,增加学生的实践机会,提高课堂教学效果。教学过程设计为“翻转课堂+问题驱动+案例实践”的教学模式,问题设计都是以具体软件工程设计问题作为实际案例,例如“旅店预定系统”“旅游业务申请系统”等。课程中知识的引入是伴随着面向对象分析与设计(OOAD)的开发过程,引入问题驱动(PBL)[6-7]的教学模式,围绕着提出问题、分析问题、设计解决方案以及反馈与评价等几个阶段展开教学活动。从时间轴上可以划分为课前、课中和课后三个阶段,如图1 所示,每个阶段的具体内涵如下。
图1 教学模式实施路线图
(1)课前属于知识获取阶段。学生可以利用互联网上的优质资源去学习课程内容,而不再单纯地依赖授课老师去教授知识。随着互联网的普及和计算机技术在教育领域的应用,学生很方便通过互联网获取很多优质的教育资源,使“翻转课堂”教学模式变得可行和现实[8-9]。通过课前练习及预设的案例来引出问题,以供学生课堂讨论和交流。以“旅游业务申请系统”为例,在用例分析课程阶段[10],学生通过课前学习实现学习一些经典的架构模式,包括层、管道和过滤器、黑板、客户服务器、经纪人、点对点、架构模式、MVC、反射和微核等,学习类图、交互图、协作图。通过上述知识的学习,进而引出思考问题:针对“旅游业务申请系统”进行用例分析,基于之前用例建模的结果,进行架构分析、构建系统用例实现,画出系统分析类图。
(2)课中属于内化与扩展阶段。在这种模式下,课堂和老师的角色则发生了变化。老师更多的责任是去理解学生的问题和引导学生去运用知识。课堂教学主要以案例分析、主题探讨和问题解决等形式进行,针对课前提出的问题进行问题分析、设计方案讨论和评价与反馈等开展学习活动,通过教师讲解和学生之间的讨论这种直接的交流方式,对学生课前学习的知识进行内化与扩展,提高学生对知识的掌握程度和应用能力。以“旅游业务申请系统”为案例,对于架构分析,采用初步选定分层架构,分析系统所涉及的架构机制,例如持久性机制、分布、安全性及遗留接口等。从需求文档、词汇表,特别是业务对象模型中进行系统的关键抽象,包括路线、旅游团、申请、支付明细、参加人和联系人。对于构造用例实现,通过完善用例文档,识别分析类,分析交互图,完成参与类类图,处理用例关系的步骤分别处理“办理申请手续”“管理路线”“管理旅游团”“管理参加人”等用例。绘制分析类图,需要从单个分析类入手,按照定义职责、定义属性和定义关系,限定分析机制和统一分析类的步骤完成类图。
(3)课后属于成果固化阶段。课后阶段,判断课堂提出的问题是否完结,如果完结的话,通过布置相应的作业,巩固课堂学习的内容。对于“旅游业务申请系统”,在用例分析阶段,学生需要提交完善之后的用例文档,分析类类图,用例实现相关的顺序图及参与类类图。通过提交最终模型文件来检验学生对知识点掌握的最终效果,并对课堂学习的成果进行巩固和提升。
(三)完善教学评价
软件建模技术课程采用“平时+实验+综合实践”的形式对学生的学习效果进行综合评定。平时部分成绩主要根据同学课堂讨论的表现及平时作业。平时作业都是一些阶段性的建模文档,着重为理论知识应用提供实践支撑,帮助学生理解各种模型在系统分析中的作用。综合实践以贴近实际需求的项目为标的,采用团队开发的模式,每个项目2~3 名同学组成,小组成员分工合作,团队按照面向对象分析与设计(OOAD)指导原则展开分析建模过程,完成系统模型。学生可以从老师拟定的备选题目中选择题目,也可以自拟题目。综合实践的评价采用“团队自评+组间互评+教师点评”的方式,使得每名同学充分参与,提高学习的主动性,以及提升学生自主学习、自主分析、自主建模和团队合作的能力。
三、结束语
随着以网络化、信息化和智能化的深度融合为核心第四次工业革命的到来,传统课堂讲授方式已经不适应当今软件建模技术课程的教学目标和方法。如何培养出适应新工科要求的具有综合素质及创新能力的人才,对高等学校任课教师提出了新的挑战。通过优化教学内容,改进教学模式,将“翻转课堂+问题驱动(PBL)”教学模式引入软件建模技术课程的教学实践中来,充分调动了学生的学习积极性和主动性,引导学生发挥创新性思维,把握理论知识和实际工程应用问题的共性,培养学生利用所学知识分析和解决实际工程问题的能力。通过教学实践证明,学生能够积极地投身整个教学过程,课堂师生互动更加活跃,学生对这门课的反馈也好于以往。目前软件建模技术课程教学改革尚处于探索阶段,从教学内容、问题设计、过程组织及教学评价等各方面,还需要进一步经验的积累,充分调动学生学习的主观能动性,取得更好的教学效果。