经济社会的发展需要大量既有扎实理论基础又有较强实践能力的计算机软件应用型人才,而国内许多应用型高校的计算机软件相关专业仍延续着研究型高校的人才培养目标与模式,过分强调理论知识的系统性教授,缺少对学生工程能力和职业素质的训练,毕业生的专业能力与软件产业界的需求往往存在较大的脱节,难以快速融入现代IT企业的运作,一方面用人单位觉得软件人才匮乏;而另一方面有相当多的毕业生却找不到合适的岗位。因此,应用型高校必须主动适应经济社会发展对具有创新能力的软件工程应用型人才的需求,明确专业能力培养目标及其内涵,探索能力培养的方法与途径,构建与软件产业需求相适应的软件工程专业教学体系与教学模式[1-3]。
1软件工程专业人才培养规格
1.1专业人才培养目标
培养具有良好的科学与工程素养,系统掌握计算机基础理论、软件开发、软件管理等计算机应用技术,能运用工程化方法、技术和工具从事软件分析、设计、开发、维护等工作,具备工程项目的组织与管理能力、团队协作能力的高级应用型软件工程人才。
1.2专业人才能力分析
应用型人才的主要任务是将成熟的技术和理论应用到实际的生产和生活中,其培养的关键是强调对学生专业核心能力的培养[4]。对于应用型软件工程人才,其专业核心能力包括以下几个方面。
1) 软件分析与设计能力。掌握用户需求调研和需求分析方法,能够将需求转换为系统的设计;掌握结构化和面向对象分析方法与设计方法,熟悉常用的软件分析与设计开发工具;熟悉UML建模技术和常见的软件设计模式;能够设计和定义软件构架、模块划分的接口协议;具备数据库结构设计能力;能够运用相关工具进行模块的详细设计;能够设计用户界面;具备用户需求说明书、软件规格说明书、概要设计说明书、数据库设计说明书、详细设计说明书等软件开发文档的撰写能力。
2) 软件实现能力。掌握结构化程序设计技术和面向对象程序设计技术,至少熟悉一门高级语言编程技术;熟悉常用的IDE开发工具,掌握软件的编辑、编译、运行和调试技术;掌握Web程序设计技术,熟悉HTML语言、JavaScript语言、Java EE和.Net等常见Web应用构建技术,具备界面设计、脚本编程、业务逻辑编程和系统部署能力;能够运用开发工具的联机帮助来解决编码问题;能够运用打包工具制作产品的安装程序,能够编写用户使用手册、安装说明等文档;能够将子系统集成为一个完整的系统,并能在集成过程中优化系统;能够配置系统调试环境,具备关键代码性能优化的能力;熟悉数据库编程技术,具备应用SQL语言对MSSQLServer、Oracle、DB2等常见数据库进行数据操作的能力;掌握数据库系统的安全保护技术和性能调优技术;掌握Linux、WinCE、Android等常见平台下的嵌入式开发技术;熟悉嵌入式应用软件的编程、调试、部署技术;具备硬件驱动程序开发能力。
3) 软件测试能力。掌握常见的单元测试、集成测试、性能测试和回归测试技术;掌握常用的白盒与黑盒测试方法,具备测试用例的设计能力;掌握常用的软件测试工具;熟悉实际的软件测试流程,能够搭建测试环境;掌握软件测试管理技术,具备软件测试计划、软件测试报告等测试文档的撰写能力。
4) 工程综合能力。熟悉RUP、XP等常用软件开发过程模型,具备针对具体项目选择适当模型的能力;掌握项目范围界定、计划制订及进度监控技术;掌握软件配置技术,能够使用配置管理工具;掌握软件开发风险评估与控制技术;掌握常用的软件项目管理工具;能够基于用户的反馈情况进行软件产品的维护,并能对用户进行培训;具备软件开发计划、可行性分析报告等项目管理文档的撰写能力。
2提升软件工程专业能力培养途径
2.1改革人才培养模式
建立“2+1+1”三段式期制的人才培养模式,同时坚持工程能力和素质培养4年不断线的原则,将工程项目教学法贯穿整个教学环节,提高学生的学习兴趣,增强学生的工程意识,强化工程实践能力。
前4学期“重基础”,即重点完成对学生专业基础知识和基本技能的培养。通过强化数理基础模块和专业基础模块教学,促进学生创新思维的形成和创新方法、创新工具的掌握,为后续的专业模块学习和工程能力的培养打好基础。从第二学期开始为每位学生配备校内专业指导教师,负责对学生在校期间的学习、专业选择、学习进程规划和学习方法等进行指导。
第5学期是在大二结束时安排一个企业实训学期(企业实训I),即通过适当压缩原第4学期教学周数,从而形成一个包括暑假在内共12周的第5学期(变传统的8学期制为期制)。作为第一阶段的企业实训,主要是培养学生的软件测试能力,并对软件的工程化开发流程形成清晰的认知。同时,该阶段也能使学生学习和实践软件企业的管理运作,熟悉业务流程及项目开发流程。作为校企联合培养第一环节,该阶段由企业安排资深工程师作为企业指导老师,对学生在现场实践期间进行指导。自此,针对每位学生的“双导师”指导模式正式形成。
第6、7学期“精方向”,即在双导师指导下,学生在特定的专业方向进行深入学习。采取基于项目的教学模式和以问题为导向的探索式学习模式,培养学生从工程全局出发、综合运用多学科知识、结合各种技术和现代工程工具解决工程实际问题的能力,同时培养学生的自主学习能力、创新意识和探索未知领域的兴趣。另外,通过加强与软件企业合作,完善双方模块的学分认证标准。学生在此环节获得的学分双方互认,并颁发相关证书,从而将软件行业所需要的专业能力融入人才培养体系。
第8、期“强工程”,学生将利用一年时间到企业进行项目实训和做毕业设计(论文),通过企业项目实训和毕业设计(论文)等工程实践环节,强化学生从事工程实践所需的专业技术能力,进一步锻炼学生的工程实践能力和独立工作能力。毕业设计(论文)的选题要求来源于企业,做到100%真题真做。
2.2构建模块化教学体系
2.2.1模块定义
应用型人才应该具有运用科学理论知识和方法来综合分析、解决问题,以及将解决方案付诸实施的实践能力,而传统的教学体系以课程为教学单位,教学内容存在重知识体系而轻社会需求,重知识传授而轻能力培养等问题。为此,围绕应用型软件工程人才的专业核心能力,通过将理论教学与工程实践紧密地结合在一起构成“模块”,以取代传统教学体系的“课程”。“模块”作为面向专业能力培养最小的教学构成单位,是围绕特定能力培养相关教学活动的有机组合,具有可重组性和教学内容的非重复性,其对应能力的培养环节连贯、递进,可适应不同类型软件工程师的培养需要。
2.2.2构建思路
软件工程专业模块化教学体系构建要求从传统的知识输入为导向的课程体系构建,转变为以能力输出为导向的模块体系构建。“知识输入为导向”指的是以学科体系为导向,构建课程体系;“能力输出为导向”指的是以岗位需要的专业能力为导向,构建模块化教学体系。基于“面向专业能力需求反向推导”
的思路,即通过对IT企业相关岗位群的调查与分析,确定学生应该具备的专业能力,再将抽象的专业能力具体化为能力要素,对一组相关的能力要素进行优化整合形成能力单元,围绕一组特定的能力单元及其对应的知识单元的培养(知识点的组合)设计相应的教学活动,从而形成“模块”。通过若干个相关模块的有机搭配构成软件工程专业应用型人才培养所需的模块化教学体系,从而将传统的按学科知识体系构建专业课程体系,转变为按专业能力构建模块化教学体系(如图1所示)。
模块化教学体系以专业能力为主线,将理论教学和实践教学有机结合,强调知识和方法如何运用于实际工程领域。在模块化教学体系中,一个模块针对特定的能力单元设置,一项专业能力的培养可由一个或若干个模块来支撑。模块化要求人们转变思维方式,即要适应从“专业课”到有功能性单元的“模块”的转化,对传统课程体系的教学内容进行拆散、揉和与优化,以面向能力培养构建模块的教学内容。如将原有的Java语言程序设计、SQLServer数据库等课程中的高级应用和难点部分进行整合,设置Web应用系统开发模块,重点培养基于Web平台的应用系统设计开发能力。模块既包含理论知识的讲授,又有工程实践训练,采用典型的真实工程项目,对学生的工程能力进行培养。
2.2.3进程安排
在软件工程专业模块化教学体系参考教学进程
中,执行计划总学分为180学分。第1至4学期主要学习公共基础模块和专业基础模块;第6、7学期在校学习专业模块,第5、8和期到企业进行实训,结合工程实际完成项目实训和毕业设计(论文)。教学进程如表1所示。
2.3引入企业实训环节
软件工程专业能力的获取是在运用智力、知识、技能的过程中经过反复训练而形成的[3]。为此,围绕提升学生的软件测试能力、软件实现能力、软件分析与设计能力和工程综合能力这4项专业核心能力,分阶段设置3个独立的企业实训学期(如表2所示),使学生置身于真实的企业场景、管理制度、竞争压力、团队协作等环境之中,以培养学生软件开发、团队合作以及项目管理的能力。
1) 企业实训I,安排在第5学期。通过适当压缩原第4学期教学周数,从而形成一个包括暑假在内共12周的第5学期(变传统的8学期制为期制)。作为第一阶段的企业实训,主要是培养学生的软件测试能力,并对软件的工程化开发流程形成清晰的认知[5]。
2) 企业实训II,安排在第8学期。通过将原大三下学期的暑假与大四上学期结合,得到一个约28周的第8学期,作为第2阶段的企业实训,用于强化学生软件的实现能力和分析与设计能力。为了使学生能在特定的软件开发领域获得深入训练,形成个人的专业特长,该阶段应分不同的方向(如Java、.Net及嵌入式软件等方向)在相应的企业进行。
3) 企业实训III,安排在第期(原大四的下学期),按一个标准学期的20周设置,并与毕业设计相衔接。针对实际项目(产品),由学生组成项目组,负责整个项目(产品)开发的全过程,并按企业或用户要求对项目(产品)的完成情况进行评估并答辩,根据项目(产品)中每位学生完成情况确定其毕业设计等次。
以上的企业实训方案很好地体现了分步进阶的专业能力培养原则,它对学生软件专业能力提升的思路是:以软件测试技术与技能训练为主的能力培养以软件实现技术与技能训练为主的能力培养以产品或系统构建能力培养为主的能力培养以综合项目解决方案制定为主的能力培养以适应社会并能够独立完成产品/系统研发工作为主的能力培养。同样,对于各个阶段企业实训内容的安排,也是按照由浅入深、由单项到综合的方式,层层递进地实现能力的渐进培养。另外,企业实训的各个阶段均设置考评环节,并按企业对应岗位的技能要求对学生进行能力考评,对应关键能力培养的企业实训环节(如软件实现能力),不合格者将要继续本阶段的训练,直到能
力考评达标为止。各阶段的企业实训环节均有对应学分,学生必须修满相应学分,方允许毕业。
3结语
新建应用型本科高校在培养人才目标、生源和师资力量方面与传统综合性重点大学有显著差异,因此,不能简单地继承和延续综合性重点大学的培养目标和培养模式,而必须主动适应经济发展对具有创新能力应用型人才的需求,充分发挥自身的优势和特点,在特色中求生存、求发展。近年来,合肥学院软件工程专业按照“重基础,精方向,强工程”的基本原则,建立了“2+1+1”三段式期制的人才培养模式,实行了3学期的企业实训环节,同时,提出通过将传统的、按学科知识体系构建专业课程体系,转变为按专业能力体系构建专业模块体系,并紧密围绕模块体系展开系列教学改革,如编著适应模块化教学需要的特色系列教材、建立多元化的师资队伍、引入校企合作及模块互换学分互认机制等。几年来的教学实践证明,采用模块教学体系在培养企业真正需要的、具有创新意识和国际化视野的软件工程师方面取得了良好的效果,对于保证应用型人才培养目标和培养要求的实现具有重要的借鉴意义。http://www.11x95m.cn/search/index/tag/id/2.html http://www.114hao.cn/post/14.html http://www.5ugl.cn/yxbb/ http://www.m23827.cn/search/index/tag/id/20.html http://www.ayrahxa.cn/tags-95.html http://www.11x95m.cn/cqsf/12.html http://www.pzrbxhl.cn/tags-47.html