试论软件技术专业模块化课程体系的构建
2009-03-31江文唐俊
江 文 唐 俊
【摘 要】本文在深入研究与分析我国软件行业现状的基础上,结合以培养学生的职业能力和职业素养为中心的指导思想,构建了以就业为导向,以职业岗位能力要求为主线的软件技术专业模块化课程体系。所构建的模块化课程体系在我院软件技术专业中经过4年的教学实践,取得了显著的成效。
【关键词】高职教育 软件人才培养模式 模块化课程体系 职业岗位关键能力
自我国启动实施“国家技能型紧缺人才培养工程”以来,尽管高等职业教育在培养目标与课程体系改革方面已经取得了诸多积极成果,但从目前毕业生就业情况来看,高职培养的人才与市场需求之间仍存在着较大的差距。这说明当前职业教育与企业需求发生了严重脱节。其主要原因是当前高职教育追求学科体系完整,忽视技术发展,课程设置重复,教学内容滞后,专业定位不清,缺少岗位技能的培养;而从本行业专业理论的深度、广度和专业技能的多样性等角度来看,要培养出具有高等教育层次、鲜明职业特色的技能型、应用型职业技术专门人才,其关键是要打破传统教学模式,构建符合我国国情、以就业为导向的教学模式。
高职教育是一种以能力为中心的教育,以培养学生的职业能力和职业素养为主。因此,教学模式的设计应按照职业岗位所需的职业能力模块组织教学,针对岗位对人才的要求,将能力细分为各种专项能力,并设置相应的课程模块。其中能力模块的划分,将是高职软件技术专
业教学设计的关键。
一、行业现状分析与培养目标的确定
软件产业是“无污染、微能耗、高就业、高科技附加值”的朝阳产业,也是我国重点扶持和发展的产业。近几年来软件产业规模日益扩大,产业结构及产业布局不断调整,软件出口稳步增长,已成为拉动整个电子信息产业快速增长的重要力量。高速发展的软件产业直接带来旺盛的人才需求。目前我国软件人才的需求量为50万人左右,且这一需求仍以每年20%左右的速度增长,但未摆脱长期以来形成的人才结构不合理的状况。具体表现为我国软件人才结构呈现“橄榄型”形状,即软件高端人才(包括系统分析师、项目技术主管等)和低端人才(如软件编码工程师、测试工程师等)都严重短缺,特别是随着软件出口的快速增长,符合软件外包要求的人才尤其缺乏。
由前述可知,我国高职软件技术专业要适应软件产业的发展,势必改变现有高职软件人才培养现状,构建符合我国软件产业需求的人才培养体系,从而确定新的软件人才培养目标。通过对软件企业深入调研,掌握了企业对人才层次、就业岗位、工作能力等方面的要求,确立了高职软件技术专业的培养目标,即培养掌握必须的专业理论知识和编程技能,能熟练使用国际上最新的软件开发环境与工具,熟悉国际软件开发流程,掌握国际软件开发规范,具备较强的软件开发实践能力和良好的软件工程素养,能进入IT领域从事程序设计、软件测试及软件技术服务与销售等工作,并具有一定管理能力的高等技术应用性专门人才。
二、职业岗位及关键能力分析
从当前软件企业的开发流程来看,与软件技术开发有关的岗位大致有:系统架构师、系统设计师、高级程序员、程序员、软件测试人员、系统管理员。如图1所示,其中需求量大,且层次相对较低的高级程序员、程序员和软件测试员等技术类岗位是高职毕业生的主要就业目标岗位。
软件技术专业的能力分析是在对职业岗位能力分析的基础上,确立与岗位对应的专项能力,以及对各专项能力的要求。通过分析发现高职所培养的软件技术类人才的关键能力主要由9项专项能力组成:
1.信息检索与分析能力
能熟练运用信息检索工具从互联网、相关书籍中检索与收集所需的信息;初步掌握整理和分析信息的方法和技巧;掌握信息检索与分析报告的写作方法与技巧。
2.沟通能力
能熟练掌握常用演讲技巧;熟练运用各种沟通工具实现沟通;熟悉社交礼仪。
3.计划和组织能力
能初步运用协作工具(如:VSS、CVS等)与组员协作完成指定的工作任务;具有较强的集体荣誉感;具备协调各部门的能力;有责任心、有较坚强的意志。
4.团队协作能力
熟悉项目组组织结构及运作流程;能自觉遵守各项组织纪律;初步具备项目计划、控制能力;能熟练编写项目小组工作计划;具备领导项目小组的能力。
5.解决问题能力
熟练掌握调试程序和追踪错误的方法和技巧;掌握分析程序业务处理错误的方法和技巧;掌握使用现有资源解决现场问题的方法和技巧。
6.语言能力
根据行业要求加强外语能力的培养,如对日则要求日语通过三级考核;对欧美则要求英语达到四级以上;并能熟练掌握800~1200左右专业英语(对日外包则为日语)词汇;具备阅读专业外文技术文档;初步具备外语听说能力(对日为日语)。
7.持续学习能力
熟练掌握自主学习的方法和技巧;能自主学习课程中的扩展部分内容;具有吃苦精神和创业精神。
8.应用数学方法的能力
具备逻辑思维能力;熟练掌握各种算法和数据结构,并具备对中等复杂算法的分析和优化能力。
9.技术能力
(1)高级程序员与程序员的技术能力要求
熟练掌握操作系统原理中有关处理器调度算法、进程的同步与互斥算法以及存储器的管理方法;掌握基本的软件开发方法,初步具备中小型应用系统的设计能力;了解数据库基本原理,掌握基本的数据库SQL语言;了解软件测试的基本原理,具备设计单元测试用例的能力;具备书写规范化技术文档的能力;熟练掌握1~2门编程语言的基本语法,并能正确编写规模达到200行以上的简单程序;熟悉主流行的开发工具;熟练掌握编写多线程并发处理程序的能力;熟练掌握网络编程技术;至少熟练掌握一种流行的企业应用技术,并能独立完成规范达到2000行以上业务模块的设计、编码任务,并且业务模块Bug率不超过6%;能运用工具对软件进行简单的建模;熟悉行业中流行各种应用服务器的使用;能编写软件开发过程中各种技术文档;熟练掌握单元测试技术,并能独立完成单元测试。
(2)软件测试工程师的技术能力要求
熟练掌握软件测试技术理论;熟练掌握软件测试规范;熟悉软件测试流程;具备程序员的编程能力;具备设计单元、集成和性能测试用例的能力;能编写各种测试技术文档,如测试计划、测试报告等技术文档;能熟练运用软件测试工具,如WinRun、WinLoad等。
三、能力模块划分与课程设置
能力模块划分是指在专项能力分析的基础上,将专项能力划分成教学单元或模块,每个模块都是由知识、技能和态度三部分溶合而成的,通过排序模块来认定核心课程,从而完成课程设置。在将能力模块划分为教学模块时,必须考虑到高职教育的特点,处理好教学内容的针对性与适应性的矛盾。一方面作为职业教育,必须要针对一定的职业特点,其教学内容要求具备相当的针对性,即学生必须掌握一技之长,这样则无法成为通才;另一方面作为高等教育,又必须与社会上的职业培训相区别,学生除掌握一技之长外,还应具备较强的适应性,具备本专业的可持续学习的基础。由于传统的“三段式”课程设置方式难以满足高职所要求的针对性与适用性,因此需要建立“能力范型”的课程体系。
我们在构建软件技术专业课程体系时,通过采用“能力包”、“模块包”的形式,以“案例驱动”为教学手段,将传统的专业基础和专业技术课程打散并融合在一个个实际的案例中,每一个案例对应一类具体的专业技能,学生完成一个案例的学习即掌握一类技能。具体而言可将本专业教学内容划分为12个专项能力模块,如表1所示。
四、模块化课程体系的教学实验效果
我院软件技术专业自2004年开始模块化教学实验,经过4年的不断实践与完善取得丰硕的成果,如2006年以该课程体系获得了湖南省教学成果一等奖;2007年该课程体系中《软件建模技术》被评为国家精品课程;2004、2005级毕业学生当年对口就业率就达到了78%。
参考文献:
[1]ChinaLabs.中国软件产业发展战略研究报告[R].2006.
[2]高博.关于现代远程教育的人才培养模式改革的思考[J].现代教技术,2003,(11).
[3]徐平.美国合作教育的基本模式[J]外国教育研究,2003,(8).
[4]徐挺,张碧辉.高职人才培养模式的特征再探[J].职业技术教育,2003,(22).
[5]教育部关于加强高职高专教育人才培养工作的意见[R].
[6]黄清源.高职高专教育人才培养模式基本特征的认识与实践[J].成都航空职业技术学院学报,2002,(6).
[7]史士本.构建高等职业教育人才培养模式的探讨[J].教育科学研究,2001,(6).
[8]程宜康.关于高职人才培养模式改革的探索及思考[J].煤炭高等教育,2002,(5).
[9]刘太刚.关于高职人才培养模式的思考[J].湖南师范大学教育科学学报,2003,(1).
本文系湖南省教育科学“十一五”规划资助课题《高等职业教育模块式教学模式研究与实践》的阶段性研究成果之一。(课题编号:XJK06BZC010)