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

软件教学8篇

时间:2022-04-07 13:46:05

软件教学

篇1

 

教学软件既是一种教学材料,又是一类应用软件。当他作为教学材料,属于教学系统设计的对象,当他作为应用软件,是软件工程的产品。 因此教学软件开发过程中有两条并行交叉的过程。本文在分析开发过程的基础上,提出两者结合的开发模式。

 

一 教学软件开发过程分析

 

1 教学材料的系统设计

 

在教学系统设计中,教学材料的开发是放在整个系统中考虑的,是一系列的相关分析和决策的结果。

 

教学系统设计有多种模式。图1所示的是美国学者迪克(Walter Dick)和凯里(Lou Carey,James O. Carey)提出的模式,这个模式有广泛的应用。

 

对于整个设计过程,可以分为两个阶段,即分析阶段和决策阶段。分析阶段的结果是编写出绩效目标。以绩效目标为依据,设计者开始做出的决策,形成如下的设计文件:

 

 评价学习的试题和量表;

 

 对教学和教学材料的形成性评价方案;

 

 对教学和教学材料的总结性评价方案。

 

 教学内容和活动的顺序与组织方案;

 

 教学材料和教师手册的初稿;

 

2 教学软件产品的开发

 

教学软件产品的开发要遵循软件工程的规律。软件工程是“采用工程化的原理与方法对软件进行计划、开发和维护。” 目的是提高软件开发的效率和可靠性。软件开发的基本模型如图2。

 

这样的线性过程不适合于教学软件开发。首先这种模型是以编写程序代码为中心的,而教学软件除了程序代码,还有大量的媒体元素,如图像、动画、音频、视频等。这些元素的制作是与程序编写并行或交叉进行的,该模型反映不出媒体制作的工作过程。其次是在教学软件设计的初期,由于教学本身的复杂性,设计者不可能完全确定设计的细节,不可能在分析阶段解决所有的分析问题,经常需要在开发过程中修改他们的设计,该模型没有考虑到开发过程中的不确定性。

 

在对软件开发模型改进的过程中,人们提出了快速原形法、增量模型、螺旋模型等,这些模型的共同特点是把软件开发看作多次循环改进的过程,在多个循环过程中有多次的评估和修改,或是从软件的核心逐步丰富。图3示意了原型法与螺旋模型结合。无论是哪种模型,都有软件开发的基本步骤:分析、设计、开发、测试。

 

3 教学系统设计与软件开发模型的结合

 

教学软件与管理软件、工具软件等功能性商用软件最显著的不同,是不能用“功能”来衡量。例如一个文字处理软件,如果测试者能够用软件录入文字,实现任何格式的排版就表明该软件的功能实现了,而教学软件无论运行多么流畅,严格地讲都不能说它具有了功能,因为教学软件的作用效果,不是自身表现出来的,这是具有不确定性的。因此对教学软件,开发是否成功要看教学性,而不是“功能”,而教学性要靠教学系统设计来保证。

 

无论是从教学系统设计的角度,还是从软件工程的角度,教学软件开发过程都可以分为两个阶段,一个是设计阶段,一个是开发阶段。两个阶段之间有反复调整修改的环节。教学系统设计的理论和方法,主要应用在设计阶段,以实现软件的教学性,为开发提供蓝图。软件工程的思想和方法,贯穿整个设计和开发过程,但重点是开发阶段的组织与管理,以实现软件的技术性能。一个好的教学软件开发模式,应该以教学系统设计为基础,结合软件工程的思想和方法。对这种结合可以用图4示意。该图的内圈表示教学设计过程,外圈表示软件开发过程,两个过程是同时启动同步进行的,交织成一个软件开发循环周期,但是在各个阶段两者的重要程度和工作任务的分量不同。

 

(2) 设计阶段

 

设计阶段进行软件的教学内容的组织,明确软件的教学目标,形成对软件的具体描述,为技术实现提供指南。

 

设计是软件开发的核心阶段,时间用得最多。在这一阶段,要综合应用教学理论,使用控制与交互的各种方法,体现信息呈现的要求。在设计过程中,制作人员之间,以及制作人员与用户之间,要继续交流,对软件最终的样式达成共识,完成原型和设计文件。

 

(3) 开发阶段

 

开发阶段使设计的结果最终转化为实际的产品。

 

这一阶段要运用各种技术手段,包括硬件设备和工具软件,利用和改编现有资料,制作文本、图像等多媒体素材,用编程或创作软件集成软件,经过多种不同水平的测试和试用后,最终完成软件。并且安排软件的总结性评价。

 

在开发阶段,素材制作、软件编程、手册编写等多项工作往往是并行或交叉开展的,素材创作和程序编写人员是工作的主体,但设计人员和用户仍以不同的角色参与制作过程,同时又在动用所有的技术资源,因此组织管理和质量控制十分重要。

 

参考文献

 

[1] 张军征.多媒体教学软件设计原理与方法[M].北京:科学出版社, 2007.

 

[2] 张军征.多媒体课件设计与制作基础[M].北京: 高等教育出版社, 2004.

篇2

【关键词】教学软件;教学系统设计;软件工程;开发模式

【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097(2009)07―0049―03

当前国内的论著和教材中提出的教学软件设计与开发模式大体可以归为两类。一类是对教学系统设计模式修改而来的,如对ADDE模式的修改;另一类是在软件工程的线性开发模型中插入教学设计环节的,例如“项目定义教学设计系统设计脚本编写素材准备软件编辑试用评价产品出版”。这两类模式都忽略了教学设计与软件工程的内在联系,不能很好地指导教学软件开发。

教学软件既是一种教学材料,又是一类应用软件。作为教学材料,属于教学系统设计的对象,作为应用软件,是软件工程的产品。 因此教学软件开发过程中有两条并行交叉的过程。本文在分析开发过程的基础上,提出两者结合的开发模式。

一 教学软件开发过程分析

1 教学材料的系统设计

在教学系统设计中,教学材料的开发是放在整个系统中考虑的,是一系列的相关分析和决策的结果。

教学系统设计有多种模式。图1所示的是美国学者迪克(Walter Dick)和凯里(Lou Carey,James O. Carey)提出的模式,这个模式有广泛的应用。

对于整个设计过程,可以分为两个阶段,即分析阶段和决策阶段。分析阶段的结果是编写出绩效目标。以绩效目标为依据,设计者开始做出的决策,形成如下的设计文件:

评价学习的试题和量表;

教学内容和活动的顺序与组织方案;

教学材料和教师手册的初稿;

对教学和教学材料的形成性评价方案;

对教学和教学材料的总结性评价方案。

2 教学软件产品的开发

教学软件产品的开发要遵循软件工程的规律。软件工程是“采用工程化的原理与方法对软件进行计划、开发和维护。” 目的是提高软件开发的效率和可靠性。软件开发的基本模型如图2。

这样的线性过程不适合于教学软件开发。首先这种模型是以编写程序代码为中心的,而教学软件除了程序代码,还有大量的媒体元素,如图像、动画、音频、视频等。这些元素的制作是与程序编写并行或交叉进行的,该模型反映不出媒体制作的工作过程。其次是在教学软件设计的初期,由于教学本身的复杂性,设计者不可能完全确定设计的细节,不可能在分析阶段解决所有的分析问题,经常需要在开发过程中修改他们的设计,该模型没有考虑到开发过程中的不确定性。

在对软件开发模型改进的过程中,人们提出了快速原形法、增量模型、螺旋模型等,这些模型的共同特点是把软件开发看作多次循环改进的过程,在多个循环过程中有多次的评估和修改,或是从软件的核心逐步丰富。图3示意了原型法与螺旋模型结合。无论是哪种模型,都有软件开发的基本步骤:分析、设计、开发、测试。

3 教学系统设计与软件开发模型的结合

教学软件与管理软件、工具软件等功能性商用软件最显著的不同,是不能用“功能”来衡量。例如一个文字处理软件,如果测试者能够用软件录入文字,实现任何格式的排版就表明该软件的功能实现了,而教学软件无论运行多么流畅,严格地讲都不能说它具有了功能,因为教学软件的作用效果,不是自身表现出来的,这是具有不确定性的。因此对教学软件,开发是否成功要看教学性,而不是“功能”,而教学性要靠教学系统设计来保证。

无论是从教学系统设计的角度,还是从软件工程的角度,教学软件开发过程都可以分为两个阶段,一个是设计阶段,一个是开发阶段。两个阶段之间有反复调整修改的环节。教学系统设计的理论和方法,主要应用在设计阶段,以实现软件的教学性,为开发提供蓝图。软件工程的思想和方法,贯穿整个设计和开发过程,但重点是开发阶段的组织与管理,以实现软件的技术性能。一个好的教学软件开发模式,应该以教学系统设计为基础,结合软件工程的思想和方法。对这种结合可以用图4示意。该图的内圈表示教学设计过程,外圈表示软件开发过程,两个过程是同时启动同步进行的,交织成一个软件开发循环周期,但是在各个阶段两者的重要程度和工作任务的分量不同。

二 教学软件开发模式描述

1 模式的构成

该模式是借鉴美国学者Stephen M. Alessi和Stanley R. Trollip提出的模式,结合国内实际情况和我们的工作经验提出来的,见图5。

这个模式在整体上是软件开发的螺旋模型中的一个周期,也可以看作增量模型的一个构件的实现过程,这取决与软件开发的任务和条件。这个模式具有一定的普遍性,适合教学软件专业开发,也可供学校的教育技术人员和各科教师制作课件参考。

设计与开发模式有三个要素和三个阶段。三个要素是标准、评价和管理,三个阶段是计划、设计与开发。三个要素始终与三个阶段相互作用,是指在制作的全过程中都要注意,是全过程的活动原则,保证项目的成功。计划和设计两个阶段用环形表示阶段内部有反复的修改,开发阶段用竖的框架表示多项工作可能会并行或交叉开展。

这个模式涉及到开发者和用户两个方面,开发者包括教学设计人员、教学与培训专业人员、媒体素材制作人员和美工人员、程序编写和测试人员、项目管理人员等。在专业开发中,用户是指接收产品的客户,如学校、培训机构或出版商。在学校或培训机构内部开发时,用户是指使用软件的教学者,通常是教师。

2 模式的特点

(1) 基于标准的过程

从项目一开始,开发者与用户等共同明确软件最终产品所有方面的一致的标准,每个开发人员都知道应该怎么做,始终坚持确定了的标准。

(2) 实证的方式

全过程是初步设想、评价、修改的反复循环,直到最后完善。在计划和设计阶段需要完成两个原型,体现了原型法的思想。软件开发虽然有理论指导,但是最保险的还是不断地试验修改,直到合适为止。在全过程中坚持按标准评价,既不拔高也不降低。

(3) 全过程管理

软件开发中有一种现象是偏离原定方案,到了最后又耗费时间、人力和财物进行修改。好的项目管理能保证方案实施,坚持既定标准。

(4) 重视决策阶段

该模式中把计划与设计分为两个阶段,在全过程中花费较多的时间,意图是制作人员多花一些时间讨论,提出初步设想,做出正确决策,然后进行技术实现。这样不仅能少走弯路,提高工作效率,更重要的是能开发出体现教学设计魅力的软件,而不是炫耀技术水平和艺术效果的展品。

(5)倡导集体协作

全过程贯穿了集体协作的工作方式。首先是因为设计与开发所需要的技能与知识不是一个人能全部具备的,决策需要集思广益,需要有各方面专长的人合作;其次是协作方式能够在参与者共同监督下,保证原定的标准与方案。

3 模式的要素

(1) 标准

标准是一个好的项目的起点和基础,规定了开发人员持续努力所要达到的质量。在典型的情况下,一套标准来自两个方面。第一,是由开发人员提出来的,开发人员都应知道质量标准,并且在全过程中遵守;第二,是由客户或教学人员提出来的,往往比较具体,例如规定了总体印象、内容详细的程度、字体、颜色等等。来自两方面的标准一般是不会冲突的,能够协调为一套标准。

(2) 评价

标准只有在软件开发中坚持才有用,这就要求对所做的每一件事进行评价,每个人员也必须执行标准,以标准来衡量自己所做的工作。如果等到项目接近完成时,才来看是否应用了标准,既不现实,也没有用处。

进行全程评价关系着项目的质量,通过设计与开发过程中反复的设想、试验、评价、修改,使每一步工作都符合质量,则最终的产品才能具有高质量。

(3) 管理

成功与不成功的项目的差别很大程度上在于管理。对整个软件开发项目的资源、经费、时间等要从始到终严格控制,进行的良好管理,否则项目容易偏离预定计划和标准。加强项目管理,首先是要制定好计划,其次是要做好监控工作,最后是要保持项目组成员之间以及与用户之间的交流和沟通。

4 模式的阶段

(1) 计划阶段

计划阶段奠定多媒体教学软件开发项目的基础,形成总体设想,以保证项目各方面顺利进行。

计划阶段应确定项目的目的,也就是学习者完成软件学习后应掌握的知识、技能及应形成的能力、态度等。目的的确定涉及到教学内容范围,学习者的起点知识技能,以及一般特点。明确工作的限制条件也是必要的,例如运行软件的计算机环境,用户对信息呈现的特殊要求、软件内容的指定范围等。

计划还包括收集资料,明确所需要的资料是否都能得到,能否改编或自制,如果有些资料不可能解决,决定是否需要改变软件的内容。计划阶段应开展头脑风暴活动,项目组成员共同讨论,形成对软件的内容、结构、外观、风格等方面的初步设想,用原型或文字描述出来。在这一阶段需要频繁地与用户沟通,应编制一些文件,包括项目说明、计划书、项目标准等,使项目管理有章可循,并得到用户认可。

(2) 设计阶段

设计阶段进行软件的教学内容的组织,明确软件的教学目标,形成对软件的具体描述,为技术实现提供指南。

设计是软件开发的核心阶段,时间用得最多。在这一阶段,要综合应用教学理论,使用控制与交互的各种方法,体现信息呈现的要求。在设计过程中,制作人员之间,以及制作人员与用户之间,要继续交流,对软件最终的样式达成共识,完成原型和设计文件。

(3) 开发阶段

开发阶段使设计的结果最终转化为实际的产品。

这一阶段要运用各种技术手段,包括硬件设备和工具软件,利用和改编现有资料,制作文本、图像等多媒体素材,用编程或创作软件集成软件,经过多种不同水平的测试和试用后,最终完成软件。并且安排软件的总结性评价。

在开发阶段,素材制作、软件编程、手册编写等多项工作往往是并行或交叉开展的,素材创作和程序编写人员是工作的主体,但设计人员和用户仍以不同的角色参与制作过程,同时又在动用所有的技术资源,因此组织管理和质量控制十分重要。

参考文献

[1] 张军征.多媒体教学软件设计原理与方法[M].北京:科学出版社, 2007.

篇3

【关键词】SAS统计软件;统计教学;教学改革

在数据处理和统计分析方面,SAS统计软件已经成为国际上标准的软件系统.在有限条件下更好地进行SAS统计软件的教学是学生在短时间内掌握并运用软件解决实际问题的关键.本文从教学内容、教学方法和教学评价三方面对SAS统计软件的教学进行探讨.

一、SAS统计软件的特点及开展SAS教学的必要性

1.促进课程设置合理化

为了适应社会的需求,培养具有创新性和应用能力的复合型人才,数学的实践教学环节及实验教学环节受到了更多的重视.SAS统计软件课程的开设弥补了以往课程设置中只有理论、没有实践的缺陷,为学生提供了实际操作的平台,也使得课程设置更加合理.

2.培养学生进行统计知识学习的兴趣,增强其实际应用能力

统计学是应用概率理论来研究大量随机现象的规律性的科学,其中相关统计概念的内涵、外延及概念间的联系众多且抽象,问题涉及的数据量庞大,计算复杂,学生理解起来有一定困难且计算结果准确率不高.通过学习SAS统计软件课程,学生可以进行数据管理、统计分析,使学生对知识的运用得到及时反馈,有助于增进学生对统计知识的理解,且提供给学生进行实际知识运用的平台.

二、SAS统计软件课程现状

1.只注重上机操作,忽略统计理论

目前,由于课程设置及课时的限制,SAS软件的课堂教学往往侧重于教授学生如何点击选项或编写程序及上机操作,忽视对软件的输出结果的合理解释及对统计方法的选择,造成学生学习软件的目的性不明确,对具体的统计原理无法掌握.

2.缺少解决实际问题的课程设计,学生对软件的应用认识不明确

SAS统计软件教学的目的是在解决实际问题的过程中,用来辅助进行数据管理、数据计算、数据分析、直观图表演示及预测.然而,现阶段的SAS教学缺乏理论联系实际且只注重已集成的某种统计算法的使用的教学,从而无法使学生认识到解决问题时从分析问题、统计方法的选择、统计方法的优化、统计软件输出结果的解读到对具体问题的解释的过程,因此对SAS统计软件在解决问题过程中所处的地位没有清晰的认识.

三、SAS统计软件的教学改革

1.完善教学内容

将SAS统计软件的教学内容分为三部分:

(1)SAS统计软件基本功能及模块的教学

SAS功能强大,系统组成模块较多且各有特点和不同的功能,同一统计问题可能在多个模块中都能实现.教学过程中,教师应对基础模块、矩阵模块和绘图模块进行系统讲解,并有选择性地讲解统计模块,引导学生从理论上进行多方面的比较分析.

(2)学生参与的上机操作实践教学

教师在主机上演示和讲解课程后,学生上机操作,练习SAS软件的操作,熟悉各个模块的使用,并实践数据的管理与分析过程,加强学生对知识的理解和软件使用的认识.

(3)SAS统计软件辅助完成的理论联系实际的案例分析教学

教师选择两三个典型的案例,根据RMI原理,讲解案例从利用SAS进行数据整理到建立统计模型,再到选择统计方法并使用SAS进行统计分析、计算和绘图,最后解释输出结果,并说明问题的结论的全过程,然后将学生分组,布置学生小组在其能力范围内的案例题目,锻炼学生独立完成案例解决的能力.

2.改进教学方法

为了提高教学效率,教学中应充分利用多媒体技术辅助教学.一方面,多媒体课件中应列出重点难点,与学生互动后阐述并总结统计原理和基本思想,力求清晰、具体、易懂;另一方面,课件中应包含SAS的基本操作步骤、对输出结果的详细解释说明及各项指标和专业术语的含义.在使用过程中,教师在主机上动态演示,讲解的同时引导学生思考,给出明确结论,并掌握授课节奏.讲解结束后,学生通过上机操作熟悉软件的使用,并通过练习牢固地掌握知识,理解统计方法,巩固统计思想.现代化教学中,如果能够通过网络教学平台,将有限的课堂教学延伸到无限的网络互动交流、答疑解惑、小组案例分析,将会显著加强学生的理论与实践相结合的能力和解决实际问题的能力.

3.加强教学评价

衡量课程教学效果,检验学生对课程的掌握程度都需要进行合理的教学评价.SAS统计软件的教学评价应分为笔试和上机操作两部分,分别占总成绩的70%和30%.两种考核方式的评价标准如下:

四、结束语

在教学过程中,根据SAS软件教学内容的特点选择具体的教学形式和评价方法,并将它们有机地结合起来是得到良好教学效果的保证.只有以学生为主体,理论联系实践的教学才能使学生沉浸在SAS统计软件的强大功能中,使其更好地为统计理论实现服务.

【参考文献】

[1]李玉红,彭晓峰,陈慧青.统计软件SPSS在应用统计学教学中的应用[J].金融教学与研究,2009(3):71-72.

篇4

国家示范性软件学院的一个重要职责就是要在教学研究、教学实践以及教学改革方面进行大胆的探索和实践。因此,在完善已有课程体系及授课的同时,应该充分利用优秀的教学资源,总结教学经验和科研成果,编写专业教材,力争探索出一条为国家快速培养高素质软件工程人才之路。

北京工业大学软件学院蔡建平教授长期从事软件工程、软件测试及软件质量保证的研究,在多年讲授软件测试课程经验和体会的基础上,对软件测试课程教学内的知识点进行调整、补充和完善等方面的改革,针对软件质量评价和软件高可靠性的要求,针对国内软件研发和测试外包的本地化要求,以及针对软件测试用于各种应用领域的要求选择授课的知识点,并取得了较好的效果。

目前国内关于软件测试的书籍较多,其中很多书籍是翻译的、为培训用的或介绍软件测试技术和方法,作为教材满足各类测试人员的学习还有一定的距离。本书是在作者长达二十几年软件工程、软件测试和软件质量保证实践经验和教学经验的基础上,借鉴前人成果,参考当前软件测试方法和技术应用实践案例进行编写的。蔡建平教授编写的《软件测试大学教程》一书,以现代软件测试需求为背景,以现代软件测试技术和方法为基础,以当前软件测试通常应用为典型实例,从软件危机及软件缺陷开始,全面介绍软件测试的基本概念,软件测试的技术、方法和工具应用,以及软件测试在当前主流应用中的具体开展和实施。

其特点如下:

(1) 内容全面。突出全生命周期软件测试概念、软件质量分析手段、现代软件测试技术、主流测试工具应用以及典型应用测试方法等,帮助学生了解和掌握现代软件测试的各种原理、方法和技术,并能够选择合适的软件测试工具进行相关测试。为培养学生今后成为高素质、专业化的软件测试人才打下基础。

(2) 针对性强。针对软件开发方法和技术的发展变化,针对我国软件外包服务的蓬勃兴起,针对我国国防工业如航空、航天、船舶、电子、通讯等大量重要软件或关键软件的实际应用情况和测试需求,特别是对软件高可靠性的要求,选择教材的知识点。

(3) 重实践性。该书对支撑现代软件测试技术应用的测试工具进行了全面地介绍,特别是对开源软件测试工具的介绍,这对高校开设软件测试实验课程是非常有意义的。在教材中给出了软件测试在几个典型应用领域具体实施的要点和注意事项,这对缺乏实践经验的培养对象而言具有极好的引领作用,对开阔软件测试人员的眼界、思路和具体实践有很大帮助。

(4) 具前瞻性。书中不少内容取材于互联网,在一定程度上体现了软件测试技术的最新发展,具有较强的新颖性和现代性。

篇5

关键词:跨学科教学;生物多样性调查;软件;iNaturalist

中国生物多样性监测网络正处于飞速发展之中,其中较为完备的有中国自然标本馆、甘肃生物多样性数据平台及监测网络、中国森林生物多样性监测网络以及“台湾生物多样性网络”等,但这些图像或样本的呈现方式都是静态化或过于专业化,给初学者阅读和认知带来了一定的困难。笔者通过调查发现,目前,中国应用市场相关软件或微信小程序均有拍照识图功能,虽有助于师生借此识别一些不认识的动植物,但给科学性调查带来了一定局限性。例如,科学性调查不但对图片拍摄的分辨率要求高,而且对特征识别度的要求也高,否则会出现错误识别情况。为解决以上问题,笔者试用了不同应用软件,发现iNaturalist软件能很好地建立起地理与生物之间的联系。该软件的一大优势是,它并不是通过简单的数据处理分析给出一个结果,而是由全球生物多样性学者共同对你所拍照片进行鉴定。当对鉴定有异议时,可以在图片下方进行讨论。也就是说,不同地区的生物将会出现在不同的经纬度,并由生物学家进行辨识。据此可知,该软件具有很强的互动性与实时性。

1iNaturalist软件的简介

这款软件是由美国加利福尼亚大学伯克利分校的研究生NathanAgrin,JessicaKline和Ken-ichiUeda3人基于对自然观察的热情而联手开发的,目的是将专业研究者与公民科学家连接起来,同时让业余观察者随手记录的资料成为生物多样性研究的重要来源。例如,当用户上传一张动植物照片时,就有许多自然科学家和博物学家对此进行鉴识,这是iNaturalist回馈机制的具体表现。在鉴识过程中,专家一般围绕清晰度、研究价值等方面对用户上传的图像数据进行严格的筛选与审核,如满足条件就会共享到GBIF(GlobalBiodiversityInformationFacility,全球生物多样性数据共享系统),从而成为未来研究生物多样性的重要数据。该软件支持多国语言,使用者可以选择简体中文。

2iNaturalist软件的使用

使用者将观察记录到的照片提交至平台,如照片左上方标识为“RG”即为研究级(ResearchGrade)照片,将共享至GBIF。上传者可以选择是否定位自己所拍摄照片的经纬度与拍摄时间(位置可选择关闭按钮,即可隐藏坐标),以此实现坐标共享;也可以欣赏其他国家观察者拍摄的特有物种,以便扩大学习者的知识面。当观察者上传的图片被鉴定完毕后,将自动归入所属生物分类阶元。iNaturalist软件的操作界面如图1所示。

3iNaturalist软件的回馈机制

对于iNaturalist软件的回馈机制,图2所示给予了直观描述,笔者在此不再赘述。

篇6

关键词:工程硕士;开放式教学;课程组

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

1引言

软件学院软件工程硕士的培养目标是培养高层次、应用型人才,针对这个目标,其教学实施应着重体现出以下两个差异性:

(1) 软件工程学科领域和计算机学科领域间专业设置的差异性,这个差异应能够很好地体现培养应用型人才的目的;

(2) 工程硕士课程和软件学院本科课程的差异性,这个差异应能够很好地体现培养高层次人才的目的。

目前国内软件学院软件工程学科和传统的计算机科学学科在课程设置上差异还不显著,工程硕士的培养方案中甚至部分课程只是本科阶段的重复。虽然大都开始强调学生的软件项目实践,但普遍缺乏过程管理。本文在对IEEE的软件工程知识体系进行深入学习的基础上,针对软件学院软件工程硕士提出了实现开放式教学体系的教学改革方案。

2软件工程知识体系

2004版SWEBOK将整个软件工程知识体系分为11个知识领域(Knowledge Area,KA),其中前5个知识领域是按软件开发的生命期诸阶段排列的,即软件需求、软件设计、软件构造、软件测试和软件维护;后6个知识领域是软件开发中的支撑性或者辅的方面,可能覆盖软件开发的多个阶段,包括软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量、相关学科知识领域。这些知识领域SWEBOK并没有重新系统规定,而是直接套用已经成型的各领域知识体系,因此不可避免地存在重叠和不匹配。

