第23卷 第2期 2014年6月 河南教育学院学报(自然科学版) Journal of Henan Institute of Education(Natural Science Edition) Vo1.23 NO.2 Jun.20l4 doi:10.3969/j.issn.1007—0834.2014.02.018 软件工程专业实训教学的研究与建设 卢中宁,范乃梅 (郑州轻工业学院软件学院,河南郑州450002) 摘要:针对目前应用型本科院校软件工程专业大多沿袭传统的本科教育模式,不能适应培养具有工程能力的 应用型软件人才的问题,提出实训教学与实际项目开发相结合的教学方法,构建了实训教学的教学解决方案和考 核体系.通过实践证明实训解决方案行之有效,培养了学生的工程实践能力和创新能力,实训考核体系具有可操作 性,能较好评价学生对知识和应用技能的掌握程度. 关键词:软件工程;实训;工程化;解决方案 中图分类号:G642.0 文献标识码:A 文章编号:1007—0834(2014)02—0072—04 O 引言 当今,快速发展的计算机软件行业及软件市场对高端软件从业人才需求强烈,对软件工程人才提出了更 高层次的要求.虽然国内各高校培养的软件人才数量日益增多,但合格的专业人才却十分匮乏,这严重阻碍 了我国IT企业的快速发展.究其原因是国内各高校对计算机软件相关专业的人才培养,基本上仍然保持着 传统理工科的模式,对学生软件工程能力和职业素质的训练不足,同时也缺乏对学生进行相应训练所需要的 实践教学环境.这样培养出的学生虽然理论强,但实践能力不足,不能满足当代软件行业对专业人才的需求, 并且学生也不能够快速融人现代IT企业的运作环境中.软件工程是将数学原理、计算机科学和1二程实践结 合起来创造实实在在的产品….因此软件工程专业更侧重于学生软件开发能力的培养,要求所培养出的学 生具备扎实的软件工程理论知识,能够熟练掌握软件的设计、开发、测试、维护等技术,并且具有开发、组织和 管理软件的能力.针对软件工程专业的这一培养目标,国内高校纷纷展开软件人才培养思路的探索,期望能 够寻找到更加有效的方式和途径,培养出符合企业要求的优秀人才.郑州轻工业学院软件学院积极探索和改 革软件工程人才培养体系及管理运作机制,从培养工程化软件人才的基本定位出发,建立了完善的实训教学 解决方案.解决方案的实践使得学校从学生的实习实训困境中解脱出来,且能够使学生充分认清自身发展的 目标和方向,初步建立软件开发的思想,并获得职业持续发展所需要的核心动力. 1 实训教学解决方案的构建 具有工程实践能力的软件人才是创造软件产业价值的原动力 .郑州轻工业学院软件学院在构建软件 工程专业实训课程体系过程中,对实训教学进行了全面改革,确定了软件工程专业阶段性培养目标(如图1 所示),并在人才培养计划的各个环节中始终贯穿这一目标 .具体内容为:熟练的程序员(程序编写)—— 熟悉软件工程原理和方法的软件开发者(软件开发)——应用解决方案的优秀团队成员(系统设计).为将这 一培养目标付诸实践,软件学院通过研究IT企业所采用的主流技术,引人企业的实际项目,依托合作软件公 司的软件研发项目,研发、整理出用于高校教学的一系列可教学化实训(工程项目开发)项目,并结合在人才 培养方面探索和实践的经验,建立了适合示范性软件学院的实训教学解决方案(如图2所示). 该解决方案由实训管理平台、实训教学课程体系及实训师资人员3部分组成.随着方案的实践,学生通 过短期的项目实训牢固记忆知识点,完成从理论知识到工程实践能力的顺利转化.最终学生的动手操作能力 和工程实践能力得到了全面提高,学历教育与用人企业的无缝链接 这一目标也真正得以实现. 1.1实训管理平台 高质量的开发过程是高质量的软件开发所必须的 .保证实训教学效果的重要环节是合理的管理软件 收稿日期:2014—01—25 作者简介:卢中宁(1974一),男,河南洛阳人,郑州轻_丁业学院软件学院副教授,主要研究方向:软件r程与数据库 第2期 卢中宁等:软件工程专业实训教学的研究与建设 73 开发过程.为了实现学生实训过程的科学化、规范化的管理,软件学院建设了完善的实训项目管理平台.实训 项目管理平台是一个辅助性的网上学习支撑平台,是为通过网络开展教学活动而研发的综合性教学管理系 统.实训管理平台为保障实训过程的顺序实施,对学生实训过程中的各个环节进行监控管理.管理平台一方 面可以让学生获取参考资料、帮助文档,另一方面可以协助实训教师进行实训任务安排,全程方便地指导监 督学生,把握学生情况,从而完成这一教学环节,减轻教学方面的压力.除此之外,管理者可从管理平台上获 取关于实训进展情况的各类统计信息,随时了解学生的实训状况. 图1软件工程阶段性培养目标 Fig.1 Phased training objective of software engineering 图2实训教学解决方案 Fig.2 Solution of practical teaching 为使实训过程更有效地开展,实训管理平台中划分了多种实训角色:实训负责人(系统管理员)、学术负 责人(管理员)、实训工程师(部门经理1)、项目助理(部门经理2)、实训辅导员(部门经理3). (1)实训负责人是实训业务展开的核心领导人,主要把握实训的理念、实训的本质和实训的目标,对后 续工作人员具有强大的影响力. (2)学术负责人起到辅助与监督的作用,首先是辅助实训负责人抓好实训与教学,其次是监督实训工程 师与项目助理的工作,保证实训的质量. (3)实训工程师是实训课程体系的主要实施角色,即核心角色,主要负责实训课程讲解、实训项目组织、 协调与指导等,此角色本身的质量与实训效果有直接的关系.在实训过程中实训工程师以专家的身份出现, 学生分组自己推动,实训工程师只是在一侧引导. (4)项目助理,主要是辅助实训工程师做好实训学生的项目实施,针对实训课程的要求,代码量小于 4 000行的案例由学生自己完成.在大项目的环境下,按开发团队模型对学生进行分组,然后给每一小组 的成员分配角色,共中包括3种基本角色而且由一人承担即项目经理、软件开发员、软件测试人员,并按角色 实施项目开发.在第一阶段结束后,项目助理根据学生的情况,做局部团队人员的调整,在后续阶段中,团队 人员不变,角色实行轮换制,此做法的目的是锻炼学生相互协作、相互沟通、团结一致的团队合作能力,并让 学生感受每一角色的内容,找到自己的特长.在每一项目阶段结束后,实训工程师与项目助理为锻炼学生的 表达能力与整体技术交流,采取每人、每组项目结束后的最优评比、项目讲解. (5)实训辅导员在实施过程中,以配角角色出现,主要是帮助实训工程师与项目助理做一些辅助工作, 类似院校班主任,其职责有辅助授课、辅助评估、为学生服务和技术支持等. 1.2实训教学课程体系 为了实现实训教学活动的全程化 ],学院根据软件工程专业阶段性的培养目标,把各个专业方向(JAVA 方向、.NET方向、测试方向等)的实训教学活动划分为“课程实训”、“学期实训”、“项目实训”及“企业实践” 4个阶段.这4个阶段是互相关联、互相影响且逐层递进的关系,也是一条由浅到深、循序渐进的认知路径. 具体各阶段的实训教学形式及相关实现目标如表1所示. (1)课程实训阶段.本阶段在大学一年级的两个学期末实施.这一阶段主要的教学环节设有程序设计实 训(c语言和JAVA语言),重点在于培养学生的基本编程能力. (2)学期实训阶段.本阶段在大学二年级的两个学期末实施.这一阶段主要的教学环节有程序设计实训 (基于数据结构与算法设计),重点在于培养学生的程序设计能力和逻辑思维能力以及团队合作能力,使得 74 河南教育学院学报(自然科学版) 2014年 实施学年 第一学年 迭代式增量开发 小规模 第二学年 瀑布模型 第三学年 螺旋模型 中规模 学生实践用例 小组形式(5人左右的小组 形式,有较多团队交流 第四学年 软件开发模型 系统开发规模 系统开发示例 中小规模 教学讲解用例 学生实验用例 简单小组形式(3人左右的 教学讲解用例 学生实验用例 系统开发形式 个人形式 小组形式,通过角色 轮换体会小组分工) 软件工程管理 软件工程制品 软件工程技术 ,.. ….. 行为,固定角色) 小组级软件开发管理。强化项目 根据企业 个人软件过程初步 代码为主,适当的文档 OOA、OOD、调试与测试、 基本 化等 小组级软件开发管理,项目 管理工具 代码与文档并重 适用于中小规模软件系统 开发的工程化方法、 技术、实践与原理 管理工具,体验风险控制 代码与文档并重 具体项目 实施 适用于中规模软件系统开发 的工程化方法、技术、 实践与原理 程序设计基础 核心基础知识 基本知识 提高程序设计能力 较全面深入的认识 提高 提高 较全面的职业知识 全面应用 面向对象技术 软件工程职业 团队交流 少量必备职业知识 较全面的职业知识 文档、陈述 基础体验 (3)项目实训阶段.本阶段在大学三年级的两个学期末实施.这一阶段主要的教学环节有基于.NET和 JAVA框架技术的项目综合实训,重点在于培养学生的软件系统设计开发和集成能力及团队合作能力. (4)企业实践阶段.本阶段在大学四年级实施,重点培养学生的职业技能.学生到IT企业(或软件实训 企业)实践,从而使软件工程毕业生在毕业前就具备软件工程项目实践经验,这样在进入IT企业后只需简单 的相关业务及技术培训就可快速上岗. 1.3实训教学师资团队 郑州轻工业学院软件学院担任实训教学任务的教师团队是一支素质优良、结构优化,既具有教学理论知 识又具有工程实践能力的“双师型”师资队伍.队伍中的师资主要由两部分构成:①引进师资,从社会上和IT 部门中聘任有专长、实践经验丰富的专家学者和工程技术人员作为兼职教授或兼职讲师,以兼课或讲座、报 告会等形式成为师资的组成部分,把工程实例、工程意识、工程文化和工程精神带到校园、带进课堂、传授给 教师,并与专业教师深层次合作,结合理论模块进行相关实训;②培训师资,青年教师深入本地优秀骨干IT 企业和知名IT公司进行学习和工作,了解企业发展的最新状况,参与企业工程项目的开发,获取工程技术经 验.这些教师具有企业颁发的工程经理认证证书(职业资格证书),是具有工程实践能力的“双师型”师资. 2实训考核体系的建立 实训课程作为软件工程专业占有学分的一项非常重要的教学环节,必须对学生学习情况进行考核, 并给出成绩.通过对学生进行成绩考核,实训教师能正确合理地评估学生已掌握的知识点,补充学生所欠缺 的方面,从而提高教学质量.与传统教学的考核方法不同,实训教学考核方式更侧重于考核学生的实践操作 能力、综合运用能力、文档编写能力、团队合作及创新能力.课程实训考核、项目实训考核和工程实训考核成 绩以阶段评审和项目验收相结合的方式,重视阶段评审的成绩,即强调学生实训项目的中间过程.实训成绩= 阶段评审×60%+项目验收×40%.具体可从下面两个方面进行重点考核. (1)业务水平.项目文档编写的规范性、项目完成情况及质量,英文资料阅读能力. (2)综合能力.工作的积极性、主动性,制度、纪律的遵守情况,团队协作能力. 以上每一方面均按照5分制进行考核,即把考核成绩划分为优秀、良好、中等、及格、不及格5个等级,并 第2期 卢中宁等:软件工程专业实训教学的研究与建设 75 针对每一等级采用不同的权重值,综合后得到最终的实训成绩.这种考核形式的实施较全面地体现出学生的 实训学习情况,并促进了学生的全方位发展. 3 结束语 软件工程专业的实训教学是培养应用型软件工程人才的重要环节.依据设定的阶段性培养目标,构建具 有可操作性、行之有效的实训教学解决方案.随着这一方案的实施,学生的软件工程实践能力和创新能力得 到很好的培养,毕业生良好的动手能力和创新能力获得了用人单位的一致好评,保证了软件工程专业毕业生 每年100%的就业率,并且就业质量高.此外,实训教学成绩考核体系全面反映学生的综合素质,促进了学生 的发展. 参考文献 [1]殷人昆,郑人杰,马素霞,等.实用软件工程[M].3版.北京:清华大学出版社,2010. [2] 韦迎春,文俊浩,陈蜀宇.以能力培养为核心构建示范性软件学院实践教学体系[J].中国高等教育,2011(2):48—50. [3] 徐玲,张小洪,文俊浩,等.软件工程专业实践教学体系的构建[J].计算机教育,2010(11):137—139. [4] 何小东,刘艳,刘国强.高校软件工程专业“无缝人才培养模式”的研究与实践[J].湖南医科大学学报,2010,12(2):170—172 [5] 崔巍,张建,邢围波.面向就业的软件工程专业人才培养模式初探[J].中国成人教育,2011(14):62—63. [6] 张笑燕,宋茂强.创新实践教学体系培养工程化实用型通信软件人才[J].中国大学教学,2011(4):73—75. Research and Construction of Practical Teaching of Software Engineering Specialty LU Zhong-ning,FAN Nai-mei (College of Software,Zhengzhou University f oLight Industry,Zhengzhou 450002,China) Abstract:Referring to the current situation of software engineering education,most applied colleges follow the tra- ditional teaching mode of undergraduate education.It couldn’t fit the cultivation development of engineering capa— bilities of software talents.To solve this problem,the teaching methods which combined practical teaching and ac— tual project development were proposed,and learning solutions and evaluation system were built up.It was proved by practice that training solution was effective,which trained students in the engineering practice and innovative a- bility.Training evaluation system was operable and could assess student’S mastery of knowledge and application skills better. Key words:software engineering;training;engineering;solution