【优秀课程】构建基于企业实战环境——《软件工程》
日期:2023-08-06  发布人:chenrunlin@employee.  浏览量:1154

2022年,作为大连东软信息学院软件工程专业的核心课程,《软件工程》被评为省级一流本科课程,是同时被评选上的27门线下一流课程之一。

课程注重培养学生的项目实践、抽象思维、团队合作及表达沟通等能力,为社会急需的高端及复合型人才提供储备。本课程以学生为中心,建立围绕软件生命周期推进项目的教学模式,以“构建基于企业实战环境的课程教学体系,有效提升学生解决复杂工程问题思维,拓展学生的高阶能力”为设计理念,建立“多级教学环节——多元化考核模型——多样资源支撑”的三维立体设计模型,同时自底向上形成了“知识——案例——实践”的课程思政体系。在信息化手段及案例驱动式的高质量数字化资源的应用融合下,取得了良好的学习效果。

1

课程基本信息

1.课程定位

本课程是软件工程专业的专业核心课,在计算机相关专业人才培养体系中处于至关重要的地位。学生通过前面两个半学期课程的学习,初步具备了一定的编程能力、组件设计能力、个人项目管理能力。如何能够通过调研利益相关者,识别市场需求,分析复杂软件系统功能需求及业务流程,综合考虑应用系统的背景信息及相关约束,根据软件设计的流程,使用软件体系结构设计方法,设计合理有效的技术路线及解决方案,并通过团队合作的方式,按照软件项目工程管理的方法规范地开发解决方案,是学生面临的主要挑战。

通过本课程的学习使学生掌握产品生命周期要素,建立完整的软件开发工程化思想;掌握软件产品开发过程模型,熟悉软件开发过程中各阶段的任务和目标;掌握工程管理方法及经济决策方法,具有能够自行安排进度和成本控制的能力;能够运用面向对象系统分析与设计方法,基于团队的项目管理方式,完成复杂软件系统解决方案的分析、设计、开发、测试及部署运维等工作,形成良好的软件工程师职业素养。

本课程依据TOPCARES一体化理念和方法,以OBE工程教育理念为指导,围绕学生的目标能力要求进行课程的设计。课程以案例项目为背景引出理论知识,让学生在学习过程中领会软件工程思想及基本原则对软件质量提高的影响,并能够切实应用基本方法解决具体项目的问题,培养学生良好的软件工程师素养,具有爱国主义情怀。学生的项目实践与理论讲述同时展开。学生分团队自行选定题目,运用学到的方法与技术,按照规范的软件过程,完成一个完整项目调研、分析、设计、编码、测试及运行。在此过程中始终“以学生为中心”的教学理念来组织教学实施过程,让学生将学过的知识融会贯通,在实践中解决实际问题。课程依据OBE成果导向的设计思路,从学生学习效果出发,组织教学内容,选取教学策略,制定课程评价办法和课程的持续改进措施。

2.重要荣誉

本课程始建立于2004年,最初以讲授结构化分析设计技术为主的传统软件工程,辅以面向对象的分析与设计方法的讲解,2009年被评为校级精品课程。随着面向对象技术的不断成熟,于2015年课程内容全面转为面向对象分析设计技术的现代软件工程。课程先后进行了基于TOPCARES-CDIO、OBE以及混合式教学模式的改革,于2021年在课程中全面加入了思政元素,被评为首批校级思政示范课。同年成为首批量规试点课程,并评为校级一流课程。于2022年被评为省级一流本科课程。具体课程的发展线路参见图1。

1 软件工程课程发展路线

软件工程课程不断通过地优化教学设计并融合先进的教学理念,课程在提升学生课堂学习效果、提升学生课堂参与度等方面不断地进行探索和完善。在课程讲授中,将爱国主义、民族自信、工匠精神等思政元素融入到教学当中,让学生在不仅学习专业知识,同时也提升自身的爱国情怀。

3.资源建设

《软件工程课程》自2003年建课以来,持续不断地建设和完善课程的资源,打造了一批丰富的、高质量课程资源,包括课件、微课、题库、案例、3、4、5级项目指导书及参考答案等。如图2所示。

2 课程资源一览

