冉瑞生 冯骥 张守贵
摘要:《软件体系结构》是软件工程专业高年级本科生的一门课程。在教学上,软件体系结构的概念原理和方法较为抽象,理论性强,学生对软件系统的高层设计较难领会等缺点。针对该课程的上述缺点,对该课程的教学过程进行改革,主要包括教学内容、教学方法和考核方式的改革。改革后的教学内容更适合本科生,教学方法可以提高学生的主动性,学生可以更好地掌握本课程的理论和方法。
关键词: 软件体系结构; 教学改革;教学方法;教学案例
中图分类号:G420 文献标识码:A
文章编号:1009-3044(2020)16-0139-02
《软件体系结构》是软件工程专业高年级本科生的一门课程。该课程主要介绍软件体系结构的基本理论和方法,使学生对软件体系结构有一定的了解。通过学习,使得学生在软件工程的基础上,利用软件体系结构的原理和方法进行软件分析和设计。培养学生成为一名合格的软件工程师和软件分析师,并为其在该领域进一步深造打下基础。但由于软件体系结构是软件系统的高层设计,其概念、原理和方法较为抽象,在教学过程中存在理论性强,传统教学方法的课堂教学效果较差,学生将理论与实践相结合困难等缺点。为此,我们对《软件体系结构》的教学过程进行了改革。本文从教学内容的修訂、教学方法和考核方式的改进几个方面讨论了该课程的教学改革,从而对该课程的教学改革进行了探讨。
1 《软件体系结构》课程及教学现状
1.1 《软件体系结构》课程教学目标
该课程的教学目标为:通过学习,使学生初步掌握软件体系结构的概念、组成和相关领域国内外研究现状;明确软件体系结构划分标准、设计原则;学习软件体系结构的构建模型、软件体系结构的风格、特定领域的软件体系结构、软件产品线技术、软件演化技术以及软件体系结构评估等方面的知识,并掌握在软件开发过程中分析、设计、应用软件体系结构的技能。
通过该课程学习,学生的能力和素质体现为:初步具备软件分析和软件设计方面的能力,为以后成为一名合格的软件工程师、软件分析师,并为其在该领域进一步深造打下的基础。
1.2 《软件体系结构》课程的教学现状
近几年的教学中,《软件体系结构》的教学过程存在以下几个问题:
1)软件体系结构是对软件设计经验的归纳总结和抽象而得到的,理论知识的抽象程度较高,知识覆盖面较广。《软件体系结构》的教材普遍讲原理、概念,学生理解困难。
2)现在的课堂教学多数是单向 “教” 的过程,而学生的“学”基本处于被动状态。而对于《软件体系结构》这种理论性强的课程,采用传统教学方法的课堂沉闷,学生往往“走神”,教学效果较差。
3)由于在校生缺乏项目实践经验,理论与实践难以结合,当用学到的理论知识解决实际问题时入手困难;同时由于在校本科生的兴趣和注意力处于“代码级”,他们认为软件系统的高层设计与自身的“距离”较远,所以对软件体系结构的兴趣和关注不够。
人们为了提高《软件体系结构》课程的教学质量,做了相关的教学改革研究。如基于真实项目案例的《软件体系结构》课程建设[1];应用型本科软件体系结构课程教学内容设计[2];充分利用“做中学”教学理念在工程实践类课程教学中的方法优势,提出了“做中学”理念指导下的软件体系结构课堂讲授内容和实验教学环节的设计方法[3]。
本文针对《软件体系结构》课程教学存在的问题,结合该课程的特点,从教学内容、教学方法和考核方式几个方面开展了《软件体系结构》课程的教学改革。
2 《软件体系结构》课程教学改革实践
2.1 教学内容修订
目前,大多数《软件体系结构》教材涵盖的主要内容有:软件体系结构概论、软件体系结构建模、软件体系结构风格、特定领域软件体系结构、软件产品线技术、软件演化技术、软件体系结构评估等。课程内容面向高年级本科生和研究生。我们最初将该课程设置为48学时,几乎对所有的内容都进行了讲解。
在近两年的教学中,根据教材《软件体系结构原理、方法与实践》(第2版)[4]关于本科生教学内容的建议,将教学内容修改为:软件体系结构概论、软件体系结构建模、软件体系结构风格,特定领域软件体系结构(了解),删除了不适于本科生的内容,并将学时调整为24个课时。重点讲解的内容为软件体系结构概念和软件体系结构风格,其余内容了解即可。这一调整主要是使得教学内容更适合本科层次的学生。
2.2课程的教学方法改革
在《软件体系结构》前几年的教学中,课堂教学基本是单向的 “教” ,而学生的“学”基本处于被动状态。而《软件体系结构》课程理论性强,课程抽象,所以教学过程中课堂沉闷,学生感到枯燥乏味,缺乏学习的主动性。
《软件体系结构》课程部分内容是理论与案例相结合的内容,特别是在“软件体系结构风格”这一章,一般说来,教材先讲解软件体系结构风格理论,再讲解风格的实例。基于此,我们对课程的教学方法进行了改革:理论部分由教师讲授,让学生以小组的形式协作消化和准备相关的案例,并制作PPT,在课堂上讲解和分析案例,由教师和其他小组的同学进行提问和评分。这种方式主要在于学生需要收集和整理相关案例。几年的教学过程,学生收集整理了大量的案例,如管道/过滤器风格有常见的编译器、传统的媒体播放器、类UNIX系统下的基于管道的进程间通信机制等。案例的主要来源有:1) 教材上的案例。教材上的案例规模小,有些案例分析得不够透彻,教师就要求学生经过自己的思考和理解将案例进行扩展,将其分析得更加透彻;2) 在互联网上查阅资料。根据所学的理论知识,要求学生自己带着问题去互联网上查阅相关的案例并进行归纳整理;3)从学生之前做过的课程设计、小项目中选择相关的案例。
改进后的教学方法避免了单向的教师授课,课堂上教师和同学在讨论和分析,增加了课堂的互动性,活跃了课堂气氛;学生需要课下做准备,并在课堂讲解、分析和答疑,提高了学习的主动性;学生的主动学习增强了对知识点的理解和掌握。
2.3 课程考核方式改革
传统的考核方式为期末试卷考核。由于《软件体系结构》课程偏理论性,试卷中一般有考查基本概念的题目,如名词解释、简答题、填空题,这类题目需要学生死记硬背教材上的基本概念。而对于软件工程这种工程性专业来说,传统考核方式意义不大。
并根据《软件体系结构》课程的特点,对该课程的考核方式改革为过程化考核,即强调平时的考核和实践能力的考核。具体为:课堂表现(占10%) + 课堂上的案例分析考核(占50%) + 期末课程设计(占40%)。1)课堂表现主要考核学生在课堂上参与案例分析的提问、讨论情况;2)案例分析考核是对学生案例分析的深度,对理论知识的理解度,PPT制作情况,以及答疑情况进行评分;3)期末考核以课程设计的形式进行。给学生布置10个左右的项目实例,要求学生选定一个具体的项目实例,结合所学的课程内容(主要是软件体系结构的风格)进行分析,并以课程设计报告的形式提交。改革后的考核方式促进学生加强平时学习,期末的课程设计考核学生分析、设计能力,突出了实践性和应用型,整个考核过程学生不需死记硬背,相比传统方式更为合理。
3 结束语
《软件体系结构》是关于软件系统高层设计的课程,是软件工程专业在学习了软件工程的相关课程后的一门高阶段课程。但由于软件体系结构的教学内容较为抽象,傳统教学方法的教学效果不好,理论与实践结合困难等缺点。本文针对《软件体系结构》的教学问题,从教学内容、教学方法和考核方式几个方面进行了教学改革。改革后的教学更适合本科层次的教学、提高了学生的学习主动性,活跃了课程氛围,并有效提高了学生的实践应用能力。
参考文献:
[1] 孙耀, 陈圣国, 王智钢, 张海涛, 张燕. 金陵科技学院学报(社会科学版)[J].2018,32(04):58-62.
[2] 李天科.应用型本科软件体系结构课程教学内容设计[J].计算机教育,2018(6):120-123.
[3] 刘靖,周建涛.“做中学”理念在软件体系结构课程教学中的应用实践[J].计算机教育,2013(22):88-92,97.
[4] 张友生.软件体系结构原理、方法与实践(第2版)[M].清华大学出版社,2014.
【通联编辑:光文玲】