标题 | 以企业需求为导向的软件工程实验教学改革 |
范文 | 程凡 闫爱斌 苏延森 摘要:软件工程实验作为一门融合理论与实践的综合课程,其旨在帮助学生理解软件工程基本概念的同时,也为其日后走向企业成为一名合格的软件工程师奠定坚实的基础,而现有的事实是当前软件工程实验教学培养出的学生很难真正满足企业的实际需求。对此,该文以安徽大学为例,介绍了该校计算机学科与技术学院从构建面向企业需求的实验教学内容、采用以能力化培养为中心的实验教学方法、建立校企结合的实践化教学团队和引入基于企业能力贡献的一体化考核方式等多个角度进行的改革。为探索新形势下,如何培养满足企业需求的专业软件人才做出了积极的努力。 关键词:软件工程实验;教学改革;企业需求 中图分类号:G420 文献标识码:A 文章编号:1009-3044(2017)13-0133-03 1概述 软件工程是计算机科学与技术专业和软件工程专业的一门基础核心课程,其教学重点是讲授软件工程的基本概念、基本原理和基本方法,强调对软件开发问题的分析和解决。同时作为一门理论与实践并重的课程,对应的软件工程实验在帮助学生充分理解软件工程基本概念和方法的同时,也为其将来走向企业成为一名合格的软件工程师奠定了坚实的基础。 我国于上世纪八十年代启动了软件工程及实验的课程教学,为社会培养了大量的专业人才。进入二十一世纪,特别是近几年,随着我国软件企业的快速发展,企业对专业软件人才需求急剧增加,现有的人才缺口达到20万,且这个需求将以每年20%的速度增长。与此相对应的事实是:多数具有软件工程学习背景的毕业生在面临就业时难以感受到这些数字带来的欣慰,很多毕业生并没有真正找到对口的专业,甚至有毕业生“毕业即失业”。而从企业看来,这些所谓的软件工程应届生很多并不具有软件企业所需要的综合能力,适合企业的人才少之又少。究其原因在于当前软件产业的快速升级,对软件行业从业人员提出了更高层次的要求。而现有国内高校的软件工程教学,重理论轻实践。很多高校软件工程实验教学与软件产业界的真实需求存在较大差距,这样培养出的学生自然很难真正快速融入现代软件企业的运行。 2安徽大学软件工程实验教学存在的问题 安徽大学计算机科学与技术学院成立于2004年,其前身是1984年成立的安徽大学计算机科学与工程系。其下设有计算机科学与技术、软件工程和网络工程等多个专业,其中作为拥有国家一级硕士点的计算机科学与技术和软件工程专业都将软件工程设为基础核心课程,并在此基础上,为我省乃至全国培养了大量的软件人才。近些年来,随着软件产业的不断升级,我院对软件工程实验教学体系不断进行主动地调整。尽管如此,同国内其它高校一样,院里当前的软件工程实验教学并不能够真正地满足软件企业的真实需求,其不足突出表现在以下几点: 2.1实验内容与企业需求存在较大差距 同大多数国内高校一样,我院开设的软件工程实验是作为软件工程理论课的配套课程出现。尽管近些年来,院里一直在加大对软件工程实验课程的重视程度,将实验从18学时改到24学时,直至现在的36学时。但是这种改变更多的只是教学时间的简单增加,对于内容上的改变较少。现有教学内容仍多基于传统的瀑布模型,对于真实企业中用到的如Serum等很少涉及。同时实验项目多为教师地自行设计,缺少来自于企业的真实案例。 2.2实验教学方法和手段落后,不能满足企业的能力化需求 当前的软件工程实验教学仍采用老师教、学生学的传统方式,从其教学本质上说甚至有填鸭式特点。教学方法没有体现软件工程的案例导向,培养出的学生难以具有解决实际问题的工程能力;同时教学手段比较单一,忽视真实软件企业中的相互协作,学生的团队协作能力较差;而教学过程中对于探究式学习不够重视,相应的学生自主解决问题的能力不足。 2.3缺乏一支具有企业背景的实验教学团队 现有我院的软件工程实验教学多是各自为政,分散教学。教师间的教学交流较少,没有形成一个统一的实验教学团队。与此同时,负责实验教学的老师多是正式的高校教师,很多老师自身不仅缺乏真实的项目经验,且对当前软件发展的最新走向并不了解,这样老师培养出来的学生也自然难以成长为企业需要的合格软件工程师。 2.4实验考核方式与企业项目考核相脱节 已有的软件工程实验考核仍采用传统的检查文档或者运行程序,这种方法看似公平,其实不然。一方面由于软件工程实验采用分组形式,几位同学一组,往往是只有个别同学去做,其他同学滥竽充数,这种简单的统一检查很难区别每位同学的真实工作量,这与企业项目考核落实到每一个员工的做法相距甚远;另一方面,由于现有网络技术的发展,一些软件工程实验题目在网上都有答案(或类似的代码),如果简单的查看文档或运行程序,不进行深入的讨论,是无法避免这种现象的出现,这也与软件企业的基于实际能力贡献的考核方式相悖。 3以企业需求为导向的软件工程实验改革 针对以上实驗教学的不足,自2015年起,安徽大学计算机科学与技术学院组织全院的软件工程教师以及一些软件企业专家共同对软件工程实验课程进行了细致地分析,重点结合企业的真实需求对软件工程实验课程进行了系统的改革,主要从以下几个方面展开: 3.1构建面向企业需求的软件工程实验教学内容 针对现有软件工程实验内容与企业需求有较大差距,首先由企业专家介绍当今软件行业的发展现状,在此基础上结合软件工程实验的课程设置要求,确定了以快速原型模型为基础的软件工程实验框架。不同于过去实验课程以瀑布模型为主的过程框架,片面强调严格的顺序性,与企业的真实开发流程相悖。快速原型模型强调企业实际项目的反复性和迭代性,也更符合企业的需求。同时在教学案例上,我们在同多家软件企业充分沟通的基础上,并结合学生的知识水平,精心从企业选取了十个项目,进行了必要的简化,构建了十个软件工程实验教学案例。这些案例中既有图书管理系统、学生选课系统等和学生密切相关的案例,也有网络聊天系统、超市收银系统和酒店餐饮管理系统等当前较为热门的案例。通过对这些不同层次不同方向案例的开发和学习,为日后学生走向真实软件企业奠定坚实的基础。 3.2采用以能力化培养为中心的实验教学方法 3.2.1面向工程化能力的案例教学方法 工程化能力是一个优秀软件工程师所必须具有的基本能力。因此为了培养学生的工程化能力,在软件工程实验中采用了面向案例的实践教学方法。具体来说,首先将前文说到的每个案例,按照软件工程的开发流程依次分为问题定义和可行性分析阶段、需求分析阶段、总体设计与详细设计阶段、编码与单元测试阶段、综合测试阶段以及公开称述答辩阶段,分别对每个阶段提出过程规范和验收要求。培养学生在过程规范下为满足企业验收要求而运用软件工程方法与技术,完成"3Z程”活动,解决工程问题的实际能力。 3.2.2面向自主学习能力的探究型教学方法 软件开发作为一种“工程”活动,其过程中经常会出现各种各样的突发问题,而企业所需的软件工程师则需要具有一种自主的学习能力,并运用这种能力去解决现实中出现的各种与项目相关的新问题。对此,在新的软件工程实验中,我们提出采用探究型教学方法,在实验过程中,教师会安排学生去使用一些在传统课堂教学内没有涉及新的方法与技术,并要求学生有效利用网络资源,自主进行探究型学习。学生自己分析问题,寻找资料,自行学习,并应用到实验问题的解决中。通过这种教学方法有效地培养学生自主解决问题能力。 3.2.3面向团队合作能力的体验式教学方法 众所周知,软件项目是个需要众多人员共同完成的集体活动,因此软件企业需要的人才应具有很好的团队协作能力n”。对此,我们在软件工程实验教学中提出体验式教学方法。通过一系列的实验设计,在一个受控的环境下模拟软件开发生命周期的各个阶段,使学生在其中获得尽可能真实的体验。同时在实验过程中引入团组实验、交换式实验,并强调交流沟通、相互评分和共同报告等,通过上述过程提高参与实验学生的积极性,培养他们的团队协作能力。 3.3建立一支校企结合的实践化教学团队 软件工程实验作为一门强调实践的课程,它对指导教师也提出了较高的要求,需要担任实验课程的老师具有一定的软件项目开发背景。很难想象一个没有任何真实软件企业项目经历的老师能够教出满足企业需求的软件工程师。对此,我院整合全院力量,从以下几个方面对软件工程实验教师队伍进行优化调整。 3.3.1组建面向实验教学的软件工程教学团队 正如前文所述,软件工程是一门综合应用型课程。软件工程实验的顺利完成也需要其他相关他课程的专业基础。如果仅仅只关注软件工程实验一门课,很难培养出企业需要的软件工程师。因此,我院首先建立了一支面向软件工程实验的教学团队。团队中的老师以软件工程教师为主,但加入了一些其他相关课程如数据库,數据结构,操作系统等教师。由这些多学科不同层次的老师共同设计和组织实施软件工程实验。 3.3.2增强软件工程实验教师的真实项目能力 为了提高一线软件工程实验教师的实际项目能力,我院同科大讯飞、科大国创、四创公司等众多知名软件企业展开合作。每年选拔一定数量的软件工程实验教师去公司参加为期半年的脱产培训。培训的内容既考虑到真实项目的需求,也结合了软件工程实验课程的知识点要求。在此期间,每隔一个月要定期组织参与教师的经验交流座谈。通过上述过程,在提高教师实践动手能力的同时,也使教师获得了实际的软件项目经验。 3.3.3引入软件企业专业骨干充实实验教师队伍 在让专职教师走出去的同时,我院还同上述企业达成了引人兼职软件工程实验教师的协议。由软件企业推荐具有丰富项目经验的专业技术骨干,院里进行审核和培训,合格后和我院专职教师共同进行软件工程实验课程的指导教学。同时,充分利用这些企业骨干了解当前软件项目最新走向的特点,要求每位企业教师结合自己所在企业的实际项目,至少开展一次软件项目真实案例讲座。通过上述过程,在确保软件工程实验教学团队专业素质和高水平的同时,也为培养软件企业所需要的工程化人才奠定坚实的基础。 3.4创建基于企业能力贡献的综合型实验考核方式 正如前文所述,现有的软件工程实验考核方式较为落后,与企业中所提倡的能力贡献考核相悖。对此,我们在新的软件工程实验课程考核体系中提出建立基于企业能力贡献的综合型考核方式。考核中既要考虑到学生独立工作的能力,也要考虑到其团队协作的能力。考核手段既有传统的文档(程序)检查,又有面对面地问答考核,通过上述一体化的方式,全面度量学生在软件项目中的综合贡献,具体的考核方法和手段如下: 3.4.1面向综合能力贡献的文档(程序)考核 软件工程不是一个人的工作,软件项目也不是一个人能够完成的,因此在新的考核体系中,对于软件工程实验教学中所需的文档(程序)考核,提出面向综合能力贡献的多层次考核。每位同学作为小组成员在进行考核之前,必须先提交各个阶段的完整文档,没有文档的同学一律不能参与阶段性考核。对于提交的文档,要求每位同学明确写出自己的工作,并同时写出对组内其他同学贡献的评价。通过上述过程全面地考核参与实验项目的学生综合能力。 3.4.2面向个人实际贡献的答辩式考核 在文档考核的基础上,新的实验体系创新地提出了面对面的答辩式考核。这种答辩式考核主要分为两个阶段。第一个阶段是在需求分析结束后,这时系统的全部功能性能要求已经确定下来,此时通过答辩式考核不仅具体了解学生个人的工作,也能对项目开发中可能出现的错误给予及时地纠正。第二个阶段是在项目结束时,此时通过答辩式考核,能够准确度量每位同学的真实工作,对于学生整个项目的实际贡献给予最终的准确评判。 4软件工程实验改革的效果 新的软件工程实验在2014级计算机科学技术专业的两个教学班中开展,重点以软件工程概论实验为突破口,总共涉及约150名学生。在新的实验课程实施后,全体学生均反映效果很好,不仅对软件工程概论的理论课程加深了理解,而且对真实的企业项目也能有所了解。学生的工程能力、创新能力和团队协作能力得到极大提升。在基础上,在2017年举办的国际大学生数学建模竞赛中,我系张澎同学获得国际二等奖。与此同时在学院的统一安排下,14级计算机科学技术专业的部分同学进入讯飞,国创等软件企业进行实习。从实习效果的反应来看,软件企业普遍反映学生的实际动手能力有了很大的提升,对于项目的理解更深,融入团队的速度更快,这样的学生也更符合软件企业的需求。 5结束语 针对现有软件工程实验教学中存在的诸多不足,难以满足企业的真实需求。 本文以安徽大学为例,介绍了我校计算机学院开展的以企业需求为导向的软件工程实验改革。文中首先分析了面对软件企业的真实需求,我校已有软件工程实验教学中存在的问题,在此基础上提出从构建面向企业需求的实验教学内容、采用以能力化培养为中心的实验教学方法、建立一支校企结合的实践化教学团队和引人基于企业能力贡献的综合型实验考核方式等多个角度进行改革。新的软件工程实验体系在14级计算机科学与技术系的软件工程概论实验中进行了试点,实施的效果表明:新的实验体系培养出的学生具有更好的工程能力和团队协作能力,能够更快地融入企业的真实项目中,也能更好地满足软件企业的需要。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。