根据课程的不同层次的不同需求,编撰了系列软件工程教材。《软件工程实用教程》(第一版)被评为“十二五”职业教育国家规划教材,《软件工程与项目管理》一书被学校推荐为国家及辽宁省职业教育“十四五”规划教材。

3软件工程课程系列教材

4 推荐为“十四五”规划教材

2

课程设计与教学方法

01三维立体的课程设计

在充分考虑行业趋势、学校定位及学情等多方面因素的基础上,本课程以“构建基于企业实战环境的课程教学体系,有效提升学生解决复杂工程问题思维,拓展学生的高阶能力”为设计理念,建立“多级教学环节——多元化考核模型——多样资源支撑”的三维立体设计模型,如图5所示。

5 三维立体课程设计模型

围绕课前、课中及课后三个环节,将信息技术与课程教学活动深度融合。在课前进行教学设计、制作整理教学微课资源,并将教学资源发布到资源平台,通过学生完成预习作业及时调整教学策略。在课中,以实践项目为驱动,针对项目开发的各个阶段任务引导学生进行实践练习,包括课前任务展示、情境导入、任务驱动、小组协作、在线练习平台测验、项目答辩等环节。在课后,通过课后、微课学习等方式巩固课堂知识,帮助学生梳理知识点并检测自身的学习成果,并通过项目管理平台完成对项目流程的进一步梳理与应用。

6  课前-课中-课后教学设计思路

02多维教学方法探究

针对课程目标,课程组不断探究适合课程内容及学情的教学方法,在整个教学过程中贯穿了“发现问题——解决问题——实践验证”的教学思路,所采用的教学方法如下:

1)启发式教学法:通过引导学生回顾过去在软件开发过程中遇到的各种问题,让学生在思考中理解和掌握软件工程的相关知识和技术;

2)案例教学法:对企业实际项目案例进行分析,让学生深入了解软件工程实践应用和相关技术;

3)问题导向教学法:在项目推进的每个阶段向学生抛出问题,让学生在解决问题的过程中掌握项目设计开发知识和技术;

4)探究式教学法:以企业真实需求为背景,让学生主动探究解决企业困境的方案,实际动手实操验证解决思路;

5)多媒体教学法:学生在视觉和听觉上得到更加直观体验,提高学生的学习兴趣和参与度。

03螺旋式前进的教学过程

为了能够让学生能够理解抽象的建模与规划对于项目所产生的真实作用,需要营造一个真实的软件公司的生产环境,让学生能够身临其境感受项目不断推进所产生的各种问题,从而让学生针对问题,找寻方案。同时,能够应用所学知识,帮助学生分析整理存在的问题,感受到知识的力量。

7 实战型教学过程流程图

为此,教师根据学生选择的项目背景,以角色代入的方式向学生提出问题,提供线索,引导学生深入进行思考。为了能够强化学生分析问题、解决问题以及实战能力,针对项目开发的每个阶段分别设置了情景引导、理论铺垫、案例演示及实战演练四个教学环节。

8 实战型教学环节

课程实践以情景引导为引入点,在理论铺垫后开启实战演练,让学生身临其境地完成软件生命周期的全过程。

1)情景引导

在每个知识单元开始讲述之前,都会有一个实际工程项目情景的描述,以启发和引导同学们进行思考。在老师引导下提出相应的解决方案,并分析其中存在的问题,老师引出理论知识的应用。

2)理论铺垫

针对于在情景引导中遇到的问题,进行相关理论知识的讲述。总体的理论知识的讲述顺序是按照项目整体推进的过程进行的。理论知识涉及到基本概念、基本原理、具体的技术方法。常用工具的介绍将使同学们掌握在项目推进过程中如何选用及使用建模工具,以便提高工作效率。

3)案例演示

随着软件工程基本知识点的讲解,以一个真实软件项目(国际合作办公平台系统)为案例,介绍项目的实际应用情况。让学生在讲解过程中领会软件工程思想及基本原则对软件质量提高的影响,并能够切实应用基本方法解决具体项目的问题。

4)实战演练

与理论讲述同时展开,运用学到的知识,学生分小组自行选定题目,成立项目组,确认分工,制定计划,完成一个完整项目,并提交可运行代码。让学生将学过的知识融会贯通,应用到实践中解决实际问题。

