线上期刊服务咨询,发表咨询:400-808-1701 订阅咨询:400-808-1721

软件工程专业论文8篇

时间:2023-03-20 16:16:55

软件工程专业论文

软件工程专业论文篇1

(1)原有的专业培养目标与培养方案中存在着重理论学习、轻实践训练的认识以及重视课内、轻视课外的倾向。(2)实验教学体系中仍旧以验证性试验为主,虽然所有课程的实验项目开出率为100%,但其中设计性、综合性的实验项目占总实验项目的比例有待提高,极大限制了学生的动手能力和创新能力的培养。(3)缺乏对实践教学的过程管理,配套的质量监控与评价体系尚未健全。(4)现有实践教学体系缺少对学生工程能力和职业素质的训练,缺少开放性实验;缺少创新性实验教学体系,缺乏具备行业工程领域背景和国际化背景的创新实践教学团队。

二、确立并完善软件工程专业实践培养目标与培养方案

参考2011年软件工程专业国家规范,明确了软件工程专业实践培养目标与培养方案。

(一)培养目标

依托维森公司和行业企业,联合制定新的软件工程人才实践培养目标,即培养能够掌握软件工程专业的基本理论、基本知识、基本技能的,具有软件工程开发、应用、维护和工程管理能力的,具有较强的实践能力和创新精神的,能够从事软件工程方面的教学、科研和应用开发工作的应用型工程技术和工程管理人才。培养目标对学生各项能力的培养要求如下:1.基本实践能力要求:应该具有扎实的自然科学知识、优良的外语水平;具有一定的实际动手能力与团队合作能力;掌握软件工程专业的基本知识及基本技能。2.综合实践能力要求:应该具有综合分析、设计开发和项目管理能力、科学研究能力,具有知识获取、知识更新和持久学习能力。3.创新能力要求:具有追踪软件行业新理论及新技术能力;具有技术创新意识与创新精神,能独立完成一定规模项目的研发工作。

(二)培养方案

新的软件工程专业培养方案形成了以学科基础课平台、专业课及成组平台为主,以实践教学体系、创新教育体系为辅的应用型软件工程人才培养体系。为此,应用整体知识观的理念,采用层次网络方法构建课程体系,专业培养方案形成包括五个阶段。1.第一阶段,应用方向选择:经与维森和中软公司研讨,确定选择Java中级工程师为培养方向,同时兼顾.NET和基于图形图像处理的计算机游戏设计与开发方向及软件测试方向。2.第二阶段,专业技术归纳:Java中级软件工程师主要技术包括Java程序员、JavaEE初级软件工程师的主要技术、SSH技术和Web服务器技术等。.NET和基于图形图像处理的程序设计与开发方向进行相应的规划,共同的技术点规划在Java的相关课程中讲解。3.第三阶段,专业课程规划:以培养学生的软件设计开发能力为主线,专业课程分为专业基础课、专业基础选修课、专业成组课和专业选修课。专业基础课和专业基础选修课中培养学生程序设计能力的相关知识均以Java为基本工具,在专业成组课和专业选修课中设置Java的中高级应用的课程。4.第四阶段,知识内容整合:对课程以知识点为单位进行知识内容的整合,明确知识点的前趋与后继关系和知识点的课程归属,可以避免压缩理论学时的盲目性和随机性,减少课程体系中知识的冗余和重复,提高专业教学的效率。5.第五阶段,培养方案体系形成:以知识内容整合为基础,在专业课程层次上建立课程体系。针对软件工程专业技术要求、课程本身的特点和课程的教学目标,完成了教学大纲的制定和教学方法与手段的选取,形成完整的课程体系。最终形成层次化课程体系与各项能力要求关系模型。

三、改革优化现有实践教学体系

现有实践教学体系对培养应用型、创新型软件工程人才的支撑力度不够,必须优化。

(一)优化原则

结合软件工程专业的特点,构建由基础课程实验、综合设计实践、应用能力实践等环节组成的,由浅入深、环环相扣的层次化的实践教学体系。具体来说,实践教学体系包括课程实验、课程设计、实训与毕业设计及课外创新实践活动:1.课程实验。以验证性实验为基础,巩固和加深学生对特定理论知识点的理解;综合、设计性实验以案例驱动和面向问题模式为主,综合运用一门课程的系统知识体系,循序渐进地对学生构思、设计、实施和操作(CDIO)的能力加以强化。同时保证程序设计课程和软件工程系列课程机房的授课率。2.课程设计。课程设计是为若干主干课程或课程群设置的、综合性设计性较强的实践教学环节。在课程设计中,让学生能够切身经历一个完整项目开发的过程,培养和提高学生的实战技能和团队合作能力。3、实训与毕业设计。专业实训课程与毕业设计尤其是毕业设计作为教学计划中的最后一个环节,是对学生大学四年学习的知识掌握情况和技术运用能力的检验。可以由学校教师和企业工程师共同担任指导老师,以增强学生工程实践能力以及职业素质。4、创新性学习项目与创新实践活动。引导学生开展广泛的创新性学习活动。包括参与教师科研项目,参加各级软件工程相关专业竞赛,参加专业认证考试活动,主持或参加创新性项目等,以增强学生创新意识与创新能力。

(二)建立多层次实验体系和各类实验的比例

实验教学体系是培养学生实践能力、工程能力和创新能力的关键。为此建立了软件工程专业课程体系、实践体系与能力体系关系模型。基于该层次关系模型,建立软件工程专业实验教学体系。实践教学体系是基于专业基础课程层、专业技术层和应用方向层建立的,分为验证性、设计性、综合性、创新性实验四个层次:1.验证性实验。验证性实验一般与相关课程同步进行,培养学生基本技能。2.设计实验。在验证性实验基础上进行规划,培养学生设计能力,具有承上启下作用。3.综合性实验。在验证性设计性基础上,进行专项综合实践,培养学生综合实践能力。4.创新性实验。在综合性设计性基础上进行,以培养创新意识与创新能力。同时也增加并优化了设计性、综合性、创新性实验内容及占相关课程比例。

(三)建立软件工程专业实践过程管理平台

软件工程过程化的管理是保证实践教学的重要环节,为此建设并完善了软件工程专业实验、实践项目实践管理平台。该平台集各类教学资源(电子教案、课件及相关视频教程等)、讨论答疑、远程在线辅导、创新实践等于一体,极大地增强了学生自主学习能力、实践能力和创新能力。为增强实践体系的最终实施效果,还建立了实践考核体系,主要包含下面几个方面:1.验证性实验。程序设计能力,代码编写及调试能力;(30%)2.验证性综合性实验。系统分析、设计、测试能力、文档写作能力;(50%)3.创新性实验。团队协作及复杂算法创新能力、技术创新能力。(20%)与此同时,实习、工程实训体系从下面几个方面进行重点考核:1.业务能力考核:完成实习(项目)进度能力;完成质量;文档的规范性;英文阅读能力。(60%)2.综合素质考核:工作积极性;自我学习能力;制度、纪律的遵守;团队协作能力。(40%)

(四)深入开展校企合作与创新创业教育活动

通过辽宁维森公司和中软国际两个实习基地,有针对性地开展课程设计与实习,提高了学生综合实践能力。逐步加强企业工程师对学生工程实践的指导,提高了学生工程实践能力与创新创业能力。在深入开展校企合作的同时,我校电信学院还积极引导大学生开展各类创新创业教育活动,参加每年的校级、省级、部级各类计算机比赛,建立软件创新团队并申报成为校级创新团队。通过创新竞赛与创新团队训练使学生在基本能力、综合实践能力、创新能力等都有较大幅度提升,本专业毕业生的就业率与就业质量明显提高。

四、结束语

软件工程专业论文篇2

第一、要知道软件的生命周期和毕业设计的相对关系,从设计产品开始,通过产品的开发使用到最后的退出舞台,都为这个软件的生命。

