本站小编为你精心准备了软件工程实训教学的革新参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
很多软件企业安排具有丰富软件项目开发经验的软件工程师负责内部培训,新进员工通过参与实际项目获得最直接的项目开发经验。但是由于企业内部培训成本过高,以及对于培训后员工流失的担心,软件企业内部培训的积极性和主动性并不高。企业希望毕业生具有基本实践经验,具备较强的自学能力以及较好的团队协作能力。由于传统教材更新较为缓慢,同时学生又缺少实践的机会,普遍缺乏实际编程能力,到公司通常要经过6~12个月的培训才能胜任工作。笔者认为,上述问题的核心在于从学生到软件工程师缺乏一个有效的身份过渡阶段,造成了知识和技能的迁移困难以及文化适应障碍。
改革探索
教育部为贯彻落实《国家中长期教育改革和发展规划纲要(2010-2020年)》,启动“卓越工程师教育培养计划”,拟用10年时间,培养造就一批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才。笔者认为,所谓卓越工程师培养是指学校教育应为学生工作5~10年后成长为卓越工程师奠定坚实基础。南华大学地处中西部经济欠发达地区,当地软件企业多为中小规模,急需熟练程序员、系统分析及设计人员,要求学生不但应具备良好的分析设计理论基础,熟悉软件开发流程和常用工具,具有较强的编程能力,而且富有团队协作能力和经验,尤其是思维方式,应像软件工程师一样思考,运用所学理论分析并动手解决实际问题。南华大学计算机科学与技术学院理应尽快为地方培养和输送具有卓越软件工程师素质的人才。为此,学校在2009年开设“软件工程实验班”,启动卓越软件工程师培养的案例研究。实验班旨在培养“基础扎实,专长突出,动手能力强,勤勉务实,甘于奉献,追求卓越,面向未来”的应用型高级软件工程师。采取与现有人才培养方案平行的教学安排,建立专业学习共同体,以实践教学作为突破口,利用学生课余时间开展校内实训。重点解决从学生到软件工程师的身份过渡,避免其进入工作岗位时出现知识和技能的迁移困难以及文化适应障碍。
1引进优秀企业文化,建立虚拟企业
学校成立实训中心,与软件企业联盟,构成虚拟企业,前者提供高质量的人才培养能力和科研能力,后者贡献工程能力和企业文化,参与学校的培训指导以及教学评价。各自贡献核心能力,既有助于企业降低人才储备成本和风险,也降低了学校的资金投入和学生的实习成本。实验班创建由“项目经理-项目组长-项目组员”构成的企业组织结构,实施考勤、值日、绩效考核制度。虚拟企业的核心是引进优秀企业文化,如管理制度、开发模型、开发流程、开发工具、项目实施等。通过广泛调研,中小软件企业为快速响应市场变化,大多采用快速原型和增量模型作为开发模型,开发流程则采取从需求分析、概要设计、详细设计、编码到测试的五步法,主流开发平台采用JAVA和NET。为此,学校创设“快速原型+增量模型”的项目管理办法,颁布了包括需求规格说明书、概要设计说明书等文档规范,并在课程设置上添加相应内容,同时C#编码规范、JAVA编码规范、数据对象命名规范等文档标准,架设专用服务器,启用版本控制。专家和新手的身份是动态变化的。在某一领域学习活动中,你可能是专家,但在另一个领域却是作为新手参与的。软件专业涉及的技术不但多,而且推陈出新的速度非常快,学生年纪轻,接受能力强,通常他们比共同体中的其他成员对新技术的掌握更快,此时他们是专家,其他成员是新手,因此,定期召开技术沙龙,由某领域的“专家”主持,展示所长,这种去“教师”中心化的互动合作学习,使得学生、教师、校友、企业工程师彼此分享知识、经验和情感,教学相长。
2提供真实软件项目
编程是软件人才必须具备的基本能力,专家建议,学生在大学本科阶段完成的代码量应不少于4万行。根据开放程度不同,项目可分为封闭项目和开放项目。知识的构建是一个过程,必须循序渐进,学习者的发展需服从“旁观者—同伴—成熟实践的示范者”规律。为此,学校采取项目驱动、分阶段实施的实践方式。项目来源包括学校的教育信息化项目、科研项目、企业委托项目。改编真实项目创建丰富的教学案例,如由教务管理信息系统改编的学籍管理、课程管理、排课管理、排考管理、成绩管理、教材管理等案例。按照学习共同体构建的两个层次——实习场和实践共同体,大三的基本技能训练以实习场为目标,采用教学案例等封闭项目,提供基于工作的、模仿项目小组的实践环境,教学内容注重编程能力、开发工具、开发流程和项目管理等;大四阶段以实践共同体为目标,采用实际软件项目等开放项目,学生参与到项目开发小组,与研究生、教师、工程师组成实践共同体,身份平等,彼此分工合作,共同完成软件项目,教学内容注重思维能力和创新能力。通过近3年的实施,这种“实践—学习—反思—再实践”的流程有效地促进了学习动力、独立思考、小组协作的发生。
3组建软件开发团队
团队协作能力是现代应用型软件人才必不可少的能力。当前软件项目的规模和难度早已超出个人能力范围,据说windows2000的开发人员就高达2000人,团队早已成为软件企业实践活动的基本组织单位。学生的团队协作能力应具有两个水平:一是参与团队,学生具有与他人协同工作的基本素质,能迅速融入现有软件开发团队,胜任相应工作岗位;二是自组团队,学生能自组开发团队,团队职务角色完整,具备从需求、设计、实现、测试到部署的基本实施能力。共同体成员要进行适当的角色分配。软件开发团队成员间必须存在异质性,以保证共同体中社会协商的发生。可采取“竞争-选择”方式自然形成团队,规模以3~6人为宜,由知识技能互补的新老成员混搭构成,职务角色完整,涵盖需求、设计、编码、测试、数据库、美工,优化角色人选。
实际效果
学校建立专业学习共同体3年来培养了两届毕业生,实现了100%就业并获得用人单位好评。毕业生能力得到企业认可,就业形势可喜,企业主动联系要人。通过回访企业如北京联信永益、佛山青松科技等得知,由于零培训直接上岗,并且综合素质过硬,企业对毕业生非常满意,并纷纷表示希望建立长期合作关系。尤其值得一提的是,java团队4名成员被北京中科辉腾整体录用。学生参与获得软件著作权3个;参与湖南省大学生创新实验项目1项;获湖南省大学生程序设计竞赛二等奖1个、三等奖4个,“挑战杯”三等奖1个。实践证明,采取校内实训形式的软件工程实训教学科学可行,通过建立虚拟企业、提供真实软件项目、组建软件开发团队等措施建立专业学习共同体,有效地解决了学生到软件工程师的身份过渡问题。该方案具有普遍的指导意义,极具借鉴意义和推广价值。(本文作者:王丽君、李萌、徐卓然、刘志明、阳小华单位:南华大学)