动画软件范文
时间:2023-03-22 13:11:07
导语:如何才能写好一篇动画软件,这就需要搜集整理更多的资料和文献,欢迎阅读由公文云整理的十篇范文,供你借鉴。

篇1
作者:吴润霓 单位:武汉大学动力与机械学院
硝化反应釜的结构特征;硝化反应釜的结构是由硝化反应的特点所决定的。具体的分为:作为反应主体的筒体、实现反应热交换的夹套、实现物料搅拌的搅拌器、搅拌附属的发动机、进出物料的进口和出口、筒体内换热蛇形管、排空用的排净孔、筒体附属设备,如防爆膜、视镜、人孔、支座、多种连接法兰和螺栓组等等。筒体是设备的主要部分,要通过生产实际需要的物料量来决定,通过强度设计得到其大小尺寸和壁厚。夹套的大小则根据反应传热的需要进行设计,主要通过其中盐水的流动速度和进出口的大小尺寸,来满足设计要求。搅拌器件的设计,在是在物理的物化性质和物理混合的均匀程度的要求基础上,进行设计选择和功率配置的。其他附属设备结构件的设计,则依据国标的要求,逐一查表得到。
硝化反应釜的设备结构,(图略)硝化反应釜的主要零件三维建模(不需要详细的操作过程)三维建模首先进行的是零件的独立个体建模。具体需要经过草图绘制、实体生成、实体加工等过程进行实现。打开Solidworks2008软件,通过菜单栏中“文件—新建—零件”打开一个零件的设计界面,进行绘制草图过程。其中注意的一点是,必须先选择一个基准面作为参考平面,而后继续进行三维零件的建模。生成实体的过程也就是基于各种常用特征的组合过程。如生成螺纹的过程,就是通过旋转切除,把螺母的棱角削掉,从而使外部造型更加平滑圆润;通过扫描切除生成内线螺纹;通过以螺旋线为轨迹的扫描切除后,生成螺纹完毕等等。就是零件建模过程中形成的几个零件举例,依次为筒体、法兰、液位计接口、螺纹件等。硝化反应釜的系统装配装配体的生即为把各零件通过各种配合关系组装起来的过装配体过程就是不断插入零件并配合的过程。插入零件后就是配合的过程。制作出来的所有零件和子装配体的全家福合影,就可以说明配合命令的应用,其中包括重合、平行、垂直、相切、同轴心,以及高级配合和机械配合等。对于大件零件的组装来说,配合命令足够用了。但当零件较多较小(如螺栓螺母等),就需要更多对装配体的命令了。比如螺栓副在图中首先只加一对,而实际需要40个,这样就用到了装配体的零件阵列功能,使全部螺栓副按照阵列排列在法兰板上。为了展示装配体各零件之间的配合,还可以用爆炸视图来演示。整个硝化反应釜装配完成之后,(图略)
文件的建立为了展示装配体各零件之间的配合,可以用爆炸视图来演示,方法如下:在插入选项里选择生成爆炸视图,而后选择爆炸时要分开的零件,把零件移到所需位置后确认即可。生成的爆炸视图右键点击设计树中的装配体,会有“动画解除爆炸”点击后即会以动画的形式显示装配过程,即爆炸的逆过程,
动画演示文件建立成功以后,将此文件在我校课堂教学中尝试使用了一段时间,并进行了几次修改完善。通过实践检验,这个动画演示文件得到了同学们的认可,普遍认为对于复杂的设备结构有了较为明了、直白、直观的认识,对于设备的组成和装配关系,可以很容易地理解和掌握;教师们也感觉对于授课有着很大的促进作用,减轻了教学难度、提高了教学效率。在大学课程教学实践中,本软件还体现出一些值得继续加强的地方,比如整体装配件可以从视觉上了解了,那么是否可以将局部部件的工作过程和原理加以进一步的演示?是否可以加入物料,以动画的形式将整个反应过程进行体现,等等。这些都有待于在今后的设计工作中继续开展深入研究,充分利用Solidworks软件的实用性、人性化、功能比较强大的特点,不断加强类似软件的制作,增加熟练程度,并注意各种功能技巧的应用,使其各种功能得到充分的发挥,服务于教学课件的丰富和更新,还需要在不断实践中不断摸索。
篇2
制作动画微课课件的软件有,多页、炫课、Camtasia Studio等。
1、多页,一款简单、快捷的图音微课设计工具。能轻松地为PPT、图片配上背景音乐或语音讲解,快速地传播知识。一维静态的表现形式适用于展示企业内部的制度、标准和规范等知识。满足快速,低成本微课制作的需求 。2、炫课,中国第一款专业的“HTML5”微课程设计工具。能把图文、音视频轻松地结合在一起,并辅于炫酷动画、人机交互来制作出易传播、跨平台浏览和学习的微课程。这款工具适合有一定课件设计基础或PPT基础的用户使用。
3、Camtasia Studio是一款屏幕录像和编辑的软件套装。软件提供了强大的屏幕录像、视频的剪辑和编辑、视频菜单制作、视频剧场和视频播放功能等。该套装软件,用户可以方便地进行屏幕操作的录制和配音、视频的剪辑和过场动画、添加说明字幕和水印、制作视频封面和菜单、视频压缩和播放。
(来源:文章屋网 )
篇3
摘 要:动画的后期制作是二维动画制作中的最终环节,也是非常关键的环节,这一环节做的好将为整个动画作品制作流程起到事半功倍的效果。而影视后期合成软件是这环节的直接参与者。本文选择了多款影视后期合成的软件进行了研究,从软件的运行平台、功能特点等方面进行分析,让大家能更好的了解这些软件。
关键词:影视后期合成软件;二维动画制作;功能;特点
中图分类号:TN94
动画作品的后期合成,是通过影视编辑的设备并运用各种编辑技巧,来对所采集的动画素材进行模拟仿真的艺术特效的制作,并通过剪辑合成技术使整个动画作品达到视觉上的流畅与真实。进行后期合成时,要调用各种影视语言使二维动画作品摆脱单一、平面的束缚,跨越到具有真实空间和多种艺术形式的展现中去,从而把观众带到美的视觉享受中来。而后期合成软件的应用在整个二维动画制作流程中起着提高效率、添加效果等尤为重要的作用。
目前市面上后期合成软件软多,它们各有所长,但它们都在追求高效率、好效果的同时又有所不同,客户将根据自身各个方面的条件选择最适合的软件平台。
1 二维动画制作中影视后期合成软件的选择
影视后期合成软件可以分为面向流程的合成软件和面向层的合成软件。面向流程的合成软件的主要特点即节点式的合成方式,软件在合成过程中把合成画面所需的要的一个个步骤作为节点,通过把若干个节点连接起来,形成一个流程,从而使原始素材经过种种处理,最终得到合成结果。目前市场上流行的面向流程的合成软件如DigitalFusion、Shake、Chalice等。面向层的软件的主要特点即层叠加的合成方式。通过对每一层进行操作,如增加滤镜、扣像、调整等。使每一层画面满足合成的需要,最后把所有层次按一定的顺序叠合起来,就可以得到最终的合成画面。如DiscreetlLogic公司Inferon/Flame/Flint系列软件,就属于此类,另外还有AfterEffects、Combustion等也属此类。对于基于流程的和基于层的合成软件来说,前者更擅长制作精细的特技镜头,后者则具有较高的制作效益,可谓各有所长。前者由于流程的设计不受层的局限,因此可以设计出任意复杂的流程,有利于对画面进行非常精细的调整,比较适合于电影体及类的合成效果,后者则比较直观,易于上手,制作速度快。
上述这些软件的功能都非常强大,而且各有擅长的功能,以处理各种不同的后期合成镜头。但是有些软件由于运行环境、价格等问题并不常用于二维动画的后期合成制作。如Inferon/Flame/Flint系列软件以它高昂的价格和只能运行在高端的工作站上让很多的后期合成师和制作机构望而却步。
下面将介绍一些二维动画制作常用的后期合成软件,让大家有更实际的认识。
1.1 AfterEffects
AfterEffects我们简称AE是Adobe公司推出的运行于PC和MAC机上的专业级影视合成软件,经过数十年的升级发展,以及其拥有强大的Adobe软件开发公司的深厚背景。AfterEffects已成为目前最为流行的影视后期合成软件。最新版本为AdobeAfterEffectsCS5。它利用与其他Adobe软件无与伦比的紧密集成和高度灵活的2D和3D合成,以及数百种预设的效果和动画.AE的设计理念较先进,能与Adobe公司旗下软件Photoshop、Premiere和Illustrator无与伦比的紧密集成。AE同时拥有高度灵活的2D和3D合成能力以及数百种预设的效果和动画。AE采用了基于层的工作方式,因此Photoshop、I11ustrator软件中的层文件可以很方便地有选择性地调入。凭借Photoshop在二维动画制作中的极其重要的位置,AE足以立足于二维动画制作的后期合成市场并被广泛运用。关键帧、路径概念的引入,使AE对于控制高级的二维动画游刃有余。AE软件的特效插件多如牛毛可为二维动画片制作出各种绚丽的特效,随着蓝宝石插件加入的AE插件阵容让AE软件如虎添翼。在一些二维动画片的制作中我们常可以看到AE的影子,如第11界电影华表奖优秀动画片《小兵张嘎》、江西第一部红色动漫剧《安源小子》等。
1.2 DigitalFusion
DigitalFusion是由加拿大Eyeon公司开发的基于PC平台下的专业合成软件。而后Alias公司与Eyeon公司合作将DigitalFusion作为Maya的配套合成软件,故业内也称它为MayaFusion。它是PC操作平台上第一个64位的合成软件,支持64位色彩深度的颜色校正。它支持PC、SGI等等操作平台上的几乎所有的图像文件格式。它采用面向流程式的操作方式,以具有丰富的高水准的工具以及高效的软件功能被认为是目前PC平台上最好的合成软件之一。在二维动画制作有些镜头中常会用三维模型贴卡通贴图的方式模拟二维效果,Maya是常用的三维软件,出于对面向流程式的习惯使用,在最后的镜头合成中DigitalFusion则是制作人员首选的软件。但DigitalFusion软件在国内的普及程度较低,
1.3 Combustion
Combustion基于PC或苹果平台的Combustion软件是为视觉特效创建而设计的一整套尖端工具。它提供了大量强大且独特的工具,包括动态图片、三维合成、颜色矫正、图像稳定、矢量绘制和旋转文字特效短格式编辑、表现、Flash输出等功能。Combustion是将原有的基于矢量的绘画、动画系统Paint和特技效果制作系统Effect合并在一起而成。Paint是个绘图软件类似于Inferon/Flame/Flint的绘图模块,它可以很方便地对活动画面进行修饰,它基于矢量的特性使其可以很方便的对笔画设置动画,满足活动画面的绘制要求。这也为在二维动画制作中后期合成环节对动画素材的修改提供较好的解决方案。Effect是一款基于层的合成软件,类似于Inferon/Flame/Flint中的Action模块,它的最大优点是可以与AfterEffects共用滤镜插件,大大补充了Effect的功能。由Paint和Effect两款软件集成而成的Combustion从界面到功能都借鉴了Inferon/Flame/Flint系列软件,人们也常称它为“PC平台上的Flint”。陕西科技大学设计学院的动画短片《不顾一切》就运用Combustion作为后期合成软件,并在北京电影学院动画“学院奖”上获得了“Combustion技术应用奖”。
1.4 Premiere
Premiere是Adobe公司推出的一款面向广大视频工作人员的非线性编辑软件。它具有友好的操作界面以及强大的视频编辑功能,它与Mac系统下的Finalcutpro软件是同一设计师所设计,在操作习惯与操作界面等方面都非常相似。所以Premiere是在PC下被影视制作专业人士广泛使用的平台之一。它能与Adobe公司旗下软件Photoshop、AfterEffects等进行无与伦比的紧密集成。特别是当Premiere升级到CS5版本后,其与Adobe公司旗下的软件配合更加的流畅。如PremiereCS5软件与AfterEffectsCS5软件能在软件都打开的情况下相互拖拽编辑而且相互联系紧密。在业界能将两款合成软件兼容的这么流程的开发公司实属罕见。在二维动画制作中的应用方面,Premiere软件拥有实用的剪辑工具、高效的关键帧动画设置、方便的标题制作工具、丰富特效转场效果、众多的第三方插件、对于网页视频的支持等,可为二维动画的后期合成提供极大方便。Premiere现在的最高版本是PremiereCS6版本。江西第一部红色动漫剧《安源小子》等都是运用了Premiere软件进行了最终的后期合成剪辑。
综上所述,在市场上影视后期合成软件是多样的,但在二维动画的制作中都能在提高制作效率和添加绚丽的效果上发挥的各自的特点。影视后期合成技术依托的是科技,在当今科技高速发展的时代,必定带来影视技术飞速发展。影视后期合成软件的更新换代也会随之加快,其功能将更加完善、使用更加方便、形式更加丰富。将会为二维动画的制作做出更大的贡献。
参考文献:
[1]庞仲远.对数码影视软件的浅要分析[J].电影评介.
[2]包峰.影视后期合成软件基本特点分析[J].内蒙古广播与电视技术,2005.
[3]刘荃.影视后期特效制作理论与实践[M].北京:中国广播电视出版社,2005.
[4]王洪义.影视后期编辑技法[M].沈阳:中国林业出版社,2005.
篇4
关键词:Flash 音乐动画短片 制作流程
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2014)02-0060-02
使用Flash软件制作音乐动画短片,其最大的特点是Flash软件能够把一些矢量图、位图和歌词、文字做成交互性很强的动画,不仅具有视觉和听觉的双重感受,更具有趣味性和创造性。用Flash软件制作出来的音乐动画短片,时间是可以自由设定,不过一般音乐时长为3到4分钟左右,加上动画场景、角色、效果等内容,最终生成文件总容量一般都可以控制在800k左右。应用在当前主流网络平台上,播放效果非常好。音乐动画短片的制作过程是一个系统工程,其中动画创意表达、音词同步是一部好的音乐动画短片所必备的关键技术。
1 开始准备工作
从项目开发角度来看,制作一部音乐动画短片必须先经过制作者反复构思,确定选用哪首歌曲、角色、表现形式等。设计前期准备工作主要为素材的准备,首先确定要制作音乐素材,同时针对音乐本身特点,确定好角色,通过互联网收集角色相关的图像素材,然后用图形处理软件对素材进行处理加工。另外准备一些必要的绘图工具如:铅笔、A4纸等用于前期草稿。
制作基本思路。动画短片设计目标应根据前期选好的歌曲,进行创意思维,结构化分析作品、动画场景分析、角色分析、动画效果处理、音视频同步处理等方面来综合设计分析,全面理清作品的创意表现、技术手段和用户定位。
动画制作的主要流程:歌曲选择及分析、脚本编写、素材准备、场景动画、音词同步、测试与等六个主要流程。
2 歌曲选择及分析
解读和领会歌曲所要表达的意境是音乐动画短片的关键点,要制作好,首先创作者必须有丰富的想象力,敢于想象,勇于创意,才会赋予动画以生命,才会做出优秀作品。例如:大家耳熟能详的《西游记》的主题曲《敢问路在何方》利用神话传说构造意境。“你挑着担,我牵着马,迎来日出送走晚霞。踏平坎坷成大道,斗罢艰险又出发,又出发。……你挑着担,我牵马,翻山涉水两肩霜花。风云雷电任叱咤,一路豪歌向天涯,向天涯。”其中,用日出和晚霞点出日复一日的行程,翻山越岭,涉水渡江,两肩落尽霜花,道出了路途的艰辛。“风雨雷电”暗喻妖魔鬼怪、道道难关,此为意象描写。即使前路渺茫、不知路在何方,也坚定不移,向前,此为情。路中有景,途中有情,景不离情,意境眩幻迷离,带人在“山重水复疑无路,柳暗花明又一村”的长途上行走。针对这首歌曲要考虑整个动画过程与歌曲内容的相结合,使选择的歌曲、动画效果、所表达的内涵能做到协调一致,才能真正准确地表达歌曲的意境。
3 脚本编写
一部好的作品之所以会打动观众,在于其内容能够吸引观众。动画脚本在这其中起到了关键的作用,动画脚本就是动画剧本。动画脚本和剧本一样,应该记载台词,对话,动作之类的东西,是使故事脚本或小说详细化的工作,具体到人物的对话,场景的切换,时间的分割等等。文字写好之后,就开始制作画面,但它并不是真正的动画图稿,它只是一连串的小图,详细的画出每一个画面出现的人物、故事地点、摄影角度、对白内容、画面的时间、做了什么动作等。这个脚本可以让后面的设计者明白整个故事进行的情形,因为从完成脚本后,就开始将一部短片拆开来绘制作不同的场景和处理不同的动画效果,所以这个脚本一定要设计得尽量详细。
在Flash中进行动画音乐短片创作要根据剧本做相应的分镜头剧本,而Flash软件自身带有场景管理功能,可以把动画分镜头剧本按场景进行单独编辑。Flas的创作可以说既依赖于传统动画又有区别。同时参照分镜可以把设计稿直接绘制在Flash里,一来可以成为以后创作很好的依据,二来可以较好地控制动画的节奏,同时也为下一阶段的设计提供必要依据。
4 素材准备
标准mp3音乐格式素材文件1首,角色选择应根据歌曲内容进行选定,一般不应过分追求数量,角色草稿和背景草稿若干。这些基本素材准备好后,首先进行音乐导入,将mp3导入到Flash库中,同时新建两个图层,一个命名为“音乐层”,另一个命名为歌词显示层,将导入的音乐放置在这个层上。根据这首音乐的长度确定Flas时间帧的结束位置。常用计算方法是歌曲的总时长转换成秒数再乘以12(因为Flas默认为每秒12帧)。最后再调整mp3输出方式,改变原mp3的压缩比,从而大大降低文件生成.swf时所占磁盘存储空间。
5 角色造型设计
造型设计是一部能够吸引观众成功动画片的重要环节。造型设计师不但要具备敏锐的观察力和丰富的生活经验,对动画的特性能够完全掌握,这样才能创造出形神兼备的造型。但不管是动画的角色造型还是场景造型,都要与动画片整体美术风格一致,有强烈的个性特点,才能给观众留下深刻印象。
角色绘制主要包括帧帧动画表现方法技巧、以及充分利用Flash的变形功能制作动画的表现技巧。利用帧帧动画表现方法和技巧,帧帧动画是我们常用的动画表现形式,也就是一帧一帧地将动作的每个细节都画出来。显然,这是一件很费功夫的工作,但是使用一些小的技巧能够减少一定的工作量。这些技巧包括:简化主体、循环法、节选渐变法、替代法、临摹法、再加工法、遮蔽法等。动作主体的简单与否对制作的工作量有很大的影响,擅于将动作的主体简化,可以成倍提高工作的效率。
6 场景动画
场景效果主要根据前期绘制的草稿及脚本来进行设计制作,主要工具为鼠标,鼠标在Flash中的应用主要侧重于对鼠标的控制力,同时结合软件的工具箱中的绘图工具,将草稿图绘制成数字图形,合理使用渐变效果,增强动画场景的立体感。制作好的场景和角色应存储为元件素材,方便制作时使用。
动画制作主要采用Flash常用的帧帧动画、补间动画、形状动画、遮罩动画、引导线动画、代码脚本等六种常用动画技术,在制作动画过程中还可以充分使用Flash的变形功能,Motion Tween和 Shape Tween是flash提供的两种变形,它们只需要指定首尾两个关键帧,中间过程由电脑自己生成,所以是在制作影片时最常使用来表现动作的。但是,有时候用单一的变形,动作会显得比较单调,这时可以考虑组合地使用变形。例如,通过前景、中景和背景分别制作变形,或者仅是前景和背景分别变形,工作量不大,但也能取得良好的效果。一般来说对于简单、有规律的动画效果可以采用补间动画、遮罩动画、引导线动画来实现,对于比较复杂的动画效果可以采用帧帧动画、代码脚本来控制。
7 音词同步
音词同步处理首要我们要做的是定位,还是以《西游记》主题曲《敢问路在何方》为例。首先将歌曲导入到主场景中,然后利用互联网搜索,找到这首歌的LRC文件,也就是歌词同步文件,歌词时间定位如下:
[00:01.00]《西游记》-敢问路在何方;[00:19.00];[00:19.91]你挑着担,我牵着马;[00:27.74]迎来日出,送走万象;[00:35.92]踏平坎坷,成大道;[00:43.87]斗罢艰险,又出发,又出发;[00:55.79]啦啦…… ……;[01:02.37]几番番春秋、冬夏。;[01:08.58]你尝尝酸甜、苦辣。;[01:14.54]敢问路在何方 路在脚下。[01:34.70];[01:37.61];[01:39.60]你挑着担,我牵着马;[01:48.01]…………………………;[01:56.22]…………………………;[02:04.37]一路高歌,想爹娘,想爹娘;[02:16.10]啦啦…… ……;[02:22.71]几番番春秋、冬夏。[02:29.25]你尝尝酸甜、苦辣。[02:35.08];[02:43.26]敢问路在何方 路在脚下。
脚本读取处理,将歌词时间分析文件存储为“路在何方.txt”文件存放在音乐动画短片所在目录的LRC目录中,文本文件存为UTF-8编码,仿止读取中文歌词时产生乱码。编写脚本控制语言读取歌词不达意和控制作歌曲播放速度。读取歌词的方法:package{private var lrcreq:URLRequest=new URLRequest("敢问路在何方.lrc");读取音乐的方法:private var mp3url:URLRequest=new URLRequest("敢问路在何方.mp3");保存此文件为mp3.as,作用读取mp3音乐,保证音乐与显示歌同步一致。
8 测试与
篇5
一、演示文稿中插入Flas
1.利用控件
这种方法是将动画作为一个控件插入到PowerPoint中去,该方式的特点是它的窗口大小在设计时就固定下来,设定的方框的大小就是在放映时动画窗口的大小。当鼠标在Flash播放窗口中时,响应Flash的鼠标事件,当鼠标在Flash窗口外时,响应PowerPoint的鼠标事件,很容易控制。具体操作方法如下:
(1)运行PowerPoint程序,打开要插入动画的幻灯片。
(2)单击菜单中的“视图”选项,在下拉菜单中选择“工具栏”的“控件=具箱”,再从下拉菜单中选择其他控件按钮。
(3)在随后打开的控件选项界面中,选择"ShockwaveFlash Object"选项,出现“十”字光标,再将该光标移动到PowerPoint的编辑区域中,画出适合大小的矩形区域,也就是播放动画的区域,就会出现一个方框。
(4)双击这个框,出现VB界面,其中的属性窗口中有个“自定义”属性,点自定义旁边的三点,出现属性页。在“WOVIE URL"中输入Flas的完整地址,按[确定]即可。需注意的是输入的路径中必须完整地填写后缀名.swfo说明:可以将Flas和制作的演示文稿保存在同一文件夹中,将路径设置为相对路径,也就是直接输入Flash的文件名和拓展名。
2.插入对象 采用这种方式,在播放幻灯片时会弹出一个播放窗口,它可以响应所有的Flash鼠标事件,还可以根据需要在播放的过程中调整窗口的大小。它的缺点是播放完了以后要点击[关闭]按钮来关闭窗口。具体操作方法如下:
(1)运行PowerPoint程序,打开要插入动画的幻灯片。
(2)在菜单中选择“插入”选项,从打开的下拉菜单中选择“对象”。接着会弹出“插入对象”对话框,选择“由文件创建”,单击[浏览],选中需要插入的Flas文件,最后单击[确定]返回幻灯片。
(3)幻灯片上出现的Flash文件,这时更改图标的大小或者移动它的位置,然后在这个图标上右击鼠标,选中“动作设置”命令。(4)在弹出的窗口中选择“单击鼠标”或“鼠标移动”两个标签都可以,再点击“对象动作”,在下拉菜单中选择“激活内容”,最后单击[确定],完成插入动画的操作。
3.插入超链接 (1)运行PowerPoint程序,打开要插入动画的幻灯片。 (2)在其中插入任意一个对象,比如一段文字、一个图片等。目的是对它设置超链接。最好这个对象与链接到的动画的内容相关。
(3)选择这个对象,点击“插入”菜单,在打开的下拉菜单中单击“超级链接”。
(4)弹出的窗口中,“链接到”“原有文件或Web页”。点击[文件]按钮,选择想插人的动画,点击[确定]完成。播放动画时只要单击设置的超链接对象即可。
二、Flas中插入几何画板
实例过程:首先制作一个名为“一次函数”的几何画板文件,存放路径是“D:Wy Documents",然后打开Flas,在窗口中输入文字“打开几何画板文件:一次函数”(其他文字也可),选中该文字,打开其属性框,在其“链接”一栏中输入文字:D:\My Documents\一次函数.gsp,输入后回车即可。
注意:输入的文字中不要漏掉扩展名:gsp。
三、在Powerlmint中插入几何画板
1.利用Active x几何画板控件插入
前提条件:首先安装几何画板控件进行环境Vb6dll。之后安装Active X几何画板控件,控件文件名称setup。这两种软件在网上很容易就可下载得到。
Powerpoint界面中,具体操作方法如下:
(1)单击“视图”一“工具栏”一“控件工具箱”一“其他控件”。
(2)在“其他控件”中找到"Active x几何画板控件”命令,把它拖到幻灯片上绘制该控件。如果要调节动画尺寸,可以拖动尺寸柄来调节大小。
(3)单击“控件工具箱”上的“属性”按钮,打开属性对话框。
(4)在sfilename中,单击打开选项卡,选择文件名,然后确定。
2.在PPT(Powerpoint)中调动“几何画板”文件的另两种方法
(1)插入法:参照在PPT中插入Flas方法之二。
篇6
[关键词]动画模块化教育模式Maya教学课改
常州工学院艺术设计学院开办动画专业已6年有余,由于Maya使用灵活、功能强大且行业中应用广泛,故我院动画专业学生在软件技能课上选择了Maya,而笔者本人也一直在从事Maya的课程教学任务,回顾教学历程,虽然碰到很多问题,但也取得了一定的经验,特别是本人依据MES模式设计的Maya软件技能目标细分培养思路取得了一定成效,今天提出来与广大同行共议。
1、模块化教育模式在动画专业人才培养中的考量
模块化教育模式以“CBE”和“MES”两种流派比较具有代表性。CBE(Competency Based Education,能力本位教育),主要以加拿大、美国等为代表。它是以知行能力为依据确定模块,以从事某种职业应当具备的认知能力和活动能力为主线,可称之为“能力模块”。该种模式非常类似于现在我国动画专业人才培养模式的统称,即在专业培养中以一个动画从业者的角度出发,强调一个从事动画行业的人所应具备的比较综合性的知识与技能。故CBE模式可以用来统筹动画专业人才培养教学体系,也基于此我们在专业课程设置上从素描、色彩、剧本、创意、分镜、动画运动规律、软件技能、动画流程管理直至短片创作无所不包,其根源也是强调作为一个专业动画从业人员所应具备的各种综合性知识和综合技能,只有学生毕业后进入到动画公司并从事相应的岗位工作后,在这一特定工位上继续提高,一般来讲具有通识知识的学生在后续的专业发展上空间会更大,但其劣势也是明显的,即不能像以MES培训出来的学生更容易进入岗位角色。
MES(Modules of Employable Skills,模块式技能培训),是20世纪70年代初由国际劳工组织研究开发出来的以现场教学为主,以技能培训为核心的一种教学模式。它是以岗位任务为依据确定模块,以从事某种职业的实际岗位工作的完成程序为主线,可称之为“任务模块”。 MES是从职业具体岗位工作规范出发,侧重于职业岗位工作能力。该种模式类似于现在的影视动画培训公司的动画人才培养模式,即从三维动画制作流程的工位入手,以模型、材质、动画、渲染、特效、后期等为主要切入点,进行针对性的专门强化训练。
两种流派的共性是都强调实用性和能力化。其区别是CBE从职业普遍规律和需求出发,侧重于职业基础通用能力。而MES是从职业具体岗位工作规范出发,侧重于职业岗位工作能力。
2、基于MES模式下的Maya软件技能目标细分培养
由于Maya软件本身在架构上实行了模块划分,如Modeling(NURBS和 Polygon)、Animation、Dynamic、Rendering等,切换某一模块会引起相应的界面主题内容的变化,另外在行业内三维动画制作也主要按照模型、材质、动画、特效、渲染等几个主要流程来进行,并且在动画公司的实际工位设置上也主要是基于模型、材质、动画、动力学等方式来进行,故我们以模块式技能培训(MES)方式来设置Maya软件教学实训内容也是顺理成章的事情。在具体的设置中主要是将四个模块的内容分配到两个学期完成,在第一学期主要完成模型及材质,在第二学期主要完成动画及动力学,其中在两个学期中会分别穿插一些辅助插件模块的学习,如PanitEfects、Hair、nCloth等。
在具体的模块化培养中则依据实际三维动画公司中的相关制作工位对人员的要求细化培养目标,如以模型制作技能培养阶段为例,首先按照三维动画公司模型工位要求进行能力培养目标细分为道具、场景和角色三种类型的模型创建能力,如道具模型创建能力以赛车制作为典型代表,要求学生掌握工业产品模型的构建方法,如图1所示。
在场景模型制作中以室内、室外两种模型创建为代表,要求学生掌握如图2和3所示的两种模型的构建方法。
在角色模型创建中要求学生掌握卡通、机器、人物和怪物四种类型角色的模型构建方法,并力求造型准确,布线合理,课堂范例基本模型如图4、图5、图6和图7所示。
在其余的模块化培养中则继续参照动画公司的相应工位需求进行相应的能力细分培养以求目标细化和知识点细化。在材质贴图阶段则要求学生掌握如下知识点:Maya材质工具节点;常用CG材质调节方法:如玻璃、金属、塑料、木头、皮肤等;UV及复杂UV的展开方法;两足和四足角色贴图绘制;建筑贴图绘制;灯光类型及投影类型;软件渲染的设置;MentalRay渲染器的使用等。在动画阶段则要求学生掌握两足或四足骨骼的创建方法,控制器的设定方法,蒙皮与权重的绘制方法;典型的两足和四足的动画调节方法;其间还需掌握摄像机动画、变形动画、路径动画及材质动画的设定技巧与方法,同时还需要掌握一些绑定插件的使用方法,如AdvancedSkelton等。在动力学阶段则重点掌握刚体、粒子、柔体及流体的四种类型动力学动画的实现机制及原理,并要求学生重点掌握表达式控制粒子状态与形态的方法,其间穿插Hair、Fur和nCloth系统的使用及案例讲解。
限于篇幅我们将动力学模块粒子阶段学习内容呈现给读者,粒子学习阶段学生至少要完成射箭、奔跑的野兽、爆炸和扫射四个案例制作,以强化学生的表达式初步应用能力,依次如图8、9、10和11所示。
3、取得的教学成果、存在问题及课改的方向
基于MES模式下的Maya软件技能目标细分培养方法在几年的动画专业人才培养中实践下来取得了较好的成效。如优秀毕业设计获奖方面:周道信同学的三维毕业设计作品《蜡烛》获得2009年校优秀毕业设计二等奖;金媛媛同学的三维毕业设计短片《皮埃尔奇遇记》获2011年校优秀毕业设计二等奖,汪玲玲、薛科、庄静三位同学三维毕业设计短片《三心二意》获优秀毕业设计团队称号等。竞赛获奖方面:《最后的常青藤》获2009年常州市大学生动画作品竞赛一等奖;《虫虫精神》获2009常州常州市大学生动画作品竞赛三等奖,设计短片《皮埃尔奇遇记》获得2011年常州市大学生动画作品竞赛一等奖。在大学生社会实践创新方面主要两项:其中省级课题《2010上海世博会气象组织馆景观规划动画设计》(已结题)和校级课题《上海虹桥机场GPS系统功能演示动画制作》。而学生所从事的商业项目应用则不再详举。图12、图13和图14是省级课题《2010上海世博会气象组织馆景观规划动画设计》中的有关场馆生长、水汽喷射和彩虹显现的特效动画。
在Maya软件技能教学取得一定成绩的同时也遇到了很多问题,本人曾撰文进行过专门论述,请见论文《Maya课程教学问题探讨》,发表于《电影评介》2011年第13期(7月上)。另外本人认为配套于Maya软件技能类课程教学改革应着重于以下几个方面:
首先,学校应设置合理的专业方向,在尊重学生兴趣和能力的基础上让学生做出自己的选择。Maya系统庞杂,内容枯燥,并且随着学习的深入,学生感觉越来越像学计算机,故Maya的学习是要凭着兴趣、执着和实力的,其学习周期也是以年为计的,但是我们要承认不是所有人都需要学习Maya的,Maya也不适合所有人。学生对于动画创作方式和完成手段具有兴趣趋向和选择多样的权利,基于此,学校应首先在动画本科教育的专业方向上设置合理的选项:如二维动画、影视动画、三维动画、游戏设计等等。然后专业方向划分时该给学生一次选择的机会,这样在充分尊重学生选择的基础上会使Maya软件技能课程教学更顺利展开,对于自愿选择三维或影视特效方向等必须要学习Maya的学生能更好地发挥主观能动性。有道是“知之者不如好知者,好之者不如乐之者”, 这样在Maya软件技能教学授课时能够和学生兴趣统一而不冲突,也避免了培养了一批人却放任了一批人的尴尬,这样学生在最后的短片创作以及毕业设计等环节就不会发生退而求其次的现象,相信这样会使Maya的课程教学走向一个比较正常的轨道。在这一点上我院动画人才培养上已经实现了专业细分:动画、影视特效和游戏设计,但是本人认为在有些培养细节上还有可改进的余地。
其次,着眼于动画人才培养的长流程、长过程来审视Maya软件技能课程培养的切入点和时机。本人一直力主Maya及各类软件技能课的单元制授课,但囿于各种因素而无法成功,但Maya软件技能掌握的意义在于为动画创造服务,本人认为课改的方向还可以从动画专业课程的融合方面入手,如剧本创作、分镜绘制、三维制作、后期制作及短片创作等课程进行融合,如本人现在进行的就是这样的尝试,在短片创作课程中让学生延续其在剧本创作课程和分镜绘制课程的最后课程结束时的考核作业,利用其在三维动画基础I和三维动画基础II中所学的Maya技能进行制作,这样将Maya技能学习就延续了下来,并且可以在短片创作实践中得到提升。将各个课程的独立培养目标相结合来共同服务于动画专业人才培养目标,这是任何一种专业方向课程体系设置的初衷,在一般情况下,毕业设计是唯一的检测途径,而如果我们在各专业课程开始阶段就让学生有一个心理准备:本次课程的结束将是下一个课程的开始,其结果是顺联的。这样将会使学生在课程学习中目的更强。当然这种课程体系融合一般只局限于关联度较高的专业课程,并且还需要不同授课老师之间的协调沟通。
最后,引入影视动画公司的培训机制和相关社会力量进行联合培养。常虹先生曾将中国的动漫教育类型分为三种:综合型、产业型和技能型三种。综合型模式以北京电影学院、中央美院、中国美院等院校为代表,其目标是培养有独立编导能力的学生。课程涉及绘画、影视、音乐、电脑技术、文学基础,注重综合素质的培养。产业型模式以四川美术学院为代表,学生入校后进行选拔考试,成绩好、能力强的学生直接进入企业实习、工作,参与动漫创作。那些没能入选的学生则留下继续学习。技能型教学模式是和综合型模式相对应,以院校中专、高职院校为主,主要为动漫企业培养技工[1]。如果进行匹配的化,我校的动画专业学生应以产业型为主,而部分民办生源则应以技能型教学为主。
本人越来越感受到动画专业的人才培养单纯靠一校之力是难以完成的,无论是综合型,产业型或是技能型,都需要公司实践或社会历练来提升学生的实战能力。荀子言:“闻之不若见之,见之不若知之,知之不若行之,学至于行而止矣。”动画贵在实践。合理、适时引入社会力量来分担动画专业人才培养的相关环节,比如软件技能培养、短片创作、毕业设计等环节,可以很好地解决动画学生知行统一的问题,从而避免学生产生眼高手低的自傲心里。基于此,四川美院影视动画学院的“课程项目化,实验实战化,作品产品化”动画专业实验教学新体系的构建与实践取得了社会的广泛认可。
4、结语
本文主要总结了本人在动画软件Maya技能教学中一些思考、尝试和一些经验,并由此提出了相关课改的一些思路。软件技能类课程教学在动画专业课程课程体系中地位和作用是一个备受讨论的议题,笔者还是赞同“简单的学院式艺术教育与只注重软件使用的企业式技术教育均不足以培养优秀动漫人才”[2]。但是我们可以通过一些调整来促使我们的专业教学不断趋向合理。当我们将动画人才培养作为一个系统工程来分析的话,会发现艺术熏陶、技能培养、创意启迪、人文素质积淀等都是该系统中不可或缺的要素,故各个要素间的合理配合与有机互动才是我们动画专业人才培养取得成功的关键。
基金项目
本论文得到常州工学院教改课题《软件技能课程在动画专业学生能力培养中的问题分析及对策研究——以Maya为例》项目资助;项目编号:J110943
参考文献
[1] 马子雷. 中国动漫教育发展遭遇瓶颈[N] .中国文化报,2010-7-19(1)
[2] 于静宜, 任戮, 李波. 我国高等动画教育问题分析[ J ] . 电影评介,2007(6):72
篇7
――薛向东
东华软件(原东华合创)从2001年成立至今,在金融、医疗、电信、能源、政府等行业拥有了相当大的市场份额。特别是在国际金融风暴来临、系统集成毛利率降低等恶劣环境下,东华软件依靠敏锐的市场嗅觉,及时调整发展战略,通过建立服务品牌、发展自有产品,在危机下取得了一次次的跨越。
走在高速增长的路上
东华软件在今年5月刚刚由北京东华合创数码科技股份有限公司更名为东华软件股份公司。公司主要业务构成是应用软件开发、计算机系统集成及信息技术服务,走的是行业软件和通用软件并举的发展之路。东华软件具有原信息产业部计算机信息系统集成一级资质,是国家规划布局内的重点软件企业,是国内最早通过软件能力成熟度集成(CMMI)5级认证的软件企业之一,其全资子公司具有国家保密局颁发的计算机信息系统集成甲级资质。公司目前拥有80多项自主知识产权的软件产品。
东华软件这两年的发展态势可谓强劲,2008年度营业总收入11.59亿元,同比增长45.25% ;实现净利润1.78亿元,同比增长87.70%,营业总收入和净利润均有大幅增长。对于一家系统集成企业的发展预期,或许下面的数字更有参考价值。东华软件2006年至2008年公司毛利率分别为19.53%、21.21%和25.35%。东华异军突起,在高速发展的路上前行。
保持在金融、电信、电力、农业、医疗等细分市场上稳固的市场份额,同时,加强软件产品开发力度,使之成为新的利润增长点,是东华提升整体盈利能力和盈利水平的利器。
系统集成商大军中的先行者
东华自成立以来,已为数千个用户提供了优秀的信息系统解决方案。东华成功完成了国家电力公司调度中心、中国网通山东通信公司、山西移动通信公司、中国海洋石油总公司、江西省政府、将军烟草集团、中国国际航空公司、海关总署、北京友谊医院、中国人民银行清算总中心等客户的应用软件开发和计算机信息系统集成项目。用户遍布金融、医疗、电信、电力、政府、交通、国防等领域。
在系统集成商的竞争厮杀中突围,东华靠的是其拥有的方案品牌。东华董事长薛向东在接受采访时说:“传统的方案商了其他厂商的产品,惟一拥有的自有品牌是服务,新一代的方案商不仅有服务,还有产品。其实用户关注的不是产品品牌或是服务品牌,而是方案品牌。以后我们的解决方案很可能是H3C的网络产品、IBM服务器、东华的流量管理系统和服务。”
众所周知,系统集成这几年的利润率在逐年下降。市场的滑坡加剧了市场竞争的无序,行业陷入价格战。恶性竞争导致系统集成商要么采取拉关系等不正当的竞争手段,要么降低质量,压低成本。
系统集成企业面临继续发展的困境,但东华却走在传统系统集成商大军的前列,保持利润的快速增长。薛向东对此有深刻理解:“东华的长期的竞争力在于比较准确地把握用户需求。用户的需求是无止境的,我们要做的是满足客户不断变化的业务需要。”
国内系统集成市场排前六名的行业用户金融、电信、政府、制造、能源和交通的IT投入目前仍在较快增长。但在结构上,对很多大公司的IT投放来说,硬件投入在减少,而配套的软件以及服务的比重在逐步提升,软件和服务的投资增长速度都要大于硬件。
大多数方案商认为系统集成之路越来越难走,薛向东却认为这方面是大有可为的,因为“信息化的过程就像修路,原来是没有路的,后来修了二环、三环,随着车越来越多,二环、三环可以走,但是不好走,所以还得修四环、五环。即使对金融、电信这些信息化比较成熟的行业来说,信息化还是有很大的提升空间,比如运维的精细化管理” 。
主打自主产品牌
正如本文开头薛向东所言,东华向用户提供的是方案品牌,包括服务和自有产品。在本次软博会上,东华主打的就是自主产品牌,主要向公众展示了东华流量管理系统、东华流量分析系统、东华IT运维管理平台等产品和解决方案。
早在2003年,东华就开始自主研发网络流量分析与网络流量控制系列产品,并于2008年得到了政府的大力支持。2008年,国家发改委同意东华新一代互联网网络监控分析系统研发及产业化项目列入2008年新一代宽带及网络通信产业化专项,并提供专项支持资金。
东华对于流量产品从一开始就规划得相对比较全面,薛向东多年前就看到了这块市场,特别是公司于2006年上市以后,把更多的资金和人力投入到自有产品的开发。经过几年的推广和改进,东华已经成为国内网管产品的领导企业,建立了完备的产品体系、销售体系和服务体系,网络流量分析、网络流量管控等产品在电信运营商、大型企业、国家政务网等行业积累了大量的成功案例,比如中国新联通总部IDC、中国化工集团、中石油、国家信息中心、国家气象局等。
篇8
Abstract: We can dynamically show the location of the geometric objects, using the Geometer's Sketchpad software to describe fixed point on the plane offers, which is helpful to the discovery of problem-solving ideas.
关键词: 几何画板;平面区域;动点
Key words: the Geometer's Sketchpad;the plane;the fixed points
中图分类号:TP39 文献标识码:A文章编号:1006-4311(2011)05-0174-01
0引言
在数学教学中,有一类问题:给定一个平面区域,讨论区域上的动点所具有的性质。通常,在平面区域内取动点P(x,y),用方程描述平面区域上的动点来解决问题。
关于平面区域上的动点问题,如果利用几何画板软件描述动点,动态地展现出几何对象的位置关系、运行变化规律,把“数”的问题转化为“形”的问题,对发现解题思路有很大的帮助。
1选取平面区域上的动点
对于直线型、圆、弧、轨迹、多边形内部、弓形、扇形等图形对象,几何画板可以构造对象上的点[1]。方法是选中要构造点的对象,利用“作图”“对象上的点”命令。
例如,对于平面上四边形ABCD,依次选取A、B、C、D四个点,利用“作图”“四边形内部”命令,作一个填充的四边形区域。然后,选中四边形内部,利用“作图”“四边形上的点”命令,可以画出一个以四边形内部的轮廓为活动范围的点E,如下图1。
在四边形边上任取一点(为方便起见,取顶点),把该点和多边形区域边缘上的动点E连接起来,线段上的动点P即为平面四边形区域上的动点。
2观测动点变化规律
根据题目要求,借助几何画板软件的度量、计算、轨迹、函数等功能,可以直观地得到动点的变化规律。
下面,以三角形的费马点问题为例,说明利用几何画板软件探讨关于平面区域上的动点问题。
法国著名数学家费马曾提出关于三角形的一个有趣问题:在三角形所在平面上,求一点,使该点到三角形三个顶点距离之和最小。人们称这个点为“费马点”。在此,我们讨论问题[2]:在锐角内部找一点P,使PA+PB+PC最小。
分析:在三角形内部任找一点P,利用几何画板中的功能,观察PA+PB+PC取最小值时,P在三角形中的位置,即找出极值的条件。
具体步骤如下:
①图2,在ABC的AC边上找一点D。
②连接BD,在BD上找一点P。
③当D在AC上运动和P在BD上运动,P就是ABC内任意一点。
④度量P到A、B、C的距离和它们的和。
⑤同时选中P、D,选择“编辑”操作类按钮“动画”,弹出“操作类按钮运动点的属性”对话框,点确定。
⑥同时选中“PA=1.71厘米”和“PA+PB+PC=6.09厘米”,选择“图表”“绘制(x.y)”。
⑦选中绘制出的点,选择“显示”“追踪”。
⑧按动“运动点”,就绘制出“PA=1.71厘米”变动时,“PA+PB+PC=6.09厘米”的大小。在坐标系里是一个区域(图3)。
图2中的P点和图3中的点是联动的。图3中动点在一个区域内运动,当图3中的点运动到区域的最低点时,PA+PB+PC达到最小值。固定此刻的P点,通过几何画板的度量的度量功能,可以观测到∠APB、∠BPC和∠CPA的大小。
3依据变化规律寻求解题路径
利用几何画板软件观测数学问题的变化规律,是从事实到理论的一种寻求解题路径的方法,是一种实验归纳法。
对于上面问题进行观测,当点P位于三角形内使∠APB=∠BPC=∠CPA=120°时,PA+PB+PC最小。知道了极值的条件,证明就显得比较简单了。把线段PA、PB、PC首尾连接起来,利用直线段最短来进行证明。
如图4,设P为锐角SABC热我坏恪0薛BAP绕B旋转60°到ΔBA′P′的位置,则有A′P′=AP。
在ΔBPP′中,BP′=BP,ΔBPP′是等腰三角形。又∠PBP′=60°,ΔBPP′是等边三角形,PP′=BP。则折线A′P′PC是P点到三个顶点的距离之和,且点A′和P点的位置无关。
对应于P点的不同位置,最短路线是线段CA′。所以,到三角形三顶点距离和为最小的点P必在CA′上。
于是,在ΔABC热稳∫坏P。连PA,PB,PC。以B点为中心,把ΔBPA旋转60°至ΔBP′A′的位置。再以C点为中心,把ΔCPA旋转60°至ΔCP″A″的位置。连接CA′、BA″,相交于P,P即为所求。
参考文献:
篇9
【关键词】嵌入式软件;自动化测试;平台框架
进入二十一世纪之后,硬件元器件得到了飞速发展,从而也是的嵌入式软件的功能更加强大和复杂。随之而来的也是嵌入式软件测试工作的加重,传统的软件测试技术已经难以满足嵌入式软件越来越复杂的需求。而目前,市场上已经有较多的传统软件自动化测试技术,如何在这些技术的基础上进行改进,从而能够适应嵌入式软件环境,从而实现嵌入式软件的自动化测试,是嵌入式软件发展的重要方向。
1.嵌入式软件自动化测试平台分析
嵌入式软件的自动化测试即利用脚本来自动化驱动嵌入式软件的运行,并且自动收集相关数据进行分析,最终生成相应的测试报告。虽然,嵌入式软件的自动化测试流程与一般PC机应用软件的自动化测试流程相同。但是,由于嵌入式软件软件对电子设备的高度依赖性,以及电子设备收周围环境影响较重,从而导致嵌入式软件的自动化测试平台存在如下的问题。
(1)由于电子元器件受到周围环境的影响,无论在宿主机上所进行的动态测试多充分,也无法保证嵌入式软件在实际的硬件环境中通过。
(2)硬件系统非常复杂,难以对测试过程中所发现的问题进行排查。
(3)植入桩点会影响系统的实时性。
(4)上位机的测试环境中,由于上位机与下位机的通信量较大,测试结果数据较多,容易导致通信的堵塞。
2.嵌入式软件自动化测试平台概要设计
通过对嵌入式自动化测试框架的分析,本文提出一种由脚本驱动器、接口映射表、数据驱动器和支持函数库所组成的,针对嵌入式自动化软件测试的组合型测试框架。
如图1所示,高层脚本调用执行下层脚本;底层运行脚本通过查询接口映射表调用待测试系统接口进行驱动和通信;测试脚本从数据文件调用数据执行测试。
(1)脚本驱动器
脚本驱动器调用高层脚本,高层脚本调用下层脚本。底层脚本包括待测试系统具体的测试步骤。
(2)接口映射表
接口映射表借鉴了关键字驱动测试框架中的组件映射表思想。测试人员根据待测试系统的实际需求,设计接口名称和参数,从而实现待测试系统的抽象化。在运行测试脚本是,首先通过映射表匹配接口名称和参数,当系统接口改变时,只需要改变映射表即可,从而实现测试系统与待测试系统的松耦合。
(3)数据驱动器
数据启动器是测试脚本与数据文件的连接器,通常采用文本文件、XML文件等来实现。在测试过程中,需要数据时,有数据驱动器读取数据。数据驱动器是脚本与测试数据分离,当测试数据变更时,只需要修改数据驱动器,而不需要对脚本进行改动。
(4)支持函数库
包含了数据缓存、文件操作、字符串处理等测试框架中所用到的通用处理函数。
3.嵌入式软件自动化测试平台详细设计
3.1 测试框架设计
嵌入式软件自动化测试平台的卡框架,采用嵌入式软件通用的Host/Target测试策略。
如图2所示,本文所设计的嵌入式软件自动化测试平台采用测试管理工具和测试双层结构。
3.2 测试流程设计
在进行嵌入式软件自动化测试时,测试人员的工作包括:编写配置文件、编写脚本、生成数据文件、测试报告分析等工作。嵌入式软件的自动化测试流程如图3所示。
当建立了管理工具和测试自检的通信之后,向测试发送测试请求,并且将脚本和数据传送到测试上。测试将测试脚本存放到特定的区域执行,并且将测试结果返回给宿主端。当宿主端接收到测试所发送脚本执行完毕信号后,发送新的测试脚本和数据给测试,直到所有的脚本测试完成之后,对测试所返回的测试结果进行分析,得出最终的测试报告。
3.3 功能设计
3.3.1 管理工具功能
为了不占用宿主段过多资源,将一些协助测试模块都放在宿主端中。管理工具的功能结构如图4所示。
(1)脚本配置管理模块
在进行嵌入式软件自动化测试之前,需要设计一份配置文件。在配置文件中定义好了脚本位置、宿主机与测试之间的通信、脚本执行时间间隔、通信桩点个数等内容。测试管理工具先对脚本配置文件进行解析,并且将解析的信息传送给目标机。
(2)插桩模块
通过插桩对待测试软件的功能进行细分,并且根据执行的情况,来分析待测试软件的测试覆盖情况。
(3)日志分析生成模块
测试日志文件中主要包含了待测试软件的测试结果,以及测试覆盖信息。其中测试报告中包括了测试跟踪信息、测试用例、测试用例的期望和实际结果、测试用例的执行情况及汇总等。测试覆盖信息包括:测试和未测试的代码段、功能的覆盖标记及汇总等信息。
(4)数据通信模块
主要负责宿主机与测试之间的消息通信。
3.3.2 测试功能
测试运行在目标机上,是整个嵌入式软件自动化测试平台的核心,测试的整体结构如图5所示。
(1)测试驱动模块
根据配置管理,对管理工具发送的测试脚本进行解析,并且调用工具库中的通用函数来完成测试。同时,将测试结果和桩点覆盖信息存入到特定区域。
(2)数据驱动模块
在数据文件主要包含了测试脚本文件、测试数据文件和测试结果文件。当测试需要数据是,可以通过数据驱动模块完成数据表查找和数据批量处理等操作。对于测试数据量大,测试步骤类似的测试过程,可以极大的减少测试的复杂度。
(3)数据通信模块
主要负责与管理工具的数据通信模块进行数据交互。主要负责接收管理工具所发送的配置信息、脚本信息和数据文件信息;同时将测试结果和测试覆盖信息返回给管理工具。
4.结束语
软件测试是对软件质量进行评估的重要方法,自动化测试技术可以降低软件测试成本,缩短软件测试时间。特别是对于测试环境更加复杂的嵌入式软件而言,自动化测试具有更加重要的意义。
参考文献
[1]邓勇,曾建光.嵌入式软件系统及其自动测试技术的发展与现状[J].科技咨询导报,2007,21:5-6.
[2]凌永发,张云生,郭秀萍.软件测试自动化中的脚本技术[J].云南民族学院学报(自然科学版),2002,11(1):544-548.
[3]郑世伟.嵌入式软件的测试方法和工具[J].单片机与嵌入式系统应用,2001,4:26-28..
篇10
关键词:自动化软件测试;模糊测试;错误定位
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)06-1231-04
计算机的应用越来越多地深入到人们的日常生活中,然而计算机软件还远没有达到零错误的要求。提高软件质量已经成为软件工程领域亟待解决的重要问题。软件测试,作为一种提高软件质量的重要手段而备受重视。在软件的开发生命周期中,软件测试是一个耗时耗力的过程,已成为软件开发的瓶颈之一[1]。据统计,软件测试约占软件开发和维护成本的50%~75%[2],因此,改进和改善软件测试技术变得十分迫切与重要。模糊测试[3]是一种通过提供非预期的输入并监视异常结果来发现软件漏洞的技术。模糊测试一般是一个自动或半自动的过程,这个过程包括反复操纵目标软件并为其提供处理数据。近年来,有很多学者在不同类型软件的软件测试中都证实了模糊测试技术的有效性和自动化的特点。模糊测试技术针对不同类型的测试环境有不同的测试策略。例如,张等人[4]提出了一种针对网络协议及模糊测试框架。沈等人[5]提出了一种基于文件规范描述的文件模糊测试算法,有效避免“无效”测试用例的生成,提高效率同时也增加了测试的全面性。
上面提到的模糊测试的研究重点主要集中在模糊器的设计与实现上,几乎没有涉及到错误定位的技术。基于频谱的错误定位方法是基于实际执行的动态错误定位技术的具体应用。Harrold等人证实了程序频谱与程序行为之间的关系,论证了通过研究运行失败测试用例得到的频谱信息与运行成功测试用例得到的频谱信息之间的差异性可为定位出错语句提供帮助[6]。该文调研了模糊测试技术和自动化错误定位技术的研究进展;第2节论述了自动化错误挖掘与定位技术可行性,并解释本文技术的动机;第3节介绍自动化错误挖掘与定位技术的实现方法;模型的实现将在第4节给出;第5节总结并展望未来的研究方向。
1 研究动机
在软件的生命周期中,软件的维护成本所占比例特别大,所以一个好的软件测试方法是非常必要的。一种优秀的测试方法可以发现软件中存在的大部分漏洞,从而可以降低软件的维护成本,提高软件的质量。模糊测试是1989年由Bartoon Miller教授首先提出的,并通过模糊测试在UNIX存在的大量漏洞。在1999年Oulu大学开发PROTOS测试集,这标志着模糊测试发展历程的一个重要里程碑。2002年PROTOS开始成熟,在2004年文件模糊测试开始兴起,AxtiveX模糊测试在2006年开始流行。到目前为止模糊测试取得了一定的发展,已经是软件漏洞挖掘中不可或缺的技术,但是这项技术仍然不是特别成熟[3]。图1给出了模糊测试的过程。
软件错误定位技术是通过运行测试用例得到程序的各条语句被测试用例覆盖的信息,然后利用覆盖信息计算出程序中语句的出错可疑度[7]。在实际的测试过程中,有很多情况是测试用例导致程序的崩溃,程序崩溃时寄存器中的信息也是非常重要的。所以利用程序的覆盖信息与程序崩溃是寄存器存储的信息共同来定位程序的出错信息可以提高定位的精度和速度。利用GCC中的GCOV命令可以收集C程序的运行的详细信息,包括覆盖率、代码的执行路径、程序的执行结果等信息。利用GDB调试器可以查看程序运行时CPU寄存器的状态。
随着计算机的不断发展,程序的代码越来越庞大,基于源代码审核的白盒测试需要大量的人力和时间,这会大大增加软件开发的成本。软件测试的自动化是未来软件测试发展的主要方向,通过把模糊测试技术和软件错误定位技术结合起来,可以实现软件测试的自动化,提高软件维护的效率。
2 自动化错误挖掘与定位技术
在这一节将介绍自动化错误挖掘与定位技术的总体结构,以及对结构中各主要模块的功能与实现。
2.1 自动化错误挖掘与定位技术的总体结构
为了实现软件测试的自动化,所提出的解决方案由一下几个模块组成:模糊器模块,测试结果记录模块,错误位置分析模块。图2为自动化错误挖掘与定位技术的流程图。
图2 自动化错误挖掘与定位技术的流程图
2.2 模糊器模块
模糊器模块的主要作用是生成测试用例,并把测试用例提交给被测软件,是模糊测试的核心结构。模糊测试可分为两类[8]:基于变异的模糊测试和基于生成的模糊测试。对于不同的测试目标有不同的模糊器,其中主要的分类有:
1) 环境变量和参数。测试对象主要是命令行参数和环境变量,主要的模糊器是iFuzz。
2) Web应用程序和服务器。针对Web服务器的存在漏洞的模糊器有Dave Aitel开发的SPIKE和WebScarab。
3) 文件格式。针对特定的文件格式,用于挖掘客户端文件解析漏洞,主要的模糊器有notSPIKEfile、SPIKEfile和FileFuzz。
4) 网络协议。通过特定的Socket形式将变异或者含有错误的数据包发送给目标程序,相应的模糊器有SPIKE和ProtoFuzz。
此外对于特定的测试目标,我们也可以手动构造模糊器,在构造模糊器时要充分考虑程序中可能存在的问题,例如:拒绝服务、整数处理问题、简单的栈和堆溢出、格式化字符串和目录遍历等。对于不同的问题确定模糊器不同的用例生成规约。例如,对于整数处理问题,我们可以设计这样的用例规约:生成边界值附近的测试用例0,-1,1,2,3,0XFFFFFFFF-1,0XFFFFFFFF-2等测试用例。此外,我们还可以直接在网上下载有用的工具和库,具体请查看文献[12]。
2.3 测试结果记录模块
我们的目标是实现软件测试的自动化,所以就不能依赖人工识别错误。为了实现这个目标,我们需要一种可靠的,可编程的方法。有一种方法是检查程序的返回代码[9],在现在的UNIX和Linux系统中,如果一个应用程序因为一个为处理的信号而中止,那么Shell的返回代码将等于128加上该信号数字。可以利用这个值来判断不同的错误。还有就是把应用程序连接到调试器,错误处理机制将阻止由模糊测试所导致的许多错误的明显标记,但是这些错误一般可以通过使用一个调试器来发现。在Linux操作系统中,GDB就是一个特别好的调试器,一般来说,GDB主要帮助你完成下面四个方面的功能:1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序;2)可让被调试的程序在你所指定的调置的断点处停住;3)当程序被停住时,可以检查此时你的程序中所发生的事;4)动态的改变你程序的执行环境。对于有些应用程序,我们也可以通过见识其运行日志带识别程序的运行结果。
测试用例执行路径是用于错误定位分析的主要数据,检测程序的主要方法是在程序的源代码中进行插桩,根据程序的执行结果来得到一个测试用例的执行路径。但是这种方法是基于语句的,在前期对源代码的处理中费时费力,效率低下。在这里提出了一种新的插桩策略,在程序运行的时候,有很多语句块只要语句块的第一条指令被执行,其后面的所有语句都会被执行,把这样的代码块称为基本块。在插桩时以基本块为单位,这样可以减少前期的准备工作,又可以提高程序的运行效率。
对于每个测试用例的结果都进行保存,用于最后的定位分析。我们把用例执行的相关信息保存到数据库中,其中数据库有三个标,分别用为:
1) 代码表(codes),用来存储程序的源代码;
2) 用例执行信息表(info),用来存储用例执行的各种信息,主要用,测试用例、执行路径、执行结果等;
3) 异常表(abnormal),存储导致程序出现异常时CUP各寄存器以及堆栈中的信息。
下面是记录模块的结构图。
图3 记录模块结构图
2.4 错误位置分析模块
错误位置分析模块的功能是根据数据库中的测试数据计算可能出错或存在漏洞的语句。因为数据库中记录了每条测试用例的执行路径和执行结果。可以利用数据库强大的数据处理能力,计算出错路径中每条语句的可疑度,其计算公式如公式(1):
[RESULTi(s)=TFi(s)TFi(s)+TP(s)] (1)
其中,TFi(S)经过语句S出错(错误类型为i)的测试用例个数,TP(S)是正常经过语句S的测试用例数。最后得到的结果为一系列语句可疑度的列表,其中可疑度最大的,出错的可能性也最大。
3 模型实现与实验
实验模型是建立在ubuntu 13.04 操作系统上,应用的开发语言是Python 2.7.4,数据库是Mysql Server 5.5.31。在实验模型中主要用到的软件有GCov 4.7.3和GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu。GCov用于收集用例执行路径,Gdb用于查看测试软件的执行细节。实验用的目标程序是从SIR[10](http://sir.unl.edu)网站上下载的grep。实验中数据库表结构如下表。
表1 目标程序代码表
表2 用例执行路径表
表3 用例执行路径表
通过简单的模拟实验,验证了该方法在软件测试中代码覆盖率、漏洞定位准确性有明显的提高,并且为发现的漏洞提供了相应的信息。并且在整个软件测试过程中,需要人干预的地方很少,基本实现了从用例生成、错误检测和错误定位的自动化。
4 总结与展望
本文中提到的软件测试方法实现了软件测试中用例生成、测试与错误定位分析的自动化,提高了软件测试的效率,加快了软件开发的周期,降低了软件维护的成本。同时该方法也存在一定的局限性,不能测试出软件中存在的逻辑错误,也不能能验证软件功能的完整,只对软件中存在其他错误(非法引用、堆栈溢出、格式化字符串等)有效。
在以后的研究中,应探索新的软件错误定位的方法和技术。可以从一下几个方面展开研究:
1) 利用动态的二进制插桩。在软件测试中,有很多错误不能直接被发现,例如:函数的堆栈溢出,如果溢出只是覆盖了函数中的一些变量,没有覆盖函数的返回地址,即EIP的值。这种情况程序是不会报错的,根据程序的运行结果很难定位错误。所以利用动态二进制插桩来实时监控程序的运行状态是一个不错的研究方向。
2) 利用人工只能,实现软件错误定位与自动修复。随着计算机技术的发展,软件规模越来越大,Binkley 估计到 2025 年人们开发的代码将达到万亿行[11]。面对数量庞大的代码,数据挖掘、机器学习等人工智能技术将会在故障定位方面得到很好的应用。
参考文献:
[1] Zhang Yu-Qian,Zheng Zheng,Ji Xiao-Hui. Markov Mpdel-Based Effectiveness Predicting for Software Fault Location[J].Chinese Journal of Computer, 2013,36(2):445-448.
[2] Yu Kai,Lin Meng-Xiang.Advances in automatic fault localization techniques.Chinese Journal of Computer,2011,34(8):1411-1422.
[3] Sutton M,Amini A G P.Fuzzing: Brute Force Vulnerability Discovery[M]. 黄陇,于莉莉,李虎,译.北京:机械工业出版社,2009:13-20.
[4] 张宝峰,张斌,许源.基于模糊测试的网络协议漏洞挖掘[J].清华大学学报:自然科学版,2009,49(S2):2113-2118.
[5] 沈亚楠,赵荣彩,王小芹,等.基于规范生成的文件模糊测试[J].计算机工程与设计,2010,31(16):3591-3594.
[6] Harrol M J,Rothermel G,Wu R,Yi L.An empirical investigation of program spectra[C].Proceedings of the ACM SIGPLAN/SIGSOFT Workshop Program Analysis for Software Tools and Eng (PASTE' 98). Montreal, Quebec,Canada,1998:83-90.
[7] 谭德贵,陈林,王子元,等.通过增大边际权重提高基于频谱的错误定位效率[J]. 计算机学报,2010,33(12):2335-2338.
[8] 陈衍铃,王正.模糊测试研究进展[J].计算机应用与软件,2011,28(7):291-293.
[9] Sutton M,Amini A G P.Fuzzing:Brute Force Vulnerability Discovery[M].黄陇,于莉莉,李虎,译.北京:机械工业出版社,2009:65-66.
[10] Do H,Elbaum S G,Rothermel G.Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact[J]. Empirical Software Engineering,2005,10(4):405-435.