针对高职院校软件技术专业学生的综合培训进行了研究。培训主要是对软件技术的课程体系和知识框架进行分析和提炼,选取适合的软件项目作为培训教学案例,让学生体验协同开发工作场景,使之对软件技术的掌握更为系统,对知识与技能综合运用的能力更强,从而满足软件企业对技术人才的要求。
0 引言
软件开发技术是一门系统性的学科,在软件工程领域里,涵盖了众多互相依赖和互相作用的分支技术。高职院校软件技术专业学生在大学阶段,前前后后学习和掌握了十多门专业课程。这些课程的设置从总体上而言有一定的相关性,但由于在不同阶段学习不同的课程,授课的教师也不同,所以学生在综合运用能力方面比较欠缺。从而导致在就业上岗时,对真实软件项目的整体性的理解以及问题的解决,显得能力不足。
学生从毕业到参加工作,是否能够顺利渡过适应期,一个很重要的方面就在于对专业知识与技能的综合运用能力。
本文探讨软件技术专业应届毕业生,如何通过有效的总结性、系统性的综合培训,来达到让其在知识整体理解和综合运用方面得到加强和提高。
1 软件技术专业课程体系
对学生在完成学业后进行一次系统的知识综合运用培训。首先要了解本专业的课程体系及其特点。以高职类院校大专学生为例,学制为三年,其中只有两年半(5个学期)是在校内的专业学习,另有半年是顶岗实习期。下面是对广州城建职业学院以及周边同类院校的软件技术专业所开设的专业课程的梳理,列举出比较有代表性的专业课程(以Java方向为例),按学习时间的先后顺序排列。
从以上的各门课程在各学期的分布情况来看,有以下几方面特点。
⑴ 从前到后,存在纵向发展、层层递进关系。
如在编程语言方面,先是从学习型、基础型的C语言入手,让学生对计算机程序语言有一个基本的认识和掌握,然后再过渡到Java程序语言;在Java学习期间,掌握了面向对象技术以及I/O、UI、多线程、网络、数据库五大编程技术,这有助于下一阶段学习Java Web技术;接下来是较为高端的Web应用开发框架,和Android移动应用开发[1]。
又如在数据库技术方面,以关系型数据库基础和SQL语法为先行学习;然后经过Java的数据库编程得以软件化应用;最后上升到高级数据库技术,此时可以学习大型数据应用系统的常用技术,从而使得学生对数据库方面的技术有比较全面的掌握。
⑵ 同一阶段,存在横向并行、拓展关系。
如第二学期在学习Java程序设计时,并行开设数据库技术与应用,在Java学习到了数据库编程阶段,正好可以在程序中创建JDBC数据库连接,使用在数据库课程中刚学到的SQL语法对数据库系统进行访问与操作。这样两门课程就联系在一起,从而形成完整的软件项目。
在第四学期,Web应用和Android应用的教学项目案例已经可以形成完整的软件成品,此时并行开设“软件测试技术与实践”,可以让学生利用软件测试技术对自己所写的软件进行测试,如单元测试、集成测试、性能测试、运行环境的兼容性测试等等[2]。
⑶ 终结阶段,以往所学各门知识模块和技术分支形成收拢趋势。
第五学期的软件技术应用领域这门课,介绍了当前软件行业的若干主流应用领域,每个领域理所当然地涉及到了前面所有课程的相关技术。由于应用领域较多,在有限的时间内不可能在教学上深入到具体的技术实现细节去,所以只能从软件业务功能和技术体系上去实施教学。
另外软件工程与项目管理则是从工程管理的角度去开展教学,即在学生掌握开发软件成品的能力的基础上,如何从事团队协同开发,按软件开发的工程标准和规范来实施软件项目。
2 知识框架
在专业课程学习完成后,要有效地开展知识与技能综合运用培训,除了要梳理清楚整个课程体系的内在逻辑关系外,还必须要搭建一个合理的软件技术知识框架。该框架的作用就是要明确,对于一套有代表性的软件成品,实现其所有功能所采用的各项技术是如何有机地联系在一起的,如何互相作用,形成一个整体。比如“底层——中间层——上层”的关系,框架与功能模块的关系,外部与内部的关系,核心构件与辅助构件的关系[3]等等。 为了能够正确合理地搭建软件技术知识框架,我们可以采用以下框架图(图1)的形式了表示各分支的逻辑关系。
在进行综合培训的教学设计时,可以按软件技术知识框架中的各个组成部分来设计培训的内容,找准切入点,分清内容的主次。
3 教学案例的选型
有了前面课程体系和知识框架作为指导,接下来要做的事情就是教学案例的选型。由于培训时间短,一个合理的、有效果的教学案例的选型和设计就变得十分重要,同时设计的难度也加大了,在实际操作时可以考虑以专题讲座或简易实训的形式来实施,根据实际情况来安排相应的学时。在进行教学案例的选型和设计时,有以下几方面需要注意。
⑴ 以生产实践中的真实项目作为选型对象,避免选择学习型的项目(如某个问题的算法实现、某个功能模块的程序实现等),应该以一个完整的成品系统的整体作为对象来开展教学[4]。
⑵ 选型对象尽可能地涵盖了所有专业课程的主要知识与技能,贯穿大部分知识点。
⑶ 列出关键的技术要点,如五大编程技术(I/O、UI、多线程、网络、数据库)、框架技术,这些技术要点在软件系统中逻辑位置和实现方式。
⑷ 选型对象应该是当前应用领域中比较有技术代表性和比较热门的,这既可以提高学生接受培训的兴趣,也利于他们将来应聘面试,尽快进入到实际的开发状态。
⑸ 因为培训的时间点是处在学业完成后、顶岗实习前,学时安排有限,所以培训的内容必须有先后和主次之分,体现出高效、高质量的原则。
4 培训实施过程
⑴ 做好前期调研工作,抽样调研学生在校期间所学课程的掌握程度,了解其在哪些方面还有所缺乏,在培训教学中,可以指导他们如何自行加强训练。
⑵ 结合学生对软件技术专业知识的掌握程度,做好教学案例选型,既要让学生易于接受和理解,又要有一定的技术代表性,还要确保软件系统的可运行、可操作和真实性。
⑶ 做好教案设计。教案过程要围绕“回顾与巩固”两个基本点来进行,先回顾,再巩固。首先要让学生对所学习过的所有课程有一次概貌性的了解,讲解内容宜精简而不宜冗长,尽量全部采用框架图的形式来讲解。然后再让他们动手实操一次,通过软件成品来验证自己掌握的知识体系,达到巩固的效果。
⑷ 在开发训练环节,可以将软件系统预留若干个未实现的功能模块,按标准化的开发周期和要求,交给对应的学生小组来实现,另有不同的小组来负责数据库支持、系统集成、系统测试等工作。让学生体会团队协同开发的工作场景[5]。
⑸ 最后向学生展示一整套对于该软件系统的开发流程和相关的软件生命周期文档,并总结一下开发流程,综述一下软件技术知识体系各分支的依赖关系,以及标准化的团队开发工作模式。
综上所述,综合培训的实施过程可以概括为“调研-选型-回顾-巩固-总结”五大步骤。
5 结束语
从多年的教学实践来看,每年应届毕业生在大三上学期的前半段时间里,完成了在校的课程学习后,会马上进入到毕业设计与顶岗实习阶段。为了帮助学生回顾和巩固所学过的专业知识,本文从现实问题出发,针对软件技术的课程体系和知识框架进行分析和提炼,提出了实施离校前“综合培训”的教学思路和有关措施,结合仿真式的协同开发工作场景,对高职院校软件技术专业的知识与技能,进行一次综合运用培训,与入校时的新生入学专业教育形成前后呼应,达到“回顾与巩固”的效果,综合知识与技能的运用能力有了明显的提升。
在现阶段的培训活动实施过程中,还存在有待解决的一些问题,如:学生对过往的知识结构和逻辑体系是否已经理解透彻,该培训是否符合人才培养的目标和要求,以及效果如何等诸如此类的问题。我们认为应当建立相应的教学措施和制度,跟踪学生的学习过程;同时检验其学习质量,为科学合理地制定综合培训计划提供参考依据。
查看全文
false