3

课程特色与创新

1.利用新技术开展高效教学

课程基于成果导向的教育理念,在新技术的驱动下,不断探索提醒、启发和引导学生去思考、去理性批判、去探索问题的方法,打造了多维度的教学方式。

1)希沃品课助力课堂互动。使用希沃品课提供的多样化的授课工具,更好地进行知识的讲解,既能够及时反馈学生的问题,又能提升学生的学习热情。

2)企业应用协作平台推动教学项目稳步运行。通过引入知名的企业应用协作平台,营造企业真实运行环境,适配学生项目的开发流程管理,让学生协作研发,对项目文档及代码进行企业级的管理,具有创新性。

企业应用协作平台

3)界面原型工具的使用拓宽学生能力。课程鼓励学生使用企业中常用的界面原型设计工具,快速创建基于Web的网站流程图、原型页面、交互体验设计,为后续进入企业从事相关工作打下基础。

10 界面原型工具的使用

4)问卷网提供高效课程考核。根据不同班级的学习情况,设计专属的考试题型,学生利用电子试卷进行答题,快速获取成绩单及排行榜,便于及时进行课程总结及持续改进。

11 问卷网进行阶段测验

5)学校平台提升教学效率。结合课程实际,充分利用学校提供的各类平台,大幅提供教学效率。

1 学校平台使用情况

2.教学质量动态监测

通过希沃品课获取考勤数据,查看课堂报告及题目完成情况,并定期向学生发布电子版的调查问卷,实时掌握学情,并以此为依据作出针对性地教学调整,学生也可实时查看自己的学情报告,更全面地了解自己的学习情况。建立项目组自组织的管理机制,教师向各项目组发布任务,项目组长领取任务,并将任务发布给本项目组成员,提升课程的管理效率。

12 学情动态监测

3.案例驱动式的数字化教学资源建设

 经过多年的打磨,课程组建立了完善的数字化资源体系,并形成了教学案例用于课程的综合实践教学,案例内容覆盖了一个完整项目的主要阶段,系统地分析和探讨了如何开展和实施软件工程实践活动。通过案例及实践教学将整个软件生命周期各阶段串联起来,形成一个完整的项目。

在实践项目电子文档方面,为学生提供规范的项目文档的范本,让学生能够了解分析设计的成果文档化的形式,所提供的电子项目指导书选择学生比较熟悉的应用场景,项目要有一定的复杂度,具有一定的组织机构及业务流转过程,让学生能够形成一个项目运作的有机整体,会定期更新和完善项目背景,使其更贴近社会关注领域。

在学习平台方面,课程提供了详细的学习资料,包括课件、微课视频、建模工具以及课程拓展材料,其中微课部分涵盖知识、工具、过程、案例等多个主题,从多个维度打通学生学习的全过程,打破时空限制,让学生随时随地完成课程的学习。

13 学习平台

14 项目电子文档

15 项目实践与文档对应

4.个性化教学改革

在教学之初,向学生发布不同难度的实践项目,做到每个项目小组的项目各异,针对学生建立的项目组的能力与进度,在实践课中给予个性化的指导,每一个实践项目均充分体现项目组的特色。同时,采用码云管理项目,针对每个项目提出针对性issue督促小组改进,并鼓励各小组在最后答辩环节,大胆扩展思路,充分展示项目成果。

5.小组讨论破局探索

小组讨论作为整体教学的关键环节,需要能充分发挥小组讨论的作用,如何让小组讨论更有效的开展,课程组进行了如下的探索:

1)让学生有话说:每节课之前会发布预习任务,让学生提前了解课程内容,为小组讨论的展开打好基础。

2)让学生愿意说:选取企业项目开发过程中真实能遇到的场景,让学生体会到讨论内容的意义,更能全身心的投入讨论之中。

3)让学生能够说:在小组讨论环节,鼓励学生畅所欲言,对于开放性问题的讨论,让学生发挥主观能动性,对于封闭性问题的讨论,让学生敢于试错,只要是真正参与了讨论,要包容学生一时的失误。

4)让学生方便说:提供各种讨论结果的输出途径,如码云中wiki、原型设计工具、答辩、作业平台等,让学生更能方便地表达自己的观点。

收藏本页