软件专业论文范例6篇

软件专业论文

软件专业论文范文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

一、软件行业人才需求现状

1. 企业用人学历要求走高

据中国软件行业协会《2013年中国软件与信息服务业人才发展报告》(以下简称《报告》)调查统计,从全国软件企业对软件人才的需求来看,本科学历需求量最高,占51.6%,其次是大专学历,为36.2%。《报告》显示,2013年,软件企业对应届专科毕业生的不满意反馈比例最高,占到17.3%,表示比较满意的企业仅占35.2%。而对应届本科生毕业生的不满意率有所下降,为13.3%,但比较满意的评价也有所减少,仅为27.8%。相对而言,应届研究生更能得到软件企业的认同。

以上各项数据表明,企业对软件人才学历的要求已经呈现逐年走高的趋势。特别是90后进入职场以后,这一趋势更加明显。不难理解,自2011年开始,人口出生数量低谷导致生源数量急速下降,使得部分高校面临严峻的生存危机。为了完成招生指标,高校不得不降低门槛,伴随而来的就是生源质量的下降。随着90后进入高校,这种现象愈发显著。这也就迫使企业提高员工的学历要求,本科越来越成为最低入职门槛。

2. 软件行业技术的要求

伴随着移动互联、云计算、物联网、大数据等新技术新应用的飞速发展,软件技术呈现出两种走向。一种是面向移动互联等技术,以短平快的轻量级产品开发为主,要求开发人员不仅掌握开发技术,还要有比较开阔的视野,要对美工、产品设计、用户体验等多个领域有所领悟。另一种趋势是面向框架技术、云计算、物联网、大数据等背景,软件产品趋向于航母级规模,要求在某一领域技术非常精专的同时,要对软件有较高层次的视角和更全面的认识。无论是面向哪一种走向,对从业人员的要求都是越来越高,越来越全面。这也是对从业人员学历要求日趋走高的重要原因之一。

二、软件工程专业内涵

我国软件工程教育经过多年发展开始逐步走向成熟。2005年教育部组织编写了软件工程专业规范,2006年成立了软件工程专业教学指导分委员会,其重要任务就是要根据现代软件工程人才的培养要求,不断发展和改革软件工程专业教育,而改革的目标和重点在于培养高质量的、适应社会经济发展需要的软件人才。

软件工程专业是一门关于如何构建有效、实用、高质量软件的技术性学科。它涉及到计算机应用技术、程序设计语言、数据库、软件开发工具、系统平台、行业相关标准、设计模式、软件开发方法、软件开发过程、软件开发环境、软件测试技术、数字化技术、计算机辅助软件工程(CASE)、软件质量管理及软件经济学等方方面面的内容。由于软件工程要求应用计算机科学和数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量和成本的管理,因此,软件工程也是一门实践性非常强的学科,融合了计算机科学、数学和管理科学等现代科学。综上所述,软件工程专业的学生必须学会将理论原理和实践相结合,不仅要具备良好的软件设计能力,还要能够超越计算机学科获得其他应用领域的专业知识,从而支持其他应用领域软件系统的开发。

三、探索应用型本科的职业教育特色

目前,开办应用型本科专业的院校有两大来源,一是普通高等教育转型而来,二是原有高职院校升格而成。在开办应用型本科软件工程专业的过程中,既不能照搬原有高职专业课程体系,也不能一味模仿本科院校教学计划,而背离本科教育的优势和职业教育的特色。比较合理的思路是在尽可能保留现有专业优势的同时,将本科层次的优势和职业教育的特色有机结合。

1. 专业课程设置

无论是哪类院校开办应用型本科软件工程专业,都会在原有课程基础上设置部分新课程,还有部分课程虽然与原有课程名称相同或相近,但内涵和定位会有所区别,需要重新建設。因此,一项重要工作是研究课程关系,探索建立科学合理的课程体系,并在此基础上,确定各门课程的内涵。

为了顺应软件行业发展的趋势,应用型本科设置的专业课程,应突出深和新两个特点。一类课程在理论上有一定难度、深度,在某一领域引领学生深入开发或研究,并培养学生的专业理念,如操作系统、数据结构、软件工程以及一些框架级开发技术等类型的课程。另一类是新技术方面的课程,体现行业前沿技术和发展趋势,用以拓展专业视野,如移动互联应用开发、虚拟化技术与云计算、大数据处理技术等类型的课程。

高职、研究型本科和应用型本科的人才培养定位各有不同。高职层次的目标定位是培养技术技能型人才,普高研究型本科的人才培养目标是高素质研究型人才,而应用型本科的专业培养目标是高新技术应用型人才。因此,两种来源的院校在设置专业课程时,切忌简单照搬原有课程内涵,即使课程名称相同,教学内容也应有所区别。理论为主的课程,如上述操作系统、数据结构、软件工程及框架技术等类型的课程,在满足理论深度要求的同时,一定要保证理论与实践相结合,使理论能落地,避免空洞理论的堆砌,避免口说无凭。而在实践性较强的课程中,如软件开发、实操类课程中,要注重渗透理论性、理念性的内涵,强调精、专,内容上有一定的深度和广度,避免泛泛而谈,避免知其然不知其所以然。

因此,应用型本科的课程设置要注重理论深度和广度与坚持课程体系和课程内容的实用性和应用性相结合,才能较好地在满足本科层次要求的同时突出职业教育特色。

2. 校企合作共建软件工程专业

在建设职业教育特色的软件工程专业过程中,发挥行业企业的作用,可以有效地为校企合作搭建平台,开展企业参与办学、指导学生就业、资源共享、战略合作等一系列工作。

企业参与制定专业发展规划,可以对学校的办学定位、专业发展方向提出可行性建议。通过企业调研访谈,可以了解行业最新技术动态和用人需求,修正课程体系和课程内容设置的偏差,及时更新教学内容,共享先进技术,利于专业发展与行业需求无缝对接。

以专职或是兼职教师的方式引入企业人才,可以有效解决因新技术发展过快等因素而导致的师资力量不足和师资队伍培训的问题。组织学生到企业参观和实践,使学生了解企业工作模式和工作流程,感受企业文化,可以为今后就业作好准备。企业与学校共建实训基地,提供校外实习场所,选聘技术专家指导实习,协助落实学生就业,利于学生快速适应社会需求,实现就业的平稳过渡。

企业可以共享学校的场地、设备、人力等资源,学院可以共享企业的管理经验、企业信息、用人需求信息、软件项目和研发技术等资源。企业和学校合作完成科研项目,积极推进先进技术和科研成果转化,可以实现校企双方互利互赢。

总之,校企合作共建专业是达成为企业输送合格人才的办学目标,突出职业教育特色的便捷途径。

软件专业论文范文3

一、研究背景

软件工程是高校计算机专业教学计划中的一门重要课程。软件工程的课程体系涉及了从客户沟通,软件设计,软件开发,软件测试到最终软件维护等软件生命周期各个阶段。既是一门理论性极强的专业课程,更是一门实践性很强的课程。近年来,全国各大高校均将软件工程作为计算机及其相关专业的一门重要专业课程。计算机专业的学生通过软件工程课程,学习作为软件从业人员需要掌握的基本专业能力,为未来从事计算机软件相关的各类工作,提供理论及方法的指导。可以说,学好软件工程,对计算机及其相关专业的从业人员来说都是一门必修课。

二、教学现状

在当前的软件工程课堂教学当中,部分院校采用纯理论课堂讲授的授课形式,另一部分院校则采用理论讲授与实践实训课程相结合的授课形式。然而,从教学内容来看,当前软件工程的教学内容,主要集中在传统方法学,即传统的软件工程学。对于面向对象方法学来说,很多新的知识方法还涉及不足,特别是软件模型化,构建技术,UML统一建模语言等等一些当下社会流行的软件工具和方法。同时,实践环节较少,实践效果不够理想也是软件工程教学中普遍存在的问题。目前可供该课程选用的合适的实验项目甚少,所以学生通过实验课程所达到的效果与教学要求存在较大的差距。另一方面,学生对理论知识的理解不足。软件工程是一门计算机领域的综合性、工程性学科。涉及软件生命从萌芽、成型、成熟、生命结束的各个周期阶段的工作和任务。学习者似乎能听懂,可听完后大部分学生还处在似懂非懂的阶段,真正需要动手时,不知道该从何下手。在近年来的教学实践过程中发现,一些理论知识,过于抽象晦涩。与实际的应用需要相脱节,学生对很多知识理论,只停留在概念阶段,难以消化,更无法理解理论知识在实际的软件设计、开发、测试、维护中究竟何时何地可以运用,具体又该如何操作。理论与实际的结合仍存在很多不足。这一方面与课程理论研究性较强有关,另一面也与教师本身长期在院校从事较单一的教学工作,缺少工程项目经验,脱离实际的生产及软件开发场景,难以将理论与现实情境很好的结合传授给学生。在计算机专业毕业生的毕业设计中,也集中体现出了学生不能把理论知识有效地运用到实践活动中的问题。学生并没有真正掌握基础理论及运用理论的技能和方法,所以在进行毕业论文设计时,不能将软件工程的理论充分运用到他们的设计实践中去,从而导致设计开发的软件和撰写的文档在结构、内容等方面错误百出。

三、改革思路

(1)研究并解决软件工程教学中存在的新兴软件方法不足等问题。结合现有的专业培养方案,教学大纲,制定教学计划,改善软件工程教学现状,研究传统软件工程技术在教学改革中占的课时比例及应当讲授的内容,增加研究面向对象软件工程技术在教学改革中的地位及讲授的方式、内容和课时量。(2)研究并解决软件工程课程实践性不足,学生学习停留于理论阶段的问题。结合理论课程的内容,增强软件工程的实践性,与一些软件开发的实训课程相结合,增加学生的实践机会,将软件工程理论应用于实践当中,提高学生对课程的理解和现实认识。(3)研究并解决学生对理论知识理解不足,课程停留于课堂教学,脱离实际运用,学生难以满足应用型人才培养目标等问题。根据教学计划,教师请教并邀请相关企业的软件资深从业人员,与学生开展专业知识交流活动。以企业中实际可行的软件项目为案例,为学生讲解软件知识,让学生理解软件工程的理论知识如何有效的融入实践当中。并加深学生对课程、对当今计算机领域流行的专业知识及未来从业方向,对计算机专业从业现状的认识,真正做到应用型人才的培养。可以安排学生到企业进行调研,参与实际的企业项目。(4)研究并解决学生在毕业设计及毕业论文的完成过程中,缺少理论支撑,不能合理规范化完成设计的问题。将软件工程专业知识与计算机专业毕业设计相结合,在毕业论文指导的过程中,重视软件工程理论的应用。以软件工程方法学,软件过程,项目管理等相关知识软件工程相关理论指导学生的毕业设计,力求整个毕业设计过程达到模块化、规范化,正规化。

参考文献

[1]张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2018.2

[2]崔含鼎,梁仕云.现代教学系统工程模式论[M].广西教育出版社,2001.

软件专业论文范文4

关键词:日文软件人才;教学模式;项目训练

计算机科学与技术专业的本科毕业生就业情况不理想是一个不争的事实,但这并不是因为市场不再需要这方面的人才。相反,市场对于软件开发人才的需求量非常大。

日文软件人才需求的现状

软件外包是一些发达国家的软件公司将软件项目通过外包的形式交给人力资源成本相对较低国家的软件公司开发,其目的是降低软件开发成本。目前,全球软件外包市场规模已达1000亿美元,并以平均每年29%的速度增长,在目前全球的软件产值中,三分之一都需要通过软件外包来完成。软件外包已经成为世界软件产业发展的一个重要趋势。

近年来,

“六双”教学模式在人才培养过程中的实施

在“六双”教学模式下,日文软件人才的培养具体采取了如下措施。

优化软件工程专业的任课教师采取“双师”配置,由学校的教授、讲师主讲专业基础课程以及相关的理论课程,聘请企业具有丰富日文软件项目开发经验的工程师讲授技能训练的课程并进行案例教学。通过“双师”的教学,使学生在较短的时间内掌握软件理论和编程技巧。

将日语作为学生的第一外语为了满足日文软件外包人才培养的需要,在语言教学的设置上,软件工程专业在外语教学上将日语作为学生的第一外语,英语为学生的第二外语,跟踪学生语言的学习效果并适时进行调整。毕业生的日语水平应达到日语二级水平,训练有素且深谙日本企业文化,能胜任日文软件开发和应用工作。根据不同的需要,在完成各层次技术课的基础上,还应加强日本语言、日文软件开发流程与规范、日文软件项目管理与企业文化、项目实战等针对日文软件设计开发的专业知识与能力培养。

取得职业资格证书在学校“双证书一体化”培养模式下,使学生在学习期间通过专项的技能训练取得劳动部门认证的职业资格证书,并参加人力资源和社会保障部、工业和信息化部组织的计算机技术与软件专业技术资格(水平)考试,从而取得人力资源和社会保障部颁发的专业技术资格证书。

实行互助教学模式在教学环节上,为了充分调动教师的积极性,通过采取“主讲教师+助讲教师”的互助教学模式,既充分发挥主讲教师的理论水平和实践经验,学生又可掌握助讲教师熟练的编程技巧。

为技能训练创造优异的教学条件虽然国内外提出了不同的软件人才培养模式,但是不管采用什么样的教学模式培养人才,如果培养人才的过程中没有实际项目做支撑都是纸上谈兵。要想提高学生的技能水平,就必须在技能训练上创造条件。可是,使所有学生深入企业实习又是不现实的。我们结合软件工程专业的人才培养定位目标,引进工程教育的理念。为此,我们针对软件工程专业建设,以培养软件应用型人才为目标,以实际工程项目实训为手段,以市场需求为导向,设计开发了软件技术实训平台(以下简称平台)。平台包括用户信息管理模块、理论知识学习、协作交流、软考训练及工程实践等模块,为软件工程专业的学生提供实时在线的服务,最终达到增加学生软件项目实际设计经验,实现企业需求与人才培养对接的目标。日文软件人才培养在技能训练上实行机房教学模拟训练与企业项目实际训练相结合的方法;在实验实训环境建设方面,利用软件人才工程项目训练教学管理平台为学生提供较为严格的软件项目的训练环境,培养学生掌握与企业项目开发接近的技能水平;在学生具备了相当的技能水平后,安排学生到企业完成企业项目实际训练,使学生能够近距离地接触软件企业的项目开发过程。此外,在教师的指导下,学生还面向学校和社会承揽一些软件开发项目,在项目的开发过程中,锻炼学生实际软件开发能力;还可以通过参加各级专业竞赛,在竞赛中提高学生的软件开发能力。学生实行“基础理论+工程实践”的培养模式:先完成“公共基础和专业基础教育”;然后进行“专业案例教学”、“对日软件开发专业教育”的学习。从教育模式上,先主要完成基础语言教学和专业基础课程的教学,让学生系统地接受软件开发和项目管理方面的语言(日语和开发语言)基础、数据库基础、网络基础等方面的教育,从而夯实专业基础知识。“专业案例教学”又可大致分为两个阶段,但是这两个阶段可以根据实际情况相互交叉和重叠。第一个阶段主要进行“软件案例教学”,第二个阶段主要进行“工程实践教育”,通过让学生在校进行相关的专业课程设计以及在企业进行生产实习、综合课程设计、毕业设计、顶岗工作等方式锻炼工程实践的能力。

充分发挥学校教学基地和企业实践基地的优势,全面提高学生的师范能力和实践水平在教材建设方面,学习国外教材的设计理念,配合案例式教学思想,编写符合本专业教学需求的教材。日文软件人才的培养目标是既能动脑、又能动手,具有较高知识层次、较强创新能力的复合型实用型人才,能够服务于滨海新区的对日软件外包。采用“基础理论+工程实践”培养模式,专业基础教学与案例及工程实验教育并重,通过校企合作等途径切实保证学生的实训实习效果。为了使该专业发展更加符合社会人才需求,体现我们的办学特色,也为学生的就业和个人发展提供更多机会,一方面,使学生在学习结束之后成为既掌握良好理论知识,又具备突出的实际操作能力的实用型人才,与社会接轨,能被企业所用;同时面向企事业单位和日本市场,成为具有创新意识的软件工程技术人才。另一方面,从学生发展方面,强化学生专业理论和实践能力全面发展的素质,依据学生不同的需求,在侧重于培养符合日文软件外包服务行业要求的同时,增设师范选修模块以保证学生的师范能力,从学生自身的特点和社会需求出发,打造实用人才,拓宽学生就业和发展渠道。

参考文献:

[1]谢安邦.高等教育学[m].北京:高等教育出版社,1999.

软件专业论文范文5

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

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中可见,学生还是比较渴望学习新的知识,比较认可这种学习方式;另外,学生对自己的学习效果也比较认可。最后,无论从考试效果,还是学生的反响来看,这门课所采用的教学和学习方式是比较成功的。该教学方式也得到学院的认可,所采用的教学方式也得到科技日报、新华报业网等主流媒体的广泛关注和报道。

软件专业论文范文6

【关键词】软件测试 教学改革 软件测试工程师

【基金项目】2015年中央高校基本科研业务费专项资金项目“C程序代码级内存缺陷的充分性检测技术研究”(15CX02050A)。

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2015)09-0229-01

一、引言

随着软件产业的迅猛发展,软件的复杂性也日益增加,导致对软件的质量提出了更高的要求,这也使得软件测试工程师成为每个软件企业都不可或缺的技术人才。“软件测试”就是一门培养软件测试工程师的专业课[1],本课程较为系统的介绍了软件测试的基本理论、测试方法、测试过程以及常用测试工具等内容。本课程知识的掌握将为学生系统的掌握软件工程知识体系以及毕业后从事软件测试、软件开发等职位打下良好的基础。

如何扎实有效的培养软件工程学生在软件测试领域既具有理论基础、又具有工程实战能力,目前许多软件工程专业教育者进行了积极的探索 [2-4]。我校软件工程专业已入选山东省卓越工程师培养计划[5],为了执行国家对软件工程专业卓越工程师培养的精神,融合学校的“三三三”培养体系[6]的顶层设计,以贯彻培养理论扎实、具备工程实践能力、创新能力强、适应经济社会发展需要的高质量软件工程师为目标,我们也在软件测试课程的培养方案、课程结构、教学方法和考评体系等方面进行了一系列的改革和探索[7,8]。其中最为重要的改革是借鉴CDIO(Conceive-Design-Implement-Operate)工程教育理念,落实了“基于项目的教学”方法,增开了大量的课程设计和综合实践环节,在理论教学的同时注重了工程实践能力得培养。

二、“软件测试”教学面临的问题

“软件测试”课程的已有的教学改革改善了教学效果,但是由于传统的教学方法依然影响着教学,所以目前的软件测试课程教学过程中依然面临一系列问题。

(一)教学内容抽象,学生学习兴趣不高

软件测试是软件工程知识体系的九个知识域中理论性最强的一个知识域,必然造成软件测试教材与教学内容较抽象。目前,软件测试课程教学中普遍存在着理论教学偏重的特点,扎实的理论素养是卓越工程师的必备基础,但是即便对于软件工程专业的本科学生,也欠缺软件项目的实际开发经验,所以课程内容的抽象性增加了学生对课程内容的理解难度。为促进学生对理论知识的理解与应用,必须结合软件测试的课程特点,将抽象的内容分化到软件测试过程的不同阶段中,并采用相应的测试工具体现测试的方法,再应用于教学案例,才能促进学生对抽象的测试理论知识的理解与应用。

(二)教学内容碎片化,学生没有完善的测试知识体系

按照软件开发过程的要求,软件测试是贯穿于整个开发过程的一项活动。而在教学中,软件测试的理论出现了割裂,各知识点呈现碎片化,理论内容与实际的软件测试流程不同步。将不同的测试理论与方法进行了分割,这样利于教材内容的安排以及教学内容的组织,但这也必然造成教学内容碎片化,学生形成不了一个统一的测试理论框架,难以把握所学的理论与方法在软件开发与测试的过程中如何应用。为促进教学效果,有必要基于软件测试过程,定位软件测试的介入点,在不同的介入点进行理论知识的分配,形成一个以软件测试过程为主线、各理论知识在介入点进行分配的鱼骨图式的软件测试理论知识体系。

(三)轻视测试工具应用,培养的学生与企业需求难以衔接

因为软件测试方法众多,这也造成有大量可选的软件测试工具。虽然工具的培训是培养卓越工程师的一个必备环节,然而卓越工程师的培养毕竟不等同于职业教育,不能只是简单的掌握一个测试工具,而应该了解测试工具所体现的测试理论、所适用的测试阶段以及所应用的场景。在进行测试工具培训锻炼的同时,必须结合所讲授的测试理论,以及该工具适用的测试过程与测试场景。为了全面的掌握各种具有代表性的测试工具,需要搭建一个测试工具箱。

(四)教学案例简单,学生没有完整的测试思路

因为理论知识碎片化的讲授,也造成目前教学中只能采用简单的案例,简单的案例虽然有助于学生对具体测试方法的理解,但是难以融会贯通的掌握对一个完整项目的测试。为此,需要基于鱼骨图的软件测试理论知识体系,精心设计能够贯穿整个测试流程的案例,并有必要设计不同类型的案例,形成一个分层次、分类别的测试案例库,以保证对各种测试方法的掌握。

(五)学生对软件测试存在认识偏差,缺乏从事软件测试职业的意愿

目前国内软件行业依然蔓延着“重开发、轻测试”的观点,这种观点也延伸到软件工程专业的教学中,导致部分学生对软件测试这个职业存在认识偏差。这就要求软件测试课程需要从原来偏重理论讲解、学生欠缺软件测试训练的教学中摆脱出来,应该与软件测试工程师要求的能力培养集合起来,注重理论培养的同时,加强与软件测试职业的衔接,增设对软件测试工具的训练,加大基于案例与项目的实战训练,通过工程能力的培养以加深学生对软件测试的正确认识。

三、总结

为了执行我校软件工程专业的卓越工程师培养计划,解决“软件测试”教学中存在的上述问题,我们计划在已有的教学改革基础上,提出“方法为基、过程引导、工具跟进、案例贯穿”的“方法-过程-工具-案例”四位一体的教学方法,以解决目前“软件测试”课程中存在的诸多问题。

本文分析了“软件测试”这门课程随着卓越工程师培养、研究型教学的要求下在理论培养与工程能力训练等方面逐渐显露出的各种亟待解决问题,只有充分认识到这些问题,才有可能针对问题进行教学改革,进而培养理论与功能能力具备的软件测试人才。

参考文献:

[1]吴春雷, 刚旭, 张俊三. 基于“卓越计划”的软件测试类课程改革[J]. 计算机教育, 2014,11:88-91.

[2]李月龙. 高校软件测试课程教学改革研究[J]. 计算机教育, 2014,7:16-18.

[3]邓松. 递进式软件测试创新人才培养模式研究[J]. 计算机教育, 2014,7:5-7.

[4]周雪妍, 林泽鸿, 罗秋滨, 路雯靖, 刘玉利. 软件测试技术四面体培养模式的探索与研究[J]. 教学研究, 2013,5:56-58.

[5]张国平等. 软件工程卓越培养计划的研究与设计[C].软件工程2011年会,2011,10.

[6]刘华东. 构建“三三三”培养体系 推进本科教育迈向更高目标[J]. 中国高等教育, 2012,18:34-36.

[7]吴春雷. 面向应用型软件人才教学模式的探索与实践[J].中国成人教育, 2014.04:124-126.

[8]张国平,吴春雷. 软件工程专业核心课程案例化教材的规划与设计[J].高等理科教育,2013.10:85-87.