第二、在软件的生命周期里需要完成的任务有提出问题的定义,分阶段的调查和编写软件数据和设计文档等在实现阶段主要需要完成的则是编写毛和对他的测试工作,需要根据他的说明书把这些转为程序代码,并成单元的测试,使其编写。

第三、确认他的测试阶段,根据要求进行总的测试,并对用户提供测试结果,这个极端是对应论文的论文评审,和答辩阶段。

软件工程专业论文篇3

自2012年以来,宿迁学院软件工程专业进行了3+1教学改革,此番改革不仅仅是在后面的1年中让企业深度参与到教学培养过程中,还将前面的3年课程尤其是专业课做了工程化改造,对课程教学进行了深度改革。本文以宿迁学院软件工程系课程为例,探讨了传统教学模式中存在的问题,分析了我校引入翻转课堂教学的基础条件,介绍了我校的数据库系统原理课程应用翻转课堂的教学模式。

一、应用型本科院校引入翻转课堂教学的必要性

(一)应用型高校对软件工程专业人才培养的要求

应用型本科院校的软件工程专业,应力求在遵循统一指导方案的同时突出与应用型人才培养相适应的知识结构特色以及课程体系,以培养适应市场需要的应用型软件专业人才。宿迁学院正处于应用型本科高校建设发展阶段,按照教育部的卓越工程师教育培养计划[3]要求,我校软件工程系积极探索并建立了3+1人才培养模式,对课程设置、教学形式等进行了调整和改革,强化了企业的深度参与性培养以及学生的工程能力和创新能力的培养,着力打造一批批能直接上一线工作的本科高素质应用型人才。

对于软件人才的培养,进行引导性、启发性以及贴合实际的实践训练是很有必要的,为此,我校软件工程系加强了课程改革建设,从课前、课中、课后多角度改进教学方法,让学生提高自主学习的能力,通过对知识点的内化转换为自身的实际技能。在这种背景下,教学模式的改革就呼之欲出了。

(二)传统课程教学模式中存在的问题

以我校软件工程系的大多数专业课程教学为例,大多的理论和实验课都是按照传统教学模式开展教学的,理论课主要是以教师讲为主,上机实验围绕课堂上讲解的案例,学生按步骤操作完成,教学方法单一。

这种传统的教学模式存在有不少弊端[4],课堂教学效果不佳。课堂上仍是以老师教授为主,属于填鸭式教学,学生难以主动融入,学习效果不好,不利于培养学生的实践和自主学习能力。学生在实践课上主要是围绕理论课上的案例进行学习,这样就不能让学生自主发挥和进行创新性的深入学习,属于被动式的接受知识,也不能进行个性化教学。受实验室使用的局限性和课时的影响,学生在2~3节上机课上无法完成一些复杂的环节,如从系统建模的角度对数据库项目系统进行需求分析、软件设计等。

这些教学问题成为制约课程建设、学生能力培养的瓶颈,所以探求一种新的教学模式成为我校软件工程专业课程改革的必然趋势。

(三)翻转课堂教学模式的引入

翻转课堂教学模式下,教师在课前进行知识传递[5]即教师按照教学内容的知识点进行细化、整理,录制小视频,学生课前观看视频教学,在此过程中教师还可对学生进行在线辅导。课堂上,主要是进行知识的内化[5],教师根据学生前期学习的困难情况组织课堂教学,主要采用引导式、研讨式教学方法给予辅导,促进学生知识的内化。课后,通过项目练习等作业形式达到让学生巩固知识的目的。翻转课堂教学模式充分发挥了教学中学生的学习主体性,加强了学习中的互动性,让学生获得了个性化教育,真正达到了以学生为中心、因材施教的教学效果。翻转课堂教学模式的出现,为我校软件工程系3+1教学改革带来了新的思路和方法。

二、翻转课堂教学模式实施的基础

(一)教学内容及方法的改革

教学内容的选取应注重理论联系实际,要根据企业和市场对软件人才的需求,将重要的知识点和相应的技能训练联系起来进行讲解和实践。例如,教学数据库系统原理课程,在讲解知识点时可以用学生成绩管理系统、图书管理系统、题库管理系统等为载体设置教学内容,以项目驱动教学,将理论知识融入项目开发中,通过项目案例的分析、设计来启发和引导学生去思考和建模,让学生了解数据库课程的原理最终要如何应用到项目实践中,同时锻炼学生独立思考和创新的能力。而上述的教学内容和方法的改革与翻转课堂教学的理念是一致的,这样就为专业课程构建翻转课堂教学提供了改革的基础。

(二)信息化网络平台的保障[6]

我校有泛雅网络学习平台,该平台为实施翻转课堂教学提供了便利的支撑。教师可以在网上课件、教案、视频等教学资源,可以根据知识点布置任务、作业,与学生交流讨论并提供答疑,还可以进行阶段性的测验等。该平台还有手机APP端,学生可以随时随地进行同步自主的学习。泛雅网络学习平台为数据库课程翻转课堂教学提供了软硬件环境的保障。

(三)学生自我学习的能力的保证

文献[7]调查显示了大学生自主学习状况,其中64.13%的学生能主动完成学习任务,22.34%的学生能在教师督促下完成学习任务。我校的定位是培养应用型人才,学生大多要通过在校专业课程的学习掌握知识和技能,然后能直接到一线工作,所以学生的学习需求性和主动性较强。学生根据各自对专业课程的学习需求定位,对所学的知识点的学习要求也有所不同,翻转课堂教学的实施可以保证学生利用碎片化进行个性化学习。

三、翻转课堂教学模式的实施构建

在翻转课堂教学模式的实施构建中,以我校软件工程系实施构建的数据库系统原理翻转课堂教学为例,在课程开始时做好小组分配,因为软件专业的学生大约有50人左右,所以每班就分为10个小组,每个小组配有相应的组长,负责组织和督促小组成员的学习和集中性的讨论。[8]

(一)课前的知识传递和自主学习[9]

教师主要是将每次课(理论课和上机课)的重难点进行碎片整理,每个知识点制作一个相应的短小视频,在课程资料中还可放入教案和幻灯片课件等扩展资源。例如,在第一章节中我们给数据库基本术语做了一个短小视频,附上了相应的术语的幻灯片课件,教师提前一周通知,要求学生在指定时间内即课前根据视频和课件完成自学,达到前期知识传递的目的。

学生在课前自主查看和学习,并根据自身的学习和掌握情况制订学习进度,下载教师事先准备好的教学资源。为了确保学生的课前学习效果,在进行任务点设计时,都会有相应的问题设计,这些问题也要体现出层层学习、循序渐进的过程,要求学生回答部分或全部的问题,在此过程中教师可对学生进行答疑和引导性指导。例如,在基本术语任务点中,教师提供了5个选择题、5个填空题,让学生在看完视频后完成小作业,教师通过网络学习平台上统计的作业成绩开始设计课堂教学环节。

(二)课堂知识点的内化

翻转课堂的核心就是要使得学生最大限度地内化知识点,因而在课堂教学中需要学生高度参与。进行数据库理论教学时,首先在刚上课时我们会让学生进入泛雅手机APP端,要求学生现场完成10~15题的选择题。这些选择题的设计难度要超过学生在自学时的作业难度,题目设计要体现出由浅入深的过程,且要能够体现出这次课的重难点,学生在做好后直接能看到自己所错的选题以及正确的答案,也就明白自己所学知识点哪些掌握得不透彻,继而在课堂中就知道自己要特别注重哪部分知识点的理解了。而教师可以利用统计功能查看到每题做错的人数,教师会根据错误结果对共性的一般知识点做统一示范讲解,对扩展性知识做引导性、启发性讲解,对个性问题进行小组化指点。

