时间:2023-02-25 00:35:20
导言:作为写作爱好者,不可错过为您精心挑选的10篇软件工程实训总结,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
2.软件工程基础课程改革的必要性
2.1.学校寻求发展战略的要求
应用型本科人才培养主要任务是培养具有突出工程技术应用能力的人才。培养方向以社会需求为依据,以学生就业为目的,围绕实际岗位应用能力要求而确定的。培养实践能力为主的高等技术应用型人才是应用型本科教育的根本目标,实践教学体系则是实现这个最终目标的保障。以铜仁学院为例,其是2006年教育部批准新办的地方本科院校,经过几年的发展,目前已进入全面深化改革的整改提高阶段。在铜仁学院深化改革的方案中,明确提出将实施以推进“立德树人”为根本,以促进“质量提升,为核心,以实现“转型发展”为目标的教育教学领域综合改革,把提升人才质量作为当前和今后一段时间内的重要任务来抓。
2.2.软件工程专业发展及社会需求的要求
软件工程专业是培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,毕业后能在IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的高级软件工程技术人才。当前,大多高校软件类学生实践能力和企业需求存在严重脱节的现象,理论知识的讲解较多,很多实际操作实践课程以理论知识的讲解为主,这就导致了对软件类专业学生的软件开发实践和创造能力培养的忽略。这些问题已引起学校的高度重视,在这种情况下于软件人才培养中将项目实训纳入到高校软件工程专业人才培养体系中,通过软件工程理论学习与软件项目实训实践相结合,把软件项目实训引入到教学中,能使学生在学习过程中就不断接受企业化项目开发的实践和锻炼。目前,虽然高校改革已引起了各方的高度重视,就软件工程课程来讲,尽管软件类专业的教学大纲都增设了软件实训课程,但是在师资、硬件和课时等方面没有配套,软件项目实训教学体系还处于较低层面,没有明确的实训目标、规范的实训大纲以及科学的实训体系,故而课程改革势在必行。
3.软件工程基础课程的改革措施
3.1.总体规范、项目推进的课堂教学
软件工程基础课程的教学形式,总体来讲是采用项目推进模式,基于此,论文提出教学内容体系改革引入项目管理模式。根据近几年来教学经验,结合学生实际,制定6个项目分别实施,具体介绍如下:
3.1.1.教学内容改革及学时分配方案教学内容、学时分配、实践要求及考核内容。
3.1.2.教学形式的具体体现教学过程中,首先是打破定制唯一教材的做法,选择多本教材进行授课。通过对多部教材各专业知识点的有效融合,把知识点统筹为相应的专题项目,初步按照软件——软件工程——软件开发的前导知识——软件开发(可行性分析、需求工程、设计工程、测试工程、软件开发管理工程)思路进行教学[4]。在介绍理论知识的同时,要求学生结合知识结构并且以小组为单位进行小系统开发。
3.2.两段两维的考核评价方式
3.2.1.考试成绩认定办法整个教学评价中注重两点:一是注重两段两维的管理形式,两段是指平时学习阶段与期末总结阶段,两维是指平时阶段性的总结与考评;二是注重期末综合实践评价。具体的做法:打破传统以期末成绩定成效的模式,注重过程管理,明确阶段性总结,分阶段进行验收,平时加强课堂练习的检查力度,确保课程达到效果;阶段性成果评价分值记入本人成绩核算,最后进行综合评估项目,得出本人成绩。总评成绩组成:总评成绩=平时成绩+期末大作业完成情况+期末理论评价情况。具体来讲,考核体系从平时综合及期末综合两个方面来进行。平时综合的组成:考勤+课堂表现+小组阶段性成果评审+练习作业;期末综合的组成:大作业以及综合答辩。
3.2.2.期末综合考核内容及达标标准学期结束后,对学生的综合能力进行评价。
徐州工程学院作为新兴的地方性高校,在软件工程专业建设方面,不仅需要学习和借鉴重点大学、国家示范性软件学院的经验和做法,更重要的是结合地方院校的特点和实际情况,办出特色。因此,应用型人才培养体系的建成,应该直接为当地经济建设和社会发展服务,适用面广、实用性强,具有鲜明特色。本文主要阐述以工程教育认证质量评价机制为指导的徐州工程学院软件工程专业在理论和实践方面的培养体系。
2 市场调研
为了制定针对性的培养模式,首先组织一些学科教授和骨干教师,对软件工程专业的就业形势、市场需求等进行为期2个多月的市场调研,调研对象包括国有大中型企业、私营与股份制等公司的负责人和技术骨干。本次调研内容包括实地参观学习、与企业召开研讨会,并向企业发放调查问卷表500份,收集有效调查表437份。
通过这次调研,总结软件工程专业的市场需求、人才结构和素质要求、企业技能标准等信息,发现软件工程技术人才奇缺,涉及很多方面,主要原因是大部分高校计算机专业不注重应用型软件人才的培养,学生毕业后面临的是二次学习的困境。因此,对学生的培养不仅需要完整性的实训锻炼、强调企业项目经验、注重培养学生的分析与解决问题的能力,更需要注重团队合作意识;在课程设置方面应该与企业长期合作,开设企业实用的技术课程和职业综合素质的内容。
3 软件工程专业应用型人才培养模式
软件工程专业强调软件开发的系统和工程性,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才[4]。软件工程专业沿用徐州工程学院计算机专业“3+1”培养模式,具体模式为学生在前三年完成通识课程、专业课程的学习,以及课程基本实训,最后一年在企业完成项目级实训、职业训练和毕业设计。
表1所示为软件工程专业课程构成及学分分配汇总表。徐州工程学院软件工程专业课程主要分为三大平台。其中,通识类课程平台包括通识必修课、通识选修课以及学科基础课;专业课程平台主要包括专业必修课和专业选修课。
知识支撑能力结构 根据软件工程专业的培养目标,确定课程知识支撑能力结构,如图1所示。课程设置本质上是为了培养学生能力的,因此,为了培养学生英语能力、熟知行业标准、管理能力以及创新意识等,设置学科基础课、通识类课程以及专业课程、专业技术导论、讲座等课程;为了培养持续学习、协作和项目分析等能力,设置软件工程课程群、企业实训课程以及职业技能训练等课程。
理论知识体系结构 软件工程专业理论知识体系结构包括通识课程群、学科基础群、专业课程群,其中专业课程群是核心课程。专业课程分为程序设计基础知识、软件开发技术知识、数据库原理知识、计算机系统知识、软件工程知识等5个子课程群。其中,程序设计基础知识包括数据结构、面向对象的程序设计(OOP);软件开发技术知识包括Java Web方向课程群、移动开发方向课程群等课程;数据库原理知识包括数据库原理及应用;计算机系统知识包括计算机系统基础、操作系统等课程;软件工程知识包括软件需求工程、软件体系结构设计、软件质量保证与测试、软件项目管理。
实践体系结构 软件工程专业实践体系结构如图2所示,主要分为四个阶梯:
1)个人级的实验,主要由校内教师进行指导,学生独立完成课内实践环节;
2)小组级的实验,需要2~4个学生为一组,为完成程序设计、算法设计、面向对象技术开发,通过沟通和相互协作完成,注重技能的训练;
3)项目级的实训,主要由企业教师指导,学生完成专业方向技能、软件工程综合训练;
4)企业级的实训,为了检验学生综合能力,由学生独立完成企业项目综合训练、职业技能提高以及毕业设计。
为了加强校企合作培养的效果,每4~6个学生配备一位校内指导教师和企业指导教师。校内导师在学生入学后确定,主要任务是“学业综合指导”;校外导师在学生入学后的3年内确定,主要任务是“工程实践指导”。学生在三年级初步确立毕业设计选题,由校内导师和企业导师联合进行指导。
基于工程教育专业认证的质量评价 为了加强软件工程专业的质量评估,以工程教育专业认证为指导,建立针对整个培养过程的质量监控和完整有效的评价机制。在每个教学环节,基于认证标准,明确质量要求,定期进行课程体系设置和教学质量的评价。此外,在整个学习过程中对学生的表现进行跟踪与评估。
以上这些质量评估措施,保证学生毕业时达到毕业要求,毕业后具有社会适应能力与就业竞争力;后期,毕业之后阶段,仍然采用跟踪反馈机制,通过记录评价和效果,证明学生能力的达成,并逐步对培养模式进行持续改进。
很显然,只有建立完善的质量评估机制,才能保证按预期的目标完成专业培养要求。因此,从地方性高校实际出发,以工程教育专业认证为质量评价指导,不断完善培养模式,这样才能培养卓越的学生,为企业持续不断地吸引优秀的生源。
4 总结
徐州工程学院作为一所以应用型工科教育为主的地方本科院校,软件工程专业应用型人才的培养需要有别于高职高专的培养模式,需要更注重高层次应用型技术人才的培养;又要有别于传统学术性高校“精英型”人才培养目标、课程体系设置、教学模式以及师资要求等。
软件工程专业培养标准最需要解决的问题是注重软件工程宏观意识,培养持续学习能力、交流与沟通能力。鉴于此,本文提出以工程教育专业认证为指导,构建软件工程专业应用型人才培养体系,以期为地方性高校软件工程专业能够培养更多卓越的软件工程方面的人才提供一种方法和途径。
参考文献
[1]宋思运.应用型本科人才培养模式的构建[J].徐州工程学院学报,2005,12(20):11-13.
中图分类号:G642 文献标识码:A
1 引言(Introduction)
软件工程作为计算机和软件本科专业最综合最系统的一门课程,在促进学生巩固之前学过的专业知识、掌握软件开发过程及方法、理解软件工程实践等方面发挥了积极作用。但高校特别是三本院校在软件工程课程讲授时理论脱离实际,片面地强调理论学习而忽视实践能力的培养,理论部分过于抽象,在课程实验中,没有把握好课程在人才培养的桥梁和作用,缺乏贯穿纵向知识体系和学科的整体理解和思想,往往只是本课程章节或课程的综合理论验证,采用虚拟的实验案例,甚至将其设计成为章节内容验证练习,而不是围绕着软件工程整本书的整个知识体系进行实际开发项目。导致学生学完软件工程课程后还是不能理解软件生命周期、开发过程及相应方法,与社会对软件人才的需求存在差距,学生难以很快融入现代IT企业的运作[1]。如何培养起适合信息产业所需要的应用型、实践型人才,已经成为亟待解决的问题。因此要想将学生培养成为符合社会需要的软件工程人才,就应当改变目前的局面,全面考虑软件工程课程建设。
本课题研究主要针对目前软件工程课程理论脱离实际,同时很多教师过分强调软件工程理论知识的一面,忽视了软件工程必须有实践项目还具有经验性、参与性、发展性的特点,通过理论研究和教学实践对软件工程教学实践提供实践指导。加强软件工程实践教学的改革,通过理论与实践相结合的方法培养社会需要的应用型软件工程人才。解决三本院校软件工程课程教授中理论、实验与实际相脱离的问题。
2 针对社会需求,制定明确合理的教学计划
(Formulate a reasonable teaching plan based on
the social needs)
教学计划是各教学环境的整体设计方案,合理的专业的教学计划能为教学顺利实施提供指导,也是教学过程质量的有力保障,是人才培养的纲领和实施蓝图[2],它规定了课程结构和知识结构,明确了人才培养目标,构建了专业要求的课程体系,限制了教学环节的进程及内容。具体在制定计划时应秉持以下几点:
(1)树立应用型人才培养理念
在培养软件工程人才过程中要和一二本院校区别开来,我们应当以实际动手为主,培养适合企业操作岗位的技能人才。软件工程专业应坚持“以市场为导向,以就业为目标,顺应IT业发展趋势,以校企合作为手段,突出技能培养,走应用型开放式道路。”的办学思路,通过吸收国内外的优质资源,通过校企合作,共建实训实习基地和技术开发应用等多种合作办学,提高办学活力及效率。在人才培养模式上突出以技术应用能力为核心的人才培养特点,课程设置以市场流行的软件开发技术为主线由浅入深,技术的学习采用项目驱动、案例驱动的方式[3],不断提高学生实践动手能力,培养应用型技术人才,适应企业对人才的需求。
(2)构建应用型培养系统工程
学生在学校对知识的储备与社会对人才的能力需求如何契合的更好是学校应该要慎重考虑的问题。目前,软件服务外包产业对应用型人才需求量较大,软件工程专业可以和武汉软件外包单位合作,全面实施3+1人才培养模式,即,三年基础、专业课程学习加一年实训。这种嵌入式教学模式将会极大地提升学生的实际应用能力,他们进入企业后适应能力更强,上手会更快。在教学过程中,软件工程专业可以构建工程化的实践教学体系,以软件项目研发到软件项目运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习软件工程,建立试验―实训―综合设计―职业实践的实践教学体系,通过引进、开发真实的项目案例,让学生实际参与项目开发全过程,切实提高学生解决实际问题的能力,培养他们的综合应用素质。
(3)引入企业,接轨市场需求
基于工程化培养理念建立一批校企联合实习实训基地,实现教学过程与生产过程的对接,为应用型技术人才培养提供有力的保障。将一些行业内的企业而不单纯是培训单位引入校园,合作搭建项目开发平台,形成以研发项目促进学生实习实训,以研发项目带动师生科研发展的人才培养新途径,联合培养双师型教师。
3 软件工程实践教学采用的主要方法(The main
method of the software engineering practice
teaching)
软件工程实践课,包括课程实验、课程设计、项目实训和毕业设计等实践环节。
3.1 实例教学
在教授理论知识时,传统方法过度的在讲授枯燥的理论知识,学生没有实际的工程项目的经验,根本无法理解软件工程课程里的内容,在软件工程课程理论课上教师要通过典型的软件项目实例来讲解理论知识,将实例贯穿于教学环节,模拟软件工程项目场景,启发学生分析问题、进行方案设计,在项目案例讲解过程中抽象上升为理论知识,理论知识又反过来指导项目案例。
3.2 实验教学
相对于计算机科学与技术专业,软件工程专业更强调实践性和工程性能力的培养,这都需要在实践环节中培养,因此实验与实践教学是软件工程专业教学的重要组成部分,其实施质量对专业教学质量具有举足轻重的影响。软件工程专业可以构建“课程实验、课程设计、毕业设计”三级实验体系[4],三级实验体系粒度从细到粗,从具体到综合。教师需要设置好实验环节的内容、形式,实验课和课程设计时采用商业软件的开发模式,以实际项目和企业正常运作时人员的分工配合来进行实验教学,理论指导实践,实践强化理论,将系列的实践课程提升到工程项目训练,实际软件工程项目贯穿同步理论课的知识,让学生从需求分析、总体设计、详细设计、编码、测试到项目交付和管理维护等完整的软件开发过程进行系统实践学习,这样学生在一个真实的场景中实践,亲身体验并进行反思,只有实际操刀了,学生才能理会并掌握完整的软件开发流程、软件开发技术及软件开发方法。实验时以小组形式开展工作,四五个学生为一组,每组由组员推荐或自荐一位组长,负责协调、分工,组员在小组长的协作领导下完成项目的开发过程。项目驱动实验的软件工程实践教学可以帮助学生建构良好的软件开发认知模式并培养一定的软件工程素养[5]。在学生毕业前,开设项目实训和毕业设计,旨在培养学生的综合实践能力,通过这样的手段学生能比较真切地理解软件工程理论知识并掌握软件开发过程。通过实验,掌握一个完整软件开发过程,及过程中的每一个阶段的任务、目标、方法、工具,并熟练使用一些CASE(计算机辅助软件工程)工具来提升软件开发效率,保证软件质量。通过集中性的课程设计、毕业设计训练,使学生逐步培养编程能力、算法分析设计能力、数据库设计能力,能够结合专业知识实现用户需求,形成产品意识而不是作业意识,培养团队交流协作能力、积累工程经验、提高工程素养。每一个阶段制定可衡量的、明确的目标,激发学生的学习兴趣、提高知识的灵活运用能力、创新思维能力、综合分析能力、系统设计能力等,为培养符合社会需求的人才奠定基础。最后通过毕业设计综合性锻炼,实现学生就业的平滑过渡。
在每一级实验过程中都采用“教师为主导、学生为主体”的原则,才有利于避免学生在学习上的依耐性、缺乏独立思考问题和解决问题的能力,因此要充分发挥学生的主体作用,运用教师的专业知识和项目经验言传身教地引领、启发学生学习、动手实践,不断引入新技术、新方法引起学生好奇心,激发学生探索学习欲望。教师需要动态地了解学生的接受能力,有针对性地因材施教、指导学生学习,让学生拥有自主学习、持续学习的能力,意识到自己学得会,也很有利于调动学生学习的主动性,只有这样,才能达到较好的实验课教学效果。在每一次实验后要及时地对本次实验加以分析和总结,通过本次实验遇到了什么问题?解决的方法是什么?实现了什么功能?还有哪些有待解决的问题?都要加以总结,并以报告的形式记录下来,有利于日后开展实验课程的教学。
3.3 社会实践教学
一个软件企业的正常运行需要多方面的人员协作与配合,如财务人员、开发人员、配置管理员、质量保证员、数据库管理员、网络维护工程师、系统架构师、软件测试人员、管理人员等,在学校里学生难以体会到一个软件开发过程中除编码测试人员之外的其他岗位的职责和特性,学生只有真正进入企业才能体会并有机会实践这些岗位。社会实践教学可以通过校企合作的形式,也可以鼓励学生自己去找实习单位,学生可以根据自己的兴趣和个人发展方向来自由选择角色,完成不同的任务,教师和公司导师给予引导。社会实践教学是一次综合性的实践活动,是学生走向社会的开始,通过社会实践教学活动,使学生能够逐步认识综合利用所学的专业知识,培养软件开发的技能,深刻体会企业软件开发与学习过程中编写软件的不同、软件工程各阶段角色任务管理和开发知识,提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实的基础。
学生进行社会实践教学活动时,严格按照企业的规定,执行、考勤、日志、总结等实际工作环节,广泛使用协同开发平台,使学生规范化、有序进行社会实践活动。
4 结论(Conclusion)
通过对几年软件工程课程教学的思考和总结,以及调研一些其他院校软件工程课程,提出了三本院校中软件工程实践教学存在的问题以及软件工程实践教学改革的必要性,从课程教学计划的制订、实例教学、实验教学、社会实践教学等几个方面给出了切实可行的建议,同时这些建议也可为其他课程提供有意义的借鉴。
参考文献(References)
[1] 熊伟,洪玫.大学本科软件工程专业建设的探索与实践[J].理
工高教研究,2010,(2):59-61.
[2] 晏立.从社会需求的角度探索软件工程教育[J].教育与教学研
究,2008,(22):141-145.
[3] Roger S.Pressman.软件工程:实践者的研究方法[M].北京:机
械工业出版社,2011,(8):32-68.
[4] 熊凡,李伟波.项目驱动的软件工程实验教学探讨[J].中国电
力教育,2012,(2):77-79.
[5] 丁洁.软件工程的教学改革与实践[J].科学与技术信息,2009,
(9):555.
软件蓝领一词来源于印度,泛指技能型软件专门人才。目前全球软件与服务外包市场规模依然巨大,并以膨胀方式持续增长,外包市场需要大量技能型软件专门人才。上世纪末,“千年虫”解决方案成就了印度,使之成为软件与服务外包产业强国,令世人瞩目。在印度的软件企业中,软件开发如同传统产业的流水线作业,每个基础编程人员按照规定的工序加工某个标准件,从而实现工业化生产,正如印度卡纳塔卡邦首席行政长官Krishna在解读为什么班加罗尔会成为印度乃至亚洲的硅谷时回答,除了教育,还是教育。
目前,在我国软件企业中,人才缺乏是制约软件企业发展的主要瓶颈之一。我国各级各类教育机构依然存在着教学内容与市场实际需求脱节,面临最大的教学问题是企业求贤若渴、却英才难觅,其根源在于传统的“本科压缩型”人才培养模式问题。笔者针对技能型软件人才培养过程中实践教学环节的教学问题,从教学理念、教学内容和教学方法3个方面进行实践和总结,其目的是为了探索软件工程专业本科生教育的人才培养模式。
1 若干教学问题
2001年12月教育部和国家计委联合发出通知,批准清华大学等35所高校试办示范性软件学院,旨在通过软件学院的建立,实现软件人才的跨越式发展。在示范性软件学院计划中,明确提出面向软件产业培养高素质的工程型软件实用人才的专业定位。2003年教育部批准建立了36个示范性软件职业技术学院。2004年IEEE-CS组织了软件工程知识体系指南SWEBOK2004,在指南中划分了软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量等lO个关键知识域,规定了每个知识域中的具体教学内容,如“软件需求”知识域有需求基础、需求过程、需求获取、需求分析、需求规格说明、需求确认、需求实践等教学主题。
回顾多年的软件工程专业发展,我国各高校中已有近200多所院校开设了软件工程专业,各级各类培训机构相继出现。为了支持软件与服务外包人才的培养,自2006年起,商务部开始实施服务外包“千百十工程”人才培训计划,2007年教育部在“质量工程”中加大了对信息类专业的支持力度,软件工程专业列入第2类特色专业建设项目,2011年国务院学位委员会正式公布了修订的学科目录,把软件工程新增为一级学科。这充分说明软件工程专业和学科在国家战略层面上已经提升到一个新的高度。
政府层面安排的各级各类专项培训资金,主要用于支持大学生增加软件与服务外包专业知识和技能,鼓励外包企业新增大学生就业岗位的各类人才培训项目,重点培训大学应届毕业生和尚未就业的大学毕业生,以及服务外包企业新入职员工。培训内容包括软件与服务外包企业人才定制培训、从业人员资质培训、国际认证培训、行业标准及相关知识产权培训、大学生实习项目及勤工俭学培训、企业新人职人员岗前业务技能培训等。政府层面出台的政策目标,主要是为了建立软件与服务外包人才的培养培训体系,调整专业结构以适应软件产业需要,加强高校学生实习实训工作,深化高校与软件与服务外包企业的合作等。
综上所述,市场对人才需求仍有较大缺口,适应产业市场不断发展的软件工程专业教育任重道远。培养技能型软件人才已经到了应该采用全方位、多渠道、企业广泛参与的多种培养模式,才能从根本上解决目前企业人才短缺、现有人才结构不合理等问题。高校的根本任务是人才培养,要实现人才培养与企业需求之间的无缝衔接,本文主要讨论3方面教学问题:
(1)实践教学理念。在教师组织教学过程中,其教学理念必须符合产业标准和项目规范,软件项目的成功取决于项目团队,项目团队必须遵循软件工程规范,规范是指项目规程和实施项目的相关技术标准,与之相关的专业知识只求其核心的基础知识,不求知识全面。
(2)职业技能结构。通常职业能力贯穿整个职业生涯,其职业技能可以划分为,特定技能、通用技能、核心技能3个层次,其中的核心技能具有普遍适用性,在职业生涯中受益终生,此外个人的职业素养也是一种职业能力,主要有交流能力、沟通和表达能力、文档的规范写作、分工合作、团队协作、敬业奉献等。
(3)实践教学方法。在项目实施过程中,必须遵循软件工程原则,根据“项目经理系统分析员软件工程师具体程序员”的人才结构组建项目团队,按照项目管理流程和技术规范实施项目,其教学内容必须紧跟产业技术、及时更新教材内容,注重实用性和针对性,项目实训从最简单的项目做起,在强调掌握具体专业技能的同时,要求学生善于交流、勤于沟通,逐步提高职业能力。
2 实践教学理念
印度软件企业快速进步的重要原因之一就是能够按照软件产业发展的需要,通过多层次、多渠道方式培养人才,形成多层次的人才结构。分析软件产业特点,任何大型软件项目的实施,团队是项目成功实施的重要基础,如图1所示;把大项目分解成无数小模块任务,要求按照具体的技术规范和标准施工,遵守项目流程,如图2所示;不同层次上的人员有着具体而明确的分工,在合作或协同的过程中,需要具备相应的沟通技巧和职业素养,团队角色职责如表1所示。
在项目实施的过程框架中,工作指南规定了要完成的任务步骤、方法、进度等,各“角色”执行任务时必须参照工作指南,工作模板是指“角色”按照计划进度完成具体任务以及必须完成的各种文档结构,QC根据指南,逐一核对任务列表,通过检查表监督各角色是否按进度执行。在项目实施过程中,项目团队为了一个共同的目标(某个项目)一起学习和工作,团队必须具有良好的沟通机制。例如项目专用的公告牌(公告、通知、状态报告),项目邮件列表;项目网站(文档、团队成员主页、相关的技术论文和笔记以及自学培训材料),项目会议(关于简报和问题解决方案),关于团队成员工作的最佳实践会议和讨论,面对面交谈等。
在教与学的过程中,教师必须思考如何让学生尽可能块地掌握实际动手开发能力,尽快与产业技能接轨,要求学生给自己制造一个理由来组织学习型工作团队,通过发放团队工作规范和模板,签订团队工作责任书、内部承诺等方式来提高团队学习效率。通过教学实践,明确人才培养目标,总结并提出团队、规范、交流的教学理念,团队是项目基础,规范是项目规程和技术标准,交流是团队成员的基本素养,其教学理念符合产业需求和企业实际。
3 职业技能结构
全球软件产业市场呈现两大特点,国际化分工合作步伐加快、产业化技术更新加速。前者使得软件服务外包成为全球性软件市场中的追逐热点,涌现了象印度、爱尔兰、以色列等一些软件外包强国,后者说明软件产业中的技术从业人员必须时刻保持适应产业发展的技术能力和技能,尤其是直接面对软件开发环节中的技能型软件人才。
印度软件人才培养模式的独到之处就在于软件企业的人才结构合理,其软件教育的核心理念是紧跟国际软件领衔企业的技术发展,快速更新教材,注重实用性和针对性,使毕业生能迅速适应企业的需要,可承担任何大型软件项目中具体某个环节的规范且熟练工作。对于软件产业来说,教育部门提供大量技能型软件人才是软件工业化生产的基础,同时这种专门化知识结构的人才模式也将推进软件流水线生产的标准化。因此,必须分析研究技能型软件人才需要什么样的知识、能力和素质结构,应该寻找培养这种能力结构的方式方法。
职业能力包括贯穿技术人员整个职业生涯的就业和创业能力、工作能力、职业转换能力。现行教育部门或软件企业中的技能型软件人才的职业能力之内涵必须得以重新构造;已经不仅仅是动手能力、操作能力和理论知识的代名词,职业态度、敬业精神、团队合作交流和职业行为评价等因素都应纳入到职业能力的培养中去。以职业活动为导向,以职业能力为核心的原则正在改变学科导向的职业教育培养体系,产业现场的实际需要和认同正在主导专业教育的内容和形式。接受任务、解决问题、执行规范、完成任务,这是最基本的标准。例如对于低档软件人员不懂操作系统、计算机原理、关系数据库原理等常识,并不妨碍他编写代码、使用工具开发用户层界面等专门工作。所谓技能训练,就是掌握最基本、最必要的专业基础知识的前提下,在较浅的程度内掌握几种计算机程序设计语言,然后学习目前流行且高效率的软件开发工具(如果企业需要,还可以学习一些更加专用的软件开发工具),学习实用的软件编程、数据管理、硬件维护等技术。
在教学实践中,我们提出“围绕编程规范,研究技能知识结构”的课程建设思想,把技能型软件人才的职业能力分为特定技能、通用技能、核心技能3个层次,其中核心技能是范围最窄、通用性最强的技能,体现了职业活动中的最基本技能,具有普遍适用性,在职业生涯中受益终生。特定技能可以理解为按照国家职业分类来划分范围,例如各种职业资格证书的认证考核。通用技能通常比特定技能的口径要宽,可以理解为在一组特征和属性相同或者相近的职业群中体现出来的共性技能和知识要求。我们提出软件工程专业的“职业技能”边界,按照软件阶段划分,制定不同阶段所要求的职业技能,例如编码阶段,要求有规范代码书写、单元测试能力,专业教师(或项目经理)要善于观察、发掘、培养新人,根据学生的各自特点,固化训练或交叉培养设计、编码、测试、文档书写或管理能力。按照职业成长过程区分,哪些人是技术型,哪些是项目管理型。哪些技能操作型人才。高校不是企业,企业也不该承担高校职能;在校企合作过程中,围绕职能能力训练,企业和高校之间有职责分工的边界,例如外包委托、实习见习活动等等。在职业素养和能力方面,着重在交流表达、规范写作、分工合作、团队协作、敬业奉献等方面对学生加以训练。我们提出的软件工程专业的“职业素养”边界,坚持任何人都有“用”的原则,关键“用”到实处。刁钻苛刻的人“用”到测试上去,勤奋好胜的人“用”到技术攻关上,豁达人缘好的人“用”到项目协调上去,条理规矩的人“用”到设计上去。
在软件工程专业的人才培养方案中,专业知识只求核心基础知识,不求全面知识,知识教学内容必须与技术发展同步更新。软件工程专业“职业技能”方面的教材较少,这类课程建设有一定难度,需要大量的人力、物力投入。一方面,通过校企合作、校际协作来组织开发此类课程,另一方面,借鉴真实项目的仿真实训来开发此类课程,此类项目的文档比较规范齐全,可实施规范训练。在校企合作的真实项目软件开发过程中,应该根据学生年级高低,使课程教学和训练仅局限于某个开发阶段,例如编码阶段,着重让学生看懂详细设计文档、规范编码书写、模块单元测试。另外,在课程教学和项目训练过程中,必须强调学生的说(交流)、写、做,特别是说和写。“说”可以通过组织定期或不定期、正式或非正式的会议讨论,“写”可以写个人小结或技术分析等。这些内容和要求都应该作为课程建设的必须内容,并用恰当规范的格式或流程编写起来。
4 实训教学方法
根据培养目标和技能要求,通过校企合作形式,开发出一系列实训项目,构建了以实训项目为主题的实训环境,明确提出以项目实训为主的教学方式。通过教学实践,提出以“职业技能为根本、工作体验为主题、知识点恰到好处”的教学方法,如图3所示。
以实训项目为主题的工作模式,是仿照软件企业规范的运作模式,由教师(或项目经理)演示需求分析、总体设计文档,安排学生编写详细需求、详细设计文档,将学生分成项目小组,分片包干,个人承包,每人都有机会承担项目的某个具体内容(如编制模块,编写测试计划和测试报告等)。旨在提高学生的规范化开发能力和团队分工协作,强化程序设计基础,使学生掌握软件开发所必需的知识与技能,熟练运用开发环境和工具。
中图分类号:G642 文献标识码:B
1引言
软件工程是运用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理的方法;是将系统的、规范的、可度量的方法应用于软件的开发、运行和维护的过程。中国的软件产业以软件工程为指导思想得到了迅猛发展,使得软件工程人才的培养发生了巨大的变化。然而,人才需求与教育供给的不足产生了矛盾,以传统的课程体系、单一的课程模式来培养软件工程人才已不能满足软件产业发展的需求,成为软件工程教育发展面临的一个重要问题。解决这一问题的关键之一是需要在不断的教学过程中,研究适应软件产业发展需求的人才培养模式以及相应的软件工程教学思路和方法,形成一个正确的课程群体系,在该课程群体系的保证下,不断提高教学质量使软件工程教育得到健康稳步发展。
传统的软件工程人才培养课程体系存在着以下几方面的问题:(1)工程特点不明显。课程安排过于传统,偏重计算机科学与技术的课程模式,偏重基础理论和方法的传授,没有突出现代软件工程的发展特点,忽略了体现软件工程特点的关于质量、进度、成本、度量、团队、管理等方面的教育和实训。(2)分工不细,与应用领域结合不紧。软件工程的应用范围不断延伸,已经深入到各个方面。而软件工程的教育却没有达到与应用领域的紧密结合,造成事实上的脱节。(3)单一的课程模式,不利于整体知识的贯穿。传统的课程体系中,与软件工程有密切联系的课程没有形成一个课程群,每门课程都是按照各自课程的体系独立授课,使得有些知识点过于重复,有些知识体系不能有机地衔接。(4)软件工程教育与软件产业结合不紧。软件工程的教育不能及时更新教育理念,不能及时跟踪软件工程行业的最新发展趋势。造成当学生毕业后参加工作时,不能很快适应较大型软件的个人或团队开发。(5)忽视交流能力的培养。交流能力是工程能力培养的重要方面,但现有的软件工程教育体制却秉承了传统的教育方法,忽视交流能力的培养。鉴于以上这些问题,开展以软件工程为主线的课程群体系研究是非常必要,也是很有意义的。
2研究现状
目前,单纯的计算机学科式教育已跟不上当今产业界对工程型IT人才的迫切需求。不仅如此,服务于单纯的计算机学科式教育的传统的实践教学也日益暴露出与企业需求和现代化工程型人才培养不相匹配的弊端。如何突出实践教学的效果,如何将相关的课程组成一个课程群,使工程化培养在整个培养模式中的地位、分量和作用不断加强,使学生的知识体系更加科学化、系统化、更加连贯、更加适应社会需求,是目前绝大多数学校和用人单位共同需要解决的课题。
2003年教育部设立了“软件工程课程体系”研究项目,以确立我国软件工程教育体系的框架。由若干著名高校联合组织了课题组,深入分析ACM和IEEE的《Computing curriculum-software Engineering》[1],研究探讨我国软件工程学科的教育思想、课程体系、教学计划等,并结合国内部分著名高校软件学院的教学成果,形成了《中国软件工程学科教程》[2]。国外,在软件工程专业人才的培养中也提出了许多建议,如文献[3]中谈到Computing curriculum-software Engineering对软件工程人才培养发挥着很重要的作用。
据调查,通过几年的探索,目前中国三十多所国家示范性软件学院均在不同程度上创建了一套以质量为目标,以主动服务于企业为特色,按工程领域需求培养,设置相应的课程体系与实践环节,同时建立与国内外知名企业合作,成立校内外实训基地,建立新的工程型软件人才培养模式。
南京大学软件工程专业推行的工程化实践教学体系可以简单地用“一个教学理念、两个培养阶段、三项保障措施和四门实践课程”加以概括。一个教学理念,指树立工程化能力培养与基础理论教学、专业能力培养并重的教学理念。两个培养阶段,指分别设置工程化教学阶段和企业实习阶段,把工程化素质培养作为学生全培养期中自始至终关注的主线。三项保障措施,指通过教学方法创新、评价体系创新和实验室建设创新,保障了工程化教学理念的实施。四门实践课程,指设立了程序设计、软件工程课程、信息系统课程、网络平台四门特色化的工程化实践课程。中国国防科技大学在软件工程专业教学改革实践中,围绕着以建立科学的软件工程教学内容体系为前提,突出实践,激发学生主动探索和实践的热情,利用案例式教学,同步构筑立体化教学互动平台。东南大学软件学院提出了校企合作培养工程型人才的模式,通过教学的探索和实践,把教学和工程实践紧密地结合起来,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式,取得了较好的效果。
3课程群体系的建设思路
工程型软件人才的培养需要有一个贯穿始终的工程概念作指导的课程体系和与之配套的实践环节。在课程群体系建设中主要考虑了以下几方面的问题。
(1) 梳理以软件工程为主线的系列课程之间的关系,确定以软件工程为核心的课程群的内容和课程群体系架构。明确课程群中的基础课程、专业课程和核心专业课程,以及它们的主要内容和大纲,确保课程群的知识体系结构合理、知识衔接合理、实践环节安排合理,以避免知识点缺乏或知识点重复,以及知识体系不连贯等问题。因此,我们深深体会到深入讨论和研究课程群内课程之间的关系和内容是至关重要的。
(2) 课程群的内容设置既要考虑夯实软件工程的基础,又要考虑软件工程的素质和工程化思想的培养。软件工程的基础是建立在多个不同学科之上。它不仅需要计算机科学的理论和基础知识,诸如数学、工程学、项目管理及其它应用领域的概念,同时也需要培养学生软件工程的基本素质和基本技能。考虑设立了“程序设计类课程+软件工程类课程+数据库、网络等专业类课程+认证类课程”的课程群体系。特别应该强调是在本科的早期阶段,为了避免学生养成不良的编程习惯,树立规范编程和团队合作的思想,在加强程序设计类课程的实训环节同时,考虑个体软件过程和小组软件过程等软件工程基础和素质课程的设置。认证类课程的融入旨在提高学生的基本技能和软件素质。
(3) 建立起更加完善的、与课程群体系相适应的实验、实训、实践教学体系。工程化思想的培养离不开实践环节。如何提高学生的创新能力和工程实践能力是课程体系实践环节设计的关键。实验是吸收、消化课程内容的第一实践环节,实验内容的设计既要考虑对基本知识的理解又要考虑对后续内容的铺垫,既强调知识与技能的融合,又强调创新思维能力的培养。整个实验课程体系的设置涵盖了“技能、基本知识、设计、综合、创新”五个层次。实训是对课程内容的总结,在加强案例教学的同时,遵循学生的认知规律,合理安排实训的内容,既考虑课程内容的衔接又考虑加强工程化的训练,把提高学生的创新能力和工程实践能力贯穿于整个实践环节的始终。我们采用了目标驱动式的实训策略,使学生在实训初期,就了解最终完成的系统要实现的功能。从系统目标出发建立层次化的实训架构,使学生变被动为主动,有的放矢、完整系统地构建自己的知识和技能体系,增强学生在设计上的全局观念。实训环节中还考虑了加强与企业的合作,将企业的资源优势与学校的理论知识优势充分地结合,共同设计和建设课程群中的实训项目。
(4) 进行教学方法和教学手段的改革,使其适应软件工程人才的培养。软件工程类的课程内容纷杂,在教学过程中容易出现空洞的说教。为了避免这一问题,改革了现有的、传统的课堂教学方式,在加强案例教学和实践环节的同时,多采用课堂讨论、小组报告、项目答辩等多种形式的教学方法。在课程群体系的建设中重点研究、设计和提出能够贯穿于软件工程为主线的课程群的案例。该案例的设计以培养兴趣、激发创新激情为源点,从软件工程的基础入手,使学生能够循序渐进地接受并融会贯通所学知识,再进一步地激发创新激情。通过案例的学习,既能巩固已学过的知识,又能在此基础上让学生实际运用他们所学过的知识和技能,模拟案例提出相应阶段自己的问题,并给出解决方案,真正使学生体会和做到学以致用。
(5) 以软件工程为主线的课程群体系研究的同时加强教材建设。目前我院在软件工程类课程中采用的教材都是原版外文类教材,这些教材从理念上来讲是比较新的,但是其中的案例都是国外企业较为流行和实用的,有些内容和我们的国情存在着差距,国内学生接受起来有些难度。为此在引用国外教材的同时,设计符合国情、符合软件工程人才培养要求、符合课程群建设以及贯穿于整个教学环节的案例教材是我们研究和建设的重点。
4解决的关键问题
(1) 课程群内容的筛选。软件工程专业主要以培养高层次、工程型、国际化人才为目标。如何确立以软件工程为主线的课程群内容来满足这一人才培养目标,如何在课程群中强调软件工程的相关概念、原理和观点,帮助学生形成系统的软件工程思想,如何在知识的涵盖面、创新灵活性和知识与实践的结合上取得适当平衡,是解决的关键问题之一。
(2) 课程群体系的改革。工程型的课程体系是进行工程型软件人才培养最基础的环节,如何在传统课程体系的基础上,加强各课程之间的衔接、配合,增加贯穿始终的案例教学、添加社会和企业需要的专业技术课程,从而最大限度地发挥课程群体系的作用。考虑将多个课程模块整合在一起,覆盖软件工程教育知识体系SEEK的所有知识领域,并与IEEE-CS/ACM联合推出的软件工程计算教程CCSE 2004的教学要求基本吻合,保证课程群内容的科学性和系统性。
(3) 加强先进教材体系建设。遵循“体现素质教育和创新能力培养”、“稳定性和先进性相协调”的原则,在借鉴国际著名教材的基础上,结合科研成果,对原有教材不断更新改版同时,着力建设与课程群体系相匹配的高水平教材及实验、实训教材。
(4) 校内外实践教学体系的建立。实践教学体系包含课程实验、课程设计、综合实践等内容。课程实验、课程设计是保证课堂教学的非常重要的实践环节。如何选择合适的案例贯穿整个课程群体系,是激发学生学习兴趣,确保学生掌握一些重要思想的关键。综合实践活动既可以在校内进行也可以在校外实施。校内的综合实践活动是通过贯穿于整个知识体系的大型案例,让学生实际参与,并承担相应的角色,在实践过程中让学生充分理解和应用所学的知识。校外实训基地的建立为学生与企业无缝对接提供了便利条件。校内外实训体系的建立也是学院联系社会、联系企业的重要途径,也是促进学生就业的直接渠道。实训基地是学院进行教学改革和工程化培养最前沿的,同时也是最富有成效的阵地。因此,建立稳定、有效的实践教学体系,是关系到人才培养成败最重要的环节之一。
(5) 信息化平台的建立。学院信息化建设为整体教学环节提供了有力的平台支持。如何建立合理、高效的以软
件工程为主线的课程群体系信息化平台,也是全面实施教学改革所必须要解决的问题。按照突出“知识的综合运用能力”、“系统的分析设计和集成能力”、“科技创新和团队协作能力”培养的指导思想,建立起支撑课程群的实践教学环境。充分利用现代教学手段和网络资源,构建在线资源、案例库、答疑区,增加与学生的交流,提高教学质量。
5结束语
针对软件工程专业人才培养的需求,加强以软件工程为主线的课程群体系的研究和建设,不仅使我们的教学内容更加科学、系统、规范、丰富、充实,也加强了与企业之间的联系,使得课程教学与实践教学更加协调,实践内容更加丰富,提高了学生的实践能力。
今后我们还要进一步加强和完善课程群体系的建设,在建设中既要进一步充实课程群的课程内容,协调各课程之间的相互关联、衔接,还要充分考虑各教学、实践环节的完善和改造,引进和借鉴校外资源和社会资源,使学校的教学优势与企业实践平台等一系列优势资源结合在一起,在使学生得到良好培养的同时,企业也得到了优秀的人才,学校的培养质量也得到了全面提高。
参考文献
引言
软件工程是计算机相关专业的一门核心课程,具有综合性、实验性极强的特点,其研究的范围非常广泛,包括软件开发的技术方法、工具和管理等许多方面,而且新的技术方法和工具源源不断涌现[1]。该课程的学习目标旨在提升学生的分析与设计能力、编码能力、工程素养及团队协作精神,为学生成为一名合格的软件工程师打下良好的理论、技术及工程基础。为了实现这一培养目标,很多院校对软件工程课程教学进行了改革,其中最为重要的改革应属于引入案例教学[2]。案例教学法是指教师以一个实际项目的运作为主线,讲授软件开发的全过程,讲解时贯彻理论与实践相结合的原则,从工具、方法、技巧各个角度,对学生进行实用性培养,同时重点培养管理和设计能力,在理论上有的放矢,强调理论的适用和适度[3]。案例教学法的引入改变了传统教学中知识内容枯燥、理论性强、学生难以理解运用的状况,在一定程度上激发了学生的学习兴趣,活跃了课堂氛围,提高了教学的质量。但是,在软件工程实际教学过程中,我们发现了很多问题,教学常常达不到预期效果。
1、软件工程案例教学过程中存在的问题
1.1以“老师教,学生听”为主
软件工程课程教学虽然引入了案例教学,但是,学生在教学过程中仍然处于被动接受状态。从案例的选择到案例的开发过程讲解仍然以“教师教,学生听”为主,学生仅仅是项目开发的“旁观者”而不是“参与者”。因此,学生很难真正体会相关理论的重要性,更不用说转化为自身的能力素质。学生学完课程后,往往“什么都知道,却什么都不会”。
1.2案例选择不合理
在案例教学中,教师通过把知识点与案例相结合,使学生从个案的分析、比较中,更深入地了解软件系统开发与管理过程,软件工程案例教学的不足反思与对策研究文/田怀凤最终达到技术和知识点的掌握,因此案例项目的选择至关重要[4]。项目太大涵盖的内容太多,学生很难在有限的课堂教学中把握。项目太小又很难全面包含把软件工程的相关理论。有的项目算法相对密集,性能要求高,而功能需求简单,也很难用工程化的方法和手段对其开发过程加以促进。甚至有的教材或者教师仍然以C/S模式的软件为开发案例,不符合目前对软件B/S结构或者安卓开发的需求,使得学生学完软件工程课程之后,感觉课程的理论与现实需要脱节,影响学生学习课程的兴趣。
1.3不能满足学生对课程的不同期望
软件工程课程一般开设在大三下半学期,这时学生们的动手能力和专业技能差别很大。有些学生经过C++,JAVA等课程的学习以及参加大学生创新项目等方式,已经积累了一定的软件开发的经验,他们往往希望能深层次、系统的参与软件开发,培养管理能力,团队合作能力等。还有些学生由于自身主动性及能力的原因,动手能力还很弱,案例教学对他们而言更像“纸上谈兵”,往往只能记住一些理论、方法,不能通过课程的学习提高专业技能。
1.4实践课时不足
为了配合案例教学,软件工程课程一般会设置实践课时,供学生进行项目开发实训。但是,由于实践课时较少,(一般8课时左右),在这么短的时间内,往往只能完成项目的分析和设计的文档,其他工作要由学生课后完成,因为缺乏监督,难以确保每位学生都能保质保量的完成。
1.5对最新的项目实训工具介绍不足
随着软件工程理论的发展,软件项目实训的工具也在不断涌现,比如CASE工具、自动化测试工具、项目管理工具、配置管理工具等。在以往的案例教学中,教师往往注重讲解案例项目的开发过程理论,很少涉及这些工具的使用介绍,而实际情况是很多学生不知道用什么工具来表示分析设计的结果,也不清楚数据库设计、软件测试、项目管理等相关工具有哪些,如何使用。
1.6考核方式不能有效地激发学生的课后学习兴趣
采用平时30%+考试70%的考核方式,考核的重点还在理论知识的“纸上谈兵”,不能全面反映学生课后的努力,不能有效激发学生的学习兴趣。
2、改进措施
为了切实提升教学质量,培养学生的专业技术能力,我们以解决问题为目标,以教学模式的改变促进教学内容和考核方式等多方面有针对性地改进。
2.1以学生为中心的课堂教学模式
彻底改变以“教师讲,学生听”为主的教学模式,改变教师的角色,让教师的“教”变为项目的“引导”,学生的“听”变为项目的“开发”。把案例教学,变为项目驱动教学[5]。在整个教学过程中,由教师引导学生进行项目开发,让学生在开发过程中感受软件工程的理论,变“要我学”为“我要学”,再由教师对相应理论进行指导总结。具体实施方案如下:(1)有选择性的分组分工,满足不同学生对课程的不同期望在课程学习之初,教师对全班学生的专业技能和课程学习期望进行调研,选择专业技能较强或者有一定的软件开发经验的的几名同学担任组长,再由组长以自愿的结合的方式招募组员,将全班同学分成5人左右一组的几个项目小组。组长担任项目经理,小组中的其他成员根据能力分别担任编码、测试、数据库、美工等角色。这种分组方式,既防止了随机组合时的各组学生专业能力不均衡,又满足了不同学生的不同角色期望,自愿组合又利于团队融洽和交流。(2)从学生的实际需求产生项目案例在案例项目的选择方面,也完全以学生为中心,让每个开发小组自行选题。一般来说,功能需求较多,流程复杂而实现技术难度较小又为大家所熟悉的题目最适合。为了确保每组都能选到适合的题目,教师进行了引导,引导学生们从自己的日常生活需要出发,选择各类信息管理系统作为项目案例。比如“大学生社团管理系统”,“校园二手图书交易系统”等。(3)教师走下讲台,引导学生进行项目开发课堂教学不再是结合案例的理论讲授,而是根据软件开发的生命周期,由教师引导学生小组进行项目开发,并在开发的过程中,总结软件工程的理论。比如在需求分析阶段,教师首先让学生在课后以小组为单位,讨论自己项目的需求,再由教师在课堂上组织他们进行交流汇报,每一组汇报时,其他小组的成员都成为用户角色,提出新问题,直到确认项目的需求。然后由教师总结需求分析的方法,引导学生使用MicrosoftVisio和RationalRose进行需求规格说明书的撰写。软件生命周期的其他阶段按照同样的方式进行,先由学生小组自行主动学习开发,再由教师组织交流讨论,总结方法,引导学生使用相关项目开发的工具,一步一步完成项目开发。在这个过程中,由各小组的组长分配任务,协调安排人员,因为组长们有一定的项目开发经验和开发技能,保证了项目能顺利进行。小组内每个成员的团队协作能力和组长的组织管理能力都得到了锻炼。(4)成果汇报,总结经验在实践课时,安排所有学生进实验室,集中完成项目开发。由于各小组学生的能力有差异,项目进度各不相同,集中开发,有利于各小组的交流学习,教师也能随时指导。等所有小组的项目开发任务完成后,由小组组长进行成果汇报展示,教师和其他同学充当评委,指出得失成败,总结经验。教师从项目实践中让学生感受文档、规范编码、团队合作、项目管理等重要概念。这种“学生自学找出不足-交流汇报找出解决办法-教师总结理论经验”的项目驱动教学方法,极大地提升了学生的学习兴趣和主动性,取得了较好的学习效果。教师从知识传授者变成了项目开发的引导者、组织者和评价总结者。
2.2以项目开发为驱动设置教学内容
在以项目开发为驱动的案例教学中,对教师的能力提出了更高的要求,教师要能对项目开发的全过程精准的把握。在教学过程中,把教学内容巧妙地和项目开发任务结合起来,在学生最困惑最需要帮助的时候给与实践和理论的指导。每个阶段开始之前,提前将以往容易被忽略的项目实训工具进行介绍,比如软件分析与设计的工具MicrosoftVisio,面向对象设计工具RationalRose,数据模型建模工具PowerDesigner,软件集成编码开发工具VisualStudio等,让学生们掌握最先进的工具,更方便他们进行项目的开发。
2.3项目开发为主的考核评价方式,激发学生的学习兴趣
以项目开发为驱动的案例教学法,需要学生花费大量的课余时间,所以我们采用“项目发过程50%+项目文档20%+开卷考试30%”的方式进行考核。项目开发过程成绩=团队对软件工程的执行情况+团队的分工与协调情况+软件的复杂程度和最终实现情况。这种考核方式既要求学生小组不折不扣地完成项目过程开发,又充分强调了项目文档的重要性,再通过开卷考试强化软件工程重要的理论概念,将理论和实践充分集合,激发了学生的学习兴趣,取得了很好的效果。
3、结束语
以“学生为中心,项目开发为驱动”的软件工程课程教学方法,能更好地激发学生的学习兴趣,将学习的角色从受众变成主动者,让学生从枯燥的理论学习环境中解脱出来,全面深入体验软件工程分析、设计、编码、测试的开发过程,更好地培养了学生的理论应用能力,团队合作能力,问题解决能力,提高了工程实践能力。接下来,有条件的学校可以开设软件工程课程设计课程,或者与企业合作,选择最新的、为企业生产应用所需要的项目作为开发案例,让学生真正的做到学有所用。还可以将好的项目案例形成案例库[6],供后面的学生参考选择开发。培养具有高素质专业技术人才是一项需要长期坚持的系统化工程,需要持之以恒的不懈努力以及教学实践的不断尝试和反馈。
参考文献
[1]张海藩.《软件工程导论》(第6版)[M].清华大学出版社,2013
[2]王辰尹.面向应用型IT人才培养的软件工程教该关键问题研究[J].计算机教育.2014
[3]李峰.计算机软件工程专业卓越计划实践教学.计算机教育.2013
[4]吕云翔.《软件工程实用教程》[M],清华大学出版社,2015
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)02-0072-02
淮北职业技术学院软件技术专业从1999年起开始招生,与北大青鸟合作开设青鸟特色班,2015年与武汉慧众聚成合作开设ACCP软件工程师班,共同培养软件工程师。2015年,软件工程专业获得安徽省质量工程的专业综合改革试点项目立项。软件工程专业培养的定位就是在熟练掌握计算机软件编写的基础上,让学生可以利用所学计算机方面的知识,与传统的工程领域相结合,培养可以进行各个层次软件开发的复合工程型人才。
建设目标:
1 教学团队建设目标
提倡教师专岗化,按照分类循环培养的原则,通过“引聘名师、培养骨干、校企合作、专兼结合”等途径,实施“名师”工程、“双师”工程,建设一支由学科专业教师、企业高级技术人员组成的多元化、高水平、结构合理、梯队完整、充满活力、勇于探索、特色鲜明的师资队伍,逐步形成年龄结构、职称结构、专业结构、学缘结构合理,既能承担软件工程专业理论教学任务,又能胜任实践教学任务和承揽企业技术服务、项目研发的教师团队。
2 课程与教学资源建设目标
按照“夯实基础、强化应用”的原则,基于KAP-CDIO模式(即注重知识(Knowledge)、
能力(Ability)和职业素质(Professionalism),结合构思(Conceive)、设计(Design)、
实现(Implement)和\作(Operate)[1]引进行业人才培养标准,围绕“移动互联网开发与应用”进行课程建设,实现“课程建设精品化、课程模块精细化、课程评价标准化、专业教材系列化”的优质课程体系,重点加强软件技术、移动互联网技术等课程群的建设。 以课
程建设为抓手提高专业教学质量。依托网络课程,建设软件工程专业在线学习中心、移动互联网软件工程师网上教学论坛;进一步,围绕移动互联网方向构建课程群,建设1-2门精品视频公开课、3-5门校级精品课,构建起网络课程、教学论坛、精品课程、精品视频公开课在内的课程群教学资源体系;到2019年通过资源整合,建成开放、立体的教育资源平台。 按照“开放性、共享性”原则,深化校企合作,整合校企优质教学资源、引进企业开发流程共建“软件工程实训教学平台”,按软件企业项目管理和开发摸式,进行软件系统开发实训,为学生、教师提供软件开发实战平台。 以学生课外科研立项及各类横向课题为牵引,建设学生课外创新型实验平台,实现本专业学生早进课题、早进实验室、早进团队、早进社会。 在教材建设方面,主干课程选用国家级规划教材,加强实践教学环节的教材建设,学校与企业联手开发具有创新性、综合性、可以在实例中培养学生综合应用能力的实训教材,计划4年内在完善已有实训教材基础上校企联合开发“移动互联网开发与应用”系列实训教材2-4部。
3 教学模式改革目标
采用“1+1+1”三段式的人才培养模式,提升学生工程能力,实现企业对软件工程专业人才需求的无缝对接培养目标。工程项目为载体,使学生以主动的、联系的方式学习工程,通过项目设计将课程体系有机地结合起来,通过项目将知识、能力和素质有机结合,项目按规模和范围分为三级: 一级项目为:课程设计、综合项目设计、创新项目设计; 二级项目为:软件算法综合设计、软件工程与智能手机应用软件开发、移动物联网开发应用; 三级项目为:方向课程群。
整个培养计划是以一级项目为主线,二级项目为支撑,三级项目以移动互联网技术、智能手机应用软件开发等核心课程为基础,将核心课程教育与对应的专业整体统一起来,强调以软件工程项目复现方式进行实践教学,让学生自己成立小组,从头到尾参与到工程化的软件开发的全过程。在三级课程体系中,一级项目中课程注重每单元实训,以单元知识点为基础,利用实训巩固知识点内容;二级项目在单元实训的基础上实现串联,让学生针对具体工程进行程序设计,三级项目在二级项目基础上,进行项目实训和毕业设计,对实训和程序设计内容进行整合,按照工程项目开发流程进行完整的项目开发,从而在教学的过程中体现了知识(Knowledge――专业知识)、能力(Ability――分析与问题的能力,交流与组织协调的能力,主动获取知识的能力,科学高效管理项目的能力,工程实践的能力和参与国际竞争的能力)和职业素质(Professionalism――创新素质、团队素质和敬业素质)。
将专业课程内容融合到相关实践项目中,采取基于项目学习的全新“三维教学模式”,以项目探究、小组协作为教学手段,整合课程内容,强化实验、实训环节。结合课程体系改革,运用“项目探究”、“小组协作项目开发”等教学法,使学生接触实际项目,积累实际经验,在小组合作项目开发过程中培养学生自主学习、协作学习、沟通交流及创新能力,同时注重综合素质培养。力争取得一批教学改革成果,在地方性院校软件工程专业建设和教学改革方面起到示范引领作用。
4 实践教学体系建设目标
制定符合国际工程师培养标准与社会发展需求的 “两大平台(基础教学实训平台和科技创新实训平台)、四个模块(基础技能实训、专业技能实训、综合设计实训、科技创新实训)的层次递进的实践教学体系,[2]为安徽省尤其皖北地区的移动互联网产业培养能够从事移动互联网WAP平台搭建、移动应用软件、移动Web应用和移动搜索引擎设能适应未来软件技术和移动互联网技术发展需要的高素质工程型软件人才。
5 教学管理体系建设目标
形成一支责任心强, 水平高, 效果好的教学队伍,更新教学理念,提升水平,加强教学管理制度建设和教学过程 ,优化教学质量评价体系,完善教师教学、科研奖励机制,形成一套科学有效的制度,为专业“综合改革试点”质量工程项目顺利实施提供有力保障。
通过本项目探索实践,目的是为地方高校提供可供借鉴的,具有移动互联网特色的实践型、创新型软件工程专业人才培养模式,为社会培养一批适应移动互联网产业发展、产业创新服务软件工程实用型专门人才。以淮北职业技术学院计算机系软件技术专业教学科研团队为核心,形成2~3支由学科专业教师和企业合作的技术骨干组成的多元化、高水平、结构合理、梯队完整、充满活力、勇于探索且在省内有较高的学术地位及较强影响力的优秀教学科研团队。通过课程建设与改革,形成以学习论坛、精品课程、网络课程、教学视频、试题库、教学素材为载体,以“移动互联网技术”课程为特色课程的专业主干精品课程群,构建立体化、开放式的教学资源平台和环境。可联合企业出版适合培养软件工程应用型人才培养的“移动互联网技术”系列实验、实训教材。通过实践教学体系的改革和实践教学平台的建设,建立模拟企业实训环境、项目开发流程的软件工程实训平台,建立校企协同创新的大学生创新实践平台和产、学、研基地。通过体制改革和管理制度建设,构建凸显软件工程特色的教学质量保证体系,提交系列相关文件和软件工程专业综合改革试点建设总结报告。建立企业参与的专业教学指导委员会,聘请企业高级技术人员参与培养方案的制订、专业建设、教学评估等。引入第三方评价机制,构建科学的教学评价体系,通过学校、企业、学生对学生工程实践能力进行综合评价,使教学评价与企业用人标准接轨使人才培养与企业、用人单位要求吻合。
国家示范性软件学院的培养目标是培养“多层次、实用性、复合型和国际化”的软件工程人才。如何培养软件技术人才所必需的实践能力、工程能力和创新能力,一直是软件人才培养所面临的课题。目前,大多数软件学院都设置了实践教学课程体系,并开设了工程实践环节,但普遍缺乏对实践教学环节的过程管理,效果并不尽如人意,具体表现如下:
(1)实践教学体系设置不够完善,缺乏对实践教学的过程管理,没有建立配套的成绩考核体系。
(2)不重视工程化思想的培养,没有很好利用先进的实践管理平台跟踪管理学生实践项目。
(3)缺乏具备行业工程领域背景和国际化背景的高水平创新实践教学团队。
因此,如何完善实践教学体系。建设实践管理平台,培养创新性的教学团队,把突出理论教学向“实践引领理论”教学过渡,是我们亟需解决的问题。
1 实践能力训练体系的构建
在设计软件工程专业实践课程体系过程中,我们依据国际先进的CDIO工程教育模式,把实践教学按照课程实验、项目实践、工程实训几个阶段设计,进行了全面改革。
CDIO工程教育理念是融构思(conceive)、设计(Design)、实施(Implement)和运行(Operate)能力于一体培养人才的模式。构思、设计、实施和运行涵盖了现代工业产品从构思研发到运行改良乃至终结废弃的生命全过程,以此全过程为载体,培养的不仅是学生的理论知识和专业技能,而且包括终身学习能力、团队交流能力和大系统掌控能力[3-4]。
我们把CDIO工程教育理念引入到软件工程专业时,通过实验、实践、实训一体化的工程能力训练体系,完成CDIO能力的培养。如图1所示,我们设定了明确的阶段培养目标:即熟练的程序员(程序上熟悉软件工程原理和方法的软件设计者(软件)――应用解决方案的优秀团队成员(系统),并将这一思想贯穿到人才培养计划的各个环节。
根据这一思想,我们设置了相应的实践课程体系。如图2所示,把实践性教学分为课程实验、项目实践和工程实训。其中课程实验包括设计性实验和验证性实验;项目实践一为了提高学生的软件开发能力,让学生能够熟练掌握至少一种编程语言,增强信心,因而项目不大,适合学生个体独立完成,时间安排在大学二年级。通过项目实践一的培养,学生的学习热情大大提高,学习目标更明确。
工程实训一为了让学生熟悉软件工程研发的全过程,周期为3周左右。学院可以聘请软件开发公司的项目经理指导实训,用软件工程的理论指导软件开发,最终使学生完成需求分析、建模、设计、代码编写、测试、部署全过程。
在工程实训一的基础上,需要进一步提升自我管理、协调及团队合作精神,因此项目实践二以小组成员分工协作方式共同开发一个完整的项目,进行分析、设计和编码文档,学生的学习活动在项目开发的过程及软件工程方法的驱动下完成。
最后,学生通过工程实训二,即企业实践参与实际的软件开发工作,全面提升软件开发素质,完成由学生到软件开发工程师的角色转换。在工程实训二中,可以安排学生进入企业实习基地实习,模拟企业真实开发环境,严格按照企业管理模式管理、考核,让学生体会实际项目开发的工作氛围和职业要求,提高团队协作意识和沟通技能,养成良好的工程习惯,全面提升就业竞争力。
2 项目实践管理平台的搭建
没有高质量的开发过程,就没有高质量的软件。软件工程过程化的管理是保证实践教学的重要环节。我们建设了完善的项目实践管理平台,对学生实践过程开展科学、规范化的过程管理,组成如图3所示。包括知识管理(wiki)、源代码管理、错误跟踪管理、源代码统计、软件测试管理、项目进度管理。这几个管理平台并非独立管理软件,而是通过统一认证平台集成各管理子系统,实现单点登录及统一用户权限管理。
(1)知识管理。主要为学生提供学习交流的平台,学生可以在该平台上设计项目计划、工作方案,撰写工作日志,提高团队合作交流能力及独立解决问题的能力。
(2)源代码管理。用来管理程序源代码和文档,为项目开发团队提供一个管理软件整个生命周期的平台,有效实现了团队的协作和服务。
(3)源代码统计。为教师提供监管学生提交的程序代码的平台,教师可以随时检查学生提交的代码,统计完成代码量情况等,实施过程控制。
(4)错误跟踪管理及软件测试管理。帮助学生管理软件测试过程中发现的错误,可以与源代码管理平台间进行有效的整合。测试人员可以将测试过程中发现的错误及时反馈给开发人员,随时监督程序的修改状况,提高管理效率,保证项目的顺利实施。
(5)项目进度管理。帮助学生有效管控项目进度,减少项目沟通、协调、进度反馈会议,及时发现和管理项目问题。
实践教学管理平台支持环境覆盖了企业中软件开发平台的主要功能,有效实施了实践教学过程和质量保障过程的统一管理,也为学生实践软件工程理论和方法提供了有力的底层支撑。在项目实践教学中,我们采用符合软件产业界标准的软件过程规范,制定了开发流程、文档模板和评审标准,让学生能够切身经历项目开发的完整过程,深刻理解软件工程系列课程的理论和方法,提高实战技能和团队协作能力。
3 考核体系的建立
成绩考核是实践教学的重要环节,抓好这一环节,能对学生掌握的知识进行正确合理的评估,提高教学质量。实践教学的考核方式不同于传统的考核方法,它更侧重于对学生的实践动手能力、综合运用能力、文档写作能力、团队协作及创新能力的考核L7 J。
项目实践、工程实训l成绩可以从下面几个方面进行重点考核:
(1)业务能力(满分60分)。
・完成项目进度能力。
・项目完成质量。
・文档的规范性。
・英文阅读能力。
(2)综合素质(满分40分)。
・工作积极主动性。
・学生的自我成长能力。
・制度、纪律的遵守。
・团队协作能力。
上面的每一项考核均可以划分为优、良、中、差四个等级,并采用不同的分数权重,最终得到一个总的实践分数。这种考核结果能够比较全面地反映学生的实践学习情况,促进学生的全面发展。
4 创新实践教学团队的建立
提高实践教学质量,需要建立一支具有行业背景、国际化的创新实践教学团队。防止实践类课程蜕变为理论教学,教师必须有新的教学理念、讲授模式和课程管理机制。同时,软件工程系列课程的特点要求教师要成为一名具有丰富开发经验的项目管理人 员。在实践教学中,教师不再是课堂讲授者,而更像一位工程项目经理,负责提出项目的要求、检查项目(学生)的开发进度、监督开发过程、评定软件质量。在课堂集中教学中,教师又像一位主持人,召开的是项目进度汇报会、技术交流会、软件演示会等。
创新型实践教学团队的建立需要一批高素质的教师,教师要掌握最新的软件技术,使用主流的软件开发平台,对教师能力有较高要求。所以,要重视对教师的培养工作,鼓励和资助年轻教师攻读学位和进修,通过团队合作、以老带青的形式,提升青年教师的研究能力和教学水平。为保证教师团队的整体质量,我们通过各种方式提高教师团队的工程领域背景和国际化背景,主要包括:
(1)研究中心负责前沿技术研究并开发原型系统,企业负责将其产品化并进行市场推广。
(2)派研究生和高年级本科生到软件企业从事研究和软件项目开发。
(3)组织教师参加企业新技术培训。
(4)定期组织教师与企业研发人员开展软件新技术和项目管理经验交流。
(5)定期派教师到国外进修或参加国际交流会议。
中图分类号:G640 文献标识码:A 文章编号:1002-4107(2014)03-0071-02
软件产业作为信息产业的核心是国民经济信息化的基础[1],一直受到世界各国的高度重视。目前,我国各类理工科高等院校大都有计算机或软件专业,每年都有大量软件专业的毕业生走向社会,然而这些毕业生中有很大一部分无法满足软件产业发展的需要,因此产生了企业需要大量的计算机及软件人才,而大量的计算机及软件专业毕业生却难于找到合适工作的局面,计算机软件人才紧缺已经成为抑制我国软件产业发展的“瓶颈”[2],不仅缺乏高层次的系统分析员、项目总体设计师、软件市场开拓人员、软件质量评测人员,而且缺少大量从事基础性软件开发工作、承担标准化程序编写和软件测试的人员[3]。我们培养的学生90%以上是面对企业的软件从业人员,因此我们在教学改革过程中必须非常重视社会需求,并且将社会需求反映到我们的教学改革规划和措施中来。
高等教育面临着为经济建设服务的新形势,培养大量的软件适用型人才是发展IT事业的首要任务[4]。尤其对于地方性普通高等院校来说,没有重点高校的生源,又不能等同于职业培训,如何培养能够适应科技、经济和社会发展需要,具有良好整体素质的应用型专门人才是我们面临的重大课题。因此,在国家积极倡导提高教学质量之际,我们总结全国首批软件学院十二年办学经验,提出软件工程应用型人才培养方案与课程体系改革的研究与实践课题,旨在培养出适应地方经济发展需要的应用型软件人才。
一、软件工程专业人才培养存在的问题
(一)目标定位模糊
地方高校软件工程专业很多是利用原有计算机科学与技术专业的资源建立起来的,其人才培养方案多数是对原有计算机科学与技术专业的培养计划进行修改,并没有真正地从工程角度和社会需求对软件人才培养目标进行定位,培养计划的偏差最终将导致人才培养无法实现专业细化,达不到企业对软件工程人才的要求。
(二)教学资源陈旧
地方高校软件工程专业的师资基本是以原有计算机相关专业教师为主,很少有具备大型软件开发经验的教师,教师的知识结构陈旧,缺乏实际软件的开发经验,导致课堂教学经常是纸上谈兵,培养出来的学生无法胜任软件的开发工作。
(三)理论与实践脱节
地方高校软件工程专业的实践教学并没有按照软件开发流程进行实践教学安排,更谈不上如何根据软件工程自身的生命周期和软件工程管理的需要进行实践教学的安排。因为缺乏真正的实践,学生很难将在学校学到的知识应用到实际工作中,很多学生须经过企业培训方能适应岗位需要。
二、软件工程专业应用型人才培养的目标定位
计算机软件行业一直是最具潜力的行业,合理的软件人才层次应该是高级(科学型)、中级(工程型)、初级(应用型)的“金字塔”型,但实际上我国的软件人才呈橄榄形分布,缺少基础程序员,因此必须从应用型培养做起,这样才能形成合理的软件人才结构。只有更多的软件程序员产生,由其作为基础发展起来的高级管理人员才能逐渐成长。
大庆师范学院软件工程专业是在计算机科学与技术专业的基础上成立的,专业成立之后我们感到专业的发展首先要明确“培养什么样的人”,即有明确的目标定位。2011年,大庆师范学院已经将人才培养总体目标定位于培养适应地方经济发展需要的应用型人才,在这一原则指导下,我们先后到许多软件企业和同类高校走访调研,根据目前企业对软件人才的需求和生源层次特点,把目标定位在培养大批初级应用型和部分中级工程型软件人才上,即培养适应地方经济社会发展和油田发展建设需要,具有扎实的软件工程专业基本理论、专业知识和基本技能,具有参与软件工程项目开发的实践能力,能够在软件企业以及信息产业相关领域从事软件开发、维护、管理和软件测试等工作的应用型人才。
三、软件工程专业应用型人才培养方案的变革
明确了培养目标,接下来就要考虑“怎样培养人”。为此我们根据调研了解的情况及大庆师范学院的生源特点,对软件工程专业的人才培养方案作了全面调整,按照新的培养目标,以软件开发及生命周期为线索对核心课程和模块课程重新布局,课程设置整体向实践应用方向倾斜,本科四年级不再设置课堂教学,而是用于实践或实训,理论教学总体课时删减,专业必修课、选修课的实践学时大幅增加,加强了学生应用能力的培养,便于学生毕业即能上岗。
(一)“平台+模块”的课程体系
软件工程专业的培养目标是满足软件行业的社会需求,面向应用、面向工程培养从事软件应用和开发的中、低级软件工程师,高级软件工程师、系统分析人员、软件项目策划和管理人员、系统架构师等是靠工作经验积累才能逐步达到的。因此围绕着培养目标制定培养方案,将素质与能力培养作为人才培养的核心,以培养学生专业理论、技术、技能以及工程经验为教学主体,以培养高素质应用型软件人才为目标构建课程体系。面向市场需求,不断调整与软件产业实际需要相适应的课程,增加与工程实践和前沿技术紧密结合的模块课程,以保证软件工程专业人才培养的可持续发展。
根据培养目标和企业需求,我们采用“2+1+1”模式(即两年基础课、一年专业拓展课、一年企业实践课),课程体系为“平台+模块”(基础课程平台、专业模块课程),实践教学环节和素质拓展环节贯穿于教学全过程。平台课程包括公共基础和专业基础课程,模块课程包括软件工程核心课程和选修课程,核心课程在原来程序设计语言类、软件开发工具课程基础上增加了软件工程化开发模块课程(软件需求分析、软件建模技术、软件质量保证与测试、软件项目管理等),选修课不仅增加了新技术新方法的介绍,还设置了方向提高课程,目的是进一步夯实学生的专业理论基础,提高学生的专业技能水平。此外通过实践教学(课程设计、专业技能训练、专业实训、毕业设计)和素质拓展训练(人文、艺术等通识选修课、社会实践、创新实践活动、职业发展与就业指导、大学生安全级心理健康教育等)加强学生能力培养。学生经过三个阶段的培养(基础知识和专业基础知识阶段、专业技能训练和素质拓展教育阶段、企业实训阶段),可以直接面向就业企业。
(二)建立教学实践基地,加强实训
实践教学是软件工程专业本科教学的一个重要环节,是培养学生工程能力的一个重要手段[5]。改革后的教学方案中,课程设计、专业技能训练、创新训练与竞赛、专业实训及毕业设计等实践教学的学分已占总学分的32%。学生大三时所学课程,是根据社会需求由企业和专业针对学生特点共同制定的,融入了软件开发全过程所涉及的工具和方法,为学生实训做好了铺垫,这期间通过课程设计和实际项目驱动教学,甚至直接聘请企业工程师前来授课,把丰富的工作经验融入教学,使学生实践能力得到锻炼。大庆师范学院积极与地方企业联合,以社会需求目标导向为基准,建立教学实践基地,努力为学生搭建就业平台,营造良好的就业环境。作为实训基地的企业每学年都来校对学生进行企业需求和新技术发展等介绍;大学四年级时学生根据自己的兴趣和特长选择实训基地,参与一个完整的项目开发训练,90%以上的学生经过3―5个月的实训直接应聘上岗,毕业就能进入工作状态。同时也派专业教师前往企业跟班实训,一方面指导学生,另一方面锻炼教师的实践教学能力。大部分教师没有参加大型软件开发的经验,因此每个假期都选派年轻教师到企业学习锻炼,经过两年的实践,我们已经有七位教师取得了全国计算机专业教师软件工程设计开发“双师型”教师证书,教师的实践教学能力大幅提升。
经过两年的践行,大庆师范学院软件工程专业根据软件产业发展对人才多样性需求,探索应用型软件人才培养规律,确定了应用型软件人才培养目标,制定了《专业方向分类加主流软件技术分类》的多元化培养方案,即根据社会需求及自身实际情况,为学生提供多种类型人才培养方案,以能力培养为核心,将工程素质教育融入课程体系,通过创新计划和学科竞赛等实践锻炼培养学生创新精神、协作精神和解决实际问题的能力,通过实训帮助学生快速达到企业的工作要求,学生的就业质量明显提高。下一步我们将进一步细化专业方向,将原来仅以主流软件划分的学习方向细分为专业方向,让学生根据自身特点选择软件开发与管理、移动网络编程、嵌入式软件开发、数字媒体技术应用等专业方向,学习更精细的专业课程,做到厚基础、宽口径,更好地为地方培养大批应用型高素质软件人才。
参考文献:
[1][3]韩中元,雷国华,李军.应用型本科软件工程人才培
养模式的探究与实践[J].计算机教育,2010,(10).
[2][4]王晓银.计算机软件人才培养模式的研究[J].陕西
中图分类号:G642.3 文献标识码:A 文章编号:1002-4107(2013)11-0009-02
软件产业是国家战略性新兴产业,是国民经济和社会信息化的重要基础。软件产业要发展,人才是关键。随着全球信息化进程的加快和软件产业的不断发展,迫切需要提升软件工程科技队伍的创新能力,迫切需要应对经济全球化挑战的国际化软件工程人才。然而,当前我国软件人才培养的速度和质量均难以满足实际需求。一个突出的问题是:高等院校培养的计算机及软件人才的能力素质不能很好地满足软件企业对人才的实际需求,尤其在教学实践环节上,存在许多不足。建立校内实训和企业实训相结合的软件项目实训教学模式,可以加强学生的工程实践能力、团队协作能力和工业化素质培养,从而提高软件工程专业人才培养的整体质量。
一、开展校内实训教学的必要性
目前我国软件人才培养面临一种尴尬的局面:一方面企业对于计算机及软件人才需求强烈、高校计算机及软件专业毕业生供给旺盛,而另一方面软件企业招聘难、计算机及软件专业毕业生就业困难的现象普遍存在。如何有效缩短产生在软件人才培养和软件企业需求之间的供求距离,帮助学生顺利从学校跨入到企业,已经成为当今教育界和企业界共同面临的问题[1]。
实习和实训是提升学生的工程实践能力和工业化素质的有效途径。实训是针对在校学生缺乏项目实战经验的问题,以软件企业需求为导向,以提高学生的职业能力为目标,以参与实际应用项目开发为背景,在学校能控制的状态下,按照人才培养规律与目标,对学生进行职业技术应用能力训练的教学过程。学生在实训中分别担任不同角色,以团队形式进行项目分析、方案设计以及应用程序开发和交付等所有过程,它不同于课程设计,也有别于实习[2]。实训拉近了企业与学生之间的距离,实现了学生就业与企业需求的平滑对接。
当前,学生参加项目实训的主要途径是到校企合作企业或校外实践基地。然而,随着软件工程专业招生规模的扩大,软件企业出于工程质量、工期要求、客户资料及企业核心技术保密等多方面的考虑,无法接纳大量的学生进入企业进行工程项目的实践[3]。为了满足大多数学生的软件项目实训需求,构建企业实训和校内实训相结合的实训教学体系已经成为一种必然的要求。为此,哈尔滨理工大学软件学院成立了软件实训中心,在校内为学生搭建一个模拟企业真实工作环境的学习实践平台,借鉴企业项目实训流程,以项目驱动的模式对学生进行软件项目实训,训练学生按照软件项目管理规范和要求,参与团队开发,熟悉项目开发的完整流程,积累项目经验,从而提升工程实践能力、团队协作能力和工业化素质。
二、校内实训教学的总体思路
(一)总体思路
校内软件项目实训要坚持校企合作和产学研互动,以软件企业岗位技能需求目标为导向,以真实软件项目开发为驱动,以一流的设备和工作环境为依托,以有丰富工程经验的实训教师为指导,遵循软件企业的管理规范和软件项目的标准流程,在项目实训中培养、提升学生的工程实践能力、团队协作能力和工业化素质,从而缩短人才培养和企业需求之间的距离,协助学生尽快实现从“学生角色”到“职业人角色”的转变。
(二)基本原则
校内软件项目实训应该遵循仿真性、适用性、先进性和创新性原则。
1.仿真性原则。坚持“从企业中来,到企业中去”的原则,包括实训项目、管理形式、质量评估、指导教师都来源于企业,而实训效果和质量,最终也要到企业中去检验。
2.适用性原则。软件项目实训要结合学校软件工程专业人才培养的目标和特点,根据国家经济结构和产业结构调整对软件人才培养的需求来进行,既具有针对性,又具有适用性。
3.先进性原则。用于软件项目实训的设备和技术要具备先进性,实训条件应与软件企业的同期设备具有相同的水平,并争取有一定的超前性。
4.创新性原则。采用先进的CDIO工程教学理念,以项目驱动的方式实施实训教学,发挥观念引领和思想导向的作用。
三、校内软件项目实训的策略
开展软件项目实训的两个关键要素是实训案例和指导教师,同时涉及实训环境、教材、制度和平台建设等。
(一)实训环境建设
实训环境是开展校内项目实训的基础条件,应该体现仿真性和先进性原则。目前,哈尔滨理工大学软件学院专门成立了软件项目实训中心,致力于在校内搭建一流的实训环境,现已建成两个实训室和一个讨论室,配备了最先进的PC机和软件开发环境,每个实训室可以容纳68人,人均占有面积2平方米,每人一个工位、一台高配置计算机。讨论室供学生在项目实训中召开项目小组会议、进行项目评审等。
(二)实训案例建设
实训案例是开展校内软件项目实训的关键要素。实训案例应能体现当前软件技术发展的主流技术,具有先进性和代表性,同时考虑不同专业方向的适用性。实训案例建设采取企业引进和自主研发相结合的方式,具体措施包括:
1.合理规划,针对不同的专业方向建立相应的实训模块和实训案例。目前哈尔滨理工大学软件工程专业设有“软件开发J2EE技术”、“软件开发.NET技术”、“嵌入式技术”、“物联网软件开发技术”、“移动计算软件开发技术”共5个专业方向。为满足不同专业方向的需求,为5个专业方向分别建设实训案例3―5个。
2.规范管理,采用CMMI5项目管理成熟度模型,开发实训案例模板。针对不同方向,实训案例虽然具有不同的功能并采用不同的技术,但从教学角度来说,都应该遵循共同的规律。为了规范管理和保证质量,应用软件企业普遍采用的CMMI5项目管理成熟度模型,抽象出实训案例的共同特征,形成案例模板。每个案例都按照模板要求,具有完备的技术文档和参考程序,包括系统需求说明书、概要设计说明书、详细设计说明书、测试计划说明书,测试用例说明书、系统使用说明书等。
3.产学结合,以企业实际工程项目为背景,适当改造,开发实训案例。软件公司具有最先进的开发技术,但企业实际项目通常规模很大,不适于直接用做实训案例;另外,公司由于商业竞争和技术保密等原因,不愿意公开其技术方案、程序源码等项目资料。目前,软件学院已有多名教师在东软集团等企业参加实践锻炼,获得了部分项目资料,通过对这些项目资料进行整理和改造,开发项目案例,使之既体现实用性和先进性,又适合实训教学。
4.学研结合,以学生兴趣和创新为动力,自主研发实训案例。兴趣是学习的动力,创新是进步的源泉,学研结合是最好的学习方式。结合教师的科研项目,引导学生进行一些有创意的软件项目开发活动,边学习边开发,在此基础上形成实训案例。这些案例更适合对学生进行实训教学,有利于激发学生的学习兴趣,培养学生的创新意识。
(三)实训师资建设
当前,高校教师普遍存在缺乏工程实践经历和项目经验的问题。因此,校内软件项目实训由企业工程师和校内教师共同指导。聘请企业资深工程师担任企业指导教师,由参加过企业实际项目开发并且教学能力突出的专业教师担任校内指导教师。近年来,哈尔滨理工大学软件工程专业有多名教师在东软集团、青岛软件园等企业接受了企业实践训练,基本具备了开展校内实训的师资基础。
(四)实训制度建设
实训制度是实训质量的重要保障。实训制度建设包括建立并完善实训管理规范、执行细则、质量评估体系、学生管理规范、实训案例管理办法等一系列规范文件,并建立相应的实训运行机制等。
(五)实训教材建设
实训教材是将教育思想、理念、宗旨等转变为具体教学实践的基础,是保证实训教学顺利开展的重要工具。为了有助于培养学生的工程实践能力,实训教材的内容应该具有很强的工程指导性。实训教材编写要改变普通教材偏重知识体系完整性的做法,改为重视工程项目的完整性。每一本实训教材都应该有完整的软件工程项目案例,并充分体现指导性、实用性、完整性和技术先进性。实训教材建设可以采取有偿选用企业实训教材、教师和企业工程师合编教材相结合的方式。
(六)实训平台建设
软件项目实训涉及大量的人员信息、文档、代码和多媒体资料。通过开发软件项目实训平台,可以方便实训案例的管理和维护,对实训流程进行有效管理和实时监控,在减轻教师的教学压力的同时实现资源共享,使学生能够随时随地地参加实训学习。实训平台设计分学生、教师和管理者三种角色。学生可通过平台进行项目实训,获取参考资料和帮助文档,查看实训任务,撰写日报及工作总结、提交工作成果,全程接受实训指导和监控;教师可通过平台分配任务,查看学生任务完成情况,监控各教学环节,提高教学质量;管理者可获取实训的各类统计信息,随时了解学员的实训情况及实训教学情况,监控实训教学过程。
参考文献: