欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

软件技能论文大全11篇

时间:2023-02-27 11:15:57

软件技能论文

软件技能论文篇(1)

软件价值论:软件具有独立价值随着硬件制造技术日益进步,越来越多的机构甚至个人购买计算机处理事务,计算机的使用情况发生了很大变化:一方面,使用目的日益丰富;另一方面,用户大多不具备开发软件的技能。于是,能否提供易用、可靠的软件成了评测信息系统的重要因素,软件的重要性日益突出。为了保护自身利益,开发者不再提供源代码,甚至要求用户付费购买软件。对软件的旺盛需求促使研究者反思硬件和软件的关系,并形成了软件价值论,即软件不是硬件的附属品,而是具有自身独立的价值。软件价值论深深地影响了中小学信息技术教育,无论是学习编程还是学习多媒体处理,都离不开软件的支持。在很长一段时间里,软件操作成了信息技术课程的焦点。

开源共享论:开放源码共享智慧开源共享论来自开发人员对软件价值论的反思,他们认同软件的价值,但反对闭源或设置软件专利等手段。他们认为,软件、通信协议等是人类智慧的结晶,不应掌控在少数商业机构手中,而应开放给全人类自由使用,开源正是保证这一权利的必要手段。经过长期努力,开源精神开始从软件开发向其他领域延伸。近年来,随着软件行业垄断的加剧,很多国家希望借助开源获得信息产业上的突破,开源共享的呼声日益高涨。与此同时,在中小学开展开源文化教育得到了更多关注,我国一些省市已明确把开源文化纳入课程。

软件技能论文篇(2)

一、引言

软件工程作为计算机科学与技术专业本科的核心专业课之一,是一门应用性、实践性、综合性很强的专业课程。研究的范围非常广泛,包括技术方法、工具和管理等许多方面。近些年来,软件工程发展迅速,新的技术方法和工具不断涌现。是一门集理论、应用与实践为一体的学科。通过学习,使学生能够掌握软件项目从定义、开发到维护的一般过程,掌握指导软件开发的各种方法,能够利用工程化的原理、技术和方法进行软件项目的分析、设计、实现和维护,为今后从事实际的软件开发工作打下良好的基础。

二、软件工程课程的特点

与计算机科学中的其它专业课程相比较,软件工程课程具有以下特点:

(一)软件工程发展迅速

为了摆脱“软件危机”的困扰,软件危机从20世纪60年代末开始迅速发展,现在已经成为计算机科学技术的一个重要分支,特别是随着全球软件产业的蓬勃发展,软件工程已经成为一门异常活跃的研究学科。在过去十几年中,软件开发方法百家争鸣,除了传统软件工程和面向对象软件工程外,还出现了面向构件软件工程和形式化软件工程等,软件辅助工具也层出不穷。

(二)文理综合类学科

软件工程是指导计算机软件开发和维护的一门学科,采用工程的概念、原理、技术和方法来导软件的开发和维护。主要讲述软件工程的基本原理、概念和技术方法,同时也涉及工程方法,管理,经济等文科类学科,与理工类的其它学科相比,可以说软件工程是理工类中的综合文科类知识的学科。

(三)工程性要求高

软件工程课程讲述的软件开发和维护的原理和方法,很多都是启发性规则,即专家和学者在软件开发,运行和维护实际工程中的经验和教训的总结,仅在课堂上讲授理论就像纸上谈兵,只有理论联系实际,通过将理论应用到实践工程中去,才能达到学以致用的目的,才能更快的适应社会的需要。

三、软件工程课程的教学改革

针对软件工程课程的特点,传统的只强调理论学习的教学方法很难取得良好的教学效果,我们从以下几个方面对软件工程的课程教学进行改革。

(一)案例驱动的理论教学方式

理论教学仍然具有非常重要的地位,首先要加强学生理论基础知识的掌握。软件工程讲述的原理,技术和方法都是抽象的,为了让抽象的理论教学容易理解和接受,我们按照如下步骤逐步展开软件工程课程的理论学习。

1、软件工程产生的历史背景以及它的基本原理、概念和方法;2、软件生存周期,以及各个阶段的任务、过程、使用的工具和具体方法;3、软件工程的管理技术。

在理论讲解的过程中,讲解重要理论的同时,要结合案例进行分析,这样一方面减少理论学习的枯燥性,提高学生学习的热情,另一方面,理论联系实际,使学生更好的掌握所学理论,增强学生的实践能力。

同时,在理论教学上可以采用多种教学形式相结合的方法,帮助学生掌握必要的理论知识。

(1)多媒体教学。理论课采用多媒体教学手段,制作大量课件。这些课件可以形象化地讲授软件工程基本原理,并且在同样的一节课内能比以前传授更多的知识。由于课堂时间有限,我们将部分内容制作成课件供学生自学,以便于学生课外扩展自己的知识面。

(2)双语教学。软件工程尝试实施双语教学。采用国外优秀的原版教材,课件和作业大部分采用英语作为工作语言,并鼓励学生使用英语进行交流;同时,给学生提供英文的课外阅读资料,以使他们及时了解国际最新发展。  (3)研讨式教学。软件工程课程的特点也要求师生互动,组织学生展开讨论。让学生参与教学过程,有机会发表自己的看法。用理论和经验去引导和启发学生,鼓励学生勇于发表意见特别是提出新见解。讨论之后,同学们进一步理解和掌握了课程内容的方法和步骤,这个过程让学生觉得感受很深、收获颇大,通过课堂讨论和分析实验,使理论有实践做支撑,抽象的知识变得看得见,用得着,大大激发了学生学习的兴趣和自信。

(4)远程教学。在软件工程的教学中,通过建立软件工程学习论坛网站,为学生更好学习提供了一个平台。网站为学生提供学习资料,下载相关业界信息;了解软件工程发展动态。学生也可以通过网络进行在线、离线的交流;同时,网站也经常开展课程的专题讨论和专家在线讲座。

(二)案例分析应用的实践教学方式

1、各生命周期实践分析。在进行理论学习的同时,加入上机实验环节,对于软件工程的每个生命周期,计划适合的小规模案例,学生通过对每个生命周期案例的分析和设计,掌握每个生命周期重点要解决的问题,以及如何具体的解决问题,提高学生解决每个生命周期中遇到的具体问题的能力。为以后的完整案例设计打下基础。

2、综合知识运用的完整案例设计。在这一过程中,主要通过小学期的课程设计来完成,是软件工程实践的集中环节,在这一环节中,学生通过对一个完整系统的研发,理解软件开发的流程和方法,使学生建立正确的软件工程思想。要选择具有目的性、典型性、完整性、真实性、易于理解的软件案例。这一过程主要步骤如下:

(1)选定一个规模适中的软件系统。

(2)对指定软件系统做可行性研究,在系统可行性的基础上,进行详细的需求分析,根据需要选择画出数据流图、数据字典和实体联系图,状态转换图等,写出需求分析说明。

(3)对该系统进行总体设计和详细设计,画出软件结构图,判定树等。

(4)编码实现该系统,并使用白盒测试技术或黑盒测试技术等对系统进行测试。

(5)验收所作软件系统,进行答辩。

另外,除了上述步骤提到的各种图形工具之外,也可以借助其他辅助开发工具。

(三)结合实践的综合能力测评

软件技能论文篇(3)

中图分类号:G642 文献标识码:B

软件技术类专业是指在计算机类专业教学中以软件开发、软件维护、软件工程管理等为主要专业定位,或是在此基础上的专业领域软件开发专业(例如游戏软件开发方向等)。近年来,在计算机教育方面,软件开发类专业得到了长足的发展,特别是在规模上,随着全国35所示范性软件学院的建立,全国各地也办了类似的旨在培养应用型软件高级人才的软件学院。然而,目前不容乐观的是,软件人才的培养从数量上说似乎已经满足了软件行业的需要,甚至已经有些过剩,但是从软件企业传来的信息确是软件企业“不招应届毕业生”、大量软件企业找不到合适的人才。这个一个侧面反映了软件类人才培养,还没有从根本上适应市场的需求,培养的人才的合格率还太低。

目前,软件类专业的教学改革可以说是个热点,特别是教育部批准举办的35所软件学院都在教学改革上做出了很大成绩。然而,大多教学研究都停留在实践教学改革,课程体系改革等具体操作的层面上。对于软件教育的规律是什么?软件类专业与其他传统学科有什么区别?研究者大都没有给出系统的结论。

目前,软件人才培养方面的研究和实践,归纳起来有以下几个方面的改革趋势:

(1) 机制创新。国家示范性软件学院和各地方的软件学院都对软件学院教学计划的制定给予了较大的自由度。办学收费标准也较高,使得软件学院的硬件设施普遍较之普通院系优越,这样一定程度上提高了培养质量。文献[1-2]都对此进行了有益的探讨。

(2) 实践环节改革。普遍把到企业实习看作是提高人才能力的好办法。实际上一些重点院校的学生本身素质和能力就较高,直接到企业实习效果较好,而大量普通院校的学生直接到企业实习实际效果并不太好。文献[3-4]分别研究了这方面的改革情况。

(3) 本科教育职业化。把本科教育完全改造成技术培训,完全扔掉本科教育基本培养规格。应该说把软件人才培养向职业培训转化是对原来普通本科教育的一个极端化改革,但是如果没有正确的软件人才培养规律作指导,这种改革势必会造成软件人才理论不扎实、后劲不足,所以,需要在对软件人才培养规律的清晰认识基础上进行改革。

本文分析了软件专业与传统专业的区别,指出了软件专业与传统学科,教学规律和认识规律的不同之处,在此基础上提出了软件类专业教学计划和课程体系编制的指导性原则。希望通过本文能够为同行提供一个新的视角。

1软件专业知识体系、能力提高模式与传统学科的比较

专业教育对学生的作用可以归纳为两个方面,一是专业、学科知识体系的逐步完善,二是解决学科问题能力的提高。图1表示了学生培养过程中专业能力提高和知识能力提高示意图。

图1中虚线表示传统学科的知识水平能力水平提高在大学教育过程中的变化,实线是软件技术类专业的情况。

在学科领域中,传统学科知识体系已经比较完整,工程化设计、计算方法已经相对成熟。学生知识提高的过程与能力提高的过程并不是完全同步的。大学教育单从学科能力提高方面说,可以说是一个比较封闭的过程,也就是没有学专业课之前,几乎无法使用专业的知识体系解决问题,就是说,解决专业问题能力的提高很大程度上是从学习专业课开始的。但是,由于传统学科的设计、计算等都已经比较成熟,对于同一个问题的解决方法基本差别不大,所以在学科基础课学好的前提下,学生可以在很短时间内,就能使专业技术能力有比较大的提升。

软件类专业则不同。一方面,即使没有雄厚的专业理论基础,也可以学会基本的开发技术(专业技术),但是其开发能力、水平的提高,必须在继续学习专业理论且不断实践中得到提高,其提高是缓慢的。可以说是一个渐进的过程。学生入学一年级就可以直接接触专业方法(即编程),具有初步的能力,然后随着专业理论课程的学习,在掌握知识的同时,逐步提高解决问题的能力,和解决问题的质量。也即知识的积累和能力的提高是同步进行、相互促进的。

2对软件学科教学体系的新认识

传统专业知识体系一般可由三部分组成:即自然科学基础、学科基础理论、专业知识和方法。例如针对自动化专业,其自然科学基础包括数学、工程数学、物理等;学科基础知识包括电路理论、电机与拖动、电子技术、控制理论等;专业课主要包括两个方面,一是工程化的控制系统设计方法,二是具体的控制电路及设备的选择或实现技术。这个体系的特点是,专业技术课的学习依赖于自然学科基础(如数学)。专业课的学习依赖于专业基础课的知识体系。也就是说,传统学科的知识体系可以说成是金字塔形。

而软件类专业从大的方面虽然也可以分成自然科学基础、专业理论、专业技术,但是三者之间的关系却和传统专业有本质的不同。专业理论知识依赖于自然科学基础,专业技术能力一定程度也依赖于自然科学基础;专业技术知识的学习对于专业理论的依赖并不明显,而专业技术能力的提高却依赖于专业理论的学习。也就是说,学会专业技术知识并不依赖于太多的专业理论,但是学好专业技术,提高解决问题的能力,专业理论必不可少,并且起到不可替代的作用。

所以,要改革传统软件类专业的教学体系必须先从认识软件类专业和传统学科的差异着手,将自然科学基础、专业基础理论、专业技术课程的传统教学体系,改为自然科学基础、专业技术先行,专业理论适当延后的教学体系。

图2粗略地表示出了两种教学体系的区别。图中横坐标是每个学期的学时数,纵坐标是学生在校的时间。在新的教学规律指导下的新的教学体系应该适当地延后学习自然科学基础的时间。专业技术包括利用开发语言开发平台,后期是专业开发的实践。专业理论逐渐展开,用专业理论课的学习促进学生专业能力的提高。最终,学生的知识体系并没有残缺,但是在学习期间能力的提高更符合软件学科的教学目标。

不难看出,软件技术类专业人才培养与传统学科有着很大的区别。只有理解和遵循这些规律,才能更好地高效率地培养软件人才。这些规律必须反映到人才培养方案的制订中,否则,就不可能培养出符合市场需要的人才。虽然软件类专业目前已经多样化,建立在软件技术基础上的专业和专业方向很多,但是作为软件技术的核心能力和知识体系还是基本相同的。所以,软件类专业的培养计划制订,必须遵守以下原则:

(1) 自然科学基础课程宽厚原则。如数学是软件技术类专业提高逻辑思维能力的重要课程,并且线性代数、离散数学、概率与数理统计等课程都会对程序员解决问题提供灵感。所以,在本科教学计划中,应该把自然科学基础作为软件类专业的最主要课程,同时在开设时机上,要改变过去必须在前两年开设完毕的思维,可以分布在学习的各个学期。

(2) 以核心能力培养为主线,兼顾不同专业方向。软件技术类专业无论专业方向如何,其核心能力都是相同的。概括来说就是两个能力,即程序及软件设计能力和软件工程能力。这两个能力,一方面是软件技术能力,一方面是软件工程能力,软件工程能力也是以软件技术能力为基础的。所以,在进行培养计划制订的工程中,必须把核心能力的培养放在首位,然后通过适当的计算机科学、通讯原理、电子信息等了解性课程拓宽学生的专业领域。

(3) 专业技术课程先期教学原则。这是和传统学科区别最大的一个原则。软件技术课程的学习一般来说并不依赖于软件理论课程,所以,软件技术课程可以先期进行学习。软件技术专业的技术课程很多,各种开发平台、开发语言,不可能在学校都进行学习。那么就只能选其中的一种语言一个平台,并且要彻底学会。具体选择哪种平台和语言反而并不是很重要(如果能兼顾毕业时就马上能用到的技术更好)。因为掌握某种开发平台、语言不是学生的核心能力,软件设计能力才是最重要的。很多本科教育的研究者担心只学习一个技术会使得学生专业面太窄,在计算机技术发展迅速的今天很可能所学的技术在学生毕业时已经成为陈旧的技术,导致学生不能适应社会的需要。这样的研究者忽略了一点,能力需要通过大量的开发实践才能锻炼出来,要进行能力的提高就必须依托一个载体,这个载体就是某一个具体的技术。学会了一个技术以后,就可以在不断的开发练习过程中,提高软件开发设计能力,提高快速适应不同语言和工具的能力。同时在实际工作中提高其社会活动能力、社会责任感、与人沟通的能力、合作能力、系统分析能力等,而这些能力与开发平台和语言是完全无关的。

(4) 专业技术理论适当延后原则。需要说明的是在这里我们使用了专业技术理论,而没有使用专业基础课的说法,这是因为,我们常说的传统专业的专业基础课与软件技术理论课有本质的不同。它不是解决学习专业技术课程的必备基础,而是为将软件设计得更好的理论指导。计算机专业的教师都会有这样的体会,教授软件工程、数据结构、编译原理等理论性较强的课程时,有一定编程经验的学生总是能够收获更大。也就是说,学生必须先会设计程序,才会对怎么才能把软件设计得更好感兴趣。所以,培养计划制订中一定要把这些理论性较强的课程放在学生基本掌握了一些平台和技术以后再进行,这样就可以有效地利用这些课程提高学生的软件设计和软件工程能力。

(5) 加强实践性环节改革,把实践性环节作为提高学生能力的关键环节。能力只能在实践中的得到提高,虽然很多软件学院都在开展实践性教学改革,但是大都没有摆脱“课程设计+毕业设计”的模式。实际上,培养计划的大部分课程都是为了培养学生的软件设计能力和软件工程能力,所以,片面地验证某一门课程的所学知识的所谓课程设计,并不能全面地提高学生的程序设计能力,每门课程的课程设计都是在低水平上的重复内容。所以,改革实践教学环节,要在增加实践环节时间的同时,改革实践环节内容,要使学生的设计能力随着知识水平同步提高,实践环节内容和要求一定要随着学习时间不断提高。

(6) 产学结合,提高学生的软件工程能力。这几年,软件教育方面,大多数学校也都注意到了产学结合的重要性。但是,到底通过产学结合到什么目的,却并不很清楚。笔者认为,软件设计能力的提高必须靠软件设计实践本身来提高,企业中的实际工作更多的是软件工程的能力,是非技术的。例如团队精神、工程规范、软件质量控制等,不到实际的软件生产第一线,是很难有体验的。所以,和企业的合作一定要在学生具有了一定的程序设计能力基础上进行。当然不排除在学习过程中,通过企业参观等方法提高学生的学习兴趣。

3结论

软件学科的工程化水平和其他学科相比还远远不够,软件学科的认识规律与其他学科有着很大的不同,目前的软件本科教育沿用了传统学科的培养模式,给人才培养造成了很大的影响。本文所提出的一些思考和原则已经在笔者所在学校的培养计划编制方面得到应用,起到了一定的作用。今后还需要继续按照这些原则不断改造培养计划,努力使我国的软件人才培养能够得到突破性改革。

参考文献:

[1] 黄细良,骆斌. 坚持机制模式创新 办好国家示范性软件学院[J]. 中国高等教育,2004(4):42-43 .

[2] 汪琳琳,焦慧敏. 软件学院办学模式初探[J]. 重庆邮电学院学报,2005(3):437-439.

软件技能论文篇(4)

作者简介:赵晓君(1979-),女,河南南阳人,郑州轻工业学院软件学院,讲师;黄艳(1976-),女,河南信阳人,郑州轻工业学院软件学院,副教授。(河南 郑州 450002)

基金项目:本文系郑州轻工业学院校级青年教师教学改革项目的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)07-0101-02

随着软件产业的快速发展,软件系统的规模越来越大,功能实现也越来越复杂,导致软件中存在的缺陷数量大大增加,这些缺陷将会带来各种损失,甚至出现灾难性的后果。因此,如何保证软件质量已成为所有使用软件和开发软件的人们关注的焦点。软件测试作为软件工程的一个重要组成部分,是目前用来验证软件是否能够满足用户需求功能的唯一有效方法,是保证和提高软件质量的重要环节。为适应软件产业的发展趋势和满足软件测试人才的大量需求,目前已经有许多大学在软件工程专业添加软件测试课程或者添加软件测试专业方向。

软件测试专业包含多门专业课程,有“软件测试理论”、“软件测试技术”和“软件缺陷管理”等,其中,“软件测试理论”课程重点为初学测试的同学讲解测试的基础理论知识,主要包括软件测试基本理论、软件测试方法和技术等,在多门专业课程中占有举足轻重的地位。

一、“软件测试理论”教学现状

“软件测试理论”课程重点介绍软件测试的基本理论,因此整个课程主要以教师讲授为主,在教学的过程中存在以下问题:

1.教学内容理论性较强,难以调动学生学习的主动性

对于初学软件测试的学生,首先要向其讲授相关测试理论,使其建立系统的测试理念。

但是学测试的学生大都是理科生,喜欢操作性强的课程,“软件测试理论”课程的理论性太强,需要背诵很多概念性的知识,这对于他们来说是比较困难,不能激发学习的主动性,教学效果不理想。

2.测试方法和技术案例实际应用价值不足,学生很迷茫

测试方法和技术是“软件测试理论”课程学习的重点和难点,这部分内容仅靠老师的讲解和书本上的案例很难让学生深入理解掌握测试技术的内涵,学生在学习这部分知识时会产生迷茫:学习这些知识有什么用处,在具体的项目测试中,应该怎样应用这些知识?没有实际的项目案例做支撑,学生会失去继续学习下去的兴趣。

针对上面的问题,本文提出将项目驱动法应用于“软件测试理论”课程的教学中,学生在进行项目实践的同时,根据需要学习软件测试相关理论知识,这样有助于提高学生的学习主动性,有助于理论知识的牢固掌握,有助于提高学生的实践技术能力,改善该课程的教学效果。

二、项目驱动法

项目驱动法是目前中国教育领域中一种比较新的教育教学方法。

所谓项目驱动法,是师生通过共同实施一个完整的项目工作而进行的教学活动,它既是一种课程模式,又是一种教学方法。[1]这里的项目根据课程教学内容的不同所包含的涵义也不同。在“软件测试理论”课程教学中,项目即指一个已经开发完成的软件测试工作。通常,项目教学都是实践导向的和任务驱动式的教学。

在项目驱动模式的教学活动中,教师根据学生现有的知识水平和项目经验选择一个合适的项目,以项目实施为主线展开教学活动,把课程相关的知识点的讲解融入项目操作的每个步骤中。在项目实施的过程中,以学生为中心,教师主要做组织和指导工作,学生在整个项目的实施过程中处于探索知识的情景中,充分发挥主动性、积极性和创新精神,综合运用所学的知识和技能解决实际问题,最终达到有效地将所学知识系统化深入化的目的。

这种模式从根本上将传统课堂中老师满堂灌转变为“学生为主体,教师为主导”的教学模式。同时,学生通过一个具体项目的实践,感受到了真实项目管理的思想和团队协作的必要性,提高了学生的创新能力和项目实践能力。拥有真实项目的实践经验使得学生在择业时拥有很大竞争优势。

将项目驱动法应用于“软件测试理论”课程教学中,在课程理论教学中加入一个完整的项目测试实践环节,通过项目实践能够很好地激发学生的学习主动性,使学生经历了一个“先做,遇到问题,再学,解决问题,再做,获得经验”的学习过程,最终完成一个完整的软件测试实践,同时也学到了“软件测试理论”课程应该掌握的理论知识。这样,既解决了软件测试理论课程理论性太强的问题,又解决了测试方法和技术案例实际应用价值不足的问题;而且丰富了学生的实践经验,提高了软件测试理论课程的教学效果。

三、“软件测试理论”课程教学目标和教学内容

1.教学目标

通过本门课程的学习和实践,理解软件测试理论与原则;掌握主流测试技术和方法,熟悉测试用例的编制、熟悉软件测试的基本流程,熟悉软件测试过程中各类技术文档的编制规范,并能灵活运用测试技术解决实际问题。

对于一个具体项目软件,每一个学生都能够顺利完成如下手工测试流程:根据软件需求规格说明书撰写测试计划,设计测试用例、进行测试环境配置和测试数据准备工作、执行各种测试,撰写缺陷报告、跟踪并修复缺陷、进行测试评测,最后提交测试总结报告,达到软件企业对测试专业人才的要求。

2.教学内容

“软件测试理论”课程的教学内容主要包括软件测试基本理论、软件测试基本技术、软件测试过程和软件测试工具。[2]

软件测试基本理论包括软件测试、软件缺陷和测试用例的基本概念,测试的目的、测试模型、测试分类和测试流程。

软件测试基本技术包括白盒测试和黑盒测试;其中白盒测试包括静态测试和动态测试,动态测试又包括程序插桩、逻辑覆盖、基本路径测试等;黑盒测试包括等价类划分、边界值分析、因果图法、判定表法、场景法等。这些基本技术都是在进行测试用例设计时使用的。

软件测试过程是指执行测试的过程,通常分为四个阶段:单元测试、集成测试、系统测试和验收测试。

软件测试工具有多种:功能测试工具、性能测试工具和测试管理工具等。

四、项目驱动法的应用方案

1.项目的设计

实施项目驱动法,首先需要设计项目。项目的设计与选取直接影响到该教学模式的教学效果及学生的学习兴趣。“软件测试理论”课程项目的选取与其他课程又有所不同,学生要进行的操作是对现有的或者已经开发完成的软件的测试工作,因此在设计项目时应遵循以下几条原则:

第一,项目是现有的软件或已经开发完成的软件,软件中有部分明显错误,有部分隐藏错误;明显错误有助于提高学生的测试积极性,隐藏错误有助于启发学生进行更深入的测试。

第二,项目具有典型性,代表大部分软件的共性。通过该项目的测试,学生可以掌握大多数软件的测试流程和测试方法。

第三,项目中有多种情景元素,符合使用多种测试技术和方法,有助于学生在进行项目测试的同时,学习使用多种测试技术设计测试用例的方法。

第四,项目大小和难易适中。每个项目组的人数控制在3~5个人,设计的项目能使学生通过努力在一定的时间内完成。

根据以上原则,本课程目前选择的项目是《企业薪酬管理系统》。

2.项目驱动法的实施

本课程通过让学生进行企业薪酬管理系统完整的测试流程实践的同时,讲解测试需求编写、测试计划编写、测试用例设计、测试环境配置、测试执行、缺陷跟踪和管理、测试报告撰写等内容。课程授课方式主要是分阶段讲解测试过程和测试要求,每一个阶段开始,老师先讲原理,选择部分内容做例子进行讲解,然后学生比照例子跟着做;阶段内容完成时,学生提交完成的文档,老师选择典型的问题进行讲评,然后进行下一个阶段的内容,如此类推直至测试结束。

企业薪酬管理系统测试流程设计如图1所示。

本课程课时为60学时,根据图1系统测试流程图安排,基于项目驱动法的“软件测试理论”课程安排如表1所示。

在课程进行的过程中,必须严格按照项目的测试流程进行,测试流程为:先获取项目测试需求,撰写测试计划,设计测试用例,执行测试,提交缺陷报告并跟踪修复缺陷,最后提交测试总结报告。课程结束,要求学生提交项目测试报告,测试报告包括多个文档,整个流程中每个阶段的工作必须有撰写规范的文档提交,如:测试计划、测试用例、测试执行报告、缺陷报告和测试总结报告等等。

测试报告既体现了教师项目教学的结果,也体现了学生对测试知识技能的掌握水平。通过评价学生作品,找出学生在学习过程中的薄弱环节,进一步改进项目驱动教学的教学安排,使其能够发挥最大的教学效果。

五、结束语

本文针对软件学院软件工程专业的培养对象和教学特点,把真实项目引入“软件测试理论”课程课堂教学中,采用项目驱动教学法,从项目的需求评审、测试计划、测试用例设计、测试执行、缺陷报告、测试评测到测试总结一个完整的测试流程,交给学生组建测试团队,按照流程进行任务分配和管理,最终完成整个项目的测试工作。通过一个完整项目测试流程的完成,有效提高学生的学习和实践能力、解决问题的能力、团队协作能力等,使学生在掌握软件测试的各种测试技术和基本流程的同时,积累了一定的项目测试经验,为他们今后的就业打下了良好的基础。

软件技能论文篇(5)

平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。

1软件工程课程的课程目标

《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。

2教学设计原则

坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。

3教学设计策略

3.1知识域覆盖

针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑;对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。

3.2技术方法先导

软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。

3.3突出技能训练

技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T8567-2006计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。

4教学内容设计

结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。

5教学方法设计

在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。

6课程重、难点解决方案

6.1软件工程课程重点

软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。

6.2软件工程课程难点

软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。

6.3重、难点的解决方案

软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。

7考核方式与评价方法

采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。

8总结

该教学过程设计,切合院系在2013年提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。

【参考文献】