实验课的翻转课堂教学采用的是项目训练研讨式[10]教学,教师也是先提供实验内容的基本素材,和理论课程的翻转课堂教学模式相似。不同的是,实验操作中教师是通过小型项目驱动教学的,这些项目既要覆盖教学目标,又要有拓展训练的余地,对于设计性、综合性的实验可通过小组分工协作完成。教师通过实验课上各个小组的进程和面临的问题进行小组个别化指导。

(三)课后的巩固复习

经过了课前自主学习、课中知识的内化,大多数学生都能掌握重难点了,但学习是需要温故而知新的,所以翻转课堂教学中教师要及时对知识点进行总结,让学生能将内化的知识外化为自己的技能应用。我们在泛雅网络平台中按章节设置了考试和测验,测试的结果学生会直接看到,然后对于一些不能自我理解和消化的知识点,学生也可以在讨论区中阐述对知识点学习的困惑或新的认识等。经过这样一轮完整的学习,学生就能真正掌握专业知识,并且最大限度地做到了学以致用,达到了翻转课堂教学的最终目的。

软件工程专业论文篇4

关键词:CDIO;软件工程;课程体系

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)10-2415-03

CDIO 工程教育模式是近年来国际工程教育改革的最新成果。CDIO 是构思(Conceive)、设计(Design)、实现(Implement) 和运作(Operate)四个英文单词的缩写[1]。CDIO 工程教学模式是一种倡导以工程项目为主线,将项目研发不同阶段涉及的知识与课程进行有机的结合,教师针对课程在工程项目的地位,运用多种教学方法引导学生进行主动学习,强调学生的学习主体性,注重能力培养的一种教学模式。

1 软件工程专业应用型人才培养理念

1.1 人才培养目标

软件工程专业要求培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,能在IT行业、科研机构、企事业中从事软件工程项目的开发与测试、网站开发、网络游戏设计的高素质应用型人才。

1.2 基于CDIO模式的人才培养过程

CDIO 理念下的软件工程专业人才培养以软件工程项目为主线,采用理论、实践、案例分析、综合项目实践和工程化毕业设计的一体化教学模式。在整个人才培养过程中,按照软件工程项目的基础知识、分析、开发、运行和维护的流程组织教学,同时培养学生具有较强的外语能力、扎实的软件工程基础知识,并熟练掌握软件开发与测试技术,熟悉服务外包软件开发流程。

软件工程是注重系统化和工程性的专业, 其内容具有厚基础、更新快、实践重等特点,这些特点决定了软件工程人员要具备坚实的理论基础、一定的工程实践能力和创新能力。本着培养“技术基础厚、应用能力强、综合素质高”应用型技术人才为宗旨,软件工程专业的教学安排如下:第一学年主要学习公共基础课程和部分专业基础课程,使学生掌握从事软件工程领域的专业基础知识,培养学生的数学工程职业基础和人文素养;第二学年主要学习专业基础课程和专业核心课程,重点结合工程项目进行“做中学”,形成自主学习、团队协作和计算机软件基础及软件工具软件产品的基本工程能力;第三学年主要学习方向核心课程和专业拓展课程,引进当前软件开发新技术、新方法和新平台,采取合作探究式学习方法,培养软件系统与应用及软件工程软件管理能力;第四学年主要进行综合项目实践类课程的学习,塑造学生软件工程能力、团队协作能力,对学生的职业岗位能力进行训练,使学生在进入岗位前就具备较好的工程经验,实现从学校到职场的转变。

1.3 项目贯穿学习过程

CDIO模式的核心就是项目教学,可将企业真实项目直接引入课堂,也可以由教师设计项目,要求项目涵盖该教学任务的大多数知识点,并且能有明确的阶段性目标。在项目教学中,教师的身份也就集工程师、导师、教师“三师”为一体,从软件项目的构思(C)、设计(D)、实现(I)到运行(O),教师的工程化指导至关重要,这就要求教师进行自身工程实践的经验积累。项目教学中采用过程化考核方式,以成果为考核依据。

2 软件工程专业综合能力素质的分解

2.1 综合能力素质分解原则

软件工程专业综合能力素质的分解基于以能力培养为主线,突出实践性、发展性和工程性,注重学生的基本人文素质、职业基础和创新能力的培养,注重学生潜在发展能力、职业适应能力和职业迁移能力的养成,注重专业素质和身心素质的锻炼培养。同时结合区域产业发展,强调专业素质和非专业素质并重。

2.2 综合能力素质分解

结合CDIO模式的特点,软件工程专业核心能力分解为项目构思阶段的计算机软件基础(CSE)能力、项目设计阶段的软件工程软件管理(SEM)能力、项目实现阶段的软件系统与应用(SSA)能力、项目运行阶段的软件工具软件产品(STP)能力,非专业技能素质的数学工程职业基础(MEP)能力和基本素质(BAS)贯穿这个项目的CDIO模式过程。CDIO模式下的软件工程专业综合能力素质分解如图1所示。

3 基于专业综合能力素质分解的软件工程专业课程体系模型

专业人才的培养要体现知识、能力、素质协调发展的原则。科学认识和分析知识、能力、素质的辨证关系,以“知识是基础、是载体,能力是知识的综合体现,素质是知识和能力的升华”先进理念为指导思想,要设计适当的知识为载体,实施素质和能力培养;设计适当的知识群构成知识体系,要强化知识体系的设计与建设,使专业教育内容的每一个教学模块构成一个以知识体系为载体,实施素质和能力培养有效的训练和学习系统。

3.1 课程体系开发思路

课程体系是达成人才培养目标的有力支撑,科学合理的课程体系会促成高端技能型人才的培养。根据专业综合能力素质分解的结果,基于CDIO 的软件工程专业课程体系的构建原则从以下几方面进行考虑:

1) 充分发挥工程性的专业特点,基于CDIO培养大纲设置课程体系,实现学校与企业零距离接轨。

2) 注重公共基础课程、专业基础课程、专业核心课程的课程设置, 借助当前主流的软件开发平台,做到软件开发语言和技术四年不断线。

强调学生工程性、技术性、实用性、系统性、综合性、复合型和适应软件工作流程等素质的培养,实现“熟悉软件工程技能、更完整的系统级认识、掌握某一方向的软件设计开发技术和适应软件企业的英语加计算机能力”四个目标。在这一阶段中,综合考虑主干专业课程和特色课程的设置,全面考虑课程之间的关联,强调统一设计、统一规划。

3) 结合区域经济发展特点,根据软件的新兴技术和行业软件的发展需要设置专业选修课, 形成独特的教育内容、教育途径和教育体系。

4) 遵循软件行业的先进性、灵活性、工程性原则。

3.2 模块化平台课程体系框架

按照顶层设计的方法,软件工程专业教育内容由普通教育内容、专业教育内容和综合教育内容三个类别,公共基础(通识教育、基本素质)课程平台、学科及专业基础课程平台、专业(核心)课程平台、专业拓展(选修)课程平台、集中实践教学项目平台等五个平台及13个教学模块构成:

普通教育内容包括:①人文社会科学,②自然科学,③外语,④体育,⑤实践训练等教学模块。

专业教育内容包括:①本学科专业基础,②专业核心,③专业方向,④专业实践训练等教学模块。

综合教育内容包括:①思想教育,②学术与科技活动,③文体活动,④自选活动等教学模块。

课程体系中五大教学平台之间的关系如图2所示。

各平台的内容包括:

1)公共基础课程平台

该平台是依据人才培养规格而设置的,包括较宽广的基础课程、通用课程。包括英语、政治理论课、德育和体育、数学基础等。侧重培养基本素质、职业素质和职业道德。主要课程有思想道德修养与法律基础、思想、邓小平理论和“三个代表”、马克思主义基本原理、中国近代史纲要、大学英语、体育与健康、高等数学、大学语文等课程。

2)学科及专业基础课程平台

