前言:我们精心挑选了数篇优质软件教学论文文章,供您阅读参考。期待这些文章能为您带来启发,助您在写作的道路上更上一层楼。
绘画是动漫和游戏美术专业非常重要的基础课程,对学生的造型能力、设计能力、审美水平起着非常重要的作用。其中素描、色彩、速写课程是美术基础训练的重点。在动漫设计和游戏美术制作中虽然要运用各类二维和三维的不同绘图软件,但千万不要认为用软件制作和美术基础无关。不论运用哪个软件,一个绘画基础好的人和一个没什么绘画基础的人做出来的作品是有本质区别的,尤其是在形体结构以及光影和色彩的把握上都是绘画功底在支撑最终的完成效果。同理如果运用绘图软件能够制作出优秀作品的学生,那么他的绘画功底一定很好。在高职的动漫和游戏专业美术教育体系中,笔者建议在学生大学一年级时进行大量的美术基础课程的训练,而且反复强调一定是大量的正规的训练。所谓正规的训练就是尽量在美术课程上借鉴中国美术学院的课程安排,例如:素描课要上升到一定的高度,不能仅仅是启蒙素描,学生训练到一定水平的时候一定要开设人体素描,色彩和速写也是一样。因为任何一部动漫作品或是游戏作品都是离不开人物角色的。那么学生应该深入的了解人体的结构、解剖与外形,而这种能力就必须从大量的人体绘画训练中获得。用一句话来概括就是想要从事动漫游戏制作的相关工作就必须先要画好画。
2学习绘图软件的使用
现在的动漫和游戏行业美术人才要有两支笔,如果你有了扎实的绘画基础,那么恭喜你已经拥有了你的第一支笔,那么另外一支笔就是你要学会灵活的运用各种计算机绘图软件。为此现在各个院校的动漫游戏类专业的教学大纲中都包含了各种各样的软件学习,少则十几个多则几十个。其实学那么多学生显然不能融会贯通,灵活掌握。几年的游戏美术制作经验告诉笔者,其中的几个软件还是应该作为学习的重点的。应该包括Photoshop、3dsmax、Maya、Flash、Zbrush。这几个软件想要灵活运用就足够学上一个学年的。继而笔者推荐将绘图软件学习放在大学二年级进行。在绘图软件操作的学习中,教师要严格要求学生做好课堂笔记,不然软件命令错综复杂,忘的会比学的快。为了加强记忆和提高使用软件的熟练程度,大量的课下作业也自然是必不可少的。
3项目教学与参加大赛
第一,按照这样的学习方式,学生到了大学三年级应该同时具备了扎实的绘画功底和熟练的软件操作技能。遵循工学结合的人才培养模式是职业教育的一大特点,校企合作引进项目教学无疑充分实现了这一教育特点。让学生在真正的企业项目实践教学中使自己的的专业能力得到完善和升华。这不仅可以检验自己之前的学习成果,更能让学生实实在在地了解业界的要求,更好的适应团队合作的工作方式,真正做到学院与企业的零距离接壤。因此,在这一教学环节中要实实在在的引进先进相关企业的一部分制作项目进行项目教学,创建“教学工厂”的培养模式。专业教师甚至可以带领学生直接进到企业参与一段时间的生产实习,也可以在学校设立校企合作实训室,由企业的人员来学校进行现场指导和检验。另外,每年的全国职业技能大赛也是高职院校的重头戏。为充分展示职业教育改革发展的丰硕成果,集中展现职业院校师生的风采,促进职业院校与行业企业的产教结合。技能大赛是专业覆盖面最广、参赛选手最多、社会影响最大、联合主办部门最全的国家级职业院校技能赛事。动漫设计赛项是职业技能大赛中必不可少的组成部分。如果想要在职业技能大赛中取得好成绩,对于专业水平的要求甚至要超出企业的技能考核标准,具有绝对的说服力。经过充分的准备和紧张的备战,带队教师和参赛选手在激烈的比赛中,相互配合、相互支持、共同学习、共同提高。
4总结
ChemOffice全称CambridgeSoftChemOffice是由美国剑桥软件公司研究和开发的一款化学专业应用软件。变得更加便捷。化学应用处理软件ChemOffice由ChemDraw、ChemFinder和Chem3D三个模块组成。ChemDraw模块是化学结构绘图软件,也是现在各论文期刊指定的格式;Chem3D模块是分子模拟分析绘图模块,通常用它来计算分子轨道的形状、分子表面积、显示分子轨道,描绘化合物的结构;ChemFinder模块是化学信息搜寻整合系统,用来建立化学数据库、储存数据及搜索化学数据库。ChemOffice软件是针对专业化学绘图设计,可以绘制各式各样的化学键、环、轨道等,可以与软件中的数据库链接,可以查出结构式;也可以将化合物名称直接转为结构图,省去绘图的繁琐;还可以对已知结构的化合物命名,给出正确的化合物名称。也可以利用此软件所提供的样板功能,大幅缩短制作文件所需的时间。
二、ChemOffice软件有助于化学教学
(一)化学教学的主要辅助手段
随着计算机多媒体技术的普及和现代化学应用软件的开发,现在化学教育的授课方式已经告别了一盒粉笔、一块黑板的传统教学,现代化的教学辅助手段使越来越多的老师都体会到了用化学工具软件来制作课件辅助教学的优越性。ChemOffice软件在化学教学中可以优化教学设计,使原本枯燥的课堂变得生动起来。主要体现在以下几点:
1.直观、可视性
在化学教学中,关于化合物结构的讲解一直是授课的一个重点,也是学生理解的一个难点。ChemOffice软件不仅可以绘图,还可以将化合物的结构立体化。这样教师在备课的过程中不但不用准备模型,而且在授课过程中还可以根据需要随时将平面图和立体图进行转换,提高教学效率,能取得良好的教学效果。例如苯乙烯的结构式如图1。利用ChemDraw模块建立分子结构式后,再利用Chem3D模块可以将转化为三维图形如图2。三维图形可以动态旋转向学生展示不同方向的立体构象,便于学生直观的理解。对于结构复杂的有机大分子,比如葡萄糖、纤维素、环糊精等,都可以采用ChemOffice软件进行模拟展示,一看便知,易于理解。
2.有助于探究式教学
如何做好探究式教学,从20世纪中期开始就一直是国内外教育科学领域中的一个研究重点课题。探究式教学使学生不再被动地接受知识,提高学生的学习兴趣和主动性。化学应用软件ChemOffice有助于探究式教学的开展。例如有机化合物命名的学习。在学习过程中,部分学生对于命名规则还是理解不透彻。ChemOffice软件的命名功能,可以帮助学生理解深入。利用ChemOffice化学工具软件中的ChemDraw模块在课堂上演示,绘制出化学结构式,单击结构(Structure)菜单中的结构式转化为名称(ConvertStructuretoName),可以实现对结构式进行自动命名。同时,ChemOffice可以将化合物的系统名称直接转为化学结构式,输入名称转化为结构式(ConvertNametoStructure)的命令后,输入化学名称,系统会找到对应的结构置于绘图中。通过这两个功能,学生能扎实的理解掌握结构复杂的化合物命名规则。对于陌生名称也能查到结构式,理解能更深入彻底。利用ChemOffice软件还可以锻炼学生的波谱解析能力,例如,利用ChemDraw模块可预测一些化合物的1H-NMR和13C-NMR谱。原理是以选取的分子基本结构为基础,利用加和性原则来计算氢原子和碳原子的化学位移。在课堂上教师也可以通过图谱模拟功能,直接演示各种化学物质的氢谱和碳谱,省去具体实验的繁琐。
3.使复杂计算简单化,适用于高等教育
ChemOffice软件不仅可以应用于初高中、大学本科的化学课程教学中,对于高等学校的硕博士研究生的研究型教育也非常适用。例如,ChemOffice软件中的Chem3D模块具备强大的计算功能。计算范围包括键长、键角、二面角、分子间距离、分子所在空间的基本计算。还能结合MM2、MOPAC、Gaussian等程序进行分子力学和量子力学的计算,甚至对分子进行动力学模拟、化合物构象分析和过渡态能量优化。例如,可以通过ComputeProperties计算的出复杂反应,中间过渡态产物的一系列性质,从计算结果中可以得到偶极、动能、势能、极化率、总能等一系列性质参数。ChemOffice软件对于培养研究型的高等化学人才有着重要的意义。
(二)增强学生学习主动性和师生间的互动
课堂教学的过程是老师和学生互动的过程,但在很多情况下,学生由于缺乏学习的主动性,导致学生学习的积极主动性降低,学习兴趣下降。ChemOffice化学应用软件可以创设情景教学,有助于培养学生的学习兴趣,教学效果事半功倍。例如,可以利用ChemOf-fice软件中的ChemDraw模块,模拟化学实验,自主设计实验方案、实验过程,根据实验流程要求,让学生自己动手,根据实验要求找出需要的化学仪器(例如图3),进行拼接,绘制实验反应装置图(例如图4),教师只给予适当的指导和提示,学生的积极参与,加强了师生交流,活跃了课堂气氛。学生体会到学会的知识是自己发现出来的,不是别人硬塞进来的。这种可以通过自己的探索和思考而获得知识的教学手段,有利于学生思维的开发,学生在探索中学习体会到乐趣和成果后,将会更主动的学习,同时也能减轻教师负担,提高教学效率。
(三)有助于促进计算机和化学专业外语的学习
对于高校的学生,采用ChemOffice软件进行教学是实践开展双语教学模式最为理想的教学材料。ChemOffice软件是由美国剑桥公司开发的外文软件,各个模块中所有的命令、模块说明等都是使用纯正、地道的英文。学生在使用这款软件的过程,也是学习相关计算机和化学专业地道英语的一个过程。通过计算机演示等有关化学教学内容的渗透,传授相关化学知识,利用软件进行动态演示解决化学问题,揭示化学机理等,或是利用化学工具软件进行自主学习。
三、结语
(1)全面提高学生创造性与主观能动性
微信平台是集文字、声音、图像、群聊以及其他相关功能为一体的新型教学工具,改变了传统教学中教学方法单一的问题。微信中的实时交流功能与高校学生生活习惯相适应,以极为丰富的教学材料大大提高学生学习英语的兴趣,有效辅助学生对教学内容的理解与掌握,从而使学生成为大学英语课堂教学的有效参与者,满足了新课程标准的教学要求。(户晓娟,2014)同时,利用微信软件中的语音交流功能,可以打破老师与学生面对面交流的束缚,创设更多在线沟通的机会。正是微信中的多种功能,才使其成为大学英语新型的教学方式。
(2)延展英语课堂教学内容,进一步提高教学质量
借助智能手机移动终端,微信平台进一步提高了人与人之间交流的快捷性,每个学生都能通过微信平台交流与分享自身的学习体会与心得(。陈晨,2013)微信中随时随地交流的优势弥补了传统大学英语课后师生沟通不足的缺陷,使课堂教学无限延伸到课外。教师可以将与英语口语或读写课程相关的材料至微信平台,指导学生自主地进行学习,学生能更自由地安排学习时间,并且针对学习疑问在群聊板块参与充分的互动与交流。微信具有的群聊功能增加了师生之间、学生之间的交流,在群聊的过程中学生能够提出对英语学习的疑惑。不仅如此,大学生还能够在讨论时充分锻炼自己的语法与写作能力,并且借助语音功能提升英语口语表达。除此之外,学生还可以利用微信软件将老师布置的作业上传,对其中存在的问题或错误进行总结与反思,为下一阶段的学习任务安排提供参考(。陈迪,2014)微信可以将学生学习到的书本知识彻底转化为具有实用性的英语知识,从而提升了英语学习的应用能力。
二、大学英语教学中应用微信软件的可行性分析
(1)英语教学与多媒体技术结合的优越性
多媒体技术将声音、图片等教学素材融为一体,在教学过程中不仅丰富了教师的教学内容与学习方式,还可以有效转变课堂教学中的氛围,为课堂营造轻松和谐的气氛,从而提升学生学习的活跃度。在大学英语教学中充分发挥微信软件的多媒体优势,可以改变及完善传统教学模式,将枯燥无味的教学内容变为生动形象的视频或图片。通过视觉、听觉等不同感官的接触,激发学生学习的学习积极性与热情,最终实现英语学习效率的有效提升。此外,多媒体技术教学还将第二课堂的优越性充分展现出来,学生自主学习难度较低的相关知识后,教师则在课堂上集中讲解教学重点和难点。(陈娇,2014)在大学英语教学过程中,教师还能截取一些欧美国家的歌曲或电影的部分经典桥段在微信平台播放,从而带动师生之间的互动与交流,逐渐转变学生学习英语的观念,将学习英语转变为一种生活习惯。
(2)大学英语教学英语微信平台的优势
越来越多的教育者意识到这种移动教学手段对课堂教学的无限潜力,微信应用于大学英语教学已经成为一种必然趋势。网络技术以及移动教学的出现及推广,将在一定程度上丰富英语教学方式,打破大学生在学习英语时的空间与时间限制,从而为学生创造出一个个性化、自主化的学习平台。(卓娅,2009)所以说,大学英语教学中应用微信平台已经成为未来英语教学的主流方向与重要手段。
三、微信软件应用于大学英语教学的相关设计思路
(1)以学生为教学中心,开展互动式英语学习
在开展大学英语课堂教学时,其中必不可少的内容就是英语的口语教学、读写教学与听力教学,而微信软件的应用则可以为师生建立起一个全新的网络学习平台。英语教师能够利用微信平台发送课程知识与英语范文,学生在这个平台上查收并阅览,按时完成老师布置的相关作业,从而提升对英语知识的辨识能力及英语阅读水平;教师在微信平台上改正学生的作业,纠正语法方面存在的错误,从而提高学生对英语学习的信心及英语综合水平。利用微信进行大学英语教学。不仅方便教学工作的开展,更能够锻炼学生的写、读、听、说能力,促使学生的思维始终保持活跃的状态。
(2)开发前所未有的情感教学模式
在大学英语教学中应用微信平台教学还能够及时解决学生在英语学习中存在的困惑。现阶段高校英语教学工作逐渐重视师生之间情感的交流与分享,而微信平台的广泛应用无疑为师生情感交流提供了便捷的途径。英语教师利用微信可以实时了解到学生学习过程中情绪的变化,并对其思想状况进行深入了解,从而提出合理的英语学习建议。就大学生而言,在英语教学中应用微信软件,能够弥补师生之间在感情交流方面存在的缺陷,并且能够在老师的正确指导下获得情感上的安慰与满足,这些对于学生的英语学习无疑是有莫大好处的。(孙曼,2013)此外,英语教师利用微信开感教学模式的同时,还可以提高学生对读写学习的积极性,从而提高学习的信心。
(3)充分利用微信语音输出、输入相结合的教学模式
大学英语教学的教辅材料多仍以书本为主,尽管目前越来越多的出版社也相应推出网络学习平台,但对于有些学生来说,台式电脑仍无法做到人手一台。在这方面手机的普及率要远超电脑。微信软件的功能中多样性的资源与语音实时对话能为大学英语的教学提供较好的辅助。除文字、图片外,教师还可以将教辅中音频的文件打包发送到微信平台,邀请学生关注后用于课后反复聆听,加强英语的语感。除教辅的配套音频,教师还可以多方寻找与学生的实际英语水平难度相当的各类音频和视频资料分享到平台,与时俱进的各类演讲、新闻视频都为学生的英语提供了有吸引力的内容,从而帮助学生提高英语听力水平。同时,由于微信平台在更新教学内容方面的速度较快,能够充分满足实时通讯的需求,所以在大学英语教学中应用微信软件精选学生日常生活相关的口语练习资料,可以有效锻炼英语口语能力。在微信软件输出与输入功能结合下的教学模式可以提高英语教师对课程的指导以及与学生之间的沟通,最终有效提升大学生的综合英语水平。
四、结语
从上面的教学设计和实施的介绍,可以看出多媒体教学软件在整个教学过程中起到了极其关键的作用,下面简要说明一下软件的各项学习功能的设计。(1)观察结构:设计了“三维结构展示”和“结构分解组合”功能,采用三维立体动画方式,实现学生“全方位、内外”直观、形象地观察认知结构。(2)读懂图纸:设计了“识图学习”─“识图训练”配套功能,先认知后训练,实现读图、识图功能,帮助学生高效率认知图纸。认知装配图时,用鼠标触及图纸上序号则显示其零部件名称并高亮显示其图案轮廓,突破了教材静态图纸的观察方式,容易引发学生认知兴趣;训练时要求学生拖动零部件名称到正确的图示位置,以此训练学生对图纸的认知。(3)认知原理:设计了“原理演示”功能,以直观形象的动画形式展示换热器工作原理,解决了传统教师讲解枯燥难懂的尴尬,有效突破了教学难点。(4)模拟拆装:“模拟演示”功能让学生熟悉基本拆装流程;“拆装仿真”能让学生模拟拆装操作,进行训练;同时,还配以视频便于学生仔细观察实际拆装流程。通过认知和模拟操作的训练,使学生如身临其境,为后续真正的动手实训打下基础。(5)模拟试压:模拟试压是最重要的学习环节,共设计了“壳程试压、管程试压、试压仿真、偷师学艺(视频)”四项功能,使学生能够模拟实际试压操作流程,完成整个试压技术流程的仿真操作,从而掌握换热器试压的专业知识、标准及装配试压技能。在上述五个主体学习功能项中,我们均设计了“我要问”的教师提问,使学生带着问题学习,也便于教师督导检查。学生若对问题感到艰难困惑,可以到软件“加油站”功能中查询学习。(6)“加油站”该功能提供前述五大功能学习模块对应的专业知识。我们改造课程教材陈述方式,内容简洁清晰、针对性强,描述尽可能通俗易懂、生动活泼,容易为高职学生所理解,便于其查阅学习。(7)“过关斩将”为考核测试功能,取意“过五关、斩六将”。通过“五关”测试,将前面所学综合知识进行逐一考核,学生若逐项通关,则取得“实训准入证”,标志着学生具备了实训所应具备的知识和技能基础,学生(团队)可在实训室自行进行实训操作(拆装和试压)。
2教学效果评价
我们对上述“软件辅助的项目教学模式”进行了近三年的教学实践,取得了非常好的教学效果。根据我们的实践与跟踪观察,在知识学习、技能实训、教学组织、难点突破、能力塑造等各个方面,相比传统教学模式,“多媒体教学软件辅助”的项目教学模式都体现出很大的优势,实现了质的提升,具体表现如表1所示。学生通过独立自主地学习实践,其观念意识逐渐改变,比如,学习观念的转变,独立意识的养成等。这些改变促使学生发现了自身潜力,意识到自身素质的提高,从而形成良性循环,其自觉性、自我期许感、自信心等进一步得到发掘,通过反馈效应,将更利于其整体素质的培养和进步。与此同时,学生的综合能力得到显著提升。这里的综合能力表现为很多方面,比如独立行动能力、独立学习能力、团队协作能力、动手实践能力等等。总之,多媒体教学软件成为一把“金钥匙”,通过我们的精心设计和在教学中的配合应用,解决了我们多年传统教学存在的困难和弊端,取得了令人欣喜的效果。从测试和反馈效果来看,学生在知识、技能的学习中切实做到了“深厚扎实”、教学效果、效率大幅提升,同时,学生也逐渐养成了独立自主学习的意识和探索求知的内在动力。需要着重提及的是,多媒体教学软件在此过程中起到了“四两拨千斤”的杠杆作用,成为深受教师和学生喜爱的助教助学的得力助手。
3“软件辅助教学”在素质教育中的作用和意义
除了良好的教学效果,本文更重要的是想说明,利用多媒体教学软件这种信息化教学手段开展的上述教学模式,在素质教育中具有更为深远的示范应用的价值和意义。针对我们的具体教学实例,我们认为有以下两点重要的价值体现。
3.1有效实现“任务驱动、学生主体”的行动导向教学的实施
首先,软件紧密契合课程教学内容和目标,设计了完整丰富的“学习─训练─答问─测试”一体化教学功能,充分有效地实现了“运筹电脑荧屏,决胜课程学习”的功能,形成了“学习助推力”;其次,通过五个教学功能模块,借助教师“我要问”─学生“加油站”功能创意,有效引导学生的知识学习,实现了“学习驱动力”;再次,结合高职学生身心特点,界面简洁实用、活泼有趣,文字图片卡通化、幽默有趣,通过“过关斩将”的功能创意,摆脱呆板单一的考核功能,将测试考核“过关游戏化”,寓学于乐,大大激发了学生的学习兴趣和动力,形成了“学习吸引力”。总之,作为替代教师功能的媒介,软件有效激发了学生学习兴趣,引导、驱动学生独立自主地按照任务程序进行课程的专业综合学习(“先期学习”),成功实现了“行动导向─任务驱动”教学模式的开展,改变了原来教师讲解、讲授造成的“教师主动、主体,学生被动、客体”的学习模式。这为学生素质培养奠定了坚实基础──素质教育必须以人为本,将学生提升到主体地位。
3.2改善传统实训模式,塑造学生“知行合一”的学习品质
传统的实训模式有很多弊端,如效率低、效果差:学生在实训室不易组织,教师需要讲解和示范,耗费时间和精力,效果反而并不好。而更严重的缺陷是“知、行脱离”:学生在实训室仅仅是动手操作,没有将知识和技能紧密衔接,形成了盲目动手,“手、脑分离”的不良学习品质,这对学生素质教育目标背道而驰。而采用如上所述的“实训准入制”模式,通过多媒体软件中的模拟仿真功能设计,可以模拟实训现场中实训装置的技能操作,同时和专业知识紧密融合。学生通过仿真训练后通过过关测试,在知识和技能综合考核合格的情况下,再进入实训室独立操作,既解决了“执行脱离”的弊端,同时也培养了学生的“能力迁移”──从电脑荧屏上的“仿真模拟”到现实装置上的“动手操作”之间的行为转换,这一行为转换本身就是对学生能力素质的一种培养和锻炼。
4小结──启示和思考:通过信息化教学手段实现素质教育的途径
真实性。案例教学强调真实性,就绝对不可对所选取的案例进行虚构[2]。一方面所选取的案例应符合地理信息系统的理论知识。案例教学要解决在理论教学过程中学生不能完全理解的知识要点,并且学会在实践中如何去操作应用。因此,案例教学应该要跟理论教学进程相匹配,并能体现地理信息系统理论知识的要求,而不能将课程当中学生未接触的理论知识点渗人到案例之中,以防将学生引人盲区。另一方面所选取的案例应接近实际,要能准确地反映生产实践活动。典型性。GIS软件应用实践性强,涉及的行业也非常广,故GIS软件应用课堂案例教学的信度和效果取决于所选案例是否具有代表性。典型案例应是学生在学习实践当中能够“伸手就摸得着”,并且对其理论知识也是能理解的,这样就便于对学习的要点进行设计探究,从而起到举一反三的作用。系统性。根据案例学习的目的,对一个具体的GIS案例进行详细的分析和设计,把软件的某一项功能的学习分解成一个个独立小案例,最后把分解的各个知识点串联起来,集成一个完整的工程,使学生在进行系统性学习的同时,体会到所学的知识在服务社会中能有用武之地。
2GIS软件应用教学案例的选取及设计
相对于一般的理论课堂讲授,操作应用性的案例教学要求教师在知识点的策划、课堂的组织、教学过程的控制上倾注更多的时间和精力。如果想要使案例教学的运用达到较好的教学目的,需事先做好周密的计划和安排,否则将不能取得案例教学应有的教学效果。
2.1案例教学的选取作为贯穿整个教学过程所使用的案例,一定要有针对性。首先,要能覆盖整个专业相关知识的内容和形式,在通过案例学习的同时要掌握GIS的基本理论和相关应用的操作方法。其次,要有助于激发学生的创造性和主动性,提升学生思考的深度,认识到实际案例的复杂性,提高其全面思维的能力。最后,选取的案例要针对某个热门行业,增强学生应用知识的实效性。笔者根据教学目的的要求及对全国地理信息项目行业类别比例进行的分析(见图1),主要选取了全国第二次土地详查项目案例作为软件基础应用的学习,并选取了对应的面向专题应用案例来讲解GIS软件在相关行业的应用。
2.2案例教学的设计按照学校专业教学计划的安排,本课程是在第二学年上学期开设,这时,学生对专业课程的学习还不够全面和深入,因此,在对案例进行设计时,将采取循序渐进的方式,采用MAPGIS软件,从基础的数据采集、输入、管理、处理和查询的功能学习开始,在学生掌握了软件的基本操作功能之后,再选取专题应用案例来进行空间分析和应用方面的讲解。
2.2.1基础应用案例设计武汉中地信息工程有限公司研制的大型基础地理信息系统软件平台(以下简称“MAPGIS”)作为中国具有完全自主知识版权的地理信息系统,是全球唯一的搭建式GIS数据中心集成开发平台,在全国第二次土地详查项目中发挥了重要作用。以全国第二次土地详查项目案例为中心的MAPGIS软件应用教学法,其主要目的是让学生跟着实际工程项目,培养学生理论联系实际、独立思考,逐步解决问题的能力,而这其中的重点就是通过实际的工程项目,培养学生的学习兴趣,要让学生明白自己所学的知识的实效性以及成果的显著性,而不是盲目地去学习某一个功能模式。因此案例设计的指标主要参考全国第二次土地详查相关技术流程,整个案例的分解项目以及对应的知识内容设计如表1。
2.2.2GIS专题应用教学案例设计基于MAPGIS面向专题应用案例教学包含了统计分析、DEM的建立与应用分析、空间分析、三维立体模拟以及GIS综合分析与应用等基本内容模块,在案例教学中,要了解各行业应用发展的主要趋势,结合热点问题来设计各种应用专题案例(表2),同时,根据问题的提出和数据分析,培养学生独立思考和解决问题的能力。
3案例教学在GIS软件应用教学中的组织实施
3.1问题的提出以2010年江西抚河唱凯堤发生决堤,数万灾民被安置东华理工大学为切入点,提出洪水灾害为我国发生频率较高,危害范围比较广的一种自然灾害,将对国家和社会造成大量的经济损失和人员伤亡,洪水灾害一旦出现,如何结合自己所掌握的GIS知识,来精确评估洪水灾害所造成的损失。这时,可以采取提问、解答等多种形式的互动方式,分析洪水灾害的各项特征指标,来提高学生进行抽象思维和逻辑推理的理性思维能力。比如:洪水灾害发生的位置、洪水灾害影响的范围、洪水淹没的深度等自然特征指标,人口、淹没土地利用类型、房屋等社会特征指标,财产损失率、面上综合经济损失等经济指标[5]。
3.2数据分析为了锻炼学生综合运用GIS软件的知识和方法进行分析和解决问题的能力,可以给定一个分析目标:要求估计出受灾地区住宅用地被洪水淹没而造成的损失,让学生结合目标,分析要获取和准备的数据,同时,可以根据分析目标中“住宅用地”、“淹没”和“损失”等关键字来引导学生积极思考,对“住宅用地”进行分类需准备土地利用现状数字化地图;计算“淹没”的范围要求掌握洪水水位的相对高程(设计为600m),即等高线图形数据;估算“损失”的大小则和居民的财产、地基稳定性有关。并归纳出属性数据和图形数据。
3.3思路分析和数据准备在对具体问题和数据进行分析之后,便可让学生设计出一个问题解决思路:①考虑到洪水淹没不能确定一个最高水位,故可以根据等高线数据,按照等高距造区,生成一个等高线区文件(见图2),并给该文件添加一个“高程值”属性字段,并编辑所对应的高程值。②利用MAPGIS输入编辑功能对土地利用现状线文件进行拓扑造区(见图3),然后再通过属性管理系统来添加“土地利用类型”、“估计财产”、“地基类型”、“损失系数”、“地基财产”等属性地段,并编辑所对应的属性(见表3)。③经过对土地利用现状和等高线数据进行预处理后,将编辑好的等高线区文件和土地利用现状区文件进行叠加分析,再通过MAPGIS条件检索功能求出水位在600m之内被洪水淹没的住宅用地,并根据住宅用地的估计财产及损失系数等属性字段计算财产损失。
3.4损失分析在正式讲解叠置分析功能模块之前,先跟学生一起回顾下叠置分析的基本原理,以及执行分析功能之后,图形数据和属性数据将会有何变化等问题,等学生有了清楚的认识后,再往下讲解。利用空间分析子系统的【区与区合并分析】功能,完成土地利用现状和等高线区文件的叠置分析,产生一个土地利用现状和等高线叠合的区文件,且叠合每个图斑中都有了“土地利用类型”、“估计财产”、“地基类型”、“损失系数”、“地基财产”和“高程值”等属性(图4)。为了求出高程在600m之内,且土地使用性质为住宅的数据,可以利用【条件检索】功能,输入分析条件“高程值≤600&&(土地利用性质==多层房屋住宅土地利用性质==底层房屋住宅)”,将获得满足该项要求的新的区文件,再利用【双属性四则运算】属性分析,得到“估计损失”和“被淹没面积比例”等属性数据项,其中估计损失=面积×地均财产×损失系数。
3.5结论分析进行空间分析的目的就是要提取和传输空间信息,能为相关决策部门提供依据。通过以上的分析,可以得出分析结论表,如表4所示,这时,可以让学生思考:如何让分析结果更直观,使人能一目了然地看出哪些地类损失较大,哪一类损失较小。对于分析结果,可按估计损失分成<10000、10000~50000、>50000三类,分别用三种不同图例表示,画出洪水淹没损失分布图。
4案例教学在GIS软件应用教学中的效果分析
考虑到学生刚开始接触GIS软件,故选用的软件是中文版的MAPGIS,教材是吴信才的《MAPGIS地理信息系统》。在开始两个学年,对软件的讲解方法很单一,很少结合案例来讲解,主要是按照课本的章节,针对软件的某一项功能进行学习,通过调研发现,这种教学方式的效果很不明显。2011年笔者对教学存在的问题进行了分析,以学校制定新的教学计划为契机,采取了以案例教学为中心的教学方法,并围绕该方法开展以下几点工作:①重新制定教学大纲,根据教学要求,对每个知识点进行了案例的选取和设计[6];②设置合理的教学计划,在制定2011版教学计划时,将GIS原理课程和GIS软件应用课程设置在同一学期开设,GIS原理课程在上半学期开课,GIS软件应用在下半学期开课,且地图学和测量学两门课程在前一学期开设,为学生奠定更加扎实的理论基础。③严格案例应用报告的书写,并通过案例讲解和测评答辩的形式对学生进行考核,熄灭学生想侥幸过关的想法,加深对案例实际应用及所学理论知识的掌握。④掌握MAP-GIS软件的应用后,再利用学期末的两周GIS原理教学实习,讲解ARCGIS软件的操作功能,要求学生利用ARCGIS软件独立完成设计的各项案例,达到触类旁通的教学效果。为了对案例教学法的教学效果进行评价,笔者对近五年来学校GIS专业学生对主讲GIS软件应用教师的网上评教结果及毕业后用人单位反馈的学生工作上手情况和全国GIS应用水平考试通过率进行了跟踪调研,结果见图6。通过调研结果可得出:前两年各项调研指标都很不乐观,用人单位提供的学生工作后的上手情况甚至有了下滑的趋势,但到了2011年,各项指标出现了大幅度的上升,其后的两年也有了稳步的提高,在2013年第二届全国大学生GIS应用技能大赛中,笔者指导的参赛学生获得了一等奖。这说明案例教学法在GIS软件教学中能提高学生的学习积极性,有利于提高学生全面掌握GIS知识的能力。
5总结
论文关键词:信息化教育技术现代教育技术
进入21世纪以来,计算机、信息等技术的飞速发展,打破了原有的学习模式,给教育技术这门学科输入了新鲜的血液。同时新的教育理念也向传统的教学思想发起了挑战。于是出现了现代教育技术。
根据南国农教授的定义:“现代教育技术是把现代教育理论应用于教育、教学实践的现代教育手段和方法的体系。包括以下几方面:教育、教学应用的现代技术手段,即现代教育媒体;应用现代教育媒体进行教育、教学活动的方法,即媒传教学法;优化教育、教学的系统方法,即教学设计。”
1电化教育、教育技术以及现代教育技术之间的关系
早在1936年,我国教育界人士在讨论为当时推行的电影、播音教育的定名问题时,提出并确定了“电化教育”这个名词电化教育实质上是一种媒体技术,其内涵是如何将多种媒体恰当地用于教学,并取得好的效果。20世纪90年代人们给了教育技术一个全新的定义。指出:教育技术的研究对象包括所有学习过程与学习资源的设计、开发、利用、管理与评价。由此可见,教育技术无论从研究的层次、范围还是研究的深度和广度都比电化教育深和广。电化教育只是教育技术要研究的一部分内容。
进入21世纪以后,随着计算机技术的迅猛发展,又提出现了“现代教育技术”一说。现代教育技术与教育技术研究的范畴是相同的,但是现代教育技术更加强调信息技术在教育教学中的因素,并把其作为研究的重点。
2信息时代的现代教育技术
2.1现代教育技术条件下的教学理论,教学方法
现代教育理念比起传统的教学观点有所不同,现代教育教学观更加强调人的主动性,创新性,通过创新型教育,创新型学习最终形成综合性实践活动—研究性学习。
创新教育是素质教育的核心内容。它是建立在文化素质、专业素质、心理素质和思想素质基础上的一种高层水准的教育。创新教育的目标是培养学生创新精神和创新能力。
创新型教学需要与之相适应的教学方法,目前最为普遍的教学方法有:微格教学法、模块化教学法、任务驱动式教学法等。其中,微格教学(Microteaching),又称小型教学、微型教学,是美国斯坦福大学在1963年推出的一种新型的师资训练方法。它旨在训练师范生的技能和提高在职教师的基本教学技巧。这种模式的效果已为世界发达国家所广泛承认,其运用范围已从师范院校向成人教育、职业技术教育、教育管理等领域发展。发展中国家也开始接受、学习这种模式,可以说,作为师资培训的一种新模式的微格教学,目前已为全世界所接受。微格教学,是一种缩小的教学,它是一个将复杂的教学过程分解成许多容易掌握的具体单一的技能,并对每一技能提出训练目标,在较短时间内对师范生或在职教师进行反复训练,以提高受训者教学技能的师资培训模式。微格教学模式具有以下特征:班级人数要少、上课时间要短、教学内容短小、运用视听设备、心理负担微小。
2.2信息技术在教育、教学过程中的作用
多媒体技术对教育教学的影响:自从有了多媒体技术后,传统意义上的教学方法,教学手段便发生了很大的改变。首先,许多以前用粉笔和黑板很难解释的微观世界、空间立体图形、复杂的运动过程等等,只要应用Flas制作软件,这些问题就会迎刃而解。其次,由于引入课件制作软件PowerPoint,使得一堂课的信息量比以前有了明显的增加,有了PowerPoint课件以后,节省了大量的原本花在板书上的时间,同时使得教师的授课更具连贯性,紧促性;使得学生更能集中精神,实践证明收到了很好的教学效果。最后,许多图像处理软件例如:Photoshop的出现,使得课件的制作更上一个台阶,许多“优质课件”由于色彩搭配恰当,图片应用合理使学生有一种耳目一新的感觉,常常能够吸引学生的注意力,调动学生学习积极性。
网络技术对教育教学的影响:网络技术的出现改变了传统意义上单一的教学模式,出现了“网络教学”一词。网络教学首先是一种教学活动。这种教学活动的教学方式与以往的教学方式有所不同。换句话而言,凡是在过程中运用了网络技术的教学活动均可称之为“网络教学”,无论你是通过网页教学内容;通过电子邮件与学生交流;通过网络传递视频信息,将一堂讲授型的课共享给另外一个课堂的样式(类似电视直播);还是基于网络信息资源的信息加工样式—如WebQuest,以及基于网络应用的研究型课程等等都属于“网络教学”。
由于采用了网络技术,老师与学生可以不必面对面,同样你可以向网络一端的任何人请教。对于学生而言,大大地增加了信息量,拓宽了视野,为自主学习,创新学习提供了更好的机会。对老师而言,使授课更具有针对性。在网上批改作业,同学生交流,也大大地节省了老师的工作时间,提高了工作效率。
仿真技术对教育教学的影响:仿真技术在教学上的应用主要体现在实验教学中。以EDA仿真技术为例:他是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成功的电子CAD通用软件包。主要能辅助进行三方面的设计工作,既IC设计、电子电路设计和PCB设计。它为教学提供了一个极为便捷的、科学的实验教学平台。电工电子类专业课程中的电工基础、模拟电子技术、数字电子技术都可以通过EDA仿真软件,进行电路图的绘制、设计、仿真试验和分析。应该说将EDA仿真软件应用到电工、电子类专业的教学中是一种教学手段的创新,也是提高教学质量的优选方法。
另外Multisim等软件的出现使仿真技术向前发展了很大一步,同时更大程度上提高了教学效果。
2.3现代教育技术条件下的教学管理
针对《软件工程》教学过程存在的困难,提出构建《软件工程》课程纵向教学体系。《软件工程》课程纵向教学体系包括3个层次:理论教学方面:改进理论教学方法,调动学生主动性,培养学生学习兴趣;实践教学方面:结合具体项目,训练学生运用相关原理指导软件开发的全过程,提高学生灵活运用所学理论知识解决实际问题的能力;课外实训:校企合作,使学生深入企业项目开发,培养高素质软件工程人才。
1.1案例教学法在理论教学中的应用
案例教学法,是指教师在课程第一次授课前选取一个完整、难度适宜的软件开发案例;然后分阶段的在每章理论授课结束后,结合所讲章节的理论知识提出与章节内容相关的有引导性作用的问题,让学生认真分析、研究案例,开展问题研讨会,并为学生分配任务,使学生在课后收集相关资料,指导学生运用所学的相关原理来分析案例,并在规定的时间内(两周后)提交案例分析或设计报告,调动学生的学习主动性,培养学生的学习兴趣的教学方法。教师在理论授课时,注重构建学生的知识体系。在学习章节内容前,说明本章节所涉及的专业基础课程及学生所需要具备的理论素养,给学生布置任务,重新学习涉及的专业基础知识;理论授课时,把章节理论知识与已学基础课程知识相结合,根据课程例题,详细讲解理论知识,并注意提示学生已学知识在例题中的运用,从而深入浅出,帮助学生把已学知识和章节理论知识结合起来,形成知识网络。在需求分析章节的分析系统的数据要求处,指明分析系统的数据要求,通常采用建立数据模型的方法。抽出部分学生按照他们准备的PPT来详细讲解以上问题,不足之处让其它同学补充。课后,教师把准备的问题解答PPT发给大家,使学生查漏补缺,建立知识网络,打下扎实的理论基础。章节授课结束后,通过案例教学法,训练学生灵活运用所学理论知识体系解决实际的问题的能力,给同学们列出需求分析报告--需求规格说明书的提纲,要求每个学生提交一份需求分析报告。比如,案例--学生公寓管理系统,请大家运用需求分析章节所讲的知识,深入学校公寓针对学生、公寓管理员做需求调查(要求灵活运用几种所讲的需求调查方法:访谈、问卷和场景),召开需求评审会议,验证需求的正确性与有效性,两周后提交需求规格说明书。
1.2项目驱动实践教学,理论联系实际
在理论授课结束前,老师提供若干个难度适中、开发时间在一个月左右的题目。学生以小组为单位(通常5-8人)组建自己的软件开发团队,并推选小组长,负责项目管理,根据小组成员的兴趣和爱好选择一题。团队成员应均衡,以便做好分析、设计、编程及测试的分工。小组成员之间相互合作,开始实践教学环节。选择结构化或面向对象的软件工程方法,按照软件开发生命周期的各个阶段,分阶段有顺序的进行软件项目开发。每位小组成员都要参与各个阶段的软件开发,每个阶段各个成员的任务由组长分配,管理。每个小组成员全程参与软件工程的各个阶段,把理论知识运用到实践项目的开发,由项目驱动实践教学,真正用所学理论知识指导项目的开发,为学生深入理解并灵活运用理论知识提供了良好的实践机会,提高了学生的动手能力。实践环节结束,每个小组提交与选题对应的已实现的系统,并提交相关的设计文档。如开发小组选择面向过程的软件工程方法,需提交可行性研究报告、开发计划、需求规格说明书、总体设计的相关文档(系统说明、用户手册、测试计划、详细的实现计划以及数据库设计结果)、详细设计的相关文档(流程图及人机界面设计资料、用户帮助设施设计资料)、实现及测试总结、项目总结等。通过项目实践,学生会深刻认识并理解掌握所学理论知识,并且可以结合自身特点和软件工程的相关就业方向(前台开发、后端设计、测试、维护等),确定自己的未来职业发展方向,继续深入学习,拓展自己的专业知识深度,为就业打下坚实的理论和实践基础。
1.3校企合作,培养高素质软件工程人才
经过实践环节,学生对未来职业发展方向有了初步选择。在大四学期的实习环节,学校与相关合作企业进行对接,学生结合专业兴趣和职业发展方向,选择合适的企业进行校外实习。校外实习一般分三个阶段:理论知识的巩固与强化学习;职业定位方向核心技术学习;以团队为单位,参与实际项目,培养学生的动手能力和团队精神;结合以上三个阶段的学习内容,独立完成一个实际商用项目。举例:如果职业定位为J2EE软件开发,校外实习的第一阶段学习JAVA语言核心内容,Oracle数据库技术,WebCilent编程和WebServer编程,结合具体项目把以上知识运用到实际项目的开发中。第二、三阶段贯穿项目深入学习JVAVEE企业级框架。第四阶段以开发团队小组成员的身份参与一个实际商用项目开发,使学生综合运用所学知识解决实际问题。如果职业定位为软件测试,第一阶段学习测试基础并结合企业内部开发的自动化测试管理平台进行理论知识强化。第二阶段重点学习系统测试的相关技术,并结合具体项目使学生参与系统测试,编写与之相关的需求规格评审,系统测试计划、测试方案、测试用例、测试报告等文档资料。第三阶段学习软件功能测试自动化和性能测试技术,并学习企业使用的主流测试工具进行相关项目的自动化测试工具。第四阶段结合实际商用项目,综合运用所学知识,运用相关的自动化测试工具,进行项目测试,编写相关测试文档。通过项目实训,使让学生深入项目开发,把学生培养成专业理论知识扎实,动手能力突出的高素质软件工程人才。
2结语
(1)各个实验课程内容之间没有统一规划,缺乏合理的体系结构。硬件课程内容具有很强的交叉性和相关性,但目前在教学中普遍采用的做法是针对每门课程单独设置实验并提供实验环境,实验课之间相互独立,缺少有效的衔接贯通,对实验内容也没有进行统一的规划[2]。这样各门课程老师在设置实验内容时,往往只考虑本门课的课程要求,忽视与其先修实验课程以及后续课程的联系,使学生只能看到一个个独立的计算机硬件,对实验课也往往存在“做一门结一门”的态度,不能使其从系统角度上认识和理解计算机内部的协同工作[3]。(2)硬件实验成绩考核评价方法落后,严重影响学生的主动性。目前实验采用的是传统的考核办法,即教师根据学生的平时表现、笔试成绩及实验报告成绩综合评定学生的总成绩。虽然该办法比较合理,但项目实践过程中使用的知识面广,并且需要学量的新知识,因而传统答卷考查方式不能满足需求,学生的平时表现各方面强弱不同,教师往往凭感觉,带有较大的随意性。有的学生干的多说的少,有的学生干的少说的多,最终老师给出的成绩并不一定能准确反映学生的实际能力。
2针对本专业硬件实验教学模式的探索
西安交通大学软件学院结合专业特点,提出紧耦合层进式的硬件实验教学体系,对实验教学做出了一些有益的尝试和探索。
2.1构建新的硬件实验教学体系,开展层次化的实验教学
软件工程专业和传统的计算机专业以培养计算机软硬件设计与开发的研发人员的培养目标有所不同,所以在硬件课程以及硬件实验课程体系上,两个专业的定位应有所区别。西安交大软件学院根据培养目标的要求,本着硬件为软件所用的宗旨,开设的硬件课程有数字逻辑与系统设计、汇编与接口技术、计算机组织与结构、嵌入式系统与软件开发等。经过几年的教学改革实践,我们认为实验教学不能完全依附于课堂教学,而应该在紧密联系课堂教学的前提下,有目的地开设独立的实验课,才能更好地配合理论课教学,充分发挥实验教学培养学生独立工作能力的优势。在实践过程中,我们恪守“掌握基础是重点、研究创新是升华”理念。首先必须保证绝大多数人能接受基本实验技能的训练,不盲目跟风式开展开放性实验。实践证明初始阶段就进行开放性实验往往会让学习能力不强的学生不知从何下手,失去了研究实验的兴趣,从而背离了进行实验教学的初衷。我们的思路是稳扎稳打,逐步推进。我们勾画了以数字逻辑实验为基础,以嵌入式及SOPC(SystemonaProgrammableChip,可编程片上系统)实验为终结,包含时序组合逻辑实验、计算机部件实验以及整机实验为一体的计算机硬件实验教学课程群。要求本科生从大学二年级到四年级硬件实验内容不断线、衔接连贯,并按学生兴趣和能力有层次的提高;强调各门课程相互联系紧密结合,分层次培养学生的独立组织硬件实验的能力、软硬件综合调试能力和综合设计能力[4]。在此基础上,我们提出了一种紧耦合层进式的硬件实验教学体系,如图1所示。在这种紧耦合层进式的实验教学体系下,根据教学的不同要求,将实验划分为3个不同层次,即基础性实验、综合设计实验、研究创新实验。其中,基础性实验主要指相关硬件课程的课内实验,通常为8~16学时的必修性实验课,通过这类实验使学生初步掌握本门课程中基本实验技能以及基本模块的实现。综合设计实验主要是面向所有本科生开设的选修性实验,一般为32学时,通过这些实验要求学生整合各个基本模块,进而能设计并实现简单功能的电路或系统。按照学院学分设置及学分要求,基本上每个学生都会选择2~3门硬件实验课程,这样学生都能对硬件底层具有一定的了解,对于普通的高级软件应用开发基本够用。最高层次的研究创新实验,我们安排为开放性实验,针对少数有余力且感兴趣的学生,要求其能够独立地设计一些较为复杂且具有应用背景的课题,旨在对专业知识进行扩展并培养自身的创新能力,这类课程要求必须选修过相关实验课程的学生,方能进行选修。
2.2紧密联系理论课教学,采用以EDA技术为主的实验教学环境
本专业的硬件理论课教学的宗旨是着重从系统角度来理解计算机的运作,着重培养学生对硬件系统的分析及应用能力,作为统一的教学体系,实验教学也应围绕这一主导思想。我们在实施硬件实验教学时,更关注硬件部件是如何完成其设定功能,部件之间如何进行相互配合、协调运作,而弱化硬件内部具体物理实现。我们采用了EDA为主的硬件实验教学方式,利用QUARTUS等功能强大的EDA开发工具、Verilog或VHDL硬件编程语言,配合相应实验箱进行实验功能设计、仿真及验证,使学生基本不用关注硬件的具体实现,进一步简化了硬件设计、测试等过程。其中数字逻辑与系统设计、计算机组织与结构、SOPC系统设计等实验课程均利用QUARTUS工具进行开发,基于杭州康芯电子有限公司的KX_DG3B数字系统开发平台和GW48系列FPGA开发平台来进行实现,实验环境上具有顺承性,只要在硬件实验起始课程中进行一次讲解,学生就能轻车熟路地使用。这样就避免每个老师都在EDA软件的讲解上耗费大量时间,其他课程老师则主要把精力放在本门课相关电路及部件的设计实现上,节约了宝贵的实验内容讲解的时间。EDA教学环境及FPGA平台的使用,一方面可以提供的是虚拟器件和仪器,且开发平台可反复编程,所需硬件连接较少,实验设备不易损坏,使学生可以放开手脚大胆地进行实验。另一方面,学生在课堂上完不成的实验,可以在自己的计算机上装载相应开发工具,利用课余时间继续完成后跟随下组实验进行硬件验证即可,实验安排上就可以比较灵活。因此,利用EDA技术,学生很方便地开展综合性、设计性、自主性的实验,进而可完成大型硬件的原型设计,或进行创新性课题的研究,这将大大激发学生的学习兴趣和热情,提高学生硬件设计能力,从而改变目前学生硬件动手能力差的情况[5]。
2.3强调各课程实验内容的耦合衔接与贯通,注重软硬件之间的协同
构建紧耦合层进式的实验教学体系,离不开各个实验课程内容之间的关联协调和贯通。计算机硬件实验教学过程作为一个系统,其组成部分是每门课程的实验内容。在选取实验内容时,为避免实验内容的孤立,既注重课程间知识的交叉渗透,又尽量体现知识体系的整体性和逻辑性。以“数字系统设计专题实验”开放实验为例,很多学生选择用硬连线方式实现一个基本模型机,而同时在“计算机组织与结构专题实验”中则要求学生基于微程序的思想来实现一个同样功能的模型机,通过这两者的实现比较,学生能直观地映证出理论课上所讲述的两种方法实现CU时各自优缺点,透彻理解并牢固掌握该知识点。传统的计算机硬件实验课程的主要任务是验证计算机的工作原理,以配合对应的计算机硬件理论课程,忽略了各实验课程间的融合性,而技术的发展需要软硬结合、软件硬化或交融[6]。单纯的软件实验和硬件实验都不利于学生软硬件综合素质的培养,传统的软硬件设计相分离的设计方法已成为阻碍设计和实现复杂、大规模系统的关键因素。在“嵌入式系统与软件开发专题实验”以及“SOPC系统设计专题实验”中,我们要求学生完成一个总的计算机软硬件综合设计的项目。以接近于实际应用环境,完成高质量综合设计为训练手段,使学生建立系统的概念与工程的概念。这样一方面可以使学生从根本上了解计算机的整个硬件系统、软件控制之间的协调机制,彻底打通软件实验与硬件实验之间的壁垒,另一方面,这样既有硬件也有软件的题目也更能激发起软件专业学生的学习兴趣,发挥其编程方面的特长,提高学生的主动性及创新热情。
2.4建立灵活的考核机制,满足不同实验类型的要求
对于实验课程的考核,我们采用针对不同实验类型实行不同考核机制的方法。对于课内的基础性实验,考核时坚持沿用传统的课堂表现和实验报告相结合的方式,现场表现采用单人单机现场演示,老师提问学生作答的方式,由老师根据学生考勤及现场表现给定分数。实验报告的成绩则细化对问题的分析能力以及文档写作能力等方面的要求给定。最终成绩由这两项按权值给定。对于综合设计实验,由于整个实验内容往往由多个子实验来组成,而且通常采用两三个学生分组进行的形式,所以考核时应更为细致,也要由课堂表现和实验报告两部分综合给出,但较之基础性实验标准不同。首先,课堂表现由老师评分以及小组成员互评两项组成,要求在每次实验中指导教师都认真地记录学生的考勤及实验表现,这里的实验表现主要考查遵守实验规则、设计能力,分析、解决问题能力以及对理论设计的实现能力等几个方面。其次在实验结束后,还要求学生撰写实验报告,实验报告依据学生的总结能力、分析能力和写作能力给出。创新设计型实验一般也采用分组的形式,但最终成绩是由实验开发中几个部分的考核成绩综合给出。选题准备阶段的成绩由指导教师根据学生提交系统选题报告,按照系统规模、难易程度、创新性及个人分工给出。设计阶段的成绩由学生提交系统设计报告和现场答辩两部分给出。答辩类似于工程中的评审,需要通过学生讲解、演示,回答在场所有学生及教师的质疑,一方面对项目可行性进行充分的推敲,另一方面使各组成员充分了解其他小组的思路及设计方法,对自己项目实施起到学习借鉴作用。系统实现调试阶段成绩由学生提交系统实现及测试报告给出。最后验收阶段由现场验收和项目总结报告两部分组成。上述多样化的考核标准满足了层进式课程体系中不同层次的考核要求,更加客观地反映了学生的实践能力和知识运用水平,提高了实验教学的整体质量,达到了实践创新的培养目标。
3结语
随着我国软件产业迅速发展,企业面临着开发高质量软件系统的巨大压力,软件测试、软件质量保证受到越来越多的重视。软件企业对承担软件测试、质量保证工作的软件测试人才需要剧增,软件测试工程师的职业价值、发展前景得到前所未有的提升。为此,国内高校开设了软件测试相关课程。但是,由于其重理论、轻实践的教学模式使得培养出的学生软件测试实战能力差,导致大量毕业生应聘软件测试相关职位时受到冷遇。为培养创新能力强、适应社会经济发展需要的软件测试人才,《软件测试与质量保证》实验教学亟需改变传统的教学理念,改进教学方法,更新教学内容。笔者结合自身教学科研和工程实践经验,分别从改革思路、实验教学内容设计等方面,论述常熟理工学院《软件测试与质量保证》实验教学改革的措施和体会。
二、实验教学面临诸多挑战
1.企业对软件测试工程师的能力要求是综合性的,要求软件测试人员具有软件项目经验,具备软件测试、软件质量保证知识,能够独立开展软件测试工作。但是,国内高校教学计划制定时片面强调软件测试的作用,对软件测试与软件质量保证之间的天然联系缺乏理解,对软件质量保证相关实验的重视程度,课时安排存在严重不足。2.目前,《软件测试与质量保证》实验教材选择面临无书可选的尴尬局面。课程实验设计只能全凭任课教师把握,使得实验教学过程中存在较多风险。3.国内高校在实验设计方面,多以基础性实验为主。这种单一的实验设计方式,难以适应软件测试工程实践能力培养的需要。
三、实验教学改革措施
在应用技术大学建设驱动下,以中小企业对软件测试人才的需求和软件测试工程师认证大纲为导向,我们整合已有的校企合作课程资源,按照DanielGalan软件质量保证框架组织实验教学内容,采用项目驱动的案例教学法开展实验教学,让学生在实验实践中加深对软件测试与质量保证专业知识的理解,培养学生软件测试实践能力。
(一)教学改革基本思路
软件企业对软件测试人才的需求是软件测试课程改革的源动力和驱动力,软件测试相关的从业资格认证是学生入职的敲门砖。为此,在应用技术大学建设背景下,我们以切合中小企业对软件测试人才的需求为导向,结合全国计算机等级考试软件测试工程师认证、全国计算机技术与软件专业技术资格考试软件评测师认证的考试大纲要求,选择朱少民老师编写的《全程软件测试》[1]和NIIT培训教程《SoftwareTestingandQualityAssurance:StudentGuide》[2]作为课程教材,按照DanielGalin软件质量保证框架组织教学内容。DanielGalin软件质量保证框架[3]指出软件质量保证是建立企业软件质量文化所需的一些列活动的集合,认为软件测试是一种典型的软件质量保证措施,软件测试的目的是为了发现潜在的软件缺陷,软件测试工作贯穿软件项目的始终。按照DanielGalin软件质量保证框架组织课程内容有助于保持软件测试与软件质量保证之间的内在联系,符合软件企业软件测试与质量保证的最新经验。
(二)实验设计
如何在有限的实验课时内,最大限度地加深学生对软件测试、软件质量保证的理解,增强其软件测试实践能力,是实验教学的主要任务。我们设计了导入性实验、基础性实验、创新项目实践三种类型的课程实验。导入性实验要求学生应用已修课程(包括程序设计、数据库设计、软件工程等)知识进行软件调试,在软件调试过程中理解软件调试与软件测试、软件质量保证之间的关系,实现到本课程学习的过渡;基础性实验目的在于强化课程基础理论、原理的理解,让学生在实验中理解所学知识,掌握软件测试工具的使用;创新项目实践以课程实训项目为载体,为学生运行所学知识解决软件测试实践过程中涌现的各类问题,锻炼学生的动手实践能力、自主学习能力,从而提高学生的工程实践素养。1.导入性实验。软件测试的目的是发现软件系统中潜在缺陷,而缺陷的解决则通过软件调试手段实现。为此,设计导入性实验“软件调试”。本次实验以员工工资核算软件Employee作为实验对象,要求学生发现Employee中人为注入的软件缺陷,然后应用Java调试器的断点调试功能,结合回归测试手段修订所发现的缺陷。通过导入性实验,学生体验了改正软件缺陷的艰辛,在教师引导下思考如何发现软件缺陷、如何提高软件质量。教师适时点拨学生,指出发现软件缺陷是软件测试工程师的职责,软件测试工程师需运行软件测试方法、技术和工具才能发现潜在的软件缺陷。教师进一步启发学生:提高软件质量需要开展包括软件测试在内的各项软件质量保证工作。2.基础性实验。基础性实验旨在加深学生对课程基本概念、原理的理解,让学生在动手实践中加深对基础概念、原理的理解。课程安排8次基础性实验,实验2、3、4和5属于软件质量保证实验,6、7、8和9是软件测试实验。(1)实验2:软件度量实践。实验2关注软件度量问题,介绍软件规模、项目工作量和软件成本之间的关系,要求学生掌握软件规模估算、工作量估算和成本估算的方法和过程。通过本次实验,学生可以应用USCCoCoMoII进行软件成本估算。(2)实验3:基于MicrosoftProject的软件项目管理。软件项目计划及进度管理,是软件质量保证中重要的管理部件,也是开展软件测试活动的前提。实验3要求学生使用Mi-crosoftProject建立软件项目计划、运用跟踪甘特图追踪项目进度,等等。(3)实验4:版本控制软件CVSNT。CVSNT是当前最流行的版本控制系统,是中小企业进行版本控制的利器。实验4讲解CVSNT的安装和使用,要求学生掌握CVSNT的操作技巧。(4)实验5:BugFree软件缺陷管理。软件缺陷管理贯穿软件测试项目的始终,记录软件缺陷从发现、修复直至关闭软件缺陷的全过程。实验5介绍开源缺陷管理软件BugFree的软件缺陷管理思想,要求学生掌握BugFree安装与配置、软件缺陷管理等技能。(5)实验6:软件静态测试。软件静态测试是软件测试技术中发现软件缺陷效率最高的技术。我们安排“软件静态测试”专题讲座,讲解软件制品阅读、静态分析的技巧,还介绍如何运用CheckStyle、FindBugs等静态测试工具分析程序源代码、目标程序中潜在缺陷。本次实验有学生利用课后时间,自主实践。(6)实验7:JUnit单元测试。实验7介绍单元测试工具JUnit的使用,要求理解JUnit单元测试框架,掌握单元测试脚本的编写技巧。本次实验还推荐学有余力的学生自学JMock,综合应用JUnit和JMock进行对Java应用系统进行集成测试。(7)实验8:软件功能测试。软件功能测试是检验目标软件是否正确实现了客户需求,是软件测试执行的重要内容。实验8要求学生使用QuickTestProfessiona(l简称QTP)对机票预订系统进行功能测试。本次实验要求学生能够独立完成功能测试脚本的录制和编辑,掌握QTP检查点设计的方法及技巧。(8)实验9:软件性能测试。实验9介绍软件性能的概念和原理,讲述如何运用HPMercuryLoadRunner对Web系统进行性能测试,让学生在实验过程中理解虚拟用户技术,掌握基于LoadRunner的性能测试技术的过程及技巧。此外,本次实验要求学生利用课余时间使用开源的性能测试工具JMeter进行软件性能测试。3.创新项目实践。为了培养学生的工程实践能力,我们从学生课程项目、毕业设计、大学生创新项目、开源软件项目等中筛选出软件规模适中的软件系统作为课程实训项目,让学生对课程实训项目进行系统化的软件测试,要到学生主动动手实践,在软件测试项目实践中培养工程素养。在课程教学过程中,我们还加强对基础扎实、动手能力强、思维活跃的学生的培养,推荐这些学生参与到教师科研项目中,为学生在科研项目中积累软件评测经验。
四、结束语
实验证明,学生只有对一些事物产生好奇心和求知欲,他们才能更加喜欢这些事物,并掌握一定的创新方法和技术,有实际的创新行为。因此,激起学生对计算机学习的兴趣,灌输创新思想意识需要从以下几点着手:
(1)给学生介绍计算机的发展历史,吸引学生的注意力与探索意识。计算机从诞生发展到现在已经有几十年的历史了,每一次进步都代表着技术的创新。从最早的笨拙型一体机到微小型机器,紧接着到多媒体技术,然后计算机普遍网络化,直到今天为止成为我们现在应用的人工智能机等,这些都是创新意识的体现,这是人类历史上一项重大的改变。学生在教师将计算机历史的过程中,也会对一些问题加以思考,逐渐地对计算机学习产生好奇心。
(2)教师在计算机软件教学过程中要适当地给学生留些自己研究思考的空间,培养学生的研究意识和创新思想。教师在讲解软件的应用时,不用完全讲的透彻,可以下意识的给学生流出思考的空间,让学生自己去思考与探索。在学生自己的探索中能够培养出对计算机学习的好奇心,为了满足自己的求知欲,从而对计算机学习产生浓烈的兴趣。
(3)教师在计算机软件教学中将网络上的丰富信息与计算机知识的学习结合到一起,例如,教师在课上要求学生需要到网上搜集丰富的素材,、图片、影像等,完成相关的作业。网络上的东西多姿多彩,对学生来讲完全无法抵挡得住诱惑。这样的教学不但具有新颖性,而且还能使学生查找、搜索信息、整合信息的能力得到锻炼与扩展。因而激起学生对计算机软件学习的趣味,提高了学生的创新思想。
2.在实际的上机练习中,锻炼学生自主实践能力与技巧,提高创新能力
在计算机教学中一定要注重学生的实践练习,因为计算机学科是一门实践性极强的学科,比如软件的应用等,需要学生亲手去操作才能记得清楚。光教授理论知识没有实际操作是没有效率的教学,特别是对计算机教学来说。因此,教师必须坚持理论与实践相结合的教学模式进行计算机的教学。在实际的计算机实践中,学生会发现更多的问题不会解决,与此同时,学生也会慢慢适应并学会自主去解决问题,不断地创新技术,学生不得不具备丰富的创新意识去接受挑战。
3.结语
关键词:软件工程;案例教学法;分析设计
Abstract:Thisarticleonthecaseteachingmethodinsoftwareengineeringmadeapreliminarydiscussion,atthesametime,wearebrieflyintroducedinsoftwareengineeringtotrythecaseinsomeoftheteachingexperience.
Keywords:softwareengineering;caseteachingmethod;DesignAnalysis
1引言
随着计算机应用日益普及和深化,正在运行使用着的计算机软件的数量以惊人的速度急剧膨胀,而且现代软件的规模往往十分庞大,所以指导计算机软件开发和维护的工程学科—软件工程,日益显示其重要地位。然而学习者一般不好理解软件工程的实践性,不能将所学的知识真正应用到软件开发过程中去。如何将理论与实际联系起来呢?我们认为在软件工程中采用案例教学发将会弥补这一缺憾。
案例教学法以对案例的分析解决为主线,通过对案例中的问题进行分析,激发学生的求知欲,调动学生的积极性,使学生自觉主动的学习案例,掌握原理和方法,实行科学的教育思想观念的一种教学方式。它是一种互动式的教学方法,可以实现启发式教学,能够极大的促进学生的学习兴趣,实现真正的教学相长。它更是实现理论联系实际的现实可实施的途径。案例教学法在软件工程教学中的应用将在更大程度上激发学生学习的学习兴趣和参与的积极性。同时,利于学生掌握理论知识,并运用知识解决软件开发中的实际问题,最终提高教学质量,达到学校教育培养的目标。
有鉴于此,本文试对案例教学法在软件工程中的应用作了初步探讨,以期对教育同行和广大学习者有所启发和借鉴。
2案例教学法的含义
案例教学法(casemethodsofteaching)可简单地界定为一种运用案例进行教学的一种方法,它是美国当今教育行业中非常盛行而有效的一种方法,在我国正在慢慢推广开来。1910年,美国哈佛商学院最先使用案例教学,开创了案例教学的先河。案例教学法于20世纪80年代初传入我国,它有利于培养学生分析问题、解决问题的能力,提高教学效果。
案例教学是在学生掌握了有关基本知识和分析技术的基础上,在教师的精心策划和指导下,根据教学目的和教学要求,运用典型案例,将学生带入特定的现场进行案例分析,通过学生的独立思考和集体协作,进一步提高识别,分析和解决某一具体问题的能力,同时培养学生的沟通能力和协作精神的教学方式。通过案例分析,学生可以获得蕴涵其中的那些已形成的教育原理、教学方法等知识,同时可以提高和发展学生的创造能力以及解决实际问题能力。更重要的是,通过案例教学获得的知识是内化了的知识,是“做中学”获得自己理解了的能驾驭的知识,不再像传统教学下获得的抽象的、过度概括化的生硬知识,它能立即被用到类似教学实践情境中去解决处理类似的疑难教学问题。所以从美国教育家舒尔1986年在美国教育研究协会(AERA)年会重要演讲中发出要发展关于教学的案例知识的呼吁,时至今日,在众多国家的教育研究领域中都能发现案例教学法的应用。
3软件工程案例的选择
概括而言,案例是含有问题或疑难情境在内的真实发生的典型性事件。没有案例,案例教学无从谈起,没有好的案例,便没有有效的案例教学,所以案例的选择在案例教学中至关重要。一个高质量的案例应该具备以下几个特点。
(1)目的性。案例教学的目的是为了让学生理论联系实际,通过案例让学生掌握基本的原理和概念,提高发现问题,解决实际问题的能力。一个好的案例应该使学生在讨论中加深对教材中某一重点或难点知识的理解和把握,能利用课堂学习的理论知识来分析和解决案例中所涉及的问题。所以案例的选择一定要围绕教学目的和教学要求来。如果脱离这两个中心,即使案例再生动,其教学效果也大打折扣。
(2)真实性。案例一定是现实中发生的真实事件,是常见又复杂的问题,有助于学生实践能力的提高。
(3)启发性。一个好的案例需要蕴涵一定的问题,能启发学生思考,发现多种解决的途径。问题越诱人深入,越能够给学生留下较多的思维空间,教学效果越好。
(4)生动性。案例必须生动活泼,引人入胜,这样才能引起学生的兴趣,以便展开深入的思考。
软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。它强调使用生存周期方法学和各种结构分析及结构设计技术,所以软件工程案例即是选择一些典型的软件开发系统,介绍其开发和维护的过程。
我们根据讲解软件工程课的具体体会和开发软件的实际经验,撰写了五个案例,开发了《软件工程案例分析》网络课件,详细介绍五个软件系统的开发过程,互动的方式讲述了用软件工程的方法是如何进行分析和设计的,同时在系统开发的每个过程中提出大量的问题供学生思考。案例选择了房产管理系统、财务管理系统、机票预定系统、计算机储蓄系统四个应用软件系统,同时为了提高学习者理解开发软件的难度,特别介绍L-SIMPLE语言编译系统。采用传统的生命周期方法学,从问题定义、可行性研究、需求分析、总体设计到详细设计做了比较详细的研究。系统中五个案例涉及到当前人们日常生活中关注的几个领域:房产管理、财务管理、计算机储蓄、机票预定,还有计算机的语言编译系统。案例既具有典型性,同时又具有真实性。我们选择四个应用软件和一个系统软件,一方面考虑到目前软件市场涉及应用范围的广泛性,另一方面考虑到软件工程学习者中大部分为计算机专业,对于系统软件也有一定爱好,对于将来开发系统软件作一个铺垫。
4软件工程案例教学的主要环节
案例教学的需要具备三个主要环节:
阅读案例,个人分析——分组讨论,集体交流——总结归纳,消化提升
我们尝试的软件工程案例教学中同样采用了这三个阶段:
(1)阅读案例,个人分析
学生首先对具体案例进行必要的基础知识的了解,认真阅读案例,并且要有个人的研究与分析,用软件工程的传统途径—生命周期方法学作为理论指导,熟悉软件开发过程各阶段的基本任务。
其次,学生需要尽快进入案例情境,了解、掌握案例中揭示的有关事实、情况,自居案例中的教师角色,设身处地地分析思考案例中教师的行为及对策的合理性与不合理性。在案例的分析过程中,要注意寻找其中的因果关系,只有弄清问题产生的原因,才可能找到问题的合理解决手段。注意区分基本性问题和现时性问题。基本性问题即抽象或一般的问题,常与事实背后的概念、原理、规则等有关,需要通过对案例中所包括的信息进行解释、分析、演绎、推理和抽象以得到概括化的结论。现时性问题即案例中教师所面对的特殊决定、疑难问题等要求在一定的时间范围内得到解决的那些问题,需将自己已有的知识或过去形成的经验与案例展示的背景材料、内外部因素等整合起来进行综合评判来提出多种经得起别人反驳的见解、对策以及方案。
(2)分组讨论,集体交流
分组讨论是案例教学中非常重要的环节,本质上是一种概念或想法的交流。围绕案例的重点,难点,疑点,进行讨论,辩论和争论。每个学生可以自由的抒发己见,相互启迪,互相借鉴,重点是想法的交流。要求每个学生简要介绍自己对软件开发所做的分析设计,并提出自己对该软件开发流程的看法,供大家讨论与切磋,可以按照案例中所提出的问题一个一个讨论。在教师的引导下,让学生进行课堂发言,进行全体学生的交流。本阶段要讨论主要解决两个问题:1、小组讨论没有达成共识的问题;2、按照教学目标,有意引导学生掌握软件工程的生命周期法各阶段所做的具体工作以及进行相关工作的必要性。
为了使分组讨论有效地开展,教师要作好充分的课前准备。除了熟知案例陈述的事实、观点外,还要谙知案例反映或蕴涵的原理、规则等知识,以便引导学生概括出来。要认真学习研究案例后给出的教学指南,具体拟定出课堂教学计划,这要求教师认真思考回答以下问题:希望课堂上发生些什么?如何引导这些情况的发生?讨论如何开展?时间如何安排?自己扮演什么角色?是先得结论再分析,还是相反?并对课堂讨论中可能出现的情况作出预测。教师还要依据课程目标、案例目标及教学计划的具体安排重点分析以下方面的内容:案例中反映的那些重要论题、案例中易得出两可结论的那些材料、案例中反映的情况发生的根源、案例中人物的行为、案例中所反映的而学生可能设想不到的情况等。在讨论掌握上,教师要力保讨论沿预期的轨道进行,把讨论引导到问题的解决上去,并引导出与论题相关的理论知识,力争班上每个学生都至少有一次发言的机会,切实做到有效参与。
(3)总结归纳,消化提升
总结归纳是软件工程案例教学的最后阶段,要求学生要对每个案例写出学习报告。该报告中包含学生在阅读案例中所得到的具体收获;通过分析与设计软件,提出自己所解决的实际问题;对理论上软件工程概念和案例中的实际是否一一相对应;以及对软件工程仍然存在的困惑。通过反思进一步加深对案例的认识,真正作到理论和实践的相结合。
案例教学中,师生都要注意角色转换,如果学生仍然热衷于将自己置身于教学过程之外,只做一名旁观者,案例教学也就失去了它的价值。学生只有真正地深入案例、体验角色,才会有案例情境的“再现”,案例教学的价值才能被体现。而教师在教学过程中也要不断变换自己的角色,可充当监督员,激励启发学生,监督案例分析、讨论情况;可充当示范员,向学生演示、讲解、分析案例中的事实、图表、材料等;可充当主人翁,制定下一步的工作计划并在实施中起主导作用;可作仲裁,解决各种争端;可充当交警,使讨论回到预定的轨道上来;等等。
5结束语
传统的“黑板教育学”越来越受到冷落,案例教学已经提到教育改革的重要日程上来。华东师范法学教育系郑金洲曾指出,案例教学并不是单纯的一种教学方法,它实际上是以教学内容的变革为前提条件的,正是有了形形的案例,才使案例教学成为可能;案例教学也并不是一种单纯的教授法,它实际上也是以学生行为的转变为前提条件的;如果学生仍然热衷于自己先前的角色,把自己置身于教学过程之外,只是一个旁观者,案例教学也就失去意义。
笔者从事软件工程的教学工作,在软件工程中进行案例教学法的尝试,并且在实践中得到了一定的效果。然而,在软件工程案例教学中仍有很多问题需要进一步研究探讨,比如在案例中如何体现软件的测试阶段,它需要具体的环境来实现;如何在案例中能够让学生更深入理解软件的维护过程等等问题,都是有待于我们进一步完善,使案例教学在软件工程中得到进一步的推广。
参考文献
[1]张海藩.《软件工程导论》.清华大学出版社
[2]李为民,.如何开展案例教学-哈佛大学商学院琳达教授对新教师利用案例教学的几点忠告》.北京:经济干部管理学院学报,2004.1
[3]Stein,M.K.,Smith,M.S.,Henningsen,M.A.,Silver,E.A.(2000),ImplementingStandards\|BasedMathematicsInstruction,NewYork:TeacherCollegePress
1Web应用程序性能测试实验
这部分实验目的是使学生熟练掌握使用Jmeter测试Web应用程序的一般流程和方法。实验任务测试绩效考核子系统中的评分模块。评分人登录系统后进入评分环节,选择其未完成的评分项目(若有多个未评分项,则需要全部对其评分)。每个评分项中包含对多个部门的评分,部门数大于等于3个时需符合正态分布,如可评出优秀3个、良好6个、合格4个、基本合格2个,否则可任意评分。按照循序渐进的原则,设计了3个步骤:一是Jmeter的基本应用,包括脚本录制、添加http请求、添加断言以及查看测试结果等;二是Jmeter的逻辑控制结构,如分支和循环等;三是Jmeter的高级应用,如参数值可变以及参数个数可变等。
1.1Jmeter的基本应用
Jmeter可以手工添加脚本,但更方便的是使用脚本录制软件Badboy[9]。Badboy录制的脚本可以保存为Jmeter格式,然后在Jmeter中直接打开和修改。脚本主要是一系列的http请求,其中可以设置请求的URL,请求方法(get/post)及请求参数等,如图1所示。通过添加断言(如是否含有特定字符串)检查请求是否返回正确结果。添加查看结果树并运行测试脚本查看程序的测试结果。
1.2Jmeter的控制结构
Jmeter具有丰富的逻辑控制结构,包括控制器,switch控制器,while控制器以及forEach控制器等。实验重点练习控制器和forEach控制器。控制器判断Jmeter变量是否满足给定条件,若满足则执行其包含的测试元素,否则不执行。ForEach控制器对Jmeter变量的每一个取值都执行一遍其包含的测试元素。图2是一个控制器,其条件为变量COUNT小于10且变量VAR等于字符串“abcd”。图2Jmeter的控制器图Jmeter的变量引用使用${变量名}的方式,变量一般提取自返回页面中的某些信息,如满足特定条件记录的行数或某个特定位置的字符串取值等。变量提取可采用正则表达式或Xpath进行匹配,讲解其匹配原则并现场演示。图3利用正则表达式提取需评选优秀的单位个数,其中引用名称youxiu就是变量名。匹配失败则取设置的缺省值0。如对于页面中返回的html代码“…您当前可以评出优秀<spanid="ltYSMsg">3</span>个…”可提取出优秀个数为3。
1.3Jmeter的高级应用
本部分着重解决实际测试过程中的一些常见问题,如参数内容可变及参数个数可变等。测试登录环节时需模拟不同的用户登录行为,即图1的http请求中txtUserName一项的值应是变化的。Jmeter提供的CSVDataSetConfig可解决这一问题,如图4所示。将所有评分人的信息存储在一个CSV文件中,把其中的列名填入VariableNames项,之后将图1中的txtUserName值改为userAccount(即CSV文件的第1列)实现参数值的动态变化。进入评分项后需根据情况选择优秀和良好等的个数,且要反映在http请求的参数中。由于参评单位的个数因评分人和评分项各异,因此无法在GUI界面中一一添加。需动态添加的参数包括评分列表中的name及其value,value的取值从优秀到基本合格依次为1234。为简单起见,我们按顺序对单位进行评分。如系统要求评出3个优秀,则测试中前3个部门打优秀,其余依次类推。由于同一部门的优秀良好等单选按钮的name值相同(如图5所示),我们选择提取该组唯一的ID号,然后将其转换为name,其对应关系是用$代替下划线(如ID号为gbBSCExamList_ctl02_rbExamerLevel,name为gbBSCExamList$ctl02$rbExamerLevel)。Jmeter的Beanshellpreprocessor可在提交http请求前动态调整参数个数及参数值。下面给出了Beanshellpreprocessor的代码。其中ExamerLevel_matchNr为Jmeter的系统变量,提供了正则表达式匹配项ExamerLevel匹配成功的个数(即参评单位的个数)。如前所述匹配数量小于3时可任意评分,为简单起见我们均将其评为优秀。N=Integer.parseInt(vars.get("ExamerLevel_match-Nr"));(N>=3){YX=Integer.parseInt(vars.get("youxiu"));LH=Integer.parseInt(vars.get("lianghao"))+YX;HG=Integer.parseInt(vars.get("hege"))+LH;BHG=Integer.parseInt(vars.get("jibenhege"))+HG;for(i=1;i<=N;i++){item=vars.get("ExamerLevel_"+i);item=item.replace("_","$");(i<=YX){sampler.addArgument(item,"1");}else(i<=LH){sampler.addArgument(item,"2");}else(i<=HG){sampler.addArgument(item,"3");}else(i<=BHG){sampler.addArgument(item,"4");}}}else{for(i=1;i<=N;i++){item=vars.get("ExamerLevel_"+i);item=item.replace("_","$");sampler.addArgument(item,"1");}}设计了含35个并发线程的线程组,模拟实际35个评分人的评分过程。全部线程在1秒钟之内启动,比实际情况更严格。得到聚合报告如图6所示,其中点击考核评分页面响应时间最长,为335毫秒。且测试过程中无错误发生,说明系统评分模块可靠。
2数据库性能优化实验
除应用程序外,数据库设计的优劣亦影响系统性能。这部分实验目的是使学生熟练掌握使用SQLServer测试数据库性能的一般流程和方法,并进行简单的数据库调优。为减少复杂性,设计一个简单的由三张表组成的人员组织结构数据库:user、or-gan及userorgan表。其中user表含4586条记录,or-gan表含1722条记录,userorgan表含6804条记录(一人可在多部门任职)。实验任务根据账号查询其姓名及所在单位信息。
2.1SQL语句执行计划对应用程序中频繁执行的SQL语句检查执行计划非常重要。初始时,三张表均未建立任何索引,下面SQL语句的执行计划如图7所示。由图7知,三张表均采用全表扫描的方式。对大表全表扫描可能涉及多次磁盘I/O,非常费时,应尽力避免此种情况。SQLServer报告由于缺少索引影响了查询性能,并给出了相关建议。selectA.vcAccount,A.vcName,C.vcNamefromtest.dbo.[user]Ainnerjointest.dbo.[useror-gan]BonA.vcAccount=B.cnvcempidinnerjointest.dbo.organConB.cnvcorgid=C.nNodeIDwhereA.vcAccount='testuser'为表格建立以下索引:indexIND_USERACCOUNTontest.dbo.[user](vcAccount)clusteredindexPK_ORGANontest.dbo.[organ](nNodeID)indexIND_USERORGANontest.dbo.[userorgan](cnvcempid,cnvcorgid)再次运行后显示执行计划如图8所示。可见所有表扫描均已替换为相应的索引查找,且SQLServ-er未报告缺少索引影响查询性能。两次执行查询的磁盘I/O和CPU时间见表1,可见为表添加正确的索引可提高查询性能。
2.2索引建立原则总结
建立索引的一般满足原则如下[10](篇幅所限,未给出实例):(1)为主键所在的列创建索引。为经常进行连接但未指定为外键的字段建立索引。(2)在频繁进行排序或分组的字段上建立索引。(3)在条件表达式中经常用到的不同值较多的字段上建立索引,在不同值较少的字段上不建立索引,如性别字段。不在查询很少引用的列上创建索引。(4)若经常同时使用多个字段排序,可在这些字段上建立复合索引。要尽量使关键查询形成索引覆盖,其前导字段一定是使用最频繁的字段。(5)查看索引并删除不使用的索引。需频繁进行数据查入操作的数据库应有较少的索引,需频繁进行读取操作的数据库应有更多的索引。(6)在聚集索引中,避免包括不必要的列,尽可能使用较小的数据类型。(7)在支持排序和范围查询的字段上考虑使用聚集索引。(8)具有高选择性的列是索引的好候选列,具有高密度的列是索引最糟糕的候选列。
3结语
1.1逐步细化
软件工程中逐步求精的思想是指现实问题通过抽象(细化)处理,最后解析出相对明析简单的算法描述和算法实现。将面对的问题按功能进行层次分解,每个层次再继续不断的细化为简单且易实现的模块,其核心本质是“细化”。在VFP数据库中将自顶向下分解后的教学内容进行细化,逐步细化的过程就是对整个教学内容中的关键性知识点进行整理和描述的过程。通过细化构建起严谨的知识系统,精确的表述出知识的内涵和外延。在VFP数据库中是在分解框架下对教学内容的细化,教学内容按知识关联程度细化分为六大个部分,分别是:数据基础、数据构建、数据维护、数据查询、编码、交互界面。对每个部分再按知识关联程度进一步细化,数据基础模块细化为基础概念、数据类型、数据运算;数据构建模块细化为项目管理、数据库、数据表、数据表间关联;数据维护模块细化为数据库与表的修改、添加、删除,记录的相关操作;数据查询模块细化为索引与排序、查询、视图、标准语言SQL;编码模块细化为过程化程序设计、面向对象程序设计;交互界面模块细化为表单、菜单、报表与标签。每一个小的细化模块再进一步细化为一个个的知识点。
1.2模块化
软件工程思想中的模块化方法是指在解决相对复杂的实际问题时自顶向下、逐步细化把问题系统分成若干模块,每个模块完成一个相对独立的特定功能,模块内高内聚,模块间低耦合,所有模块按照一定组织方式组成在一起成为一个整体后可以实现系统的所有功能要求。其本质核心是“复用”。具有代表性的模块化的教育模式有“MES”和“CBE”两种。MES(ModulesofEmployableSkills,模块式技能培训)是以技能培训为核心的教学。它以岗位任务为根据来确定模块,以实际岗位工作的完成流程作为主线,可称之为“任务模块”。CBE(CompetencyBasedEducation,能力本位教育)是以知行能力为根据确定模块,以实际岗位工作所需要的认知能力和活动能力为主线,可称之为“能力模块”。这两种模块教育模式都强调实用性和能力化。在《VFP数据库》中,我们将教学内容的次序按软件工程思想以“MES”模块重新进行组织。按软件工程原理实现一个数据库管理系统需要完成需求分析、概要设计、详细设计、编码、调试、测试、、维护,在教学过程中通过采用一体化案例,将这些软件工程流程贯穿整个教学过程。需求分析对应细化过的数据基础模块;概要设计对应数据构建模块,详细设计对应数据维护与数据查询模块,编码对应编码和交互界面模块。调试与测试则贯穿在整个的教学过程中,每一模块任务案例在完成过程中随时都需要调试与测试,最后将所有模块的任务案例组成在一起就是一个完整的小整数据库管理系统。这样一个学习的过程也是一个基于软件工程原理的数据库管理系统开发的过程。在每个软件工程的流程中,将“CBE”模式灵活应用于其中,比如数据构建模块中按学生所学的专业,要求学生建立一个与专业相关的项目,项目中至少包含一个数据库,库中至少包含三个具有关联的数据表。例如旅游专业的学生创建“旅游线路管理”项目,项目中有“报名管理”数据库,数据库中分别有“旅游线路”、“报名情况”、“交费管理”三个表。通过模块化培养学生解析问题的能力,动手解决问题的能力,团队协作的能力。
2结束语
(一)缺乏针对性专业教材
当今景观设计类应用软件课程教学过程中,缺乏与此专业及行业紧密契合的专业教材。景观设计软件只是方案表达工具,景观设计软件教学不能脱离相关专业理论课程教学。景观设计软件教学过程中要涉及到构成要素、设计要素、CAD绘图基础、生态学基础等课程群专业基础知识。一方面,现有设计软件教材多为面向高职高专层次的设计软件培训教材,教材多为文字介绍居多、辅以少量图片作为辅助理解的理论型书籍。同时,现有设计软件教材多为面向平面设计等艺术类专业,针对景观设计行业相关本科专业的教材较少。另一方面,由于书籍编写及出版需要一定时间周期,而设计软件版本及功能更新较快,这使得教材出版后的部分案例及其实现方法与当今景观设计行业的主流实现方法不同或存在较大差异,造成课程教学实践内容与社会需求脱节。在接受调查的学生中有48.4%的学生对教材内容与景观设计行业的契合度以及教材时效性不满意。
(二)教学模式陈旧且没有体现景观设计行业特点
一方面,当前景观设计类应用软件课程教授主要采用教师示范,学生模仿讲解软件功能模块并逐项过关的陈旧教学模式。教学中多是设计名词的解释、指令的罗列、操作功能的介绍,把有内在联系的系统性软件拆成一条条孤独的功能和命令。另一方面,多数任课教师基本是沿用传统建筑类工程制图软件的教学内容与教学方法,课程教学中从基本命令讲授到工程图纸的绘制,这与建筑施工类或其他专业类似涉及AutoCAD与Sketchup的教学出现了雷同,没有与当今景观设计行业的特点紧密联系起来,后期在景观设计行业内就业不能很好地衔接,同时也难以激发学生学习兴趣。在接受调查的学生中有46.2%的学生认为学习时具有一定盲目性,对所学软件功能如何在景观设计行业使用不太明确。
(三)学生专业实践能力提升不明显
任何课程教学过程中都存在着原理性和实践性两种知识结构,原理性知识表达了某种研究和探索的结果,实践性知识则反映了知识获得与验证的过程,二者相互依存,相互转换。以往的景观设计软件教学节奏缓慢,重点部分难以突出,同时缺乏与当今景观设计行业发展现状紧密结合的综合实践案例,学生的软件设计实践能力得不到有效锻炼,景观设计专业属性没有得到充分体现。虽然学生可以按照教程或者教师的演示,一步一步在计算机上画出书中所叙述对象,但在没有教师指导和教材的情况下,学生自己独立设计往往无从入手。这就造成了学生一听就懂、一用就忘的现象,教学过程中没有明显提升学生的专业实践动手能力。
(四)课程考核权重及方式尚需完善
传统的“一考定成绩”的课程考核方式不能全面地、准确地反映一个学生对设计软件的实际掌握水平,忽略了学生在教学中的主体地位。机械地把以往普通课程的考核方式照搬到设计类软件课程考核中会严重阻碍学生综合能力提高和高等教育教学改革,同时也在一定程度上扼杀了学生的创新意识及学习积极性。在接受调查的学生中有56.2%的学生认为,虽然课程结束后的考试成绩比较理想,但自己对软件的掌握程度尚不满意。
二、景观设计类应用软件课程的教学改进策略
以围绕实际景观设计案例项目为中心,推行以项目驱动教学模式为主的教学改革,变知识本位为能力本位,切实提高学生景观设计软件水平。项目驱动教学模式以构建主义理论为基础,构建主义由瑞士心理学家皮亚杰最先提出,项目驱动教学模式以教师为主导,以学生为主体,倡导以“学”为中心,围绕“实际案例项目”组织教学。学生在完成以项目为单位的学习任务过程中,既提高了相关软件技能,又熟悉了行业项目的工作流程,同时又培养了学生的创新意识及实践能力。
(一)编制适合景观设计专业项目驱动教学模式的学习教材
以项目为驱动的教学模式对教材的时效性和教材章节内容安排等方面提出了更高要求,需要编制符合景观设计行业人员工作能力要求的教材或者实践指导材料,尽可能缩短教材编写与出版周期,让教学材料涉及的内容更贴近行业需求,使学生获得的知识对其进一步自学和工作就业起到积极作用。适合景观设计专业项目驱动教学模式的自编教材需组织具有丰富教学经验同时具备从事景观设计工作经历的教师编写。自编教材针对不同的教学模块选择景观设计行业中具有代表性的案例项目,尽可能准确合理地对课程主次内容的篇幅进行安排。在完成相关理论文字表述的基础上大量融入实际项目图片与软件操作关键步骤截图,使学生能更直观地理解授课内容。同时在自编教材中编著重难点提示,让学生了解完成项目时需要掌握的其他相关课程群的内容,将多门课程的知识融会贯通,提升学生学习的自信心与学习兴致,激发学生探索求知的积极性。
(二)教学模式创新,教学内容围绕实际案例项目开展
摒弃以往软件功能模块逐项讲解过关的陈旧教学模式,将专业理论知识讲授融和于实际景观设计案例项目中。邀请景观设计行业专家对专业所涵盖的职位群进行任务和职业能力分析,确保教学项目的选择与设计既突出景观设计专业属性,又符合当今景观设计行业相关职位需求。课程授课教师需有景观设计行业实际项目开发经历与经验,课程授课过程体现实际项目开发流程。对于教学过程中提出的案例项目,教师前期先不进行详细分析和讲解,只对项目内容作简要介绍,重点在于要让学生自己充分思考与讨论,独立或几个人协同提出技术解决方案。教师根据学生提出的解决方案给予相应指导或纠正,以此让学生掌握完成相关完整案例项目的流程与方法,减少学生学习软件课程过程中的盲目性与被动性,切实提高学生分析解决实际问题能力,满足景观设计行业需求。
(三)以“项目”作为实践教学引擎
实践教学过程中的项目实施过程与景观设计行业现行主流设计过程接轨,模拟行业实际完成步骤开展实践教学。学生在完成项目的实践过程中,先需要将景观设计相关课程群的理论知识与实际项目相结合,然后才能借助景观设计软件按照行业规范进行设计表达。此实践过程区别以往死记命令、机械模仿等脱离景观设计行业实际的软件上机操作,激发了学生学习兴趣,使学生的上机实践练习更具目的性,促使学生主动寻求解决实际问题的途径和方法,有效提高学生实践能力。进一步提高课程实践学时比重,提高实践学时利用率,以学生为中心,充分发挥教师的纽带作用,鼓励学生自主学习与实践。教师对学生实践过程全程考察与评估,统计记录学生在具体项目中的完成情况,总结普遍存在的问题进行统一讲解与演示,澄清谬误,增补和完善知识系统。通过“教师指导—学生练—教师再总结指导”的模式,促使学生熟悉整个景观设计工作流程,最后具备独立完成景观设计工程制图的能力。另一方面,同一个实践项目允许学生通过多种方法完成,不设置死板的标准答案,鼓励学生质疑、问难,启发学生创造性思维,在课程实践过程中培养学生的创新精神,进一步提升学生使用相关设计软件独立进行景观设计的实践能力。
(四)课程考核体现项目驱动教学特点
将各教学任务与目标分成若干项目阶段,学生完成每一阶段项目任务后都要利用设计软件绘制图纸并提交阶段性作品及实践报告,由教师根据每阶段项目考核要求进行考核评价,课程总成绩中平时分阶段项目完成成绩所占比重不低于40%,改革传统期末一次性考试的考核方式。课程结束后学生获得的考核成绩跟学生对设计软件的实际掌握程度更加趋近,同时在一定程度上增加了学生的学习动力。
(五)景观设计类应用软件课程教学改革试行
成都大学旅游文化产业学院2011级、2012级园林专业第三学期开设“园林景观设计应用软件”课程64学时,其中含32实践学时。课程教学按照教改策略逐步实施,取得了一定的教学成提升,两个年级期末学生评教结果(满分5分)分别为:4.979、4.988,从评价分数上看,学生评价高,教学方式更容易被学生接受。教学改革后,课程讲解少而精,突出重点与难点,留给学生更多自学空间,激发了学生学习兴趣。课程结束后,学生独立使用软件完成景观设计项目的能力较之以往得到了明显提高,职业能力更加切合当今景观设计行业市场需求。
三、结语
学生可以在教师的帮助下在于同学的互动中主动学习,避免了传统课堂的单一教学形式对学生积极性的影响。寓教于乐的教学视频也可以提高学生在课下主动学习的积极性,为知识传授提供了新的形式。
2软件工程专业的翻转课堂教学模式
软件工程专业课程的特点是基础理论较为抽象、对学生的创新能力要求较高。目前各高校的软件工程专业课程都有专门的实践教学环节,但仍离不开理论知识的讲解和思维方式的训练,这些都导致学生积极性不高、教学质量下降。哈尔滨师范大学软件工程专业在研究翻转课堂教学模式和本专业课程特点的基础上,提出了一个适用于软件工程专业课程特点的翻转课堂教学模型。在软件工程专业的翻转课堂教学模式中,学生课前观看教学视频学习理论知识,通过和教师的即时交流完成知识学习;教师则根据学生的反馈统计课程的开展情况,酌情安排课上时间分配。在课上的教学环节中,教师首先集中讲解学生反馈的疑难知识点,对重点内容进行简要归纳,然后根据课程内容和教学统计结果提出实践学习内容。学生自由分组创建实践团队,按照软件开发过程的要求进行分工和调研,最终在教师的指导下完成一个具有项目特征的实训工作,提交相关的设计文档和研究成果。教师的课上任务就是点评提交的成果,总结学生的表现,解答学生实践过程中的问题等。
3软件工程翻转课堂云计算教学平台
翻转课堂教学模式需要一定的技术和资源支持,云计算环境无疑是最佳选择。经过不断的探索和研究,哈师大软件学院构建了一个基于云计算环境的翻转课堂教学平台,包括课堂软件开发、课前理论学习、运行管理和教学评价等模块。
3.1软件开发模块
软件开发模块体现了翻转课堂中实践教学的具体内容,是整个教学平台的核心功能模块。按照软件工程对软件开发生命周期的定义,软件开发模块分为项目规划、需求分析、系统设计、代码实现和系统测试等教学过程。在一个项目目标的规划内,每个教学过程都对应前后关联的任务、文档和成果。实际的教学过程是学生登录云计算平台进行实际的软件项目实训练习,以团队的方式完成项目,编写文档和提交成果报告。教师也要登录云计算平台全程监控和指导。云计算教学平台的教学资源库是通过深化校企合作得来的,所有的案例都来源于真实的软件开发项目,学生甚至可以在企业项目经理的指导下通过教学平台进行真实项目的开发。软件开发模块结合了翻转课堂、任务驱动和校企联合等面向应用的教学模式,体现了“工学结合、顶岗实习”的软件工程专业课程实践教学理念。
3.2理论学习模块
理论学习模块是体现翻转课堂模式课前学习的功能模块,该模块的主要功能包括教学视频、课前训练和课程统计等。教学视频功能的资源都来自国内知名高校的公开课,并且具有快进、回放、重放、暂停等播放功能,便于学生自定义课前学习。课程教学视频的内容、视觉效果、互动性和长短都要根据学生的学习效果定期调整,不仅要保证教学内容和课前学习的目标吻合,还要突出教学重点和难点,方便教师和学生的课前交流。课前训练功能是在每个教学视频播放前设置一些教学问题,让学生在观看视频时寻找答案,在视频结束后学生要根据提示进行简单的问题解答和知识训练。课程统计模块可以统计学生观看视频和回答问题的情况,有效提高教学的目的性。除了上述3个主要功能外,教学平台还提供了方便教师和学生交流的论坛,所有与课程相关的讨论和问题都可以在论坛上交流和解答。
3.3运行管理模块
运行管理模块是部署在软件工程翻转课堂云计算教学平台云端应用服务层中,将各种即时通讯、视频播放和在线论坛等应用集中封装的服务层次。具体的功能包括项目管理、学生管理、资源管理和师生沟通等。
1)项目管理子模块。
项目管理模块用来保存学生的实训成果和相关报告。该模块具有文档在线编辑和软件展示功能,可以根据课程类别和章节提供在线的实训环境和展示服务。学生在课程进行中提出的问题也可以在项目管理模块,由任课教师或企业专家在线解答。在实践教学中,教师可以通过项目管理模块掌握所有学生团队的项目进展情况,并通过在线成果交流来提高实践教学的教学质量。学生在项目管理模块中能够即时了解本队同学和其他团队学生的开发进度,这不仅有助于提高团队内部的沟通和协作,还可以通过比较和竞争提高团队凝聚力。
2)学生管理子模块。
学生管理模块用来监控学生的课前视频观看和课中实训练习状态。学生课前的视频教学是独自进行的,有效的教学监控是保证出勤率和质量的重要因素。学生管理功能不仅能监控学生是否观看了视频,还能知道他们观看了哪些视频,哪段视频的播发次数最多、时间最久。这些监控数据对教师掌握学生课前学习状态有至关重要的作用,教师可以通过在线统计获取课前学习数据,也可以在线设置各项参数自动获取指定人员和章节的统计数据。对于课中的实践教学,学生管理模块也可以获取学生团队的练习资料,比如项目进展情况、资料是否齐全等,这些数据可以为课后评估和项目管理等模块提供有效数据支持。在课程结束后,学生成绩也通过学生管理模块统计和查询。
3)资源管理子模块。
资源管理模块用来存储和维护云计算教学环境中教学资源。教学资源包括理论学习视频、课堂项目资料、软件开发资源和企业开发知识库等。这些资源的质量决定了教学的质量和效果,比如理论学习视频是否寓教于乐直接影响学生的学习积极性,课堂项目资料是否具有针对性直接影响教学的应用价值,企业开发库的资源是否有效直接影响学生的实际工作能力等。资源管理模块不同于传统的软件资源库,它具有在线文档编辑、视频制作、网络资源搜集等高级功能,可以实现对已有资源的改进和创新,也可以实现网络资源的汇总和摘选。另外,通过和一些国内知名云供应商的合作,我们还构建了包括软件开发云环境、企业软件项目库和软件开发技术资料库、软件开发文档模板库等在内的高级应用型软件开发资源平台。
3.4学生评价模块
学生评价模块对学生学习过程和教师教学过程的评估打分。其中学习过程根据翻转课堂教学模式的要求分为课前理论学习和软件开发实训两部分:课前理论学习主要包括视频观看、作业完成、课堂交流表现等方面的评估;软件开发实训则是通过对项目成果和研发报告的评估来获得分数。这两部分分数按照一定比例折算成学生专业课程的课程分数,和期末考试笔试成绩一起考核。对教师教学的评估则通过课程中的表现定性评价,评价的指标包括在线时间、操作频率、交流次数和学生打分等。
4实施效果
基于云计算环境的软件工程专业翻转课堂教学经过4个月的试运行,取得了显著的教学成果。使用云计算平台的学生在知识认知和技能实践等方面的能力比往届学生有较大提升。学生可以通过线上交流和团队合作完成开发任务,教师可以通过在线审核完成教学任务,基本达到了云计算平台的设计目标。为了进一步掌握云计算平台的翻转课堂教学模式的实践效果,通过校内走访和问卷调查等方式深入了解学生的学习积极性、动手能力和计算思维意识。结果显示学生对这种寓教于乐的教学方式普遍认同,对自身知识掌握和动手能力的提升感到满意,教师则对系统带来的丰富教学资源和低成本办学模式感到满意。
5结语