软件工程教学内容改革探索
2017-09-08赖均
【摘 要】软件工程作为工程概念与软件技能培养的课程,选择合适的教学内容是提高软件工程基础理论学习效果和培养软件开发能力的重要环节。本文结合多年的软件工程教学经验和内容改革实践,阐述了教学内容改革的必要和提出了改革的方法;目的是能够有效培养出对软件工程基础理论有清晰理解,并能学以致用的符合社会需求的合格软件人才。
【关键词】教学内容;结构化方法;面向对象方法;软件框架
一、软件工程教学内容的现实情况
随着大数据、云计算时代的来临,各种软件技术和体系结构层出不穷。但是长期以来,由于软件工程课程教学偏重于方法学理论的讲授,授课内容核心是软件生命周期的工程理论与方法。而在教学内容的选择上,目前很多高校采用《软件工程导论》、《软件工程-实践者的方法》等经典教材,它们虽然阐述系统,但其为了保证知识体系的完整性,过多偏重于理论和接过以及各种体系的阐述,有时难以让学生掌握学习的重点。同时,而有的高校尝试着选用其它一些教材,这种阐述值得鼓励,但应特别注意避免选用一些断章取义加上粗糙的案例之类的教材。它们表面上很实用,但其实是对整个软件工程知识的错误传播。从而,使学生仅仅从简单而不成体系的实例中,只能偏重于对代码的片面强调,而忽略了对软件工程基本理论、方法的理解。从而产生了感觉软件工程对软件开发的作用不大的错觉。他们对软件工程应用的流行方法缺乏了解,缺乏基本概念和经典流程的应用能力。此外,软件工程的某些教学内容也未能跟踪当前的软件工程技术的流行热点,某些知识相当过时,即使面向对象的主流方法都阐述不清。当前,我国业界的软件开发水平和工程能力和发达国家有非常大的差距,甚至和印度的软件业都有相当大的差距。鉴于这样的情况,学校迫切需要对软件工程的教学内容加以改革,逐步建立教学与业界应用相结合的教学内容,着力培养学生的工程化开发能力,进而形成一个融基础理论和参加软件开发实践的教学培养机制。
二、教学内容改革与实践
教学内容的改革就是要打破传统软件工程课程教学的不足,充分调动学生学习的积极性和主动性,极大地激发学生的学习兴趣,以軟件开发实践带动软件工程理论的学习。本人认为,课程教学内容应包含这两方面的特性:软件工程知识体系的框架基础性和当前流行技术与框架的可用性。第一个特性是指它应该包含软件工程理论的基本骨架前提下,应该贯穿两条理论与方法主线:其一是结构化分析和设计。它在软件开发学上具有举足轻重的地位,目前仍有广泛应用,特别是对某些有限内存的嵌入式软件系统的开发中,而且它和某些结构化语言如C语言有紧密结合的优势。其二是面向对象开发的理论和方法。该方法已经非常的成熟,它具有易交流,并且在系统的分析、设计和实施以及测试等各个阶段无缝的连接的优越性。这是传统的软件开发方法不可比拟的,同时,面向对象的方法也提供了很多成熟的类库和框架,比如J2EE和NET的框架,非常便于应用的快速开发。比如常见的开发工具、开发框架,能够便捷地进行组合,表现了它的实用能和便捷开发能力。此外,当前流行的概念和技术,也应该作为它的一部分加以介绍,如云计算、分布式计算和云存储以及大数据等知识和框架都应该有所补充。这样教学内容改革就能改变能使学生对所学理论知识有所巩固并加以应用,同时,能培养其对软件工程的主动学习兴趣,从而使教学出现可喜的变化。
我们所做教学内容改革实践是在软件工程理论知识的基础上,挑选某种易于扩展、应用的工程技术方法,在某种软件工程规范的要求下进行软件开发。并有效地引入各种框架和结构,如SSH轻量级的JavaEE体系结构,同时使学生熟练掌握必要的开发工具的使用。软件工程教学内容改革实践所做的工作是:首先,关于软件系统设计相结合的教学内容的设计上,要以学生兴趣为中心来选择教学内容。其次,要提供合适的教学示范案例,并不断地引导学生向正确的方向前进。
三、教学内容改革方法和目的
教学内容改革的出发点是根据课程教学的具体要求,以学生为主体,教学的内容侧重于加深对理论的理解和工程技能的培养。根据实践,这里总结出方法是:第一,明确教学的目的与期望,以两条方法主线选择教学内容。教学准备阶段就是对教学内容所涉及的工程知识进行精炼概括与总结,使学生易于理解这些知识关系和层次结构。第二,精心的选择教学示范案例。使其能够覆盖教学内容能够满足教学要求,又要精干有效,切忌过于庞杂。第三,增添软件开发的相关指导内容。并适时地监督和引导,使学生较好地掌握软件工程的基本技能并巩固对应的工程理论知识。第四,选拔优秀示范开发素材。对于一些开发能力强的学生,可组合成为精干、合作的开发小组,可选择小型软件项目来进行开发与设计。对于完成的软件,应组织有学生参与对所完成软件从文档、设计过程、运行性能等待方面来进行优化,并加以整理和完善。把它们增补作为课堂教学内容,使所有学生都能受益,整体上提高软件工程课程的教学效果。
总之,软件工程教学内容改革应该以基本理论与基本概念占据了教学的主体,同时训练学生软件工程技术的基本技能。目的是培养学生在工程实践中发现知识与分析、解决问题的能力。这样就能够使学生理解并掌握基本的需求获取与分析、系统分析与设计等软件生命周期的技能,使他们毕业后能够顺利过渡到实际的软件应用开发中,在实践中对软件工程理论进行检验并发展,并同时成长成为社会急需的各类软件人才。
【参考文献】
[1]大数据时代下软件工程专业教学改革的探讨,2016(2):127-129
[2]郑英姿.《软件工程》教学改革的研究[J].新教育时代,2015(2)
[3]赖均.软件工程课程设计实践教学探索[J].课程教育研究,2014(2):243-244
[4]赖均,周丹.软件工程课程教学与改革[J].科技资讯,2011(2)endprint