在SWEBOK的基础上,IEEE与ACM又共同拟定了CCSE。其中的核心部分是软件工程教育知识(SEEK)。SEEK由十个知识领域组成,包括:计算机基础(CMP)、数学和工程学基础(FND)、职业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证(VAV)、软件演化(EVL)、软件过程(PRO)、软件质量(QUA)、软件管理(MGT)。

可以看出,SEEK和SWEBOK基本内容是相近的。总的来说,二者都是包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。

3高等教育教学改革研究状况

目前国内关于高等教育教学改革的论文很多,如翁敬农、刘云等在软件学院实践教学体系的内容与规划中提出了“一个目标”、“两种途径”、“三大环节”、以及“四级台阶”的具体步骤。王移芝、林艳琴提出基于“两段教学”的计算机基础课程的教学体系框架。谢芳清、闫大顺提出了以素质教育为目标的实践教学体系。王浩、胡学钢等提出计算机科学与技术专业实践教学体系的总体研究与建设。王志英以国家实验教学示范中心为例,提出实践是综合能力培养的基础,并以此构建计算机科学与技术专业实践教学体系。董玮、邱建华等以专业课“程序设计基础(C语言)”为例给出了建设实践教学体系的实践探索。然而目前还没有检索到专门研究软件学院工程硕士教学改革的论文。无论是从传统计算机科学与技术专业与软件学院软件工程专业的区别,还是本科生与研究生的区别来看,针对软件学院工程硕士的教学改革研究都是十分有必要的,同时也是迫切的。

4工程硕士的课程体系设计策略

我们以IEEE SWEBOK和CC2004SE的知识体系为主体,结合中国软件产业以及本院的具体实际情况,设计了中国科学技术大学软件学院软件工程专业的知识体系,作为我院工程硕士课程设置和教学计划实施的依据。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置可以分为三个层次,即导论性课程、软件工程核心课程和其他课程。如图1所示,该知识体系定义了7个知识体系子类。计算机基础和数学和工程学基础属于导论性课程、其他课程包含了职业实践、领域课程、软件工具、工程实践等四个子类。

其中计算机基础定义了软件工程作为计算学科所必需包含的计算科学基础以支持软件产品的设计与建设;数学与工程学基础提供了软件产品获得所需属性的理论和科学基础;职业实践则聚焦于软件工程师以职业行为从事软件工程实践所必需具备的知识、技能和态度;软件工程核心课程应该包含软件开发生命周期所涉及到的主要知识领域;领域课程包含了对于某个特定领域软件工程师应该接受的特定教育或经验;软件工具定义了从事软件工作所必需掌握的当前主流工具与软件产品等;工程实践则是学生使用所学到的知识从事实际开发活动,提供动手能力的重要环节。

对于工程硕士来说,大部分同学经过计算机本科专业的学习,已经具备了初步的计算机基础以及数学与工程学基础,因此目前其课程体系建设如图2所示,重点是完成软件工程核心课程教学,并结合IT界的最新技术趋势设计相关领域课程。教学改革的核心是如何设计软件工程的核心课程,并指导学生熟练掌握相应的软件工具,强化他们的实践动手能力。

5工程硕士开放式教学体系建设

对于如何设计软件工程的核心课程,我们的主要思路是打破原先各子知识体系间的界线,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,实现一个完整的开放式教学体系。如图3所示,整个开放式学习体系包含三个部分:

(1) 设计课程组:在理论环节采用课程组的概念,集中讲授较高层次的、符合硕士生水平的软件工程的某些重要环节;

(2) 开设实践教学环节:在实践教学中采用做中学(Learning by Doing或LBD)理念,由指导教师讲述软件工具的具体操作过程,同学实际动手学习;

(3) 强化工程实践:在工程实践中由学生自主选题,并将LBD中讲述的工具在项目整个生命周期中贯穿使用。

5.1设计 课程组

目前我院开设的高级软件工程和本科的软件工程课程内容并没有太大差别,对于软件工程的各个环节面面俱到,但又都比较浅显,对于工程硕士的培养显然是不合适的。因此我们设计了软件工程课程组的理念,初步设计了以下课程:

(1)“软件开发管理”(Managing Software Development)

(2)“软件系统架构”(Architectures for Software Systems)

第一门课程主要针对以后立志从事软件工程管理方向的同学,课程针对IT项目集中阐述如何实现风险、资金、工期等各方面的管理;第二门课程主要针对以后立志从事软件高级开发方向的同学,课程主要讲述复杂软件系统架构层上的设计,介绍目前通用的软件系统结构、设计技术以及实现这些结构的模型、表述方法等。这两门课程对于软件工程硕士应该至少必修一门。除了这两门课程,其他软件工程类的课程包括了设计模式、软件测试、语言类课程如J2EE、.NET等等,学生可根据自己的实际情况进行选修。

5.2开设实践教学

针对该课程组,我们开设了实践教学环节,采用做中学理念,由指导教师(可以由助教担任)根据事先确定的主题,选用具体工具讲述如何使用该工具完成项目开发的某具体环节,工具涵盖了项目管理、架构设计文档化以及测试等软件项目开发的主要方面。