[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,2011(2).

[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,2015(14).

[3]汪璟玢,叶福玲.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,2012(10).

软件技能论文篇(6)

【Abstract】Software engineering in school of software engineering course software of a core course which forms a professional basis, is also a course of paying equal attention to both theory and practice. But in the actual teaching process, there is a big difficulty: knowledge away from the reality, the course content is complex and abstract, teaching practice is weak, for lack of practical experience of software development of undergraduates, simply teaching abstract theoretical knowledge is often makes students feel boring and hard to understand. Cannot achieve good teaching effect, cannot meet the modern software engineering talents training target. Therefore, guided by “application” is presented in the design of the software engineering curriculum teaching process, mainly from the principle of teaching design, teaching design, teaching content, teaching method, course, the difficult solution, evaluation method and evaluation method, etc, presents a feasible scheme, and the relevant departments “integration” teaching concept, through the implementation, has obtained the certain effect.

【Key words】Software engineering; Application guide; “Integration” teaching ideas

平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。

1 软件工程课程的课程目标

《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。

通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。

为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。

2 教学设计原则

坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。

3 教学设计策略

3.1 知识域覆盖

针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑; 对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。

3.2 技术方法先导

软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。

3.3 突出技能训练

技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T 8567-2006 计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。

4 教学内容设计

结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。

5 教学方法设计

在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。

改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。

6 课程重、难点解决方案

6.1 软件工程课程重点

软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。

6.2 软件工程课程难点

软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。

6.3 重、难点的解决方案

软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。

理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。

7 考核方式与评价方法

采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。具体的课程考核评价体系如表1所示。

8 总结

该教学过程设计,切合院系在2013年提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。

【参考文献】

[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,2011(2).

[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,2015(14).

软件技能论文篇(7)

平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。

1软件工程课程的课程目标

《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。

2教学设计原则

坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。

3教学设计策略

3.1知识域覆盖

针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑;对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。

3.2技术方法先导

软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。

3.3突出技能训练

技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T8567-2006计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。

4教学内容设计

结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。

5教学方法设计

在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。

6课程重、难点解决方案

6.1软件工程课程重点

软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。

6.2软件工程课程难点

软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。

6.3重、难点的解决方案

软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。

7考核方式与评价方法

采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。

8总结

该教学过程设计,切合院系在2013年提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。

【参考文献】

[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,2011(2).

[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,2015(14).

软件技能论文篇(8)

文科计算机软件理论知识课对于文科学生来说是有点枯燥的,因此,营造一种创新的氛围是非常必要的。营造一种创新的氛围可以让文科学生从枯燥的科目中找到兴趣点。信息技术在人们生产工作中被广泛应用,所以,教师在上课的过程中,需要对学生具体的阐述一下计算机的重要性,以便让学生足够的重视这门科目。在此之后,教师可以利用音像、文献资料、掺杂学生喜欢的文学等向学生讲授计算机的软件理论知识。

1.2使用创新方法。

使用创新方法,增加文科学生对计算机软件理论课的兴趣。传统的计算机软件理论课上,学生对计算机软件知识的了解均来自教师或课本。而学生在理解这些内容时,往往是随便应付的,并且很多时候并没有通过自己的思考。这种情况使得学生对计算机软件理论知识缺乏自己独立的理解,也缺乏软件的意识,进而制约了学生创新能力的培养,而学生也对这门课程无感。为了让文科学生加强对计算机的认识,在计算机软件理论知识课上,教师一定要适当的将理论与实践相结合。

1.3创新实训。

为了让学生更好的消化掉理论知识课程,教师在进行计算机软件教学时,应当提高学生的实践创新能力,以便让学生懂得如何将理论知识应用。计算机软件主要分为系统软件和应用软件两者。其中办公软件有WPS、Word等,信息管理软件则主要有AutoCAD等软件。不过在生活中,教育和娱乐类的软件比较受学生喜欢,也很贴近学生的生活。不管怎么说,教师在实践课上,要充分为学生讲述软件的使用原理和操作过程,并在课堂上安排学生进行操作和训练,给学生布置一些软件学习和创新应用的作业等等,以便能帮助学生消化所学的知识。

1.4开展计算机软件比赛。

为了让学生有点竞争感,使学生对这门课程更加重视,教师可以为学生们开展一系列计算机软件类比赛。教师不一定要拉动全院的人参加,在班上举行即可。比赛的内容可以是图像编辑大赛、影视海报制作大赛、明信片设计大赛、影像剪辑大赛等等。让学生在适当的压力下,将自己所学的计算机软件理论知识发挥出来,并从中得到更多的经验。

软件技能论文篇(9)

中图分类号:G642

文献标识码:B

文章编号:1672-5913(2008)21-0029-04

软件产业既是我国重点发展的具有战略性质的基础产业,又是能将现代IT技术与我国深厚文化底蕴融合的创意型产业。软件产业的发展是推动经济发展、保障国家安全的决定性因素,对促进国民经济增长、国防建设现代化、社会信息化,推动新技术的发展和新产业的产生,推进经济结构调整、转变经济增长方式,促进经济、社会协调发展和先进文化的传播具有重要的战略意义。

软件是信息产业和传统产业的核心和灵魂,我国虽然是软件应用大国,但目前还不是软件产业大国。为此,我国近年来了一系列政策和措施,扶持软件产业的发展,如《关于鼓励软件和集成电路产业发展的若干政策》(国发[2000]18号文件)、《振兴软件产业行动纲要》(2002至2005)[2002]47号文件等。随着政策环境不断改善,我国软件产值增长速度明显加快,从1998年的325亿增长到2005年的3900亿,软件技术渗透到各行各业、各个领域,促进了新学科的发展和新产业的建立。但与发达国家速度相比,我国软件产业仍有较大的差距。

目前,制约我国软件产业品牌化、规模化和多元化发展的主要瓶颈是软件人才结构性矛盾突出,具体表现为:

(1) 高端人才供给匮乏,缺乏高层次、高素质、创新型人才。即缺乏能够紧跟世界前沿技术动态和趋势,掌握符合国际标准的软件工程规范和技术规范,具有大型系统的开发管理经验,熟练运用一门以上外语,具有良好的团队协作能力,进而能够参与国际软件发展与竞争的高层次软件工程人才;如成都市软件协会分布的《成都市软件从业人员2007年上半年供需报告》称,2007年成都市软件从业人员缺口约8900人,而其中的高端人才缺口约6900人。软件产业的迅速发展对软件行业从业人员提出了更高的要求,尽管国内高校软件工程人才的培养数量日益攀升,但是高端软件工程人才的匮乏却严重阻碍了我国IT企业的发展。

(2) 人才规模不足,离产业发展需求还有差距;现在我国共有一万多家企业在从事软件开发及相关业务,而目前全国的软件工程人才总量与之相差甚远,缺口很大。

(3) 人才知识结构不合理,目前我国的软件工程人才主要集中于编程人员,而软件架构师、项目管理、文档管理、测试等等人才比较缺乏。缺少面向产业、适应企业需求、工程能力强的人才,学生进入企业要“转型”,形成企业人才的“滞后”现象。

1面向校企合作,优化和完善知识结构和课程体系

相对于计算机科学与技术专业而言,我们认为软件工程专业应重点培养工程与技术方面的人才,更强调软件设计与开发过程中的系统性、可操作性和可重用性。

为此,我们参考和借鉴IEEE在2003年推出的软件工程课程大纲以及IEEE/ACM软件工程学科组于2004年5月公布的软件工程教育知识体系(CCSE2004 SEEK),认为软件工程人才的合理知识结构应包括通用的软件工程知识、软件应用领域的专业知识和具体软件工具和环境的知识几个方面。其中通用的软件工程知识应涵盖软件工程基础知识和技能,而软件应用领域的专业知识指还应该具有行业领域的知识,如嵌入式软件工程硕士必须具备特定行业,如移动设备、数字家电、数控机床、汽车电子、医疗电子、航空航天、工业控制等领域的相关知识,才能胜任工作。

为此,在进行软件工程教学方案与课程内容体系改革的过程中,我们根据软件产业发展的需求,动态调整课程设置,逐步加大选修课的比例。从学校来讲,要从企业的实际需要和IT发展出发,制定适应企业需求的培养方案及人才培养模式,为企业发展提供更为广泛的服务体系,也为学生提供良好的就业环境。在多模式校企合作中,我们提出了一种定制式课程建设框架。即将选修课划分成若干模块,以适应不同企业需求。同时, 由于不同层次软件工程人才的定位不同, 相应的课程设置与教学方法也应有明显的区别。其中软件工程本科教育定位在以技术能力培养为主,本科生在校期间计算机软硬件基础学习较多,形成思维定势,但开发大项目实践经验很少,没有切身体会,如果没有经常性的编程练习,学习兴趣逐渐消失,因此对本科生而言,重点应放在编程与系统设计能力的培养上。基于此,我们开设的软件工程核心课程包括软件工程概论、软件测试技术、人机交互技术等课程。软件工程硕士教育定位以工程能力培养为主,注重软件工程方法与系统开发能力的培养。特别是在职工程硕士,他们在工作中有很多机会接触项目,参与程度较深,工作经验丰富,深感系统开发中方法和管理的重要性,对研究开发方法、过程、工具有实际需求,深感软件工程对于解决实际开发中遇到的问题很有帮助,他们希望对新技术、新方法有更多的介绍,希望通过课程能够互相交流,共同提高。对于他们,应以实例学习和管理为主线,介绍软件系统开发的实例和软件项目管理的基础。其课程的设置要注重专业知识的前瞻性和国际性,基于此,我们开设了软件项目管理、软件体系结构、系统分析与设计等高级课程。

对软件工程教学方法与课程体系进行改革,还应根据软件产业发展的需求以及与企业接轨,动态调整课程设置,逐步加大选修课的比例,其中部分课程(如软件项目管理、软件体系结构、人机交互技术等)尝试实施双语教学,通过引进国外软件工程经典和优秀教材,从使用英文教材、中英文结合教学入门,逐步增加英语授课比例,最后过渡到全英语教学。

2改革实践教学,构建适应企业需求的立体化实践体系

实践教学是实用性软件工程人才培养的重要环节,也是创新能力培养的关键环节。必须建立多层次立体化实践教学体系,才能达到全面培养学生创新能力的目的。

2.1在理论教学中培养学生的实践能力

变理论教学与实践教学的分离为融合,实践教学与理论教学并重,组织和鼓励师生参加实践教学改革。在课程教学内容的选择上,注意采用最新、最有用的知识,紧跟社会潮流;对课程实验、课程设计,要求授课教师既讲授理论知识,又指导上机实验,充分体现理论教学与实践教学为一体的教育思想。同时,在教学计划的指定上,加大实验学时比例,理论教学精讲,实验教学多练,加强实验教学改革,建立企业实际项目库,以企业实际项目开发为背景,科学设置实验题目,通过实验促使学生将所学理论知识转化为分析与解决问题的能力。

为了培养学生的创新意识,提高学生的创业能力,必须重视课内外实践教学环节对培养和发展学生能力素质的不可替代的作用,加强课内和课外实践教学的整合,在培养计划中进行统筹安排,形成完善的实践教学体系。在实践教学的环节中,加大综合性、设计性实验的比例,加强实习、工程实践、课程设计、毕业设计(论文)环节中的工程训练,把提高学生的创新能力和实践动手能力贯穿于培养计划的始终。

2.2在课题研究中提高学生的实践能力

引进软件企业的实际项目,让学生结合实际项目进行软件开发综合训练。软件开发实训严格按照软件工程开发流程进行,聘请企业资深技术人员进行指导,通过软件开发实训,既培养学生的实战能力,同时又培养学生的沟通协调能力和团队合作精神,为毕业设计和就业打下良好的基础。

目前,我们和摩托罗拉中国有限公司、苏州国芯科技有限公司、紫金电子有限公司等多家单位联合建立了苏州大学摩托罗拉单片机实验室、江苏省嵌入式软件技术中心苏州大学分中心等具备一定科研能力的实验室,从而为学生创新能力的提高创造了条件。同时,学院成立了自己的开放实验室,主要为学院学习成绩优异且有较强科研能力的学生提供了进行创新性实验的条件,并制定了完善的开放实验室条例,规定了其运行机制及运行模式。如进入开放实验室的学生必须结成科研小组,采用自主选题、指导教师指定课题或企业提供课题等方式,经开放实验室评审委员会评定后才能进入开放实验室。科研小组必须在一定时期内完成一定的科研任务,并提交课题总结报告或论文。由于开放实验室必须以课题小组形式申报课题,开放实验室在培养学生创新能力的同时,还培养了学生的团队开发能力。因此,开放实验室为广大学生提供了自由发展的空间,大大激发了学生的学习热情、创造激情,为其成才创造了有利条件。

2.3在各种专业竞赛中增强学生的实践能力

为培养学生的实践能力,学院经常组织开展各种软件设计程序竞赛,支持学生参加国内外举办的各种软件设计大赛,培养学生的创新精神和迎接挑战的能力。近年来,多次组队参加ACM/ICPC(国际大学生程序设计竞赛)并获得铜奖。参加省程序设计大赛获一等奖,参加微软“创新杯”全国大学生软件开发大赛等。这些专业竞赛促进了学生实践能力的提高。

3加强校企合作,构建与产业水平同步的工程实践环境

工程实践环境是教学体系的重要环节,其重点在于构建一个和产业技术水平同步的高水平的学生工业实习基地。为学生提供实际项目开发机会,使得学生能在毕业前深入体会企业文化,完善自身职业素质和工程能力。

3.1加强实习基地建设,提高学生工程实践能力

目前,我们已在苏州工业园区、苏州新区的摩托罗拉、A M D、罗技、旺宏等世界知名I T 企业建立了软件工程专业教学与实习基地,并与中创软件工程股份有限公司合作在昆山成立了苏州大学中创软件工程学院实习基地,与福华先进微电子(上海)有限公司联合招收嵌入式软件工程硕士。在实践中教,在实践中学,使得软件工程专业学生实践能力明显增强。我们将企业实习划分成三个阶段。一是认知实习,时间一般为一周,主要让学生全面了解企业的运作模式、各企业主要研究方向以及当前流行的开发工具和软硬件平台。二是暑期社会实践,时间为50天,主要让学生利用暑假深入企业,参与企业的一些小型项目或一些模块的开发,甚至是文档的整理工作,目的是让学生知道所学知识到底能如何运用、并初步具备运用所学知识进行一些实际项目开发的能力。三是毕业实习,时间为一学期,主要让学生综合利用所学知识进行较为完整的项目开发,目的是让学生毕业后具备独立胜任项目开发与设计的能力。在实习基地建设中,应注重学生管理与质量监控。以毕业设计为例,我们制定了一系列有关毕业设计的规章制度,如毕业设计计划、毕业设计选题原则与类型、毕业设计的步骤、校外毕业设计试行办法等条例,并发放企业严格执行。对于安排毕业实习生多的企业,我们还专门安排指导教师长驻企业,从而确保了毕业设计和论文的质量。

3.2聘请国内外著名企业的高水平专家,拉近学生与社会、企业之间的距离

我们聘请企业授课教师、高水平企业技术骨干作为学校课程指导小组顾问,并定期聘请国内外有丰富实践经验的企业家、技术骨干为学生开设相关专业课程,最大限度地拉近了理论与实践的距离,拉近了学生与企业之间的距离。我们还定期举办专场讲座或技术报告会,请一些著名IT 公司的高级技术、管理专家给学生作专题讲座,让学生及时了解最新的业界动态,跟踪I T 领域的最新研究成果,从而保证了学生既能掌握软件工程领域坚实的基础理论和宽广的专业知识,又能掌握解决工程问题的最先进技术方法和实用的技术手段,让他们有较强的知识、能力和素质去适应多变的社会需求。每位软件工程硕士生除了配备双向选择的校内指导教师以外,还配备由实习单位推荐的一位具有丰富工程经验的企业人员作为校外企业指导教师。企业导师着重对实习和毕业设计的各个环节进行具体指导和严格把关,校内导师则是对学生进行设计思想的理论指导和毕业论文的指导。同时,学院还设专人对学生实习过程进行跟踪、指导与控制,在双导师之间积极促成沟通,共同完成对软件工程研究生的指导。

3.3搭建学生与企业双向选择的交流平台

由于学生在兴趣、专长和职业规划上的差异,因而他们对实习企业有各自的选择标准,但同时企业也要选择适合本单位要求的学生,为了使学生更好地找到适合自身特点的实习单位,企业能招收符合自身要求的学生,学院通过网上公布实习单位及其相关信息,学生自主报名、学院推荐,实习单位进行笔试、面试等考核程序,确定学生的实习单位。通过这种选择,企业与学生之间一开始就有了很好的信任度,双方都能最大限度地发挥主动性、积极性和创造性。

4结束语

信息化需要大批软件工程人才,各高校软件工程人才的培养应该有自己的定位和特色,目前要特别重视软件工程能力和素质的培养。实践能力是学生综合素质的重要组成部分,本文针对当前国内高校软件工程人才培养机制存在的主要不足,从改革实践教学、加强校企合作、开展国际交流合作等方面,阐述了如何加强学生的实践创新能力,培养适应企业需求的高素质的软件工程人才的几点做法,为高质量、实用性的软件软件工程人才培养作出了有益的探索。

参考文献

[1] 教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术发展战略研究报告暨专业规范(试行)[M]高.等教育出版社,2006,9.

[2] 教育部软件工程学科课程体系研究课题组.中国软件工程学科教程CCSE2004[M]. 清华大学出版社,2004,11.

[3] 杨芙清.中国软件工程二十六年.2006中国计算机大会特邀报告[R].北京,2006,10.

[4] 骆斌. 软件工程专业工程化实践教学体系的构建与实施[J]. 计算机教育, 2005,(4): 25~28.

软件技能论文篇(10)

作者简介:司春景(1981-),女,新疆阿拉尔人,塔里木大学信息工程学院,讲师;李向阳(1973-),男,新疆阿拉尔人,塔里木大学信息工程学院,副教授。(新疆 阿拉尔 843300)

基金项目:本文系塔里木大学本科质量工程特色专业“计算机科学与技术”(项目编号:20090627)的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)07-0098-03

“软件工程”是一门指导计算机软件系统开发、维护和管理的学科,主要利用工程概念、原理、技术和方法,将现代技术方法和正确的管理技术相结合,重点研究应用软件开发的基本理论和工程技术来指导软件系统的开发、维护和管理。“软件工程”课程是学生参加工作以后最能直接应用的一门专业核心课,它要求做出一个满足用户要求的系统,这是一个很具体的实践过程,具有很强的工程和项目背景。[1]

一、传统教学模式的问题

“软件工程”是计算机专业学生的一门基础必修课。在目前的教育体系下,大学生学习知识的主要途径是教师讲授。传统的“软件工程”课程教学模式在理论教学方面重视基本知识的教授;在教学原则上强调教学的直观性、系统性和巩固性;在教学方法上强调学生预习、教师讲授和学生反复复习记忆;在教学组织形式上则选用“填鸭式”教学。这种强调知识的单线注入和忽略学生思维训练的方法,不能很好地调动学生的学习主动性,不能起到很好的学习效果。当前高校软件工程课程教学中存在以下突出问题:

1.教材重理论轻实践

对于没有任何大型软件开发经验或参与开发的高校本科生,如果教材只关注软件工程理论的讲解,包括软件开发模型、分析和设计方法等,则学生无法将理论联系实际,所学内容不知所云,更无法在日后发展中将理论与实际相结合。

2.实践教学缺乏系统性和针对性

目前许多高校“软件工程”课程除了理论讲解外,也加入了实践教学部分。往往受学时所限,实践分为软件项目若干设计文档的编写和软件工程工具的实验练习。前者受缺乏相应的开发环境、教师虚拟客户不能很好地反应现实需求、理工科学生的文字表达能力不足等因素的影响,设计文档的编写不能很好提高学生能力;后者在一定程度起到了一定的作用,但对于培养学生分析问题、解决问题、管理和团体协作能力方面仍显不足。

3.评分模式单一

软件工程采用了传统的闭卷考试方式,平时成绩占总成绩的30%,期末考试占70%。平时成绩=上课出勤情况(10%)+实验完成情况(10%)+作业完成情况(10%)。任课教师通过对不同的考核内容赋予不同权重来评价学生对软件工程课程的掌握情况,主要考核学生对课程基本知识的理解。此方法不足以提高学生实际动手的能力,更不利于激发学生实际软件设计开发的兴趣。

二、现有的教学方法的分析

针对上述问题,从事软件工程的相关教师从不同角度,对软件工程课程进行了改革。归纳起来主要有如下几种教学方法改革:

1.自底向上教学法在“软件工程”课程中应用

授课方式主要是用倒叙的方式贯穿完整案例(包含警戒案例),以启发、讨论、辩论的形式讲授软件工程的原理、方法及过程,使学生不觉生疏,易接受,又符合IT从业人员的工作进程。[2]

2.模块化教学法在“软件工程”课程中的应用

在尊重教学规律和学生个性发展的原则上,根据课程体系和内容之间的关系,将教学部分划分为若干独立的模块,确定模块之间的关联,针对不同的教学计划要求,采用不同的模块组合有选择地进行讲授和学习。[3]

3.案例教学法在“软件工程”课程中的应用

软件工程案例教学是根据“软件工程”课程的教学目的和学生培养目标要求,教师选用相应的案例作为基本素材,引导学生对案例进行调查、思考、分析、讨论、设计、开发和交流等相关活动,在活动中教授学生软件工程的原理、方法及过程,进而提高学生分析和解决问题的能力,加深学生对基本理论知识的理解和掌握。[4]

4.项目驱动教学法在“软件工程”课程中的应用

项目驱动教学法是案例教学法的基础上采用“案例导向、项目驱动”的教学方法。首先,教师根据要讲授的理论知识预先准备一个或者多个小的软件开发项目;然后,将学生作为主体,以软件开发项目的研发过程为引导,采用学生小组团队合作和学生个人独立完成相结合的教学形式,组织学生开展集体讨论并完成相应的实践性活动,在研发过程中同学和老师要对每位学生所完成的每个阶段任务加以点评、督促改进、分享经验等;最后,学生将成功的软件给予演示。[5]

5.三位一体式教学法在“软件工程”课程中的应用

根据学生的认识特点和该课程自身的特点以及对“软件工程”课程在计算机科学专业的定位、教材的选取、课程培养目标的分析下,采取以综合能力培养为中心、项目实践为标准,模板、案例、指导说明为辅助的三位一体式的教学思路。[6]

对目前在“软件工程”课程改革中应用的五种方法针对改革侧重点进行汇总发现(见表1),单一的教学方法只是在理论教学、实践教学和考核方式某一方面发挥了很好的作用,而不能从全面发挥效果,而对于“软件工程”课程来说三者同样重要。

三、基于多元教学法的课程改革新模式

某一种教学模式改革已经不能满足现代“软件工程”课程教学的要求,只有将多元教学模式组合在一起,充分考虑各自对课程教学的优势,避其缺点,找到一种既能使学生具有良好的理论基础,又能充分培养学生实践能力,还能准确地考核学生的教学模式。本次课程改革就是本着这样一种思想,从理论教学、实践教学和考核方式三个方面进行多样化改革。

1.理论教学内容多样化

理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。

(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。

(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。

(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。

(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。

2.实践教学内容多样化

软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。

(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。

(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。

(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。

3.考试方式多样化

传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。

(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。

(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。

(3)项目总结或心得体会占总成绩的15%。根据学生在软件开发过程中所撰写的经验和教训总结报告、每个小组成员建立的个人开发记录或日志的实际情况,相互打分。

四、基于多元教学模式课程改革方案

基于上述改革理念,按照软件工程开发原理、方法和技术,选用典型项目案例,将学生按照项目分成若干个小组,每组人数不超过6人。每个小组对应着一个具体的项目,每个人对应着一个具体工作过程,按照如下步骤进行多元教学。

第一步,教师选用合适的教学内容,制作丰富多彩的课件,对学生进行基本理论和基本技能的讲解。在每一个软件生命周期结束后,教师进行案例场景描述。教师按照理论知识的内容,选择相应的案例进行描述,学生将所学内容运用到相关案例中。教师通过案例让学生明白理论知识如何应用,学生通过案例体会到小项目中所学的原理、方法和技术是如何实现的。

第二步,课后角色扮演。学生通过分组讨论的方式,完成项目分工,明确自己在项目中所扮演的角色。所有的任务通过集体讨论的方式,决出所要完成的任务,并由相应的角色人实际操作完成。例如,需求分析一章内容,学生课后进行项目小组讨论,决定需求分析的内容,进行相应的需求分析,并由扮演需求分析人员的学生完成需求报告。软件开发过程需要整个团队的通力合作,根据学生的性格、表达能力、开发能力、理论基础掌握情况等方面进行人员分组,将具有不同特点的学生组成一个团队完成项目开发。这种团队合作的方式,既能发挥学生各自的特长,又能培养学生的团队合作精神。

第三步,课程设计。当全部内容讲解完成,就可以开始长达2周的课程设计内容了。这段时间要求项目小组,彻底完成一个由教师虚拟的项目。此步骤中,主要培养学生良好的科研习惯,在开发过程中及时总结经验和教训,建立个人开发记录或日志,理论联系实际学着开发软件。

第四步,学生总结,教师点评。学生经过多个教学环节后,每个团队在一定程度上完成了各自的项目任务,对各自团队的成果进行总结。教师听取每个团队的汇报后,从横向和纵向两个方面对项目成果之间进行比较,从而让每一位学生明白自己在团队中发挥了什么作用,自己哪些方面不足。

第五步,请进来,走出去。通过学校和企业合作的方式,一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位,实地实习。

五、结束语

在多元教学过程中,理论教学利用多媒体PPT充实了课堂内容,小组讨论调动了学生积极性,不断更新的教学内容跟上了发展,以及启发式的案例教学提高了学生的能力;实践教学从课后角色扮演、期末集中时间课程设计,到寒暑假校企实习,整个过程依据软件工程思想逐步的从小角色的扮演,团结合作做一个虚拟项目,到真正到软件公司去实习工作,提高了学生的语言表达能力、分析问题能力、实践动手能力和软件工程协作、纪律等。考核方式不再是单一的方式,除了考查基本理论的掌握情况,还考核学生是否已经具备了一定的动手能力和科研能力。从理论教学、实践教学和考核方式三个方面进行多元教学,按照方案进行实施,强调动手能力,将工作过程的职业环境融入学习过程中,将学生对知识、职业能力的掌握程度提高到了实践这一层面,使得学生能真正进入到“在学中做,在做中学”的理想学习环境中。

参考文献:

[1]张海潘.软件工程导论[M].第五版.北京:清华大学出版社,2008.

[2]温春友,敖广武.对软件工程课程自底向上教学模式的探索[J].辽宁高职学报,2008,(3):27-28.

[3]孙知信.软件工程课程模块化教学改革的实践与思考[J].南京邮电学院学报(社会科学版),2004,(2):39-42.

软件技能论文篇(11)

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2013)03-62-02

0 引言

软件测试形成了一个新兴的行业。软件测试的工作贯穿于整个软件产品生产过程的始终,是保证软件质量的有效手段。软件测试课程是软件工程专业的必修课程之一,是一门理论性和实践性都很强的专业课。该课程对于人才的培养目标是:掌握软件测试和软件质量的基本理论、常用的测试方法和自动化测试工具,能够编写测试计划、设计测试用例、完成软件初步测试。

目前软件测试行业人才严重不足。据企业专职软件测试人员分布调查,27.5%的企业目前没有专业的软件测试人员,43.5%的企业软件测试人员的数量在1~10人之间。为了适应行业人才需求,国内高校纷纷开设软件测试课程。但软件测试在国内高校中尚属一门新兴的课程,缺少对不同开发方式和应用场景的软件测试方法介绍,学生对软件测试过程缺乏完整的认识,学习主动性不高,甚至认为软件测试是一门文字性课程。如何进行软件测试教学方法调整以适应业界需求已成为一个亟待解决的问题。

1 软件测试课程教学存在的主要问题

1.1 学生学情分析

软件测试是对软件形成过程中的文档、数据和程序等内容进行测试,而不仅仅是对程序进行测试,这需要学生对软件工程的基础理论,系统的分析设计,软件的开发技术等有一定的了解。

在还没有完全理解软件工程相关理论时,就开始进行软件测试课程的学习,会导致学生对软件测试理解的偏差。例如,认为软件测试就是找出软件项目中的错误,是简单而枯燥的工作,因而只重视开发技术的培养,不重视甚至忽略测试技术的掌握。

1.2 教学材料分析

软件测试方面的书籍大多是翻译的,而且多是培训用书或介绍软件测试工具的书,而能够满足高校软件测试课程的教材较少。在当前市面上的软件测试教材中,大部分也只是阐述空洞的理论,附加简单而又陈旧的工具介绍,这些理念和工具很多已经被业界淘汰,这样的教材难以适应当前市场对软件测试人才的需求。

软件测试工具较多、范围广、不易把握重点,而大部分测试工具如:LoadRunner、WinRunner、JUnit、C++Test等都是英文版本,工具书较难读懂。教学过程中没有相关的软件产品供学生测试,以验证所学的理论,达不到理想的教学效果。

1.3 教学方法分析

传统教学手段是以课堂教授为主的“灌输式”教学。教师授课时主要是在分析一门课程知识结构的基础上,循序渐进地讲授一门课程的知识点,学生按部就班地学习知识点。传统教学法过于理论,学生往往在学了一堆理论知识后对如何测试实际项目还是很茫然。虽然传统教学法在某些教学环节也会给出一些实例或小项目,但是对于整个课程来说,这些实例或小项目是孤立的、彼此没有联系的,以至学生掌握的知识也是零散的,不系统的,缺乏对课程的整体把握。

1.4 考核方式分析

课程考核是课程教学过程中的重要一环,是检测和促进学生学习效果的重要手段。目前学生考核体系基本以闭卷形式的终结性考核成绩为主,以考勤、课堂表现、作业等组成的平时成绩为辅的考核方式。这种方式存在的问题主要是:以期末考试成绩为重,考核内容相对片面,注重的是软件测试基础理论知识,对软件测试应用知识的能力考查不够,过分注重书本知识而忽略了软件测试综合应用能力的整体考查。

2 基于项目驱动的软件测试教学法探索

欲改善上述局面,就应结合学生的专业特色,在教学过程中以实际工程项目为主线,把软件项目的整体思想纳入到本课程中来,让学生在学习过程中积累项目测试经验,掌握项目测试的流程,增加学生对课程目的性的认识,提高学生的积极性。

项目驱动式教学法是一种建立在建构主义学习理论基础上的、有别于传统教学的新型教学方法。建构既是对新知识的理解与掌握,同时又包含对原有经验和知识的改造和重组,综合形成新的知识建构。该方法提倡以学生为中心的学习。在整个教学过程中教师起组织者、指导者、帮助者和促进者的作用,教师利用情境、协作、会话等学习环境要素充分发挥学生的主动性、积极性和创造性,最终使学生有效地掌握当前所学知识。

2.1 软件项目前期准备阶段

项目是项目驱动教学的核心,整个教学过程都始终围绕项目展开。项目设置的好坏将直接影响到教学效果,因此在设计项目上应注意以下几点。

2.1.1 项目具有典型性

项目教学法中应选择以解决身边的现实问题为背景材料,从熟悉项目着手能充分激发学生的学习热情。项目能覆盖学生已经学习过的知识点,如:软件工程的基础理论,系统的分析设计,软件的开发技术,从源头上保证知识的完整性。

2.1.2 项目规模、难度适中

项目教学法中选择的项目规模和难度都应适中。如果项目规模和难度过大,软件测试用例的设计难度大,学生不容易完成。项目规模和难度过小,则涉及的知识点少,不能反映学生对软件测试用例设计的理解程度。因此,设计的项目应保证学生通过努力能够完成,这样可以树立学生完成任务的信心,充分调动学生的积极性和主观能动性。

2.1.3 项目规范

由于软件测试是对软件形成过程中的文档、数据、程序,以及所有相关文档进行测试,所以被测软件应该是按照软件工程思想设计开发的,每个阶段的工作都应当在文档中体现出来,文档撰写有严格的标准和规范。

项目来源:

途径1:所在学院的每门课程都有多名教师建立的课程群,测试案例可以由教授面向对象程序设计、综合课程设计、系统分析与设计等课程的教师提出要求,选择典型的作品充实案例库。

途径2:从毕业设计中选择,大四的学生都要作毕业设计,教师可以从其提取一些典型系统,充实案例库。

途径3:来自学生科研项目,每年都有大量的学生申报科研项目,教师可以收集其优秀作品,充实案例库。

途径4:来自校企合作项目,教师在和企业合作开发项目时,在合同允许的情况下,将开发系统作为实际案例,充实案例库。

2.2 基于项目驱动的软件测试教学法实施

基于项目驱动的软件测试教学法实施是在学生已完成软件系统分析与设计的实践,并有一定的编程能力的基础上设计的,涉及两种活动流:教学流和测试流。

⑴ 教学流

由于软件测试课程的知识点前后关联关系不大,教师在教学流过程中,不必在讲清楚课程的基础知识和基本技能后再进行项目的教学,可直接面对具体任务进行教学。在教师带领学生分析解决具体项目的方法时,将相关联的知识点串联起来,让学生在学习各阶段的理论知识同时,完成软件相应的测试活动。

基于项目驱动的教学流按照项目测试流程大体可分为三个阶段:软件测试基础、软件测试技术和软件测试管理。

第一阶段,学生主要进行部分软件开发和相应产品的静态测试。在开发的过程中通过规范的开发文档和测试文档,给学生展示单元测试、集成测试和系统测试的密切关系,让学生深刻认识到软件测试是紧密伴随软件开发过程而进行的活动。

第二阶段,主要进行测试设计和实现。软件测试中对具体项目常常有多种测试方法,教师可只讲解其中最实用的方法。其他方法的应用作为讨论、实验、课外作业的形式由学生完成,让学生在完成项目实践的过程中学习知识、解决问题、提高技能。本阶段的教学应只包括对重点教学内容的讲解,其过程应该精练,以便为学生学习提供广泛的空间,为学生顺利完成项目打下良好的基础。

第三阶段,主要进行测试管理和报告。通过测试用例管理工具、案例以及规范的软件测试报告的介绍和展示,让学生深刻认识软件测试需要规范的测试管理过程,软件测试中测试需求、测试用例、测试业务组件、测试计划、测试执行、测试结果、缺陷都需要进行合理的规划和管理。

⑵ 测试流

基于项目驱动的测试流是由教师给定多个项目,并提出测试要求,教学过程中将团队测试的思想贯穿始终,将学生分成若干小组,以小组为单位完成项目测试。每个小组由1个项目组长、1个测试组长和3个测试组员构成。小组内部责任明确,选择有较强实践能力和沟通能力学生担任项目组长,负责制定测试方案、任务分配和人员协调工作。选择有较强学习能力和技术能力学生担任测试组长,负责分析软件需求、获得测试需求、制定测试策略方案、确定测试方法。小组内每个学生必须完成最基本的任务,即测试用例的设计、编写、执行和维护等各项任务。

测试流执行过程中,学生探究性地学习相关的知识和技能,在知识运用中掌握实践技能。通过任务的实施和完成,让学生体验到知识应用的成就感,增强学习的积极性,促使学生更加主动地、探索性地学习相关的知识和技能,使知识技能的掌握更加牢固。测试流执行过程中,教师为项目组提供相关的学习资料资源,引导学生有目的性、有针对性地学习,同时关注学生开展项目的全过程,严格要求按照项目的具体实施流程进行,比如软件测试项目必须按照测试计划、测试设计、测试执行和测试结果分析来进行,每个阶段的工作必须撰写规范的技术报告。

测试流的最后阶段,教师组织各测试小组进行课程设计答辩。答辩时,组间相互评价,从文档规范性、测试方法的正确性和有效性、测试技术应用的广泛性等方面选出最优测试小组。最终经过教师对学生单人考核,结束本次测试流教学。

3 结束语

本文针对软件测试课程教学中存在的问题,提出采用项目驱动的教学模式,通过教学流、测试流两种活动流,将软件测试理论知识融入到实践活动中。该教学模式打破了传统,激发了学生的学习兴趣,有利于学生对测试过程形成一个整体认识,符合软件工程系统化思想。由于软件测试相关理论还在不断完善,实验理论、实验方法手段、实验技术正在飞速发展,这就需要我们在教学过程中不断地探索、总结、完善软件测试教学的内容和方法,进一步提高课程的教学效果和质量。

参考文献:

[1] 龚宇辉.软件测试课程教学改革研究[J].教育与职业,2010.24:

130-131

[2] 张向宏.软件测试理论与实践教程[M].人民邮电出版社,2009.

[3] 聂长海.关于软件测试的几点思考[J].计算机科学,2011.38(2):1-3