舒新峰 梁琛
摘要:针对软件工程专业普遍存在的培养目标定位不准确、教学内容滞后和实践能力培养不足等问题,分析了软件技术的发展方向以及社会对软件人才需求,提出以面向网络信息服务领域的高素质应用型人才为专业培养目标,给出了课程体系的规划思路,最后结合案例设计出了具体的课程体系并总结了相关特色,为一般本科院校软件工程专业建设提供参考和借鉴。
关键词:软件工程; 网络应用; 信息服务; 课程体系; 培养方案
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)07-0187-03
Abstract: According to the currently generally existing problems in Software Engineering major, such as inaccurate train objective, outdate of teaching content, lack of practice ability, etc., firstly the development direction of software engineering and the social demand for software talents are analyzed, then the train objective of the major is identified as cultivating the high-quality applied talents for network applications and information services, furthermore the planning strategy of the curriculum system is given, finally, a specific curriculum system is designed as a case study and the features of the schema are summarized, which provides some reference for the construction of Software Engineering major in general universities.
Key words:software engineering; network application; information service; curriculum system; training scheme
1 引言
软件产业作为信息行业的核心,是国家重点支持和发展的战略性产业。近十多年来,我国各级政府和部门制定了一系列政策[1]大力推动软件产业发展,并取得骄人成绩。根据我国工业和信息化部发布的统计数据表明,2013年全国共有软件企业3.3万家,从业人数470万人,软件行业实现收入3.06万亿元[2]。
软件产业属于知识密集型行业,软件产业的发展离不开大量的高素质软件专门人才。高等院校的软件工程本科专业作为主要的人才培养基地,应责无旁贷的为软件产业发展需要培养出大量优秀人才。然而目前我国一般本科院校的软件工程专业普遍存在培养目标定位不准确、课程体系缺乏系统规划、教学内容与社会需求存在差距、专业课授课与工程实践存在脱节以及学生工程实践能力不足、职业素质较低等问题[3],与社会人才需求存在相当大的距离。
本文以我国发布的信息产业战略规划和社会人才需求为导向,以教育部软件工程专业教学指导委员会发布的“软件工程专业规范”[4](下文简称“专业规范”)为依据,结合西安邮电大学以及兄弟院校[5,6]软件工程专业的经验,提出了以网络信息服务领域软件人才为培养目标的软件工程本科专业课程体系构建方法。
2 专业培养目标定位
在我国十二五规划的指引下,以新一代移动通信、下一代互联网、物联网、云计算、大数据等为代表的信息技术创新及应用领域正孕育着重大突破[7],软件技术朝着网络化、服务化、融合化等方向发展[8],在面向互联网及信息服务领域需要大量的高素质软件人才。本文专注于此类人才的培养,将软件工程本科专业的培养目标定位为:培养适应国民经济和社会信息化发展与建设需要,德、智、体、美全面发展,系统掌握计算机基础理论、软件开发方法、项目管理技术和主流的软件工程工具,具备较强的工程实践能力、创新能力及团队协作精神,具有良好的综合素质和职业道德,能在软件公司、通信设备制造、电子商务等企业从事互联网及信息服务领域软件项目的分析、设计、编码、测试、维护和项目管理工作的高素质应用型人才。
3 课程体系规划思路
课程体系是人才培养的具体实施方案,也是完成专业培养目标和提高教育质量的根本保障。制定课程体系前首先需要明确规划思路,为培养方案编制指明方向。面向网络信息服务领域的软件工程本科专业课程体系规划思路如下。
3.1 厚基础、强能力、高素质
软件本身作为方便人们生活、提高工作效率的一个工具,软件企业的发展脱离不了具体的应用领域。然而尽管不同领域的企业对软件人才的类型和知识结构要求不尽相同,但在对人才的专业基础知识、能力和素质上的要求是一致的。因此,在课程体系的制定上,应针对本科的人才培养层次,在重视专业基础知识教育的同时,强化训练学生工程实践、终身学习、科学思维等能力,并重视职业素养、身心素质的培养,为学生未来的职业发展奠定坚实基础。
3.2 面向网络应用,突出专业特色
图1给出了一个典型网络应用软件的网络拓扑结构示意图,软件分为前端、服务器端和数据库三部分。前端涉及的主要就业岗位包括移动应用开发、Web前端开发、PC终端软件开发;服务器端的就业岗位包括Web应用开发、应用服务器开发和服务器运维管理等;数据库端的就业岗位主要包括数据库设计与开发、数据分析与挖掘等;覆盖全部软件的就业方向包括软件测试、软件质量保障等。
尽管软件工程的就业方向还包括软件系统分析、系统架构设计、软件项目管理等高级职业,这些职位均需要有丰富的工程实践经验,凭借本科生在学校的工程训练尚不能到达这个级别。各高校应结合自己的学科基础和优势,在上文的就业方向中选择几个进行重点培养。
3.3 理论与实践课程体系统一规划,协调发展
中大型软件开发是一个复杂的系统工程,除了需要掌握一定的工科基础和计算机硬件知识外,还需要熟练掌握编程语言、数据结构、操作系统、数据库、软件分析与设计等方面的知识。教学过程只能按照软件工程学科的知识结构,按照人才培养规律循序渐进进行,从点到面,最终在有限的课时内完成所有知识点的传授和软件开发能力的培养。
为达到最佳教学效果,需要对理论课程体系和实践环节进行统一规划和布局,使得理论学习和对应实践能力和综合素质培养紧密结合,相互促进,协调发展。在理论教学上,将“专业规范”指定的知识点与专业课程进行对应,明确每门课程在培养体系中的目标和任务,注意知识和技能的延续性,避免不必要的重复。打破实践环节相互脱节的局面,课内实验注重个人对知识点的掌握训练,集中实践环节在软件工程思想指导下,采用项目驱动以及团队协作的模式,根据专业知识的掌握进展分阶段训练学生的编程能力、分析设计能力以及综合应用能力。
3.4 具备先进性和前瞻性
IT行业发展日新月异,新技术层出不穷。在课程设置上必须具备先进性和前瞻性,紧跟业界前进的步伐不断更新课程能内容,并开设一些反映学科前沿最新进展和最新技术的课程,使学科专业具备不断完善、持续自我更新的能力。
4 课程体系设计案例
下面以西安邮电大学软件工程本科专业为例,给出一种面向网络及信息服务领域的应用型软件工程人才培养方案。我校软件工程学科在软件测试、移动应用开发、Web应用开发和Linux操作系统内核及应用方面承担过多个纵向和横向课题,出版了多本相关教材,并向Linux开源社区成功提交过补丁,具有良好的学科基础,因此将专业培养方向确定为此四个方向。
本专业的课程体系结构如图2所示。理论教学体系由通识教育平台、专业教育平台、专业方向课程和学科交叉及前沿课程四部分构成,完成软件工程领域知识的系统传授。实践课程体系由课内实验、综合实验、课外实践、软件企业实训和毕业设计五部分组成,实现学生工程实践能力和素质的综合训练与提升。
4.1 理论教学体系
(1)通识教育平台:包含思政、英语、数学、物理等工科基础课程,以及心理健康、职业规划、公共艺术等综合素质课程,强调人文与科学并重,协调发展。
(2)专业教育平台:包含计算机导论、面向过程程序设计、面向对象程序设计、离散数学、计算机组成原理、数据结构与算法、数据库原理与应用、操作系统和计算机网络等计算机专业基础课程,以及软件工程导论、需求工程、软件体系结构与设计、软件项目管理、人机交互技术、网络编程技术等专业课程,注重学生掌握扎实的软件工程学科基础知识。
(3)专业方向课程:包括Web应用开发、移动应用开发、Linux高级编程和软件测试与质量保证,使学生至少熟练掌握其中一项专业技能,缩短与社会适应的距离,实现高质量就业。
(4)学科交叉及前沿课程:包括分布式计算、数据仓库与数据挖掘、云计算技术、大数据应用技术、计算机网络规划和现代通信网等课程,加强通信工程、网络工程和数字媒体等专业交叉融合,并传授软件工程领域的最新研究成果和新技术。
4.2 实践教学体系
(1)课内实验:所有专业课程均开设有一定学时的同步实验,以验证性实验为主要形式,加强对所学知识点的理解和掌握。
(2)综合实践:包含硬件课程设计、数据结构课程设计、初级项目训练、中级项目训练和高级软件项目训练等为期2周的集中实践环节,采用基于项目驱动的多人协作开发模式,分阶段培养学生工程能力及和团队协作精神。
(3)课外实践:包含学科竞赛、兴趣小组、开放实验、科技协会等多种形式,由学生根据自己的兴趣爱好自由参加,培养学生的探索精神与创新能力。
(4)软件企业实习:学生在软件企业进行为期4周的实习,由企业导师的带领下参加真实项目开发,熟悉企业的开发流程和企业文化,实现从学校学习到企业工作的跨越。
(5)毕业设计:采用项目团队形式,选择一个合适规模的软件项目进行为期14周的集中开发,由学生独立完成整个系统的分析、设计和实现,最终提交一个具备实用价值的产品。
4.3 课程体系说明
(1)理论教学系统化。以软件工程“专业规范”为依据,对现有课程进行整合,重点对解决软件开发和维护问题的策略、技术和方法进行传授,避免因编程语言以及开发平台和工具产生的不必要重复。例如在编程语言方面,本专业以C和Java分别传授面向过程和面向对象语言的编程知识,以JSP讲解Web应用程序的开发技能。
(2)实践教学立体化。采用以项目为驱动,课内实验与集中实践、课内教学与课外实践、校内实训与企业实习相结合的多位一体的实践教学体系,促进学生工程实践能力、创新意识和综合素质的全面提高。
(3)编程技能与项目训练不断线。从大一的面向过程程序设计开始,每学期均有新开设的编程技术课程或者利用已有编程技术进行实验的课程,实现了编程技能训练不断线。另外,集中实践环节全部采用团队协作模式,在软件工程思想指导下共同完成项目的开发,达到了系统分析设计能力和团队协作精神训练不断线。
(4)Linux及开源特色鲜明。依托我校多年来在Linux操作系统内核及应用方面的研究积累,响应国家在核心基础软件产品领域研发对Linux软件人才的需求,本专业从入校的面向过程程序设计课程开始,实践环节要求主要基于Linux操作系统平台以及开源软件完成,使学生具备Linux平台的使用、维护和软件开发能力。
5 结论
该文紧跟当前软件技术发展及企业需求,以网络应用及信息服务领域应用型软件人才为培养目标,给出了软件工程本科专业课程体系的规划思路,并设计了一种以Web应用开发、移动软件开发、Linux系统软件开发和软件测试四个就业方向进行重点培养的软件工程培养方案,供一般本科院校软件工程专业在制定培养方案时参考。
参考文献:
[1] 国务院. 进一步鼓励软件产业和集成电路产业发展的若干政策[Z].国发〔2011〕4号,2011-1-28.
[2] 工业和信息化部. 2013年全国软件业最终核实统计数据[EB/OL]. http://www.miit.gov.cn/n11293472 /n11293832/n11294132/n12858477/15974921.html.
[3] 张华. 应用型本科的软件工程实践教学研究[J].电脑知识与技术,2014,10(32):7700-7702.
[4] 教育部高学校软件工程专业教学指导分委员会[M].高等学校软件工程专业规范.北京:高等教育出版社, 2011.
[5] 杨慧炯, 韩燕丽. 应用型工科院校软件工程专业工程化特色人才培养模式研究[J].计算机教育,2012(6):19-21.
[6] 任子亭. 地方本科院校软件专业课程建设与实践[J].电脑知识与技术,2012, 8(14): 3321-3323.
[7] 国务院. 十二五”国家战略性新兴产业发展规划[Z].国发〔2012〕28号,2012-7-8.
[8] 朱仲英,虞慧群,王景寅,等. 软件技术发展趋势研究[J].微型电脑应用,2010(9):1-4.