对于软件工具的选择,有两种思路。一种方法是对软件工程的不同环节分别选择不同工具,例如项目管理选Project、开发文档化选Rational、测试再选别的工具这样来做,但结构分散,不利于整体化考虑。另一种是采用套件,完成项目开发全程的所有操作,目前我们选择了两种套件,一是微软的VSTS,该套件和微软的Visual Studio开发平台绑定,适合学习.net开发框架的同学;另一种是IBM的RSA,该套件和Eclipse开发平台绑定,适合选择开源J2EE开发框架的同学。

5.3强化工程实践

大多数的软件学院目前都开设了专门的工程实践环节,但实际的效果并不尽如人意。因此我们将工程实践环节也纳入到开放式学习体系中,以前面所说的理论以及实践教学环节来指导学生更好地高质量完成整个工程实践。

从教学方法上,工程实践应尽可能地贴近现实项目,除了常见的软件工程文档,我们还要求学生提交过程管理类文档(软件开发合同、会议记录、工作日程记录、合同执行报告:财务报告和开发过程报告、个人总结、小组总结等)。

从技术上,学生可以自由选题,也可参考工程实践题库中的选题。选题涉及所有领域课程包含的内容。要求学生必须采用实践教学环节中介绍的工具全程介入项目开发的各个阶段。学院设立专门的工程实践网站提供学生选题及交流,以及指导教师的监督。

从教学形式上,则注重如何实现应用型软件人才的核心能力分析与培养,要求学生运用职业实践子知识体系中的相应内容,锻炼学生的口头表达能力、书面表达能力等。通过学生的开题演讲、采用各种工具完成相应的项目文档、结题答辩等环节来实现学生职业素质的培养。

从实践效果评价上,我们制定了一系列的成绩考核方法、管理考核信息、分析考核结果、评价教学质量等措施,实现完整的考核体系。

6结论

软件工程专业学生的培养,在学科教育与培养面向市场需求的人才方面有着事实上的矛盾。软件学院现有的实践教学体系存在着专业课程设置定位不准确、课程实验师资不足、实验教学内容质量不高、实验指导和管理落后等问题。根据软件工程专业教学所面临的挑战,在充分调研IEEE SWEBOK和CC2004SE知识体系的基础上,针对软件学院的工程硕士,我们提出了软件工程硕士开放式教学体系的建设,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,制定了一套较为完整的开放式实践教学实施计划。

参考文献 :

[1] Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering [EB/OL]. [2004-08-25]. /ccse/SE2004Volume.pdf.

[2] 翁敬农,刘云. 北航软件学院本科生实践教学体系的研究与实践[J]. 计算机教育,2007(11).

[3] 王移芝,林艳琴.“计算机基础课程”实践教学体系的研究与实践[J]. 实践教学,2008(8).

[4] 谢芳清,闫大顺. 计算机工程专业实践教学体系的研究[J]. 中国科技信息,2008(9).

[5] 王浩,胡学钢,侯整风,等. 计算机科学与技术专业实践教学体系的研究与建设[J]. 计算机教育,2007(11).

篇7

(1)传统教学模式课程主要以软件工程基本知识和理论为主,在理论教学过程有少量的片段案例教学,并配以少量课时的实验,此教学模式中以软件生命周期为主线,理论教学为主,教学过程比较枯燥,实践环节相对薄弱,学生学习兴趣不高。(2)任务驱动的教学模式为实现对学生应用能力的培养,同时提高学生的学习兴趣,使学生参与到课程中,采用软件工程任务驱动的教学模式[2]。在教学内容上以具体的开发任务为驱动,选择与生活联系紧密的课题,贯穿始终系统地讲解理论知识,并辅助以实验并行。该教学模式把学生和课程任务紧密连接,有助于学生参与到课程中来。(3)项目驱动案例教学模式此教学模式有项目驱动的案例式分段情景教学模式[3]。在项目驱动下的软件工程课程教学,从项目库中选择合适的项目,并配以相应案例,通过基于案例的分段情景教学,使学生容易理解并掌握项目设计和开发过程中的软件工程化方法,通过情景教学增加交互性,提高学生的理论知识和动手能力的提高。

2.逆向教学模式