该平台是依据软件工程学科来设置课程,侧重于软件工程中的专业技术。包括软件基础课程群、硬件基础课程群和理论基础课程群等,主干课程包括顺序开设的程序设计基础、数据结构与算法、工程数学等课程。

3)专业(核心)课程平台

该平台是依据人才培养主线而设置课程,主要培养学生面向软件开发岗位群的应用能力,并为其解决实际应用问题打下坚实的理论基础。主要包括以下顺序开设的课程:面向对象程序设计、面向对象程序设计、建模课程、系统开发、软件工程、项目管理、软件质量保证、计算机网络等。

4)专业拓展(选修)课程平台

该平台是依据应用型本科定位而设置的。考虑到计算机应用型人才在知识结构上应具有知识面宽、基础扎实、应用性强的特点,在该课程平台上设置的课程具有学科知识面宽;理论深度稍低,学科知识在应用有针对性,共设计了职业素质、软件体系、行业软件应用、游戏软件等模块,设置了如下课程:国际软件工程师职业道德、软件体系结构、软件项目管理、物流信息技术、大宗商品交易系统、管理信息系统、RIA编程技术、游戏脚本编程、3DMAX建模制作、心理学、Flas制作、中国文化史等。

5)实践教学项目平台

4 人才培养评估

CDIO 模式下的软件工程专业人才培养模式以提高学生工程实践能力为本,注重培养学生的工程基础知识、个人能力、人际团队能力和工程系统能力。在CDIO工程教育模式中,参照 CDIO 标准11,采用多元化过程式的模式评估学生的软件工程能力和职业素养。其中,工程能力主要从软件开发与实现、软件测试与质量保证、软件建模、软件开发过程管理、软件方法、文档写作和英文阅读写作能力等方面进行评估;职业素养主要从职业道德、职业素质、主动学习能力、行业知识技术和团队合作能力等方面进行评估。评估采用理论考核、实践考核、大作业和小组评价等方式。理论考核主要考查学生对软件工程基础知识的掌握程度,实践考核主要考查学生的工程系统能力,大作业主要考查学生对项目工程的理解和掌控程度,小组评价主要考查学生的团队合作能力。这种多种方式结合的考核模式能够比较全面有效地反映学生的工程构思、设计、实现和运行各个阶段的情况,促进学生全方位发展。

5 结束语

基于CDIO 的软件工程专业课程体系符合软件工程专业的工程性和学科性的特点,围绕软件工程基础知识、软件管理能力、软件系统与应用能力和软件工具和产品能力四个方面开展工作,创新了人才培养模式,加强了软件开发技术和工程方面的课程教学,这些课程通常都能使学生拥有自己的作品,教学效果良好。实践教学环节无疑是与企业无缝连接最好的渠道,通过设置多种方式的实践教学,使学生真实的接触企业项目,按照企业要求模拟软件开发流程,在毕业设计完成后,学生的实践动手能力达到企业要求。真正做到了“技术基础厚、应用能力强、综合素质高”,这是CDIO教育模式的本土化,为促进工程教育模式的改革和创新、卓越工程师的培养和现代职教体系的建设提供借鉴。

参考文献:

[1] 尹春娇, 沈桂芳. 探析CDIO模式在应用型本科院校软件工程课程实践教学中的应用[J].科技信息, 2012(31):15-16.

[2] 张锦华,丁新慧. 基于CDIO理念的创新型软件人才培养模型[J]. 周口师范学院学报,2012(9):119-122.

[3] 屈卫清. 区域产业发展与软件专业细分相关性[J]. 人民论坛, 2010(11):234-235.

[4] 田玲, 尹庆民, 马丽仪. 基于CDIO模式的服务外包人才培养探索与实践[J]. 科技管理研究,2012(16):164-167.

软件工程专业论文篇5

关键词:软件工程;课程体系;本科教育

1背景

中国信息产业部的数据显示,2008年中国软件产业整体保持快速增长态势,累计完成软件业务收入7572.9亿元,同比增长29.8%。与此同时,我国软件出口142亿美元,同比增长39%。企业对软件人才需求量在增大,估计人才缺口达到20万,而且这个需求将以每年20%左右的速度增长[1]。但另一方面,多数软件类应届毕业生在面临就业时却难以感受到这些数字所带来的欣慰,很多毕业生并没有顺利找到对口的工作。虽然这些学生身份上属于工程技术类的应用型人才,在目前IT产业蓬勃发展的大环境下理应有自己的一席之地,但结果却是“毕业即失业”表现得愈加突出。

软件工程专业具有巨大的发展潜力,但如何建设好软件工程专业?长期以来,国内高校软件专业主要以培养研究型人才为重点,以软件基础理论和系统软件设计为主干,目标是培养面向计算机与系统软件领域的研究型人才[2]。因此如何建立保证软件工程专业本科学生既具有可持续发展潜力又适应当前产业需求的新型知识体系,如何建立与企业应用紧密结合的先进课程体系、教学理念和教学方法,从而提高学生的综合能力,使毕业生在跨出校门时具备必需的素质,缩短从学生到企业员工的角色转换所需的时间,实现就业的“零适应期”是软件工程专业努力的目标。

国外高校在软件工程教育方面的一个共同点就是:根据各自国家和学校的特点,立足学生长远发展,培养适应社会需要与变化的人才。从软件教育的特点来看,西方著名大学有较完善的教育理念、教学手段和实验条件,有较长时间的实施经验,与企业有密切的合作关系,有一大批专家在从事计算机与软件的教育研究。这些大学的课程与我国现行的计算机和软件课程体系相比,理论更深,与新技术的接轨更快,实验和职业实践的比重更大,通过实验让学生掌握基本概念、提高分析问题与解决问题能力的力度更大。

国内高校软件专业主要以培养研究型人才为重点,以软件基础理论和系统软件设计为主干,目标是培养面向计算机与系统软件领域的研究型人才。软件专业学生在学生学科知识与实际运用有一定的距离。因此探讨如何建立符合国情,既面向当前产业需要又兼顾本专业学生发展潜力的知识体系、课程体系,是我们研究的主要内容。

2模块化的课程体系

我校软件工程专业申办于2004年,并于2008年开始招生。该专业成立的宗旨是培养高层次、实用型、复合型、具有国际竞争力的软件人才,要求学生在思维创新的基础上,提高技术创新和工程创新能力,提高软件工程实践和软件工程管理能力。我校在设置软件工程专业课程体系方面学习全国名牌大学如复旦、浙大等,并结合自己硬件及师资条件的实际,提出了如下几个设想:

(1) 合理设置课程模块,突出核心基础。

在软件工程领域,最新的、先进的软件技术文档、技术文献、发展研究等都是英文撰写的资料;合资、外资公司中的软件工程人员所使用的工作语言也是英语。因此在第一至第四学期我们对学生的英语能力进行强化训练,通过阅读、听力、写作和口语交流等方式提高其英语运用能力;在第二学期开始的所有专业基础课程、专业核心课程和专业选修课程中加入一定比例的专业英语训练,将英语融入到专业理论知识学习的过程中;同时开设几门专业课采用全英文教材,实行双语教学,达到巩固和不断提高的目的,为学生动手编写英文程序代码,查阅英文技术文献、文档扫除语言障碍。

(2) 合理设置专业入门基础课程模块,以引导为主。

以计算机导论为主,并以设置类型多样、专业覆盖面广的专业基础知识讲座或新生研讨课为辅,学生学习了计算机最基本的概念后,通过生动有趣的讲座获得更广的认识和了解。

(3) 合理设置专业核心课程模块,以应用为主。

专业核心课程关系到培养出来的软件工程人才质量。针对计算机学科需要,应设置相应的软件系统类课程、软件实现类课程、软件工程类课程以及相应课程的课程设计、实际项目开发为核心的软件设计及实现类的实践类课程。

(4) 设置专业方向选修课程,突出个性化发展。

结合时代需求,结合学生个性化发展需求,设置多个专业方向的模块化课程。设置跨大类专业选修课程,如计算机组成原理、编译原理和软件体系结构等;设置专业方向选修课程,如软件开发案例分析、软件开发新技术、软件文档写作等课程。学生可按需选修1~2个专业方向,有利于其发挥专业创新能力和专业个性化发展。

目前,我校软件工程专业课程体系架构如图1所示。

3实践教学体系

我院除设置模块化的课程体系外,还非常注重实践教学,并且构建了以项目为支撑的实践教学体系,具体开设与实践教学有关的课程如下:

第二个学期开设认识实习;

第三个学期开设面向对象程序设计课程设计;

第四个学期开设数据库原理课程设计以及.NET程序开发技术课程设计;

第五个学期开设Java语言课程设计以及UML建模工具及应用课程设计;

第六个学期开设J2EE技术课程设计及大型数据库课程设计;

第七个学期开设软件开发新技术课程设计;

第八个学期毕业设计。

针对合格的工程化软件人才所应具备的个人开发能力、团队开发能力、系统研发能力和设备应用能力,我们设计了以下4类阶梯状的工程实践课程。

程序设计实践课程:培养个人级工程项目开发能力,如面向过程程序设计(C语言),面向对象程序设计(C++语言)等课程设计。

软件工程实践课程:培养团队合作级工程项目研发能力,如.NET程序开发技术、J2EE技术、嵌入式软件开发(J2ME)等课程设计。

信息系统实践课程:培养系统级工程项目研发能力,如软件开发案例分析、面向对象系统分析与设计、大型数据库应用等课程设计。

毕业设计实践课程:培养开发软件所必备的设备应用能力,如软件开发新技术课程设计、毕业设计实践等。

我们感觉软件方面的技术五花八门,因此在专业核心课程设置上,注意其侧重点。我们将Java网络程序开发定为主要的教学方向,其中包括Java程序设计语言、网络软件开发技术、J2EE技术、以J2ME为主的嵌入式软件开发技术等。当然,我们兼顾企业实际用人的情况,开设了.NET程序开发技术等核心课程,详细的专业课程体系请参见图1。

4探索式学习

软件工程的理论和方法是从众多软件开发实践中总结出来的,但是对于缺乏软件开发实际经验的本科生来说,单纯地讲授理论知识往往使学生感到枯燥无味且难以理解。因此,我们收集和总结了一些软件开发案例,将这些案例贯穿于理论知识的讲解中,使学生真正理解这些理论知识,建立软件开发的系统化与工程化观念和质量意识。

(1) 从分析历史上的经典案例入手,诸如爱国者导弹、网络病毒攻击等。深入剖析导致软件失败的根本原因,从而引出软件开发的工程化发展方向,即以软件工程的原理和方法为指导,严格遵循软件过程规范和步骤。通过这些实例的分析,学生们逐渐改变软件开发等于编写程序代码的错误观念,开始认识到软件工程的重要性,有利于培养工程化的意识和观念。

(2) 软件过程是软件工程课程中的一个重要内容,但是对于开发经验有限的本科生来说,很难在头脑中将软件过程的抽象模型与实际开发联系起来,容易产生枯燥乏味的感觉。在教学过程中,我们从软件开发的实际案例中总结出5个不同的软件系统,结合这些系统的特点和开发策略,讲解瀑布模型、原型化方法、增量模型、形式化方法和基于组件的开发模型等。学生在思考、分析和讨论过程中更好地理解和体会软件过程的基本概念,有利于在实际开发中运用这些过程模型组织开发过程。

