软件工程课程实践教学改进

2019-11-11 12:25邓冬梅
课程教育研究·学法教法研究 2019年23期
关键词:工程化功能模块课程设计

【摘 要】软件工程课程往往重理论轻实践,达不到人才培养目标。本文提出从采用案例教学法、重视课程设计和加强校企合作三方面来进行实践教学改进。

【关键词】软件工程;实践教学

【中图分类号】G642       【文献标识码】A

【文章编号】2095-3089(2019)23-0268-01

一、教学现状

软件工程课程是软件工程专业核心课程之一,要求学生学会运用工程化知识和方法进行软件的设计、开发、测试维护和项目管理,是一门指导学生科学规范进行软件开发的实践性很强的重要课程。而在实际教学中,由于受到师资、教学方法和教学模式的局限和约束,老师往往注重讲授软件开发生命周期中各阶段的概念、原理和方法,而给学生设计的相关实验和实践少之又少。整个课程下来,更像是一门理论课程,纸上谈兵。学生觉得枯燥乏味,死记硬背应付考试,完全背离了这门课程的培养目标。这种重理论轻实践的教学方式,无法培养出具有工程化实践能力与团队合作能力的学生,无法培养出紧跟业界发展和顺应社会发展的软件工程高端人材。因此,有必要加强实践教学的改进,以期达到培养人材的需要。

二、实践教学的改进措施

1.多采用案例教学法。

软件工程课程中涉及到大量软件开发过程中所用到的原理和方法,这些理论对于学生开展科学规范的软件开发实践有着很强指导意义,是实践的基础和前提。因此为了更好地开展实践工作,学好基本理论是非常必要的。为了调动学生学生学习的积极性和学习兴趣,在课堂上传授实践经验,授课老师可以多采用案例教学法。通过实践案例的展示、讲解和分析,学生容易直观地观察到相关原理方法在具体案例中的应用,进一步加深对理论的理解和认识,积极运用相关知识进行自己的软件开发实践。例如在讲授软件概要设计时,都会采用模块化方法将复杂问题进行简化处理。如果只是泛泛而论模块化的定义、优点和方法,学生只会感觉很虚幻。老师将精心准备的贴近学生生活实际的教务管理系统开发实例展示出来,效果就会完全不同。面对系统中学生、老师和教务管理人员纷繁复杂的功能需求分析,如何将它们简化归类处理,这就要用到能达到分而治之效果的模块化方法进行概要设计。依据功能属性将系统分成学生管理功能模块、老师管理功能模块和管理人员功能模块,并用层次结构图将系统各功能模块描述出来。

2-1 教务管理系统模块图

2.重视课程设计。

为了帮助学生理解软件工程中所用到的原理和方法,通常授课老师会在某些章节准备相关实验。如需求分析实验,给出一个命题,让同学们几人组成一组,分别扮演客户、系统分析员和项目经理角色,通过讨论和交流来明晰系统的功能需求,并最终形成文档。软件测试阶段,给段程序代码,让同学们用所学的条件覆盖法和路径覆盖法设计测试用例进行测试。这些实验确实就某些知识点进行了对应实践,但这些实验都是相互独立的,缺乏关联性和系统性。软件工程开发各生命周期是一个相互关联的紧密整体,为了更好地理解和应用工程化方法及思想开发软件,应该推出和重视课程设计这样的实践环节。让学生运用所学软件工程知识自己动手去开发一个应用系统,如教务管理系统、图书管理系统、订票系统、水电缴费系统等。在开发过程中,不仅需要学生能综合运用所学的有关数据结构、数据库、编程语言工具等课程知识,更是需要经历需求分析、概要设计、详细设计、代码实现、软件测试这样一个规范完整的工程化开发过程。当然,为了降低开发难度,通常6~8人组成一个小组,同学们互相协商组内分工,各项任务落实到人,小组长负责协调开发进度,每一阶段工作完成要求形成规范文档,组内组织总结和评审。通过这样一个具体应用系统的开发,将所学的理论完整系统地加以实践应用,这对于提高学生理解软件开发生命周期各阶段具体工作任务和如何运用工程化思维开发软件是非常有益的。

3.加强校企合作。

实践教学中课程设计环节虽然可以让学生完整实践一次软件开发的所有阶段,但由于考虑到学生的易理解和易实践,课程设计选题范围和难度十分有限。它更多注重的是整个软件开发过程的训练。计算机开发技术和工具发展日新月异,更新迅速。为了让学生开拓视野、增长知识、熟悉业界主流技术和工具,应该积极加强校企合作,给学生提供见识和参与真实软件开发的机会,进一步加强学生的综合实践能力。为了挖掘优秀人才和提前进行人才储备,国内開展校企合作的企业非常多,包括百度、阿里云、淘宝等知名企业。企业可以给高校提供师资培训、人才培养、实践实习平台、实习就业等机会。例如百度致力于人工智能技术的研发和创新,它众多项目中的校园菁英俱乐部有近百所,依托百度公司的强大技术支持,帮助数千名大学生实践AI技术。我校也与电子技术公司景嘉微进行合作,帮助软件工程专业同学实践嵌入式软件的开发。企业提供的资金、技术、平台和资源支持,有利于保障学生能够紧跟业界发展,成长为软件开发的高端人才。

三、结束语

软件工程课程在重视理论教学的同时,更要注重学生的实践能力培养。只有不断地改进目前的实践教学内容和方式,学生的软件工程化开发能力才能得到切实的培养和提高。

参考文献

[1]鞠小林. 现代软件工程教学研究.计算机教育,2013-11.

[2]张敏. 软件工程创新教学模式探索与实践.集美大学学报,2018-1.

作者简介:邓冬梅(1974-),湖南师范大学副教授,研究方向:计算机软件。

猜你喜欢
工程化功能模块课程设计
工程化原子重力仪综述
龙凤元素系列课程设计
软件测试工程化模型及应用研究
输电线路附着物测算系统测算功能模块的研究
基于Articulate Storyline的微课程设计与开发
M市石油装备公服平台网站主要功能模块设计与实现
玻璃纤维增强复合材料工程化应用进展
功能模块的设计与应用研究
基于自动化系统的PLC课程设计
开放大学课程设计与资源开发