无论是采用传统教学模式,任务驱动的教学方法还是项目驱动案例教学方法,都是按照先学理论后实践的模式,学生先听理论,然后把理论应用在实践中。采用这样的模式,学生先被动接受理论,然后再用理论指导实践,本质上的好的,但由于学生没有参与过软件的开发活动,对理论的理解并不深刻,不能真正理解“为什么要这样做”,而只能在完成理论学习后,按照理论中的规则开展开发活动,只能说按照软件工程理论指导好,“好在哪里”并不能深刻的领会,再遇到类似问题,只能机械使用理论,不能灵活创新使用。从软件工程的发展历史看,软件工程提出是为了解决软件危机,解决如何开发出足够多的、满足用户需要的软件和如何维护众多的用户软件的问题。使用软件工程的方法可以提高软件生产率,方便维护。按照软件工程的发展过程而学习软件工程将符合人们的认知规律,更加容易接受和吸收,为此笔者提出软件工程教学模式的逆向教学模式“实践—边理论边完善—再实践”,即首先让学生利用程序设计类课程所学编程语言完成一个小型软件系统,然后再按照软件生命周期的顺序讲解软件工程理论,在讲解理论的同时评价学生的系统,学生讨论改进方法,并对系统进行完善,最后在课程学习完成后在进行一次比较全面的软件系统开发。通过这样的教学模式,使学生对软件的认识从“软件=程序”,逐渐认识到“软件=程序+数据+文档”,对软件工程的方法、工具、过程有更好的理解和运用。该教学模式分为如下三部分。(1)前期实践首先在课程学习之初,先布置大作业,让每个学生在短期内完成一个小型软件系统,如图书管理系统、成绩管理系统等,需求不是太复杂的,距离学生日常生活很贴近的系统。此次大作业已完成软件程序代码为主,不考虑文档等设计需求。通过这个实践活动,可以使学生把前期程序设计类课程所学知识进行综合运用,学生此时的认识是“软件=程序”。(2)中期理论讲解与完善实践结果在完成大作业后,对学生的作业进行简单评审,如发现不同的同学完成的功能有所不同,引导学生思考为何会产生这样的现象?此时引入需求的概念,如何准确描述和理解需求等知识点,从而引入软件工程课程的正题,按照软件生命周期的先后顺序边讲解理论,边评价改进学生作品。采用先学生作品评审,遇到问题,引导学生讨论,然后用软件工程理论解决,再深入学生作品,对作品进行改进,对软件工程知识由浅入深的学习和掌握,改变过去学生能听懂理论但不能联系实际的情况。在讲授过程中也可以增加实际工程案例,改善对当前项目案例规模太小,反映现象不全面,不突出的状况,使学生对工作实际有所了解。通过这个过程,使学生完全沉浸在软件项目开发过程中,在不知不觉中体会到软件工程理论的强大,把抽象的理论转化为可操作的实际,认识到这是一门很实际有用的课程,而不只是一门有学分的课程。(3)后期再实践完成软件工程开发方法基本理论知识讲解完成后,让学生再次选择其它题目分组完成,此时项目的完成就要按照软件项目开发的全部内容要求,此时学生可以吸取前期项目的经验教训,较好地将所学理论知识运用到软件开发中,同时也巩固了所学设计开发及项目管理方面的知识掌握。

3.总结

篇8

软件开发技术发展迅速,软件管理出现了新的概念,教学内容也要与时俱进,不然无法满足社会需要。通过分析IEEE最新的软件工程知识体系进行组织教学内容,使得学生学习之后继续深入学习软件开发打下坚实的基础。(1)基础部分:课程知识包括IEEE的软件工程知识体系(SWEBOK),有软件需求分析、软件的程序设计、软件开发代码实现、软件的测试(白盒黑盒)、演化过程、过程质量、配置管理等核心内容。(2)应用部分:包括如今常用的开发过程、程序开发的技术方法和UML语言,教学内容加入企业实践和案例教学。(3)实践部分:教学以开发团队的方式开发一个软件系统,学生从开发软件的过程体会软件工程思想,学习和运用软件工程知识解决软件开发出现的很多问题。

2研究认知规律与学生心理,强调案例化教学和探索式学习

《软件工程》的知识是根据很多软件开发过程中提炼出来的,对于缺乏软件开发经验的学生来说只是简单的讲授课本上的知识会让学生理解不了。所以,首先收集软件开发案例,然后将好的案例放到平时的理论课程中,学生通过了解软件开发过程掌握软件工程的思想和方法。教学过程应该注重鼓励学生探索学习知识,启发学生自己想办法查阅资料,最好能够和软件企业的开发人员聊天接触开发知识,体会一个工程师的工作。老师上课的时候喜欢“一言谈”,这样教学不受学生喜爱,如果增加课堂上的互动,可以使得教室内气氛活跃、宽松,积极启发学生多问问问题,针对问的比较多的问题进行专项训练和专题报告。介绍学生了解网络课程和网络中的教学资源,激发学生学习兴趣,让学生自主学习。利用网络聊天工具,创造机会和学生多交流,引导他们思考讨论软件工程的问题,这样的话,老师由知识的灌输者成为学习的引导者,学生学习兴趣会提高,学习效果也得到了提升。

3根据课程特点结合实际开发因素进行实践教学

实践教学是本课程中一个重要的组成部分,它要求学生以开发团队(一个团队通常由3~5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队合作精神,使学生初步体会到一个软件开发项目全过程。课程实验项目的软件开发过程分成实验准备、分析设计、编程测试和软件交付等部分,具体要求如下:(1)准备实验:实训课堂中学生首先接触到一个软件描述,内容很简单。学生自发的联系队友组成一个团队,并且制定开发计划。(2)分析设计:开发团队根据软件描述实现需求分析,最终形成需求分析规格说明。软件需求规格说明完成后,设计软件系统的总体框架,分模块完成,每个团队都将得到开发任务,最好能够实现竞争性开发。(3)编程测试:得到任务的团队,实现项目开发包括文档,测试和调试代码。(4)软件交付:团队集成的完整系统交给老师验收。

4研究软件工程环境

提供一个软件开发项目对学生来说是不够的,他们还需要一个符合软件工程的开发环境,在这个环境里面体会软件工程的思想和方法,怎样这样一个学生喜欢效果好的软件开发工程环境呢?通过研究软件工程应该具备的基本要素,软件工程工具的使用引入课堂中来,特别是课程实验项目中,学生可以使用管理工具,他们会发现各种制品控制在有序管理之下,使用他们建模和测试进行软件分析、设计和测试效果要比没用他们好很多。老师认真编写规范的实验指导书,包括开发过程模型、系列文档模板、软件编码规范、段评审标准等,使实验和实践环节规范有序,改变了学生以往突出个人技巧的杂乱过程。

5结论

推荐期刊