(3) 研究软件工程的实践特点,课程实验结合实际开发因素和参与乐趣。实践教学是本课程的一个重要的组成部分,它要求学生以开发团队(一个团队通常由3~5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队合作精神,使学生初步体会到一个软件开发项目全过程。

(4) 研究和建立适合小组式开发的软件工程环境。在小组式的软件工程环境中,使学生真正体验到一种有序的、可控的、协作的软件开发过程,在分析问题、解决问题、协调冲突、消除矛盾的过程中享受软件开发成功的最终结果。软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计,班级按项目小组进行分组,每组不得超过4人。每个项目小组选出项目负责人或项目经理,由其召集项目组成员讨论、选定开发项目。学生分工合作,学习软件开发小组的组织和管理,将项目开发各阶段的任务明确,熟悉软件开发环境,培养团队精神,共同完成该项目的设计任务。项目中的每项任务要落实到个人,实验在规定的时间内,由学生独立完成。

在整个教学过程中,我们也十分注重鼓励和引导探索式学习,学生通过文献查阅以及与软件企业人员的接触交流,真正体会当前软件工程业界的真实案例和最佳实践。课堂讲解避免“一言谈”的死板方式,采取课堂互动讨论,营造活跃、宽松的课堂气氛,鼓励学生结合课程实践中的问题进行专题报告和软件演示。

在常规的课堂教学之外,我们辅之以网络课程和扩展资源,鼓励学生根据个人兴趣和需要进行自主式的学习。同时,充分利用网络教学平台,加强师生之间的交流和学生之间的协作,引导学生积极思考和参与讨论,教师由知识的灌输者成为学习的引导者,学生由被动地接受教育变成主动地探索知识。

5改革目标

我校软件工程专业以培养掌握计算机科学基础理论、软件工程的知识和技能,具有软件开发能力、软件开发实践和项目组织的初步经验,具有竞争和团队精神,能在计算机公司及相关企事业单位从事软件开发、适应软件技术发展和社会需求的软件工程应用型高级专门人才为目标。我校在人才培养坚持遵循以下原则。

(1) 坚持通识教育与专业教育结合原则,即通识教育课程要着眼于加强学生的基础知识教育,着眼于培养学生的科学素养和人文精神[3]。

(2) 坚持以人为本,因材施教原则,即在保证人才培养目标和质量规格要求的基础上,充分考虑因材施教,注重学生个性的发展,扩大学生自主学习、自主发展的时空,面向社会和学生多样化需求,提供多样化的课程体系和教育指导,为不同志向、不同能力和不同潜质的学生创造相应的培养环境和条件。通过柔性设置专业方向模块,让学生结合自身兴趣、就业志向和人才市场需求,灵活地选择发展方向,以增强专业方向优势、职业适应性建立完善的、与课程体系配套的实训、培训的“双训”教学体系,使培养的人才更加适应社会和企业的需求。

(3) 坚持应用为本,学以致用原则,即以学校办学定位和服务面向为指南,立足于培养应用型高级专门人才的目标,强化理论与实践的结合,着力培养学生的创新精神和实践能力。在实践教学体系的设计上,按照基础、提高、综合3个层次和基本实验、技能训练、专业实习、科研训练、综合实习、社会实践6大模块构建创新精神和实践能力培养体系。

(4) 建立一套以软件工程为主线的教学、实训评估标准,以确保人才培养目标的实现。

6结语

我们认为,计算机科学技术的快速发展以及企业对人才的多元化需求要求我们将新的知识单元及时引进课程体系中,使课程体系的设置要有超前和发展的眼光,随时将一些新兴的、成熟的内容吸收进课堂教学,做到对课程体系、教学计划动态调整,保持课程体系的动态性、前瞻性。

软件工程专业课程体系必须建立在对软件工程专业人才的知识结构和综合素质的全面研究之上。按照软件工程专业人才培养目标和国内外软件工程人才的需求,培养出的人才的知识结构域应该包括软件开发新技术、现代软件工程、工程领域背景技术3个主要部分[4]。我们还将在课程体系设置、教学方法、教材编写等诸多方面,充分学习、借鉴和吸收发达国家计算机教育教学的先进经验。

注:本文受“以社会需求为导向的软件工程专业课程体系改革的研究”(校级重点教改课题)支持。

参考文献:

[1] 王晴. 印度软件业崛起原因及其对我国产业结构升级的启示[J]. 生产力研究,2007(3):104-106.

[2] 吴爱华. 全国高校软件工程专业教育年会论文集(2007)[M]// 适应时展 推进高等理工科教育改革. 北京:高等教育出版社,2008.

[3] 杨芙清. 全国高校软件工程专业教育年会论文集(2007)[M]// 软件工程教育的思索与实践. 北京:高等教育出版社,2008.

[4] 李彤. 软件工程人才培养的实践与思考[J]. 计算机教育,2004(10):15-17.

Research on Professional Curriculum Reform of Software Engineering

about Social Requirement-oriented

WEN Zhi-cheng1, CAO Chun-li2

(1.College of Computer and Communication, Hunan University of Technology, Zhuzhou 412008, China;

2.College of Commercial, Hunan University of Technology, Zhuzhou 412008, China)

软件工程专业论文篇6

一、引言

软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,研究重点是大型软件系统的分析与评价、规格说明、设计和演化,同时也涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等方面的内容。然而,软件工程开展近30年后,人们才对软件工程核心的知识体系达成共识。在国际上,ieee-cs和acm联合组建的软件工程协调委员会(swecc)了软件工程知识体系和推荐实践swebok2004[1],为软件工程职业实践建立了合适的准则和规范集,以作为产业决策、职业认证、课程教育的依据。基于swebok,swecc进一步定义了其中可以纳入教育程序的知识体系,包括本科生软件工程教育计划se2004中的seek、研究生软件工程教育计划gswe2009[2]中的cbok、软件工程职业道德规范和职业实践。

我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要本文由论文联盟收集整理求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。

通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:

(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。

(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。

(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。

(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。

因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。

二、生源基础分析

gswe2009对给出了软件工程硕士的三种主要生源:

(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;

(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;

(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。

在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。

三、知识体系分析

2004年8月,有全世界五百多位专家教授推出的软件工程知识体(swebok)和软件工程教育知识体(seek)两个文件的最终版本,包含了软件工程核心类的知识领域、基础类或前导类的知识领域以及其他相关领域的知识。2009年, gswe2009中的教育知识体系cbok主要来源于swebok,同时也参考了seek2004、incose2003和haskins2007。与swebok2010同步,gswe2009包含了一个新的知识领域ka(职业实践)和四个关于教育的ka(工程经济学基础、计算基础、数学基础和工程基础),同时两个在swebok中没有出现的ka(系统工程基础和职业操守指导)被加入了cbok。此外,cbok还调整了一些知识单元和知识点[4]。gswe2009由准备知识、核心知识、大学特有知识、选择性知识和顶点经验所构成。其中的大学特有知识有学生的入学基础决定,在整个硕士研究生的培养过程中,主要为学生设置学习专业核心知识之前的准备知识以及在学生职业实践课程中所需要的选择性知识,而顶点经验需要学生在学习专业核心知识和进行职业实践的过程中积累,因此,课程设置中准备知识和专业核心知识的设置以及学习方式尤为重要。

四、课程设置分析

通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:

(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。

(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于cmm 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。

(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。

传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。

在职业实践的第二步实际职业实践中,学生自己从课堂走出去,到实习基地、用人单位或者是校企合作的相关公司企业进行真正的软件工程实践,学习良好的职业道德,正规的软件工程管理方式,同时在实践中学习和总结自己的研究生学习过程,进入第三阶段论文撰写,这就避免了以往硕士研究生写论文闭门造车的现象,为论文提供了更好的实践依据,提高了硕士论文的质量,这一步通过从实践中回到学习上来培养学生的总结、概括、撰写文档的能力。

软件工程专业论文篇7

软件产业属于知识密集型产业,软件理论方法技术在不断演进,软件产业在持续快速发展,我国软件产业也在由低端向中高端发展提升。由于软件产业的战略地位越来越高,产业规模越来越大,软件产业的国际竞争日益加剧。软件产业的竞争归根结底就是软件人才的竞争,软件行业企业核心职业岗位对软件人才的职业能力和素质要求越来越高,对高端应用型软件人才的需求越来越迫切,本科软件人才的理论基础、知识水平和专业能力达不到这样的层次,而学术学位软件硕士研究生侧重于科学研究,实践动手能力、技术应用和创新能力等难以快速适应软件企业对技术骨干的现实要求,软件工程专业硕士正是针对这样的人才需求,为软件企业发展培养急需的高层次应用型软件人才。

教育部规划建设的应用科技大学是现代职业教育体系的高端职业教育,主要任务是培养中高端技术应用型人才。当前我校正在创建南京软件科技大学,我们软件工程硕士专业学位的办学定位就是要针对江苏省大力发展软件产业、南京市打造“世界软件名城”对高层次软件人才的迫切需求,为软件企业培养能将软件理论方法和技术应用到生产实践,解决实际问题,并能在生产实践中进行改进、创新和再创造的软件高端技术应用型人才,满足软件企业发展的需要,服务于地方软件产业、行业和企业的发展。

二、培养目标和规格

学术学位培养主要面向学科专业需求,针对科研院所和企事业单位培养从事科学研究工作的高层次专门人才,就业去向主要是学校、科研院所等,人才目标定位为专家、学者、教授、研究员等。专业学位主要面向特定行业的职业岗位需求,培养的是能将知识、技术应用到特定职业领域的高层次应用型人才,就业去向主要是专业知识技能要求高、职业素质要求高的工作岗位,培养出来的人才目标定位为职业领域高层次人才。

学术学位培养强调理论修养,重视知识的创新,注重探索研究能力和理论创新能力,核心是培养科学研究能力,旨在培养相关学科的研究型人才。而专业学位培养强调理论与实践的结合,重视知识的应用,培养以理论知识、方法技术的应用和创新为核心的实践能力,旨在培养具有高层次职业能力和良好职业道德的应用型人才。

中国电子工业标准化技术协会信息技术服务分会(简称ITSS分会)在工业和信息化部的指导下,研究制定信息技术服务标准,并力求标准服务于技术、产业发展,服务于市场需求,最终实现我国信息技术服务的标准化和国际化。信息技术服务标准,简称ITSS)中“信息技术服务从业人员能力规范评价指南一一设计与开发服务”中将信息技术服务从业人员设计与开发服务的职位体系分为六个职位系列,每个系列又分为不同的级别,具体包括:

1、软件项目管理:

4级——项目经理,5级——高级项目经理,6级——资深项目经理

2、软件架构设计:

5级——软件架构师,6级——资深软件架构师

3、软件需求/系统分析

3级——需求分析师,4级——高级需求分析师,5级——系统分析师,6级——资深系统分析师

4、软件开发

1级——助理软件开发工程师,2级——初级软件开发工程师,3级——软件开发工程师,4级——高级软件开发工程师,5级——资深软件开发工程师

5、软件测试

1级——助理软件测试工程师,2级——初级软件测试工程师,3级——软件测试工程师,4级——高级软件测试工程师,5级——资深软件测试工程师

6、软件交互设计

4级——交互设计工程师,5级——高级交互设计工程师软件工程专业硕士学位人才培养的目标针对的就是各个职位系列中的4级及以上软件人才,培养规格是以软件企业对高层次应用型软件人才的实际需求为导向,以软件企业高级岗位职业能力要求为标准,培养具有宽厚扎实的计算机和软件理论基础与知识水平,具有一定软件工程实践经验,具有良好职业道德,健康的身体和心理素质,善于团结合作和组织协调,具备很强专业实践和创新能力,能将软件理论方法和技术应用到软件企业生产实践,解决实际问题,并能在生产实践中进行改进、创新和再创造的应用创新型高级软件人才。

三、校企合作培养模式

学术学位培养以学校为主,主要是理论教学和参与科学研究。专业学位应采用校企合作人才培养模式,教学过程强调理论结合实际,突出应用创新能力培养,引入企业的实际问题,注重培养学生研究实际问题的意识和解决实际问题的能力,借助企业的环境条件和资源,把课程学习、专业实践、岗位实习紧密结合。

在信息产业、软件行业快速发展的时代背景下,南京、江苏、长三角区域的信息产业和软件行业的蓬勃发展为我校软件工程专业硕士人才培养提供了广阔的空间。一方面我们要针对软件行业、软件企业对高层次软件人才的需要而培养人才,另一方面,我们要依托软件行业、软件企业的资源和力量来培养人才,借助企业的环境条件和资源,把课程学习、专业实践、岗位实习紧密结合,走产学研相融合的办学道路,探索软件工程专业硕士培养的新途径,形成提高应用型人才培养质量的新机制,提升专业学位研究生的实践能力、工程能力和创新能力,提高软件硕士研究生培养与软件产业人才需求的匹配度。

具体而言,软件工程硕士专业学位人才培养可以从以下几个方面来开展校企合作

(一)校企联合成立专业建设指导委员会

通过成立校企联合专业建设指导委员会,可以把企业的人才需求规格,技术应用前沿和热点等引入学校,指导学校的人才培养规格定位,促进学校教学内容的更新。

(二)企业科研项目驱动学校人才培养

企业为赢得市场往往需要不断技术攻关和研发投入,而学校的专业学位研究生已经具备一定的技术攻关和科研能力,可以将企业的研发项目引入学校,驱动学校的人才培养,同时也可为企业降低成本,这对中小企业尤其具有现实意义。

(三)学校人才定向服务和支持企业发展

学校按照企业所需定向培养高层次人才,人才毕业后即可投身该企业,为企业的发展贡献力量。

(四)企业资源服务学校人才培养

作为实践性很强的学科专业,软件工程硕士专业学位人才培养需要较好的实验环境、条件、技术和设备支撑,并最好能有实际生产环境来进行实习实训,为此,可以将企业资源引入,服务于学校的人才培养,充分发挥企业的资源优势,降低学校的实验条件投入,避免浪费,提高整个社会的资源使用效率。作为回报,学校可以为企业提供人才、科研、技术等服务,实现合作共赢。

四、人才评价标准

学术学位人才评价标准的核心是学位获得者是否具备了扎实的基础理论知识,掌握了科学研究的方法,能够开展科学探索、研究和创新,可以满足科学研究工作的学科知识和科研能力需要。而专业学位人才评价标准的核心是学位获得者是否具备了特定社会职业所要求的专业能力和职业素养,具备了从业的基本条件,有良好的职业道德,能够运用专业理论、知识、方法和技术解决实际问题,满足特定领域高层次职业岗位的能力和素质需要。

具体而言,软件工程专业硕士学位人才培养的评价标准与学术硕士学位人才培养的评价标准在以下方面应有所不同:

(一)毕业论文

学术学位论文的质量评价主要以科研能力考核为主,学位论文强调理论价值和在未知领域的原创性发现和探究。而专业学位论文应侧重于理论联系实际,解决实际问题,可以结合生产生活具体问题或者实际需求选题,强调创新性的设计和应用,突出实践过程、应用价值和实际意义。软件工程专业硕士学位人才培养的毕业论文,可以结合企业的技术攻关、项目研发、产品创新等,采用系统设计、方案设计、产品设计、项目开发、调研报告等多种形式来体现,主要考核毕业论文工作的技术含量、创新性和实际应用价值。

(二)成果

攻读学术硕士学位学生的成果主要体现在参与纵向课题申报和研究、发表高水平学术论文等,而攻读专业硕士学位学生的成果主要体现在参与横向课题申报和研究、解决企事业单位实际问题、技术创新、科技成果应用和转化、社会服务、自主创业等。对软件工程专业硕士学位学生的成果考核,还可以将获得专利和软件著作权、设计开发的软件产品或软件系统、等纳入考察范围。

(三)职业资格

专业硕士学位是高层次的职业教育,是针对特定领域高层次职业岗位培养人才,职业性是专业硕士学位的特征之一。软件工程专业硕士学位人才培养可以将是否获得软件类相关职业资格证书作为人才评价的参考指标之一,引导学生积极对接职业需求,获得职业资格,为今后的职业发展奠定基础。

五、结语

软件工程专业论文篇8

关键词:自主学习;外文文献研读;软件测试;双语研究性教学

0、引言

软件测试是从事计算机软件开发和维护专业的人员应该掌握的一门技术。软件测试是软件工程中的关键活动之一,是保证软件质量的重要手段,其工作量通常占软件开发总工作量的50%以上,而对于某些可靠性要求极高的软件系统,如航天、银行等领域的软件系统,软件测试占软件开发总工作量的比例甚至达到60%~80%。软件测试的目的是发现软件中的错误,并及时修正这些软件错误,以减少软件在后出现错误,提高软件产品质量。软件测试是一项需要专业技能的工作,它包含许多理论和实践。如果缺少这些理论知识和实践经验,测试的深度和广度就不够,测试质量也就无法保证,从而导致软件质量达不到要求,影响软件的可信性。

由于国内软件产业的现状所致,很多的软件公司属于软件外包型公司,这些公司以软件开发为主。这样,软件工程专业很大一部分学生毕业后通常从事软件开发或者程序员工作,这也影响着学校对软件工程专业的设置。因此,当前高校在软件工程专业课程设置上往往将很大一部分精力放在软件开发课程的设置上,如各种语言的学习、软件开发方法的学习等。但是,软件工程不仅包括软件开发,还包括软件测试以及软件维护。大部分国外大型软件公司,如微软、IBM等公司,这些公司对软件测试非常重视。在这些公司内部,软件测试人员数量并不比软件开发人员少,因为一个优秀的软件产品最终是通过不断的软件测试进行验证和评价的。随着软件工程课程的不断完善,当前软件测试的重要性已逐渐得到重视,很多高校已将软件测试课程作为软件工程专业课程中的必修课程。该课程是软件工程的核心组成部分,是连接软件开发和软件的纽带。通过本课程的学习,学生要了解软件测试及其管理的重要性,掌握软件测试基本理论、技术和方法,具备研究设计测试用例和使用自动化测试工具的基本方法和实践能力,能将测试驱动的理念融入软件开发、维护的研究与应用中,从工程化角度提高和培养学生从事大型软件的测试技术和能力。

尽管软件测试课程已作为软件工程专业的必修课程,但从教师和学生两个角度对该课程的调查反馈发现,教师觉得该课程不好教,教学效果不好;而学生感觉该课程较空洞,没有发现其在实际软件开发中有多大的应用。这主要因为在传统的软件测试教学中,学生只是被动地参与,听教师授课,听教师讲授各种软件测试概念和方法,但学生并没有真正学到这些理念,并没有对这些方法进行应用。所以这种传统的软件测试教学方法效果很难令人满意。

扬州大学信息工程学院将软件测试课程作为一门双语研究性课程进行试点改革,探讨如何更好地进行软件测试课程的教与学。本文将以该学院软件工程专业软件测试课程为例,探讨学生自主学习的软件测试双语研究性教学方法。笔者作为该课程的授课人实施了本文的软件测试教学方法,其目的是研究如何促进学生进行双语研究性教学,促进学生主动学习软件测试新技术,从而让学生学到软件测试课程中的一些测试理念,让他们了解软件测试在整个软件开发过程中的重要性。

1、软件测试双语研究性教学

软件测试双语研究性教学主要包括三方面内容:教学、研究、实践。这三者在软件测试双语研究性教学中的关系是:以教学为本学习,以研究为重点突破,以实践为辅助训练。下面分别介绍这三方面的内容:

1)教学方面。

软件测试双语研究性教学和传统的软件测试教学一样,根据软件测试教学大纲进行教学,主要包括软件测试基本概念、软件测试基本方法、白盒测试、黑盒测试等。由于研究性教学过程中加入了研究,所以教学是以基本的测试理论和技术为主。另外,在教学过程中,由于本课程属于双语课程,所以教学过程中采用英文PPT,中文授课方式进行教学。另外,教学主要以启发式教学为主,让学生更多参与课堂讨论,由于本文主要讨论研究方面,所以这里对教学不做详细讨论。

2)研究方面。

本课程采用的是研究性教学,因此研究是本课程的重点和特色。本课程所采取的研究方式主要以学生自主学习为主,采用阅读文献的方式。由于本课程是双语教学,研究过程中所提供的文献材料全部是英文论文,这些材料都是从当年软件工程领域顶级国际会议中选取的有关软件测试方面的最新技术和方法,这样有助于学生开阔视野,了解最新的软件测试技术、方法,及软件测试发展的方向。这一部分的实施方法将在第3节进行详细介绍。

3)实践方面。

软件工程是实践性很强的专业,同样,软件测试也是如此。需要通过不断的实践才能理解和掌握软件测试技术,将测试理念贯穿到软件工程项目中。本课程软件测试实践主要包括三方面内容:一是验证性实践,熟悉已有测试工具,学会使用这些工具,并利用已有测试工具生成测试用例;二是自己开发软件测试工具,主要根据研读的论文进行工具的设计和开发;三是软件测试工具的验证和评估,主要是对自己开发的工具进行验证和评估。一方面利用已有测试工具来验证当前软件测试工具,另一方面,利用已有软件测试知识评估测试工具在故障识别方面的效率,这有助于学生更深地掌握软件测试技术,了解什么样的测试技术是好的测试技术或者方法,是有效的测试工具。这一部分也不是本文的重点,因此不详细展开讨论。

2、软件测试双语研究性教学特色

本课程作为扬州大学软件工程专业的试点课程,采用双语研究性教学方式进行课程的授课和学习。对于双语性教学,主要采用英文材料,中文授课;而对于研究性教学,主要是让学生进行自主学习最新的软件测试技术和方法,研读相关的英文论文,进行专题报告和讨论,并鼓励学生开发实现这些技术。因此,在本课程的教学过程中,主要体现了5个特性。

(1)自主性:让学生从给定的英文材料中自主选择学习材料,自主组建团队,自主与英文材料作者联系、沟通、交流和讨论。

(2)协作性:学生必须要组建团队,团队成员数量由2~4人构成,团队之间相互协作、配合,共同完成整个研究性学习过程。

(3)互动性:在学习过程中,必须要与论文作者沟通和交流,真正把握论文作者的真正意图,并尝试提出自己的见解,与论文作者进行讨论。

(4)实践性:要能够实现论文材料中的软件测试方法,在工具开发过程中,鼓励学生采取测试驱动的开发方法,并利用所掌握的软件测试技术去测试自己的工具。

(5)研究性:在研读论文过程中,要对论文进行深入的讨论和研究,特别是对作者的思想以及未来工作、论文中的不足进行研究,提出可能的解决方案。

3、软件测试双语研究性教学实施

笔者主要针对软件测试双语研究性教学过程中的研究过程的实施进行讨论。在本课程中,研究主要是采用学生阅读文献的方式进行自主学习的研究,主要针对当前最新的软件测试技术进行学习和研究。研究性教学具体的实施过程如图1所示。

首先,教师从当年软件工程顶级国际会议中选取软件测试相关的研究技术论文放入文献库中。这样的文献库主要用于学生对当前软件测试的学习和研究。对于本科学生来说,独立地去研读这些最新技术还有一些难度,而且时间上也紧张。因此,研究性学习主要采取团队方式一起研究,这样学生进行自由分组,并且每个小组指派一名学生作为小组组长负责该小组的研究性学习进展。

有了文献库以及学生分组后,就进入自由选题阶段,即各个小组从文献库中选取自己感兴趣的论文。在各小组确定自己的研究论文后,进行论文的研读。在论文研读过程中,要求每个小组每周至少讨论一次,讨论各小组的分工任务完成情况,对原文的理解情况,以及对遇到的问题进行讨论,并且项目小组要及时记录这些讨论记录,每周发送给任课教师。另外,在研读论文过程中,每个小组要用英文与论文作者进行沟通与交流(如果作者没有回复,可以选择与课程教师进行交流),并将交流过程中的对话记录下来作为课程成绩考核的依据。

在论文研读后,需专门安排几节课进行专题报告和讨论,主要用于检查各小组对原文的理解情况。专题讨论内容包括三方面:一是学生对论文内容的理解;二是学生需要提出对论文的见解和观点,挖掘论文可能存在的问题或对论文中的未来工作部分提出见解;三是本小组研读论文的体会分享。在专题报告中,我们还邀请了学院的一些其他教师参与进来与学生们一起讨论,一方面,教师对各个论文本身进行点评;另一方面,教师对各个小组的表现进行点评。另外,在专题报告中,强调学生的参与,就是大家要多提问,多讨论。

专题讨论后,各小组要对原文中软件测试技术进行实现。其中,在软件测试技术实现过程中,鼓励采用测试驱动的软件开发方法;另外,需使用已有的软件测试技术和工具进行测试。在完成开发软件测试工具后,需要选择一些例子进行软件测试技术的验证。最后,各个小组需要提交一份总结报告,主要是关于技术实现进行总结,包括这几方面内容:对论文原文的理解或技术改进,采用的测试技术和工具,技术改进效果的验证和评估。

4、实施效果

该课程已在2012-2013年秋学期的扬州大学软件工程专业的一个班按照本文教学方式进行实践。该班学生40人,我们从2012年ICSE(International Conference on Software Engineering)、FSE(Symposium on the Foundations of Software)、ISSTA(Symposium on the Foundations of Soft-ware)、ICST(Intemational Conference on Sottware Testing,Verification and Validation)、ICSM(Inter-national Conference on Software Maintenance)等国际顶级会议上选取了44篇软件测试相关的论文作为学生学习的资料库。然后让学生自由组队,每组2~4人一起研读论文。最后组队15组,选择了15篇论文进行学习和讨论。在研读论文过程中,建议学生自己与论文作者用英文进行交流和讨论,讨论论文中不能理解的内容;在研读完论文后,我们组织了专题报告,报告主要包括三方面:一是论文主要内容;二是学生对论文的看法以及学生自己的想法;最后就是分享研读过程中的体会。另外,我们鼓励学生用英文进行报告(其中一组采用英文进行报告)。专题报告过程中我们还邀请软件工程系相关教师一起进行点评。

通过这样的学习,大部分小组完成得较好,基本能理解论文内容,也提出一些想法和改进措施。在研读论文后,学生对论文内容和自己的想法进行实践,实现相关技术并进行实验验证。几个月的学习后,大部分学生对这门课的研究性教学方式比较认可。我们以问卷的方式对学生进行了调查分析,调查主要包括对课程教学方式的认可,对自己收获的认可等。发放调查问卷40份,收回有效调查结果28份。该调查问卷由11个问题组成。前10个是选择题,如表1所示,是对当前教学方式和教学效果的同意或支持程度,由1~5这5个选项构成,其中1表示非常支持(同意),2表示支持,3表示无所谓,4表示不支持,5表示严重不支持。统计结果如表1所示。最后一个调查问题是关于这门课程的建议。从表1中可见,学生还是比较渴望学习新的知识,比较认可这种学习方式;另外,学生对自己的学习效果也比较认可。最后,无论从考试效果,还是学生的反响来看,这门课所采用的教学和学习方式是比较成功的。该教学方式也得到学院的认可,所采用的教学方式也得到科技日报、新华报业网等主流媒体的广泛关注和报道。

推荐期刊