面向应用型人才培养的软件工程课程改革与实践摘要:应用型人才培养模式主要面向经济和社会发展需要,设置应用学科专业,突出实践教学,培养基础扎实、综合能力较强的专业应用人才。为了适应社会和市场经济发展的需要,计算机专业人才培养要注重拓宽计算机学科领域,改善计算机学科专业的教学和实践内容,完善计算机应用人才培养模式。本文叙述了软件工程课程教学的改革和实践,通过科学合理地设定知识结构和教学方式,改善计算机专业应用型人才的培养。关键词:软件工程;应用型人才培养;任务驱动教学;开放式实验1应用型计算机人才是社会和经济发展所需提高高等教育质量,优化学科专业结构,推进高水平大学学科建设是高等教育的一项重要任务。为有效地解决我国高等教育在发展过程中存在着的问题,还需要采用努力改革教学管理体制、完善教学管理制度、不断提升学生素质[1]、建设良好的学风、加强师资队伍建设、构建科学的评价体系和机制等一系列措施和手段,以保证在高等教育快速发展的时期提高教育教学质量,保持高等教育的可持续发展。应用型人才是能将专业知识和技能应用于所从事的专业社会实践的一种专门的人才类型,它与知识型、研发型、技能型人才之间既有联系又有显著的区别。联系在于应用型人才也同样具有必要的专业知识和专业技能,区别在于它既不需要知识型(学科型)人才那么丰富系统的专业知识和扎实的理论基础,也不需要技能型(技艺型)人才的那种熟练的实际操作技艺,更不需要研发型(创新型)人才的那种研发能力和创新品质[2]。应用型人才培养既是我国新型工业化和现代化发展的需要,也是我国高等教育迎接新挑战的必然选择。应用型人才的培养不同于学术型/理论型人才的培养,应用型人才培养模式的构建,必须贯彻能力本位原则和多样性原则,针对不同专业特点和培养要求,构建如模块化教学、项目教学等多样化的人才培养模式。为了更好地培养计算机相关的应用型人才,与计算机相关的软件工程课程的改革值得探讨。近年来,我们从用人单位等多方作了相应的调查,开展了相关的课程改革与实践活动。2企业需要应用型计算机人才目前社会对计算机学科专业的学生的普遍反映就是,学生的实践动手能力差,专业课程的科目和内容难以与IT发展同步,学生没有特色。结果毕业生工作不好找,企业聘请不到合适的计算机人才。IT企业要求员工掌握符合国际标准的软件工程规范和技术规范,熟练运用外语,具有良好的团队协作能力,能够参与国际软件开发竞争。企业希望通过现有的各种项目,锻炼和培养一批能承接国际软件项目的队伍;通过公司内部技术等级的认定制度,健全激励体制和评价体制;设立程序员PG、软件工程师SE、项目组长PL、项目经理PM的各技术等级,明确认定条件和评定制度,并确立进入和退出机制。本科毕业生到了企业后,公司人力资源培训部需要进行新员工培训。除了进行商务礼仪、商务道德、商务的行为规范等教育以外,还要进行软件工程规范教育,并在项目中明确组织中的成员关系,搞好传、帮、带;举行专题讲座和员工研修制度,给员工提供再学习的条件;同时对PM、PL、SE进行教育,使其在管理能力、与顾客相处能力、营销能力、提方案能力、交流能力、执行贯彻力等方面不断提高;公司会选择一些典型成功项目,进行经验交流和技术交流,以达到管理上、技术上等方面的信息交换。大学和企业联合,让高校能够更多地关注企业对计算机专业学生的要求,而且不断在教学和实践中加强专业以及各种素质的教育,就可以缩短大学与企业的距离。选择符合企业发展的战略合作伙伴,建立人才资源共享链,企业也可以选择较优秀且成本较低的合格人才,在员工录用上做到采用适合企业的人。3采用新型有效的教学方式为了改变传统的教学模式,我们已经尝试采用任务驱动、案例式、交互式和情景式等多种教学方法,以提高课堂教学效果。我们在软件工程课程的教学中,积极采用了任务驱动的教学方法。任务驱动教学法,将课程学习内容划分为多个特定的任务,每个任务包含特定的知识点,只要完成了课程中设定的任务,就可以掌握课程学习的内容。这种通过设定任务,并且在实践环节中完成设定的任务的教学法使学生的学习目的更加明确,从而激发出学生学习的积极性和创新意识。我们三年来的软件工程课程实践表明,改善课程教学的方法,可以明显提高课程的教学效果。对于软件工程课程内容,需要学生具备的开发基础包括基本的开发理论、开发语言、软件相关的知识,数据库知识,SQL、Oracle数据库等。例如,与我们具有合作协议的某IT公司,毕业生进入公司时,还需要完成表1所列出内容的强化培训。任务驱动教学法的基本过程为:提出任务、分析任务、学生操作、交流讨论、巩固创新、总结等。例如,软件工程课程的实验设定了一个综合性的设计型实验,我们有意识地对照企业的要求,以小组为单位的协作和探究性的软件项目开发实践,采用面向对象的方法来分析和建模,采用C++或者Java语言编程实现给定的设计任务。不同开发小组可以选相同的设计课题也可以是不同的设计课题。我们设计了“美味饮料公司新一代质量管理系统”(2004年),“图书馆管理系统”(2005年),“银行储蓄系统”(2008年)等。在教师的指导下,小组既有分工到个人成员的任务,也有集体作业。图1、图2分别是本科生在任务驱动教学方式下的案例设计结果,通过协同工作,进行应用软件系统的需求分析,总体和详细设计,代码编程实现,测试方案以及测试用例设定,提交验收等,学生在开发过程中体验到不同阶段所承担的不同角色和需要完成的任务。课程设计与理论教学内容紧密配合,同步进行。对应于软件工程中的各个过程,提交各阶段的开发文档(需求规格说明书、总体设计和详细设计说明书、源程序、测试说明书和测试结果、系统使用说明书等)及完成的软件。每个后续阶段是以前一阶段的开发结果为前提,只有前一阶段工作的结果通过评审合格后,后一阶段的工作才能顺利进行。这一过程使学生真正理解到软件开发中文档的作用。新型的教学方式加快了学生对抽象理论方法的理解和掌握,同时改变了传统的课程考核方式,更加注重考察学生的综合能力素质。软件工程课程,除了理论学习,还要强调目标管理、时间管理、合作意识、团队意识、工作意识、品质意识、纳期意识等方面的重要性。4利用校内开放式实验平台和校外实习基地,充实实践教学环节武汉科技大学已有湖北省省级计算机实验教学示范中心,已建设成计算机科学与技术专业的湖北省品牌专业,已建立了两个大学生科技创新基地。软件工程课程实质上具有综合已学课程的特点,计算机语言课程、操作系统、数据库、计算机网络等都可以在软件工程的实践中得以使用。(1)利用校内开放式实验平台,加强软件工程的实践。我们建立了开放式实验保障体系,确保开放式实验机制的持续有效运行。要求教学达到计划课时内的实验要掌握基本技能,开放式实验强化充实基础,综合设计实验提高能力的目标。我们通过建立开放式实验条件下的实验教学体系支持平台,整合计算机专业相关的教学科研资源,提供空间和时间上的灵活性,引导学生自主实验和学习,以满足不同层次学生的需求。加强和巩固学生所学的知识,实验教学对所学内容和相关能力的提高起着十分关键的作用。传统实验教学模式主要是:在规定的时间、规定的地点,按照规定的进程,所有学生统一完成规定的实验实践内容。我们采用的任务驱动教学方法中,更多的实践内容需要以小组为单位在课外完成。这样可以结合学生在理论基础、能力素质、个人兴趣等方面,推进学生自主学习的动力、有利于各小组技能水平的不同的表现,有利于不同层次学生实践创新能力和专业素质的全面提高。(2)利用校外实习基地,充实软件工程实践。应用型人才应该具有良好的基础知识、基本技能和工程能力。我们认为应充分利用合作教育,开展校企合作,找到好的合作模式切入点,达到校企互赢。目前我们已经和校外IT企业建立了比较紧密的合作关系,校企共同开展学生的生产实习和毕业实习。在生产实习中,分为多个实习模块,例如软件工程模块、网络工程模块等。实习过程中,由企业派出的工程师来管理,完全按照企业上下班的作息制度,学生也是分成了若干小组,每个小组分配了不同的任务。软件工程模块是在规定的3周时间内,完成软件的需求分析、总体设计和详细设计、编码实现、测试用例设计、提交完整系统等过程。学习软件工程课程的学生,通过校内开放式实验和校企合作实习基地的实习,强化了学习内容,深入理解到软件工程中的各个环节。特别是通过将学校的教学方法和企业工程师的实践相结合,让学生了解到企业的生产过程,领悟到软件工程内容在软件开发中的作用,经历了企业文化,强化了团队精神。学校与企业可以建立多层次的合作,比如建设较稳固的实习基地。企业为学校教学提供各种信息,参与教学计划的制定,让学生直接参与项目。另外可以有更深层次的校企合作,如共建创新实验室,让学生接触新产品、新工艺的开发,提升学生的创新能力。通过各种研发活动,让学生理解团队和合作精神的重要性。5结语本文提出依照应用型人才培养目标,运用现代教育方法和实验教学,不断深化软件工程课程教学改革,激发学生学习研究兴趣,强化学生综合应用实践环节,是培养应用型计算机应用型人才的有效途径。我们应建立课堂教学、实验教学、科研活动并行的教学运行机制,加强实践环节,强化认识实习、生产实习,从而培养学生发现问题,分析和解决问题的能力。针对计算机应用和软件生产的相关关系,协作、交流和组织能力在计算机学科的应用型人才培养中显得十分重要,并已成为高素质计算机学科应用型人才的必备要求。参考文献:[1]刘拓,张樱,陈秀平.高素质人才培养的体系构建与实践[J].交通高教研究,2004(3):43-45.[2]包空军,钱慎一.计算机基础教育与创新能力培养[J].教育与职业,2007(11):123-124.InnovationandPracticesofSoftwareEngineeringCourseforApplicationPersonnelTrainingZHANGXiao-long(SchoolofComputerScienceandTechnology,WuhanUniversityofScienceandTechnology,Wuhan430081,China)Abstract:Theschemaofapplicationpersonneltrainingshouldturninthedirectiontothedevelopmentofeconomicandtheprogressofsociety.Itisnecessarytosetuptheapplicationdisciplineandstressthepracticestraining.Theobjectiveofthisschemaistoeducatethestudentstohavewellknowledgebaseandcomprehensiveabilityofknowledgewhichisrequiredfortheapplicationpersonnelofspecialty.Inordertomeettherequirementofthesocietyandthemarketeconomicsdevelopment,theapplicationpersonnelofcomputerdisciplineshouldwidentheareaofcomputerscience,improvetheeducationandpracticesofthecomputespecialty,andoptimizetheschemaofthetraining.Thispaperdescribestheimprovementofthesoftwareengineeringandrelatedpracticesactivitiesintheteachingandtrainingprocesses.Byselectingsuitableknowledgeandthewayoftheteachingandtraining,wecaneffectivelytraintheapplicationpersonnelofcomput