基于flex的在线投票系统的分析与设计毕业论文

基于flex的在线投票系统的分析与设计毕业论文

ID:881098

大小:1.88 MB

页数:74页

时间:2017-09-22

上传者:^_^
基于flex的在线投票系统的分析与设计毕业论文_第1页
基于flex的在线投票系统的分析与设计毕业论文_第2页
基于flex的在线投票系统的分析与设计毕业论文_第3页
基于flex的在线投票系统的分析与设计毕业论文_第4页
基于flex的在线投票系统的分析与设计毕业论文_第5页
资源描述:

《基于flex的在线投票系统的分析与设计毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

长 沙 学 院CHANGSHAUNIVERSITY毕业设计(论文)资料设计(论文)题目:基于FLEX的在线投票系统的分  析与设计系    部:计算机系专业:计算机科学与技术学生姓名:班级:指导教师姓名:最终评定成绩 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:     日 期:     指导教师签名:     日  期:     使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:     日 期:      目录第一部分毕业论文一、毕业论文第二部分外文资料翻译一、外文资料原文二、外文资料翻译第三部分过程管理资料一、毕业设计(论文)课题任务书二、本科毕业设计(论文)开题报告三、本科毕业设计(论文)中期报告四、毕业设计(论文)指导教师评阅表五、毕业设计(论文)评阅教师评阅表六、毕业设计(论文)答辩评审表 2009届本科生毕业设计(论文)资料第一部分毕业论文 (2009届)本科生毕业论文基于FLEX的在线投票系统的分析与设计系    部:计算机系专业:计算机科学与技术学生姓名:王熹班级:05数库5学号2005021804指导教师姓名:周景职称讲师最终评定成绩2009年6月 长沙学院本科生毕业论文基于FLEX的在线投票系统的分析与设计系(部):计算机系专业:计算机科学与技术学号:2005021804学生姓名:王熹指导教师:周景讲师2009年6月 摘要为了提高用户体验性,出现了一种新的互联网技术,即RIA(RichInternetApplication),基于FLEX的投票系统便具有RIA的特性,这一新的投票系统采用Flex+JSP+MySQL的构架,提高了用户的视觉感受,能更直观的反映出投票结果。通过这个系统的开发过程,展示了Flex利用HTTPService通信方式,结合JSP实现对数据库访问的全过程,这个系统是使用典型的三层体系结构来构筑的,在开发过程中可以对三层体系结构有一个全面的认识本系统开发的难点就在于,开发环境的搭建,系统分析的过程,三层架构的理解,ChartViewDialog的states和transition的实现,语言切换的实现。如何去一步一步的解决这些困难,并最终开发出这个系统,是本次设计开发过程的主要目标,在正文中将会详细介绍。关键词:Flex,JSP,投票,数据库 ABSTRACTInordertoenhancetheuser’sexperience,anewnetworktechnologynamedRIA(RichInternetApplication)hasemerged.ThevotingsystembasedonFLEXhasthecharacteristicofRIA.ThisnewvotingsystemadoptsthestructureofFlex+JSP+MySQLtoimprovetheuser’svisualsensibility,whichcanmoredirectlyreflecttheresultofavote.ThewholedevelopingprocessofthissystemdemonstratesthatFlexcanmakeuseofHTTPServiceasacommunicationalmethodtocombineJSPandcompletethewholeprocessofvisitingthedata.Thissystemisbuiltonatypicalthree-levelstructure.Inthedevelopingprocess,wecanhaveacomprehensiveunderstandingofthethree-levelstructure.Thedifficultyindevelopingthissystemliesintheestablishmentoftheenvironmentfordevelopingthesystem,theprocessofanalyzingthesystem,understandingofthethree-levelstructure,realizationofthestatesandtransitionofChartViewDialog,aswellasrealizationoflanguagetransition.Theprimarytaskofthisdesignanddevelopingprocessistoworkouthowtosolvetheproblemsstepbystepandsuccessfullydevelopthissystem,whichwillbeelaboratedinthepaper.目录 摘要IABSTRACTII第1章绪论1第2章需求分析32.1项目背景32.1.1选题依据32.1.2Flex的特性及优势32.1.3设计思路32.2本系统的功能和应用背景42.3系统数据流图42.4数据库需求分析42.5数据库的E-R图5第3章概要设计73.1系统分析73.2系统运行环境的构筑73.3系统功能模块和结构设计7第4章详细设计114.1MySQL端的设计114.1.1对FlexVoteSystem表的设计114.1.2编写FlexVoteSystem的SQL语句114.2FlexVoteSystem的命名规则和结构124.2.1JSP端的文件结构和命名124.2.2Flex端的文件结构和命名144.2.3系统流程图和整体体系结构图154.3JSP端JavaBean的设计164.3.1数据库连接JavaBean的设计174.3.2数据库操作JavaBean的设计174.3.3数据库表映射JavaBean的设计174.4服务器断JSP的设计184.4.1JSP文件的编写184.4.2Flex+JSP+MySQL的编码问题194.5客户端Flex的设计194.5.1TransformLanguageClass.as的设计194.5.2MessageBoxDialog.mxml的设计224.5.3FlexVoteSystem.mxml的设计224.5.4ChartViewDialog.mxml的设计254.5.5HTTPService的介绍25第5章功能测试275.1用户信息录入模块的功能测试275.2问题投票模块的功能测试275.3统计结果饼形图模块测试28 5.4测试截图28结论32参考文献33致谢34第1章绪论Flex是Macromedia发布的presentationserver(展现服务),它是javawebcontainer或者.netserver的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应的.swf文件,传送到客户端,由客户端的flashplayer或者shockwaveplayer解释执行,给用户以丰富的客户体验。运用Flash 是完全可以做到flex的效果的,为什么还需要flex呢?这里面有两个原因:1:为了迎合更多的开发者。Flash天生是为了设计者设计的,界面还有flash的动画概念和程序开发人员格格不入,为了吸引更多的jsp/asp/php等程序员,Macromedia推出了Flex,用非常简单的.mxml来描述界面给jsp/asp/php程序人员使用.(x/d)html非常相似,而且mxml更加规范化、标准化。什么是RIA:传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富互联网应用(RichInternetApplications,缩写为RIA)的出现就是为了解决这个问题。富互联网应用程序是下一代的将桌面应用程序的交互式用户体验与传统的WEB应用的部署灵活性和成本分析结合起来的网络应用程序。富互联网应用程序中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用HTTP传递)的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的WEB服务所驱动。结合了声音、视频和实时对话的综合通信技术,使富互联网应用程序(RIA)具有前所未有的网上用户体验。AdobeRIA技术封装让现有的WEB技术得到了极大的保留,核心价值在于大大提高了产品设计师和开发工程师的“开发体验”,强化了设计端和开发端的整合。设计师和开发工程师们可以方便地将自己的代码平移到新的平台上,并且发布、部署的方式比之前的任何一款开发工具都方便得多,从而使RIA应用有更广大的开发者基础。本系统采用的这一新技术,是基于Web形式并以C/S为构架,同时结合了传统应用程序的反应快,交互性强的优点以及Web应用程序的传播范围广的特点,大大提高了用户体验性,简化并改进了传统应用程序的用户交互性。随着计算机技术的飞速发展,现在基于RIA的主流技术除了Flex,还有ajax,silverlight等等,为什么又从中选择Flex呢?因为flex做的界面又好看,又方便,也不难学,还有强大的IDE支持,而ajax做UI的时候,主要是靠JS,要实现一些比较复杂的效果,特别麻烦。追求UI的漂亮纵然不是最主要的,但是有些比较复杂的业务,往往需要“特别的”界面来提高操作的便捷性,这一点上,flex又稍胜一筹。现在作为针对个人或企业级的应用设计,Flex比较有前途,因为它容易上手,美观,灵活,速度快。但为什么没有更多的开发者使用Flex呢?首先就是针对flash来做企业级应用的不信任。再者,adobe主要针对的是java开发者,而对于.net开发者的努力应该是没有甚么作用的,.net开发者习惯了使用微软的东西,比较有专属性,而且有WPF这个平台,为甚么要选择Flex呢。在图形引擎方面,flash 始终无法和WPF相媲美,技术上的差距还很明显。另一方面说,Flex也不能吃掉ajax阵营,毕竟基于浏览器的应用长期存在了这么多年,熟悉html和javascript的开发者又那么多,想让传统web开发者转到Flex上面,那是不太可能的事情。唯一有可能的事情就是原来使用flash开发应用的和使用swing/awt的开发者转到flex/apollo平台下。综上所述,一种新技术的出现,是需要开发者的研究与推广才能使其普及的,而Flex作为一项针对企业或个人应用的计算机技术,在未来必定有其光明的前途,这也正是这次研究学习的主要目的。第2章需求分析2.1项目背景2.1.1选题依据 随着电子商务的发展,各行各业的企业都建立的自己的网站,展示宣传自己的产品。Web宣传方式与传统宣传方式相比,网络推广更具优势,成本低,容易维护,只要用户联网任何时候都可以查看信息,而传统的网络程序一般都采用页面表现内容、由服务器来传递数据的开发模式,在页面中使用HTML标记语言来表现界面层,而HTML只适用于图文内容,在形式上受到很多限制,已渐渐不能满足网络浏览者更高的全方位的体验要求,而Flex的出现就是为了解决这个问题。2.1.2Flex的特性及优势AdobeFlex是一个针对企业级互联网应用的表示层解决方案,具体来说Flex是一种应用框架。Flex的代表性特性:a.使用矢量图形;b.丰富的组件库;c.对多媒体广泛支持;d.数据处理能力强,除了可以加载XML文件和其他文本资料外,Flex还可以和ASP、ASP.NET、PHP、JSP等多种服务器端程序通信,连接远程WebService,还支持Remoting和Socket等高级数据通信方式。这种RIA的富客户端采用异步方式和服务器通信,是种安全的、具备良好适应性的服务器运行模式。Adobe公司开发的FlexBuilder3.0是一个在开放式的平台Eclipse的基础上从头编写,并集合了FlexFramework和ActionScript3.0的功能强大的开发工具。2.1.3设计思路采用最常用的C/S(三层结构)Flex+JSP+MySQL架构,Flex为客户端,JSP为服务器端,MySQL为DB端。用户界面层(Flex端),业务逻辑层(JSP端),数据储存层(DB端)三种模块独立存在。用户界面层向业务逻辑层发出请求后,业务逻辑层根据用户界面层发送过来的请求进行分类处理后,再发送到数据储存层。而业务逻辑层会把数据储存层返回的结果(数据)封装成用户界面层可以接受的形式,再反馈给用户界面层,最后由用户界面层表示出来。2.2本系统的功能和应用背景本系统的功能:采用Flex+JSP+MySQL架构的Flex版的投票系统,具有RIA(富互联网技术)的特性,具有更佳的用户体验性,并且可以直观的反映出投票结果,同时严格按照每个IP地址只能投票一次的限制来实施,这样避免了重复投票的可能性。本系统的应用背景:可以运行在任何一个使用浏览器进行投票的项目上,由于采用的是MySQL数据库,所以在体积和灵活性上面具有很强的优势,一般应用于个人,中小企业的在线投票项目。2.3系统数据流图图2.1系统数据流图 数据流图标示着系统的数据流向情况,可以对系统的数据处理有更细致的了解。该系统对个人信息录入包括个人基本信息和四个问题选择,用于最终数据统计,并用饼状图显示统计结果。2.4数据库需求分析数据库的设计对于一个程序来说起着非常重要的作用,只有一个设计完善的数据库才能给程序带来更高的运行效率,同样也能给程序带来更加健壮的可扩充性。所以说数据库设计是一个程序的根本所在,只有构建一个高效率的数据库,用户界面层和数据逻辑层才能更加有效的配合。用户的需求体现在各种信息的提供,保存,更新和查询上面,这就要求数据库的结构设计能充分满足各种信息的输入和输出。收集基本数据,数据结构及数据处理的流程,然后组成一个详尽的数据字典,可以给后面具体设计打下基础。针对这个投票系统的需求分析,总结出如下的需求信息:第一,同一个IP地址和Email地址的用户只能投票一次。第二,对每一个不同的用户,都会保存这个用户的姓名,IP地址,Email地址,用户所在地区,用户职业和问题1~问题4的投票结果。第三,查询投票信息的时候可以查询问题1~问题3的投票次数。第四,查询投票信息的时候可以查询用户所在地区的投票次数。根据上述的需求分析,本系统将设计出如下所示的数据项和数据结构。第一,用户信息所包括数据项:姓名,Email,职业,职业的计数,地区,地区的计数,用户的IP地址。第二,投票信息所包括的数据项:问题1的投票结果,问题1的计数,问题2的投票结果,问题2的计数,问题3的投票结果,问题3的计数,问题4的投票结果。2.5数据库的E-R图图2.2~图2.4说明了用户信息和投票信息这两个数据结构的关系: 图2.2实体之间关系的E-R图图2.3用户信息的实体E-R图图2.4投票信息的实体E-R图 第3章概要设计3.1系统分析本系统采用的是传统软件编程最常用的C/S构架(三层结构),Flex端为客户端,JSP为服务器端,MySQL为DB端。每个部分的知识体系需详细了解及熟悉掌握。采用三层结构的好处:用户界面层(Flex端),业务逻辑层(JSP端),数据储存层(DB端)三种模块独立存在,这样的程序具有更强的松耦合性,程序流程更加清晰。本系统所采用的数据库管理系统为MySQL,与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Flex部分所需要应用到的组件有ViewStack,Canvas,ComboBox,Label,Button,RadioButtonGroup/RadioButton,Image,From,TextInput,HTTPService,states,transition,Panel,PieChart等等。JSP部分需要用到JDK的安装,Java的编写和编译,Tomcat服务器的安装和配置,JSP的编写,JavaBean的编写,Eclipse的配置。数据库端还会用到一些常用的SQL语句。 3.2系统运行环境的构筑要顺利设计出这个Flex版投票系统,JSP端和DB端的环境构筑是重中之重。以下就是需要构筑和测试的环境:JDK的配置,Tomcat的配置,Eclipse的配置,JDK+Tomecat+Eclipse环境构筑的测试,MySQL的配置,JSP带数据库的测试,FlexPlug-inForEclipse的配置,在Eclipse中测试Flex的编译和运行。特别需要说明的是,由于时间先后不同,不同版本软件可能导致兼容性问题。3.3系统功能模块和结构设计本系统需要实现的具体功能是可以存储用户录入的信息,并且用户的Email地址和IP地址不能重复使用,最后将用户的投票结果以饼形图的方式展现出来。本系统具体包含的功能模块有:用户登陆模块设计,用户信息录入模块设计,用户投票模块设计,用户查询投票信息模块设计共四个部分。用户登陆模块的设计思想:当程序刚刚运行的时候(程序初始化阶段),Flex端使用HTTPService调用JSP端,以便取得用户的IP地址,JSP端通过业务逻辑处理(组成SQL语句)后发送给DB端,DB端再根据发送过来的SQL语句执行某些操作(插入,查询等操作)。再将操作的结果返回给JSP端,而JSP端将DB端返回的结果封装成XML,最后被Flex端接收。如果Flex端接收的XML内容是Successful则跳转到用户信息录入模块。如果接收的XML内容是Unsuccessful,则说明这个IP地址已经有过一次投票了,不允许进行第二次投票,所以将会在Flex端弹出一个错误信息并终止程序的运行,这就是用户登陆模块的设计思想,如图3.1: 图3.1用户登陆模块设计用户信息录入模块的设计思想:当程序运行到这个模块时需要用户录入姓名,Email地址,用户选择所在地区及职业,其中必须对用户的Email地址进行有效性CHECK,这样才能使程序更具有真实性。当用户信息录入完毕后,将用户的Email地址通过HTTPService的方式发送到JSP端,然后JSP端再组成SQL语句发送到DB端,而DB端得到JSP端发送过来的SQL语句进行查询操作(查询是否存在相同的Email地址),并将查询的结果返回给JSP端。JSP端将得到的结果封装成XML发送到Flex端,Flex端接收的XML为Successful则继续下一个模块,如果为Unsuccessful则说明Email地址已经被注册了,由于Email地址不允许重复注册,所以将弹出提示信息,如图3.2: 图3.2用户信息录入模块设计用户投票模块的设计思想:用户在这个模块中,首先需要对问题1~问题4四个项目进行投票,然后Flex端将用户录入的信息和问题1~问题4的投票结果以HTTPService方式发送到JSP端,JSP端将这些得到的信息组成SQL语句后发送给DB端,DB端则对发送过来的SQL语句进行插入操作,并将结果返回给JSP端,JSP端对这些返回的结果进行封装,最后被Flex端接收,如果Flex端接收的XML为Successful说明插入成功,如果为Unsuccessful说明插入失败。如图3.3:图3.3用户投票模块设计 用户查询投票信息模块的设计思想:当程序运行到这个模块时,说明用户的信息和投票结果已经正确的插入到数据库中,用户将看到五个饼形图,包括:用户所在地区的饼形图,用户职业的饼形图,问题1~问题3的饼形图,如图3.4:图3.4用户查询投票信息模块设计第4章详细设计 4.1MySQL端的设计4.1.1对FlexVoteSystem表的设计表4.1flexvote表No字段类型是否为空键值默认值Extra1Vote_IDInt(11)NOTNULLPRI--auto_increment2Vote_NameVarchar(100)NULL--NULL--3Vote_EmailVarchar(100)NULL--NULL--4Vote_AreaVarchar(100)NULL--NULL--5Vote_AreaCountInt(11)NOTNULL--1--6Vote_OccupationsVarchar(100)NULL--NULL--7Vote_OccupationsCountInt(11)NOTNULL--1--8Vote_Question1Varchar(11)NULL--NULL--9Vote_QuestionCountInt(11)NOTNULL--1--10Vote_Question2Varchar(11)NULL--NULL--11Vote_QuestionCountInt(11)NOTNULL--112Vote_Question3Varchar(11)NULL--NULL--13Vote_QuestionCountInt(11)NOTNULL--1--14Vote_Question4Varchar(11)NULL--NULL--15Vote_IPVarchar(11)NULL--NULL--4.1.2编写FlexVoteSystem的SQL语句本系统使用的数据库名称为flexvote,以下就是FlexVoteSystem系统的表建立时所使用的SQL语句:CREATEDATABASE`flexvote`/*!40100DEFAULTCHARACTERSETutf8*/;USE`flexvote`;CREATETABLE`db_vote`(`Vote_ID`int(11)NOTNULLauto_increment, `Vote_Name`varchar(100)defaultNULLCOMMENT'用户的姓名',`Vote_Email`varchar(100)defaultNULLCOMMENT'用户的E-Mail',`Vote_Area`varchar(100)defaultNULLCOMMENT'用户所在地区',`Vote_AreaCount`int(11)NOTNULLdefault'1'COMMENT'所在地区的计数',`Vote_Occupations`varchar(100)defaultNULLCOMMENT'用户的职业',`Vote_OccupationsCount`int(11)NOTNULLdefault'1'COMMENT'用户的职业的计数',`Vote_Question1`varchar(11)NOTNULLCOMMENT'问题1的内容',`Vote_Question1Count`int(11)NOTNULLdefault'1'COMMENT'问题1的计数',`Vote_Question2`varchar(11)NOTNULLCOMMENT'问题2的内容',`Vote_Question2Count`int(11)NOTNULLdefault'1'COMMENT'问题2的计数',`Vote_Question3`varchar(11)defaultNULLCOMMENT'问题3的内容',`Vote_Question3Count`int(11)NOTNULLdefault'1'COMMENT'问题3的计数',`Vote_Question4`varchar(20)defaultNULLCOMMENT'问题4的内容',`Vote_IP`varchar(16)defaultNULLCOMMENT'用户的IP地址,其不能重复!',PRIMARYKEY(`Vote_ID`))ENGINE=MyISAMDEFAULTCHARSET=utf8;4.2FlexVoteSystem的命名规则和结构4.2.1JSP端的文件结构和命名根据本系统的功能模块设计,结构模块设计和数据库逻辑结构设计,可以得出以下结论。JSP端的动作:得到用户IP地址,查询用户的IP地址,查询用户的Email地址,用户信息和投票结果的插入,用户所在地区的查询,用户职业的查询,问题1~问题3投票结果的查询。根据以上结论可以得出WebContent(也就是存放JSP的文件夹)包含如下JSP文件:一、SelectByUserIPFromVote.jsp功能描述:取得用户IP地址,然后将IP地址进行数据库的查询操作,并把查询后的结果以XML的形式封装起来。二、SelectByUserEmailFromVote.jsp 功能描述:取得由Flex端传送过来的Email地址,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。一、InsertAllFromVote.jsp功能描述:取得Flex端传送过来的用户信息和投票结果,据其进行数据库的插入操作,并把插入后的结果以XML的形式封装起来。二、GetAreaFromVote.jsp功能描述:取得由Flex端传送过来的用户所在地区,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。三、GetOccupationsFromVote.jsp功能描述:取得由Flex端传送过来的用户职业,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。四、GetQuestion1FromVote.jsp功能描述:取得由Flex端传送过来的问题1的投票结果,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。五、GetQuestion2FromVote.jsp功能描述:取得由Flex端传送过来的问题2的投票结果,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。六、GetQuestion3FromVote.jsp功能描述:取得由Flex端传送过来的问题3的投票结果,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。JavaSource(也就是存放JaveBean的文件夹)应该包含如下的JavaBean文件。根据JavaBean的功能应该分为这三种形式:对DB进行连接和管理的JavaBean,对DB表中各个字段的映射和组成SQL语句的JavaBean,其他方面的Javabean。所以我们应该首先建立3个文件夹:DB,ControlDB和Others。而这三个文件夹又都属于JspVoteSystem文件夹,JavaSource/JspVoteSystem/DB中应包含这些文件:1.DataBase.java功能描述:连接MySQL数据库的JavaBean。只负责对DB的连接操作。2.DataBaseManager.java功能描述:对DB进行操作的JavaBean。只负责对DB的查询,插入,删除,关闭等操作。JavaSource/JspVoteSystem/ControlDB中应包含下面这个文件:VoteClass.java 功能描述:包含对实体数据库中所有字段的映射,还包括对IP地址进行查询操作,对Email地址进行查询操作,对数据库进行插入操作,对用户的所在地区进行查询操作,对用户的职业进行查询操作,对问题1~问题3进行的投票结果进行查询操作,并将以上内容组合成SQL语句。4.2.2Flex端的文件结构和命名在Eclipse中新建一个FlexProject,并且命名为FlexVoteSystemV1。这就是本系统中Flex端的工程的名字。Flex端的动作(Flex端在本系统中又称为用户界面层):FlexVoteSystem的欢迎界面,用户信息的录入界面,问题1~问题4的投票界面,用户所在地区的饼形图的显示界面,用户职业的饼形图的显示界面,问题1~问题3的投票显示界面,一般性消息的提示界面共11个界面设计。根据一般投票系统的特点,可以将上述的界面进行一些简化处理。本系统利用的就是Flex的ViewStack组件,使用ViewStack组件简化的对象包括:FlexVoteSystem的欢迎界面,用户信息的录入界面,问题1~问题4的投票界面。经过上述精简可以得出以下文件:1.FlexVoteSystem.mxml功能描述:包括FlexVoteSystem的欢迎界面,用户信息的录入界面,问题1~问题4的投票界面。2.ChartViewDialog.mxml功能描述:饼形图的显示界面,包括用户选择的地区,用户选择的职业,问题1~问题3的投票结果共五个饼形图。3.MessageBoxDialog.mxml功能描述:对一般性消息的处理。例如提示信息,出错信息等。4.2.3系统的流程图和整体体系结构图系统流程图标示着系统运行操作过程,便于了解系统的操作,系统流程图如图4.1所示: 图4.1系统流程图FlexVoteSystem整体的体系结构图如图4.2: 图4.2FlexVoteSystem整体的体系结构图4.3JSP端Javabean的设计JavaBean是一种软件组件模型,它与其他软件对象相互作用,决定如何建立和重用软件组件,这些可重用软件组件被称为Bean。JavaBean具有四个特性:独立性,可重用性,在可视化开发工具中使用,状态可以保存。JavaBean分成可视组件和非可视组件,在JSP中主要使用非可视组件。4.3.1数据库连接JavaBean的设计 数据库连接JavaBean的设计:DataBase.java具有的功能是对数据库进行连接操作,以下就是DataBase.java中在JVM中查找并加载MySQL驱动类,然后创建Connection对象并对数据库进行连接操作的代码:Class.forName("org.gjt.mm.mysql.Driver");url="jdbc:mysql://localhost/flexvote";con=DriverManager.getConnection(url,"root","password");其中第一行的含义是注册MySQL数据库驱动的固定格式。第二行中flexvote是指之前建立的MySQL数据库。第三行中root和password是指在建立MySQL数据库时填写的用户名和密码。4.3.2数据库操作JavaBean的设计数据库操作JavaBean的设计:DataBaseManager.java具有的功能是对DB进行管理操作,例如查询,插入,删除,关闭等操作。(以下代码是关于查询语句的操作:DataBaseManager()db.Connection();Statementstmt=db.con.createStatement();ResultSetres=stmt.executeQuery(p_Sql);以下代码为数据库的插入,更新,删除等操作:DataBasedb=newDataBase();db.Connection();Statementstmt=db.con.createStatement();IntiResult=stmt.executeUpdate(p_Sql);4.3.3数据库表映射JavaBean的设计数据库表映射JavaBean的设计:VoteClass.java的功能是包含对实体数据库中所有字段的映射,还包括对IP地址进行查询操作,对Email地址进行查询操作,对数据库进行插入操作,对用户所在地区进行进行查询操作,对用户的职业进行查询操作,对问题1~问题3的投票结果进行查询操作,并将以上内容组合成SQL语句4.4服务器端JSP的设计4.4.1JSP文件的编写本系统关于Flex与JSP之间的通信使用HTTPService方式,而Flex对XML,E4X的支持已经非常完美了,所以本系统在Flex与JSP之间使用XML进行消息的传送。JSP生成XML可以通过以下两种方式:第一,用out.println方法写XML;第二,把JSP包含到XML文件中。本系统使用的是第二种方式。 SelectByUserIPFromVote.jsp的编写:SelectByUserIPFromVote.jsp的功能是取得用户IP地址,然后将IP地址进行数据库的查询操作,并把查询后的结果以XML的形式封装起来。InsertAllFromVote.jsp的编写:InsertAllFromVote.jsp的功能是取得Flex端传送过来的用户信息和投票结果,据其进行数据库的插入操作,并把插入后返回的结果以XML的形式封装起来。GetAreaFromVote.jsp的编写:GetAreaFromVote.jsp的功能是取得由Flex端传送过来的用户所在地区,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。GetQuestion1FromVote.jsp的编写:GetQuestion1FromVote.jsp的功能是取得由Flex端传送过来的问题1的投票结果,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。GetQuestion2FromVote.jsp的编写:GetQuestion2FromVote.jsp的功能是取得由Flex端传送过来的问题2的投票结果,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。GetQuestion3FromVote.jsp的编写:GetQuestion3FromVote.jsp的功能是取得由Flex端传送过来的问题3的投票结果,据其进行数据库的查询操作,并把查询后返回的结果以XML的形式封装起来。4.4.2Flex+JSP+MySQL的编码问题本系统是由Flex+JSP+MySQL架构的,为了避免产生乱码,就必须进行编码的统一。以下就是它们之间编码的关系:Flex的编码形式:,每一个mxml文件的第一行都有这个代码,可以知道Flex端的编码形式为utf-8,所以JSP端和DB端也要将编码设定为utf-8。JSP端的编码形式:<%@pagecontentType=”text/html;charset=utf-8”%>,首先需要在JSP端设置一下编码形式,为了和Flex端一致,所以必须选择UTF-8的编码形式。 数据库端的编码形式:Flex端和JSP端的编码统一成UTF-8的编码形式,因此传递到DB端也必须是UTF-8的编码形式,在建立vote_db这个表的时候需要将编码形式设置为UTF-8。4.5客户端Flex的设计对于本系统来说,Flex端的设计和编码是最重要的,可以这么说,只有一个设计合理的客户端才能更深刻的体会到FlexVoteSystem的内在的优点。无论JSP端和DB端的设计多么的出色,那都无法让用户得知,只有Flex端的介入才能发挥JSP端和DB端的最大作用。4.5.1TransformLanguageClass.as的设计TransformLanguageClass.as的设计:TransformLanguageClass.as这个文件为新增的,它的功能就是存储FlexVoteSystem中Flex端所有的文字信息,它的优点就是,如果我们想修改任意一个投票项的话,我们无需去修改FlexVoteSystem.mxml,这样一来,就增加了程序的可读性。先在FlexVoteSystem中新建一个叫TransformLanguageClass的as文件,这里面就包含了Flex端所需要显示的内容:1.投票系统的标题。2.用户信息的录入情况:包括(标题,投票者的姓名,投票者的Email地址,投票者所在的地区,投票者的职业)。3.问题1的投票内容:包括(请问您对Flex的认知程度?非常熟悉,明白,懂一点,完全不知道)一个标题和四个投票项。4.问题2的投票内容:包括(您想学习Flex并具体实现Web2.0应用吗?非常愿意,愿意,有一点愿意,用不上)一个标题和四个投票项。5.问题3的投票内容:包括(您想应用Flex在您的工作领域及商业上面吗?非常愿意,愿意,有一点愿意,用不上)一个标题和四个投票项。6.问题4的投票内容:包括(您可以配合学习Flex的时间?白天(上午9:00至下午16:00),晚上(晚上18:30至晚上21:00),假日(星期六,日全天),假日(星期六,日择一天),其他(自行输入)一个标题和五个投票项。7.显示投票的饼形图:包括(投票者居住地区,投票者职业,投票者对Flex2.0的认知程度,投票者对Flex2.0及Web2.0学习的热衷程度,投票者对Flex2.0工作及商业应用分析)。8.用户所在地区:中国的各个省或城市。例如北京,上海,湖南等。9.用户的职业:包括广告业,计算机编程,计算机网络,咨询(管理,营销等),工程师等。 以下就是TransformLanguageClass.as的关键代码:package{publicclassTransformLanguageClass{//简体部分publicstaticconstwl_S_Title:String="Flex教程調研大投票";publicstaticconstwl_S_Information:String="请输入您的资料:";publicstaticconstwl_S_Name:String=" 投票者姓名:";publicstaticconstwl_S_Email:String="投票者E-mail:";publicstaticconstwl_S_Area:String=" 您所在地区:";publicstaticconstwl_S_Occupations:String="  您的职业:";publicstaticconstwl_S_Author:String="如有问题,请访问";publicstaticconstwl_S_Tellme:String="这里";publicstaticconstwl_S_Author2:String="或給我";publicstaticconstwl_S_Email2:String="留言!";publicstaticconstwl_S_Question:String="问题1:请问您对Flex的认知程度?";publicstaticconstwl_S_Group1_A:String="非常熟悉";publicstaticconstwl_S_Group1_B:String="明白";publicstaticconstwl_S_Group1_C:String="懂一点";publicstaticconstwl_S_Group1_D:String="完全不知道";publicstaticconstwl_S_Question2:String="问题2:您想学习Flex并具体实现Web2.0应用么?";publicstaticconstwl_S_Group2_A:String="非常愿意";publicstaticconstwl_S_Group2_B:String="愿意";publicstaticconstwl_S_Group2_C:String="有一点愿意";publicstaticconstwl_S_Group2_D:String="用不上";publicstaticconstwl_S_Sample:String="Flex范例1";publicstaticconstwl_S_Sample2:String="Flex范例2"; publicstaticconstwl_S_Question3:String="问题3:您想应用Flex在您的工作领域及商业上面么?";publicstaticconstwl_S_Group3_A:String="非常愿意";publicstaticconstwl_S_Group3_B:String="愿意";publicstaticconstwl_S_Group3_C:String="有一点愿意";publicstaticconstwl_S_Group3_D:String="用不上";publicstaticconstwl_S_Question4:String="问题4:您可以配合学习Flex的时间?";publicstaticconstwl_S_Group4_A:String="白天(上午9:00至下午16:00)";publicstaticconstwl_S_Group4_B:String="晚上(晚上18:30至晚上21:00)";publicstaticconstwl_S_Group4_C:String="假日(星期六、日全天)";publicstaticconstwl_S_Group4_D:String="假日(星期六、日择一天)";publicstaticconstwl_S_Group4_E:String="其他(自行输入)";publicstaticconstwl_S_PanelChart0:String="显示投票结果";publicstaticconstwl_S_PanelChart1:String="投票者居住地区";publicstaticconstwl_S_PanelChart2:String="投票者职业";publicstaticconstwl_S_PanelChart3:String="投票者对Flex2.0的认知程度";publicstaticconstwl_S_PanelChart4:String="投票者对Flex2.0及Web2.0学习的热衷程度";publicstaticconstwl_S_PanelChart5:String="投票者对Flex2.0工作及商业应用分析";4.5.2MessageBoxDialog.mxml的设计MessageBoxDialog.mxml的设计:MessageBoxDialog.mxml的功能是对一般性消息的处理,例如提示信息,出错信息等(全部代码见附录)。根据MessageBoxDialog的作用可知,应该使用如下的Component:Button,Label,Image。表3.2就是MessageBoxDialog中的控件定义的信息:表4.2MessageBoxDialog控件表 ldXYWidthHeight含义LabellblMsg8218310默认显示提示的信息ImageimgMsg10185959显示提示信息的图标ButtonbtnMsg33036默认默认关于提示信息的确定4.5.3FlexVoteSystem.mxml的设计FlexVoteSystem.mxml的设计:本环节是这个系统最关键的一步,FlexVoteSystem由以下的一些控件构成,包括:TitleWindow,Image,Label,Button,ViewStack,LinkButton等控件,表4.3为这些控件的定义关系。由于是投票系统,根据常规我们可以使用ViewStack控件对投票信息和投票选线进行有效的组合,我们可以在ViewStack中分出这些画面:用户信息录入界面,第一个问题的投票界面,第二个问题的投票界面,第三个问题的投票界面,第四个问题的投票界面,再加一个欢迎画面,共6个画面,下面来详细介绍这6个画面(FlexVoteSystem.mxml详细实现代码请参考附录)。1.欢迎画面(控件本章已经说明)。2.用户信息录入画面(控件如表4.4所示)。3.第一个问题投票画面(控件如表4.5所示)。4.第二个问题投票画面(控件如表4.6所示)。5.第三个问题投票画面(控件如表4.7所示)。6.第四个问题投票画面(控件如表4.8所示)。表4.3FlexVoteSystem控件表ldSource/TitleXYWidthHeight含义TitleWindow-VoteSystem----作为FlexVoteSystem的载体LinkButton--190123---ButtonbtnBegin下一步44432471--Image-Assets/vote.png190123---ViewStackmyViewStack现在第零个画面,即欢迎画面104.510534350存放投票信息,问题1~问题3的选项的地方 LabellblTitleFlex大投票19048--FlexVoteSystem的标题LabellblMessage-190320246-关于一些信息的显示,例如重复投票等表4.4用户信息录入界面控件表Componentsld含义CanvasONE-FromHeadinglblIinformation投票信息的标题FromItemLblName投票者的姓名TextInputtxtName填写投票者的姓名FromItemlblEmail投票者EmailTextInputtxtEmail填写投票者的EmailFromItemlblArea投票者所在地区ComboBoxcmbArea包括中国主要城市FromItemlblOccupations投票者职业ComboBoxcmbOccupations选择投票者的职业ButtonbtnRegister进入到下一个画面表4.5第一个问题投票界面控件表Componentsld含义CanvasTWO-LabellblQuestion第一个问题的标题RadioButtonradRConversance非常熟悉RadioButtonradRVKnow明白RadioButtonRadRKnow懂一点RadioButtonRadRNKnow完全不知道ButtonbtnPrevious2进入到上一个画面ButtonbtnNext2进入到下一个画面表4.6第二个问题投票界面控件表Componentsld含义 CanvasTHREE-LabellblQuestion2第二个问题的标题RadioButtonRadSVWould非常愿意RadioButtonradSWould愿意RadioButtonradSCWould又一点愿意RadioButtonradSNWould用不上ButtonbtnPrevious3进入到上一个画面ButtonbtnNext3进入到下一个画面表4.7第三个问题投票界面控件表Componentsld含义CanvasFOUR-LabellblQuestion3第三个问题的标题RadioButtonradYVWould非常愿意RadioButtonradYWould愿意RadioButtonradYWould又一点愿意RadioButtonradYNWould用不上ButtonBtnPrevious4进入到上一个画面ButtonBtnNext4进入到下一个画面表4.8第四个问题投票界面控件表Componentsld含义CanvasFIVE-LabellblQuestion4第四个问题的标题RadioButtonradDay白天(上午9:00至下午16:00)RadioButtonradNight晚上(晚上18:30至晚上21:00)RadioButtonradHoliday假日(星期六,日全天)RadioButtonradHoliday2假日(星期六,日择一天)RadioButtonradOther其它(自行输入)TextInputtxtOther自行输入的内容ButtonbtnPrevious5进入到上以个画面ButtonbtnVote提交 4.5.4ChartViewDialog.mxml的设计ChartViewDialog.mxml的设计:ChartViewDialog.mxml的功能是饼形图的显示界面,包括用户所在地区,用户选择的职业,问题1~问题3的投票结果共5个饼形图。由于ChartViewDialog.mxml的作用仅仅是显示饼形图的窗口,所以在本系统中被定义为TitleWindow类型的容器,而其中的五个饼形图均“放在”各自的Panel中。并将这些Panel分别命名为PanelChart1,PanelChart2,PanelChart3,PanelChart4,PanelChart5。为了体现Flex的魅力,我在放置5个饼形图的时候使用了states和transition两种效果,利用states我们可以很方便的操作状态的切换,而transition的使用极大的增强了状态模式下界面的表现力。关于具体怎样实现transition效果的代码,请参考关键代码那一章。4.5.5HTTPService的介绍HTTPService和WebService这两个对象是Flex中最常用的的客户端RPC工具,用来连接服务端的数据文件。RPC通信是一个异步过程,客户端把数据请求发送给服务端,然后等待服务端把结果返回到Flex。本系统采用的是HTTPService的方式。HTTPService对象位于mx.rpc.http包中,它主要是用来发送HTTP形式的GET或POST请求,这和传统的网络动态语言很相似,比如CGI,ASP,PHP。当我们访问一个ASP页面时,也相当于是浏览器向服务端发送GET或POST请求,等到服务端把信息传过来,浏览器将这些显示出来,形成以个页面。在MXML中使用HTTPService对象很方便,格式如下: 第5章功能测试5.1用户信息录入模块的功能测试表5.1用户信息录入模块测试用例用户信息录入模块用例测试模块编号:1001功能名称:用户信息录入前置测试用例信息录入成功功能完成人:王熹功能点:录入优先级:高测试人:王熹修改人:王熹测试步骤:1.输入投票人姓名:cc2.输入投票人Email地址:cici@qq.com3.选择所在地区:北京4.选择职业:广告业等预期结果:1.输入信息符合业务规则,点击下一步成功进入投票界面2.输入信息不符合业务规则,系统给出相应错误提示测试结果:通过错误列表序列输入参数错误结果无5.2用户投票模块的功能测试表5.2用户投票模块的测试用例 用户投票模块用例测试模块编号:1002功能名称:用户对问题进行投票前置测试用例投票成功功能完成人:王熹功能点:投票优先级:高测试人:王熹修改人:王熹测试步骤:1.对问题1进行投票2对问题2进行投票3.对问题2进行投票4.对问题2进行投票预期结果:1.输入信息符合业务规则,点击下一步成功进入结果统计饼形图界面测试结果:通过错误列表序列输入参数错误结果无5.3统计结果饼形图模块功能测试表5.3统计结果饼形图模块测试用例统计结果饼形图模块用例测试模块编号:1003功能名称:结果统计饼形图前置测试用例画面成功出现五个饼形图功能完成人:王熹功能点:结果统计优先级:高测试人:王熹修改人:王熹测试步骤:投票结束点击提交预期结果:出现对每个问题的投票结果的统计饼形图测试结果:通过错误列表序列输入参数错误结果无 5.4测试截图图5.1用户信息录入模块截图图5.2问题1投票界面截图 图5.3问题2投票界面截图图5.4问题3投票界面截图 图5.5问题4投票界面截图图5.6投票统计结果饼形图截图 结论Flex与RIA作为一门新的计算机技术,我也是刚刚接触,在指导老师手把手细心的指导下,通过查阅许多相关技术类书籍,终于把本系统顺利完成。在设计过程中,作为一名新手,遇到了许多困难,发现了许多问题,就拿本系统(FlexVoteSystem)来说,在开发过程中,本系统的难点就在于开发环境的搭建,系统分析的过程,三层架构的理解,ChartViewDialog的states和transitions的实现,语言切换的实现等等。其中语言切换的设计非常繁琐,导致当时设计遇到了很大的困难,还有就是环境搭建时,各个软件的版本搭配问题也是非常值得注意的。虽然难点很多,但是在开发过程中,也收获不少经验,发现了不少开发技巧,比如对于像我这种没有搭建过JSP环境的新手来说,不要急于求成,要对每一个步骤进行测试,程序中变量命名要使用又意义的名字,并且在程序中多做注释。其实要实现一个基于RIA的在线投票系统,还有很多种方法可以实现,但是Flex是一种相对容易入门,容易上手的技术。通过本次开发过程,学到了很多,收获很大。 参考文献[1]邱彦林著.Flex第一步——基于ActionScript3.0的Flex应用开发[M].清华大学出版社2007.12[2]姜天格编著.Flex3企业级Web应用系统设计与实现[M].机械工业出版社2008.12[3]胡洁编著.Flex完全自学手册[M].机械工业出版社2008.10[4]PeteBrown.Silverlight/.NETvsFlash/Flex(ornot)andMySilverlightWishlist[N].http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2008/08/17/Silverlight_2F002E00_NET-vs-Flash_2F00_Flex-_2800_or-not_2900_-and-My-Silverlight-Wishlist.aspx[5]吕晓鹏编著.精通Flex——基于ActionScript实现[M].松岗出版社2008.10[6]吕辉著.Flash/FlexActionScript3.0互动式开发详解:语法基础、典型应用、视频网站实战[M].电子工业出版社2008.10[7]ShashankTiwari,EladElrom著.AdvancEDFlex3[M].FriendsofEd出版社2008.10[8][美]特托拉,巴伯;译者:郝刚,袁永刚.(简体)AdobeFlex高级程序设计(ProfessionalAdobeFlex2)[M].人民邮电出版社2008.10 [9]何晓霞著.(简体)PHP+MySQL网站开发技术与典型案例导航[M].电子工业出版社2008.10[10]蔡国强著.Dreamveaver资料库网站设计forJSP&MySQL实战演练[M].知城出版社2008.5致谢在本次开发设计中,首先要感谢我的指导老师周景老师,是他耐心的从入门开始指导我,在我遇到困难的也是他手把手的教导我怎样一个一个难点的去解决。另外我还要感谢的是我的答辩老师,分别是潘怡老师,杨秀平老师,汪强老师,张肖霞老师,是他们从开题的时候就严格要求,并耐心指导对于我们这次设计各个环节的详细要求,才不至于无从下手。学生签名:日期: FlexQuickStartAndUsingResourceBundlesinFlexMXMLfilesareordinaryXMLfiles,soyouhaveawidechoiceofdevelopmentenvironments.YoucanwriteMXMLcodeinasimpletexteditor,adedicatedXMLeditor,oranintegrateddevelopmentenvironment(IDE)thatsupportstextediting.FlexsuppliesadedicatedIDE,Adobe®Flex™Builder™3,thatyoucanusetodevelopyourapplications.ThefirstlineoftheMXMLfileistheXMLdeclaration.ThislinehastobethefirstlineineachMXMLfile.Thenextlineistag,whichdefinestheApplicationcontainerthatisalwaystheroottagofaFlexapplication.ThetagdefinesaPanelcontainerthatincludesatitlebar,atitle,astatusmessage,aborder,andacontentareaforitschildren.Itstitlepropertyissetto"MyApplication".ThetagrepresentsaLabelcontrol,averysimpleuserinterfacecomponentthatdisplaystext.Itstextpropertyissetto"Hello,World!".ThefontWeightandfontSizepropertiesofthetagchangethestyleofthefontused.YoucanalsouseCSStostyleyourcomponents.Formoreinformation,see"UsingCascadingStyleSheets(CSS)"intheFlex3Developer'sGuide.Note:YoucancompileyourFlexapplicationbyusingthecommand-linecompilermxmlc,orbyusingFlexBuilder3.Forinstructionsoncompilingyourapplicationwithmxmlc,seetheCodingwithMXMLandActionScripttutorial.ExampleToviewthefullsource,right-clicktheFlexapplicationandselectViewSourcefromthecontextmenu.UsingResourceBundlesinFlexTherecomesadaywhenweallneedanapplicationinmultiplelanguages.Esoeslaverdad.InFlex,thesolutiontothisproblemisresourcebundles.Inthisarticle,I'lldescribethebasicuseofresourcebundlesandcreateasmallexampleinFlexBuilder.I'llalsosuggestsomeresourcesforfurtherexplorationandpondersomepotentialfuturedirectionsofthisfeature.TheBasicsofResourceBundlesAresourcebundleisasimplefile,commonlycalledapropertiesfile,wherekeysandvaluesarestored.ThefileformatforresourcebundlesissimilartoJavapropertiesfiles,witha"key=value"oneachline.ThemaindifferencefromtheJavapropertiesformatisthatfileswithnon-ASCIIcharactersinthemshouldbestoredasUTF-8.Propertiesfilesareputindirectorieswheretheycanbesearchedforbythecompilerinthesamewaythatothersourcefilesarefound.Thepropertiesfilesshouldbearrangedindirectoriesinaspecificwaythat'sexplainedintheexamplebelow.ThevaluesintheresourcebundlescanbeaccessedinFlexthrough@ResourceinMXMLorthroughResourceBundlemetadataandtheResourceBundleclassinActionScript.There'stwopiecesofinformationthatareneededtoaccessresourcebundlesinMXMLorActionScript-abundlenameandakey.Thebundlenameisthesamenameasthepropertiesfile.SoifyoucreateHelloWorldBundle.properties,thebundlenameisHelloWorldBundle.Thekeysarefoundinthepropertiesfile,totheleftofthevalues.SettingUptheFlexBuilderProjectWe'llstartofftheexamplebycreatinganewFlexprojectinFlexBuilder.Whencreatingtheproject,selectBasicfordataaccessandnametheprojectwhateveryou'dlike.Clickon"Next"toentermoreinformation.BeforeenteringanythingelseinFlexBuilder,weneedtocreatedirectoriesforthe propertiesfiles.Thefilesshouldgointheirowndirectoriesthatareoutsideofanycurrentsourcepath.I'vecreatedthemaindirectoryforthepropertiesfileinthedefaultdirectoryforprojects:C:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2localeWealsoneedtoaddsubdirectoriesforeachlanguageweplantohaveresourcebundlesin.ThesubdirectorynamesshouldmatchthelocalenamesweplantouseWe'llbeusingen_USforourEnglishstringsandspforSpanishstrings.SonowIhave:C:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2localeen_USC:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2localespWe'llgetbacktoputtingfilesinthesedirectorieslater.NowwewanttofinishsettingupourFlexBuilderproject.Tohavetheprojectfindtheresourcebundles,weneedtoaddthedirectorieswe'vejustcreatedtothesourcepath.Wedon'taddasourcepathforbothen_USandsp,butratherweusethespecial"{locale}"signifier.SoIaddthisfolderasasourcepathinFlexBuilder:C:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2locale{locale}TheMainapplicationfilenameshouldbechangedtoHelloWorld.mxml.ThenclickFinish.CreatingHelloWorld.mxmlYoushouldnowhaveaHelloWorld.mxmlfileinfrontofyouinFlexBuilder.InSourcemode,changeHelloWorld.mxmltothefollowing:   ThisisalloftheMXMLfortheHelloWorldapplicationthatwearebuilding.Notetheuseof@ResourcefortheLabel'stextandthekeyandbundleinformation.AtthispointyoucantrytocompileHelloWorld.mxml,butyou'llgetthefollowingerror:UnabletoresolveaclassforResourceBundle:HelloWorldBundle.AclassismentionedherebecausetheFlexcompilerthinksofthepropertiesfilesasclasses,anditcan'tfindapropertiesfiles. AddingPropertiesFilesCreatethefileHelloWorldBundle.propertiesintheen_USdirectorycreatedearlier.Addthefollowingtothefile:   hello=HelloWorldCreateHelloWorldBundle.propertiesinthespdirectory,andaddthefollowingtothefile:   hello=HolaMundoThenamesofthepropertiesfilescorrespondtothebundlevaluewespecifiedin@Resource,andthekeyvaluecorrespondstotheleftside.Wecouldaddmorekeyvaluesasneeded,likethis:   hello=HolaMundo   one=uno   bye=AdiosBuildingandRunningtheSWFsWecanthengobacktoFlexBuilderandrunHelloWorld.Whenyouruntheproject,youshouldseeonthescreenthemostexcitingofFlexapplications,"HelloWorld".ToruntheprojectinSpanish,right-clickontheprojectnameandbringupthepropertiesfortheproject.Intheadditionalcompilerarguments,changethelocalefrom"en_US"to"sp".The"sp"matchesthefoldernamewhereweputthesecondHelloWorldBundle.properties.Whenyouruntheprojectafterthis,youwillsee"HolaMundo".IfyouwerebuildingtheseFlexapplicationsforlateruse,youwouldhavetocopythedirectoryofoutputfilesfromtheEnglishversionbeforebuildingtheSpanishversion.Alternatively,youcouldbuildthesefileswiththecommand-linecompilerwhencreatingthefinalSWFs.YouwouldalsoneedtobuildapageinHTMLorFlashforchoosingbetweenthedifferentlanguages.FurtherExplorationWeonlyexploredusing@ResourcewithinMXMLanddidnotusetheResourceBundlemetadatainActionScript.Thisisanessentialpartofusingresourcebundles.Checkthe"LocalizingFlexApplications"sectionof"Flex2Developer'sGuide"intheFlexdocumentationtolearnmoreaboutthis.Wedidn'tdiscussafewofthemoreadvancedfeaturesofresourcebundlesinthisarticle:ResourcebundlescanbeusedinsideofSWCsifyoucreateresourcebundleSWCs. Completeclassesandmediasuchasimagescanbeinternationalizedbyusingcustomresourcebundles.Alloftheframeworkusespropertiesfiles,andbyusingtheframeworksourceyoucanlocalizetheframework.Moreinformationaboutthesefeaturescanalsobefoundinthe"LocalizingFlexApplications"documentation.TheResourceBundleAPIdocumentationcanbeusedtolearnmoreaboutresourcebundles,buttrytoignorethemainsummaryonthepage.Significantpiecesofthedescriptionarecurrentlyincorrect.FutureDirectionsThereareafewissueswithresourcebundleswhichwillbefixedinthenextupdatetoFlex.Mostnotably,FlexBuildercanshowanerrorafterupdatingapropertiesfile.You'llknowyouareencounteringthisproblemifyouseean"UnabletoresolveaclassforResourceBundle"errorwheretheclassmentionedendswith"_properties".Cleantheprojectinordertoremovetheerror.Wehaven'tdecidedonthisyet,butFlexBuildercouldremovetheneedtocopydirectorieswhenbuildinglocalizedapplications.Thiscouldbedonethroughapublishdialoguethatallowsmultiplelocalestobechosen.Wehaven'tdecidedonthischange,butFlexcouldallowresourcestobedynamicallyretrievedatruntime.Fornow,FlexonlysupportsthecompilingofresourcebundlesintotheSWF.Weplantoallowmediaandclassestobeaddedtopropertiesfiles.Thiswillmeanthatcustomresourcebundleswon'tbeneededforcomplexresourcebundles.Inthefarfuture,Flexmayallowdifferenttranslationformatsthanpropertiesfiles,suchastheXMLLocalizationInterchangeFileFormat. FLEX快速入门以及怎样在FLEX中使用资源包因为MXML文件是普通的XML文件,所以有很多的开发环境供你选择。你可以使用简单的文本编辑器,专门的XML编辑器,或者支持文本编辑的集成开发环境(IDE)来编写MXML代码。Flex提供了一个叫做Adobe® Flex™ Builder™ 2专门的IDE,你可以使用它来开发你的应用程序。MXML文件的第一行是XML声明。每个MXML文件的第一行都必须是XML声明。接下来的一行是 标签,它定义了Application容器,而且它是每一个Flex应用程序的根标签。标签定义了一个Panel容器,它包含有一个标题栏,一个标题,一个状态信息,一个边框,以及用来放置子容器或空间的内容区域。它的title(标题)属性的值被设定为 "My Application"。标签定义了一个Label控件,它是一个可以显示文本的很简单的用户界面组件。它的text属性被设定为 "Hello, World!"。 标签的fontWeight 和 fontSize 属性改变了使用字体的样式。你也可以使用CSS给你的组件加上样式。更多信息,请看Flex开发者指南中的“使用层叠样式表(CSS)”。注意:你可以使用命令行编译器 mxmlc或者FlexBuilder2 来编译你的Flex程序。Adobe®Flex™应用程序是事件驱动的。当用户与界面组件交互时事件会通知程序员,当一个组件的外观或者生命周期发生重要改变,比如创建或者销毁一个容器,或改变一个容器的大小的时候,事件也会通知程序员。当一个组件的实例分派一个事件时,你为那个事件注册的监听器对象就会被通知。你可以在ActionScript中定义事件监听器(或者叫做事件处理器)来处理事件。你既可以在MXML声明中为一个组件注册事件监听器,也可以在ActionScript中实现相同的功能。接收事件通知有三种方式: 在MXML中注册一个事件处理器 在MXML中创建一个内联(inline)的事件处理器 通过ActionScript注册一个事件处理器 在MXML中注册一个事件处理器第一个,而且是最广泛地被用来接收事件通知的方法就是在MXML中定义一个事件处理器,当事件发生时就调用它。在这个例子中,你为一个Button控件的click(点击)事件定义了一个事件处理器。当用户点击这个Button控件时,事件处理器会把Label控件的text属性设成 "Hello,World!"。示例<?xml version="1.0" encoding="utf-8"?><mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"width="300" height="200"horizontalAlign="center" verticalAlign="middle"viewSourceURL="src/HandlingEventsEventHandler/index.html"><mx:Script><![CDATA[import flash.events.MouseEvent;private function clickHandler ( event:MouseEvent ):void{myLabel.text = "Hello,World!";} ]]> </mx:Script><mx:Paneltitle="My Application" horizontalAlign="center"paddingTop="10" paddingBottom="10" paddingLeft="10"paddingRight="10" ><mx:Label id="myLabel" width="180" fontWeight="bold"fontSize="24"/> <mx:Button id="myButton" label="Click Me!" click="clickHandler(event);" /> </mx:Panel></mx:Application> 现在是一个需要多国语言应用程序的时代。Esoeslaverdad(这是一个不争的事实,西班牙语)。在Flex中,这个问题的解决方案就是资源包。在这篇文章中,我将描述资源包的基本用法并使用FlexBuilder创建了一个小例子。同时我也提供了一些关于更深层次探索的资源以及关于这个特性在未来可能的趋势的一些想法。资源包基本用法一个资源包是一个简单的文件,通常叫做属性(properties)文件,里面保存的是key和value。资源包的文件格式和Java属性文件格式很类似,每一行都是“key=value”这种格式。它同Java属性文件格式的主要区别是包含非ASCII码的文件需要被保存为UTF-8格式。属性文件应该放到可以被编译器检测到的路径下,编译器检测资源文件的方式和检测其他源文件的方式相同。属性文件应该以一个特殊的方式被放在一个文件夹下,我会在下面的例子中说明这种方式。在Flex中可以通过MXML中的@Resource,ResourceBundle元数据以及ActionScript中的ResourceBundle类来访问资源包中的值。在MXML或ActionScript中访问资源包需要两个信息——包名和key。包名就是属性文件的文件名。所以如果你创建了一个HelloWorldBundle.properties,包名就是HelloWorldBundle。key可以在属性文件中value的左边找到。配置FlexBuilder工程我们现在要在FlexBuilder中创建一个新的Flex工程开始我们的例子。创建工程的时候,在dataaccess选项卡上选择Basic并且为工程起一个你喜欢的名字。然后点击“Next”输入更多信息。在编码之前,我们需要为属性文件创建一个目录。这些文件需要呆在它们的目录里,这些目录不能是当前的源路径(sourcepath)。我在项目的默认目录里已经为属性文件创建了一个主文件夹: 程序代码C:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2locale 我们还需要为拥有资源包的每一种语言分别创建一个子目录。这些子目录的名字必须是我们想要使用的本地名字。我们将使用对英文字符串使用en_US并且对西班牙字符串使用sp。所以现在我们的子目录有: 程序代码C:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2localeen_USC:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2localesp我们稍候再回来把文件放到这些文件夹里。现在要继续配置FlexBuilder工程。为了让工程可以找到这些资源包,我们需要将刚才创建的目录添加到源路径(sourcepath)。我们不会为en_US和sp都添加一个源路径,而是使用特殊的”{locale}”标记。在FlexBuilder中我将这个文件夹添加为一个源路径: 程序代码C:DocumentsandSettingsbdeitteMyDocumentsFlexBuilder2locale{locale}然后主程序文件的名改为HelloWorld.mxml,点击结束。编写HelloWorld.mxml现在在FlexBuilder中已经有了一个HelloWorld.mxml。在代码模式下,将HelloWorld.mxml编写成下面这样: 程序代码    这就是我们创建的HelloWorld程序的MXML文件的所有代码。注意这里的Label的text使用了@Resource以及key和包的信息。这个时候你可以试着编译HelloWorld.mxml,你会得到下面的错误: 程序代码 UnabletoresolveaclassforResourceBundle:HelloWorldBundle.这里提到了一个类,因为Flex编译器将属性文件看作了一个类,但是它无法找到一个属性文件。添加属性文件在早先创建的en_US文件夹中创建HelloWorldBundle.properties。向文件中添加如下内容:     程序代码hello=HelloWorld在sp文件夹下创建HelloWorldBundle.properties,并向其中添加如下内容:     程序代码hello=HolaMundo属性文件的文件名以及等号的左边和我们在@Resource中定义的包名和key是相对应的。如果需要我们可以像下面这样添加更多的key。  程序代码hello=HolaMundo    one=uno    bye=Adios编译并运行现在我们可以返回到FlexBuilder中并运行HelloWorld了。当运行程序的时候,你可以看到屏幕上最令人兴奋的东西,"HelloWorld"。在西班牙语环境下打开该工程,右键点击工程名然后选择属性。在附加的编译器参数里,将locale从”en_US”改为”sp”。“sp”就是我们放置第二个HelloWorldBundle.properties文件的文件夹名。然后运行该工程,你将看到"Hola Mundo"。如果你创建这些程序是为了以后使用的话,你需要在创建西班牙语版本的程序之前将英语版程序的输出文件拷贝出来,你也可以在创建最终的SWF文件的时候使用命令行编译器创建这些文件。你或许还需要创建一个HTML或者Flash页面让用户选择使用哪种语言。进一步的探索这里我们只是使用了MXML中的@Resource而并没有使用ActionScript中的ResourceBundle元数据。这个是使用资源包的一个重要部分。你可以查看Flex文档中的"Flex2Developer'sGuide"的"LocalizingFlexApplications"章节来学习这一部分。在这篇文章中我们并没有讨论资源包的一些更高级的特性:•如果你创建了资源包SWC,可以在SWC中使用资源包。•通过使用自定义的资源包可以将全部的类和像图像这样的媒体文件国际化。•所有的框架都使用了属性文件,而且通过使用框架的源代码你可以将框架本地化。更多关于这些特性的信息也可以在文档中"LocalizingFlexApplications"章节找到。ResourceBundleAPI文档可以用来更深入地学习资源包,不过不要在意页面上的摘要。说明中的重要篇章通常并不正确。未来的趋势使用资源包时会有一些问题,这些问题将会在下一次对Flex更新的时候修正。最明显的一个问题是,FlexBuilder会在更新一个属性文件的时候显示错误信息。如果你看到了一个  "UnabletoresolveaclassforResourceBundle"错误并且类的名字以"_properties"结尾,你就能知道你是遇到了这种问题。你可以选择清洁工程来除掉这个错误。Flex Builder在创建本地程序的时候可能会移除需要拷贝的目录,虽然我们以前并没有决定这样做。这个问题可以通过一个可以让用户在多个地区之间选择的对话框来解决。Flex可以允许资源在运行时被动态检索,虽然我们并没有决定这样。目前,Flex只支持将资源包编译到SWF中。我们计划允许向属性文件中添加媒体和类。这意味着复合资源包将不再需要自定义资源包了。在更远的将来,Flex可能会使用不同的翻译格式来代替属性文件,比如XML本地化交换文件格式(XMLLocalizationInterchangeFileFormat)。 2009届本科生毕业设计(论文)资料第三部分过程管理资料2009届毕业设计(论文)课题任务书系(部):计算机系专业:计算机科学与技术班级:05数库5指导教师周景职称讲师学生姓名王熹 课题名称基于Flex的在线投票系统的分析与设计内容及任务拟达到的要求或技术指标进度安排起止日期工作内容 主要参考资料教研室意见签名:年月日系(部)主管领导意见签名:年月日注:本任务书一式三份,由指导教师填写,经教研室审批后一份下达给学生,一份由指导教师保留,一份交系部存档。 长 沙 学 院本科毕业设计(论文)开题报告(2009届)系    部:计算机科学与技术系专业:计算机科学与技术专业学生姓名:王熹班级:05数库5学号2005021804指导教师姓名:周景职称讲师职称2009年03月07日 题目:基于Flex的在线投票系统的分析与设计1.结合课题任务情况,根据所查阅的文献资料,撰写1000字以上的文献综述。AdobeFlex是支持RIA(richinternetapplications)的开发和部署一系列发展中的技术和产品线的概括词,包括theFlexFramework,FlexBuilder2,andFlexEnterpriseServices2等。传统的程序员在开发动画应用方面存在困难,FLEX试图通过提供一个程序员们已经熟知的工作流和编程模型,让程序员更快更简单地开发动画及RIA应用。不仅是传统的Flash开发人员,还包括越来越多的Web开发人员,都开始注意到Flex这一富有活力的新技术。Flex在富互联网应用程序(RichInternetApplication,缩写为RIA)中的卓越表现,吸引了大批企业用户。着眼于这个技术未来的发展空间,我决定抱着学习的态度,在现有实例的基础上,去设计一个系统,即我的课题:FlexVoteSystem(投票系统)。本系统的功能:采用Flex+JSP+MySQL架构的Flex版的投票系统,具有RIA的特性,具有更佳的用户体验性,并且可以直观的反映出投票结果,同时严格按照每个IP地址只能投票一次的限制来实施,这样避免了重复投票的可能性。本系统的应用背景:可以运用在任何一个使用浏览器进行投票的项目上,由于采用的是MySQL数据库,所以在体积和灵活性上面具有很强的优势,一般应用于个人,中小企业的在线投票项目。本系统采用的是传统软件编程最常用的C/S(三层结构),Flex为客户端,JSP为服务器端,MySQL为DB端。构筑本系统之前,需要掌握以下知识体系结构:1.Flex部分所需掌握的知识体系:ViewStack,Canvas,ComboBox.Label,Button,RadioButtonGroup/RadioButton,Image,From,TextInput,HTTPService,states,transitions,Panel,PieChart等组键的应用。2.JSP部分所需掌握的知识体系:由于本系统的“后台”是基于JSP实现的,所以必须掌握JDK的安装,Java的编写和编译,Tomcat服务器的安装和配置,JSP的编写,JavaBean的编写,Eclipse的配置,这些Java方面的知识体系。3.MySQL部分所需掌握的知识体系:需要掌握数据库的一些常用的语句,例如SELECT,DELETE,COUNT,GROUPBY等,以及MySQL的建立和配置,MySQL与Eclipse的配置等数据库方面的知识体系。本系统所采用的数据库管理系统为MySQL,与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster 的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。架构设计是软件开发的基础,并往往决定一个项目的成败。本系统采用大家最为熟悉的三层结构的模式进行开发。采用三层结构的好处:用户界面层(Flex端),业务逻辑层(JSP端),数据储存层(DB端)三种模块独立存在,这样的程序具有更强的松耦合性,程序流程更加清晰。三层结构的优点:如果在多人开发的团队或者程序本身非常复杂的情况下,这种方式可以使用户界面层的开发人员完全不必知道数据储存层的设计结构,他们只需知道与业务逻辑层的接口方式即可。同样业务逻辑层的开发人员也不必知道用户界面层的设计方式,他们只需得到从用户界面层发过来的请求即可。而数据储存层完全可以根据具体的需求分析来设计数据库,而不需要额外的了解用户界面层的设计情况和具体的业务逻辑关系。也就是说用户界面层,业务逻辑层,数据储存层三个层次彼此独立存在,互不干涉。【参考文献】[1]邱彦林著.Flex第一步——基于ActionScript3.0的Flex应用开发[M].清华大学出版社2007.12[2]姜天格编著.Flex3企业级Web应用系统设计与实现[M].机械工业出版社2008.12[3]胡洁编著.Flex完全自学手册[M].机械工业出版社2008.10[4]PeteBrown.Silverlight/.NETvsFlash/Flex(ornot)andMySilverlightWishlist[N].http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2008/08/17/Silverlight_2F002E00_NET-vs-Flash_2F00_Flex-_2800_or-not_2900_-and-My-Silverlight-Wishlist.aspx[5]吕晓鹏编著.精通Flex——基于ActionScript实现[M].松岗出版社2008.10[6]吕辉著.Flash/FlexActionScript3.0互动式开发详解:语法基础、典型应用、视频网站实战[M].电子工业出版社2008.10[7]ShashankTiwari,EladElrom著.AdvancEDFlex3[M].FriendsofEd出版社2008.10[8][美]特托拉,巴伯;译者:郝刚,袁永刚.(简体)AdobeFlex高级程序设计(ProfessionalAdobeFlex2)[M].人民邮电出版社2008.10[9]何晓霞著.(简体)PHP+MySQL网站开发技术与典型案例导航[M].电子工业出版社2008.10[10]蔡国强著.Dreamveaver资料库网站设计forJSP&MySQL实战演练[M].知城出版社 2008.52.选题依据、主要研究内容、研究思路及方案。(1)依据:选择该课题的依据主要是自己对于这们新技术未来的发展趋势很看好,想尝试学习一下,再加上这个课题将我在大学期间所学的许多专业课程很好的结合在了一起,在指导老师的建议下以及基于自己的兴趣,我选择了这个课题作为我的毕业设计课题。(2)主要研究内容:FlexBuilder的使用,系统运行环境的构筑,每个模块的构建与设计以及实现FlexVoteSystem的主要功能:系统运行环境的构筑:·JDK的配置·Tomcat的配置·Eclipse的配置·JDK+Tomcat+Eclipse环境构筑的测试·MySQL的配置·JSP带数据库的测试·FlexPlug-inForEclipse的配置·在Eclipse中测试Flex的编译和运行主要功能模块:·用户登陆模块·用户信息录入模块·用户投票模块·用户查询投票信息模块系统相关流程图:·三层结构原理图 ·用户登陆模块设计·用户信息录入模块设计 ·用户投票模块设计·用户查询投票信息模块设计 ·系统的结构设计图(3)研究思路及访方案:首先,本系统(FlexVote System)三层结构的流程:用户界面层向业务逻辑层发出请求后,业务逻辑层根据用户界面层发送过来的请求进行分类处理后,再发送到数据储存层。而业务逻辑层会把数据储存层返回的结果(数据)封装成用户界面层可以接受的形式,再反馈给用户界面层,最后由用户界面层表示出来。根据软件工程的思想,通过自己对相关文献,资料的查阅及向老师征询的意见完成该系统的需求设计。然后,通过上图书馆与上网查阅相关书籍,根据书上内容进行自学,再在老师的指导及已有资料的参考下完成该系统的概要设计跟详细设计。再次,依照完成的设计文档进行程序编码,同时发现问题更新问题。在功能模块都实现之后,对其进行测试。最后,对系统进行美化处理。3.工作进度及具体安排。2009.01.02~2009.01.05课题任务下达2009.01.05~2009.02.28有关资料查询、学习、前期工作准备2009.02.28~2009.03.17开题报告准备、英文资料翻译2009.03.17~2009.03.20开题报告答辩2009.03.20~2009.04.20系统设计2009.04.20~2009.05.10代码生成2009.05.10~2009.05.19系统测试、修改2009.05.20~2009.05.26毕业论文答辩准备及论文修改完成4.指导教师意见(对课题方案的可行性、深度、广度及工作量的意见)。指导教师: 年月日教研室意见教研室主任:年月日说明:开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,此报告应在指导师指导下,由学生填写,将作为毕业设计(论文)成绩考查的重要依据,经指导师审查后签署意见生效。 长沙学院毕业设计(论文)中期报告系(部)计算机科学与技术班级数据库5班学生姓名王熹指导教师周景课题名称:基于Flex的在线投票系统的分析与设计课题主要任务:本课题是采用Flex+JSP+MySQL架构的Flex版的投票系统,具有RIA的特性,具有更佳的用户体验性,并且可以直观的反映出投票结果,同时严格按照每个IP地址只能投票一次的限制来实施,这样避免了重复投票的可能性。本系统采用构架服务器端、数据库和客户端三层结构,要求学生能熟练掌握软件工程的方法,熟悉了解JSP、MySQL数据库及其熟练Flex的应用(MXML语言和ActionScript3.0)。要求学生完成如下功能:1.用户登陆模块2.用户信息录入模块3.用户投票模块4.用户查询投票信息模块1、简述开题以来所做的具体工作和取得的进展或成果(1)指导老师多次给我讲解课题设计的思路和技术要点,我已经掌握了课题设计的流程和构架。(2)需求设计阶段:对本次课题的需求做了详细的考虑,并且确定了每个功能详细需求,且对数据库进行设计且已经在数据库中建立了所需的表,确定表字段以及表联系。(3)工程已经建立了,且工程框架已经搭建了,接下来是逐步进行界面设计以及编码调试。2、下一步的主要研究任务,具体设想与安排现阶段是对系统需求进行界面设计以及编码调试,已经初步完成功能所需的编码阶段,并且在完善功能,并准备开始写毕业论文的初稿。 3、存在的具体问题(1)因为JAVA基础功底没打牢,编译代码比较慢,还需抓基础。(2)在数据库sql语句方面有点困难,还需认真学习.(3)感觉进度比较慢.4、指导教师对该生前期研究工作的评价指导教师签名:日期: 长沙学院2009届毕业设计(论文)指导教师评阅表系(部):计算机系学生姓名王熹学号2005021804班级05数库5专业计算机科学与技术指导教师姓名周景课题名称基于Flex的在线投票系统的分析与设计评语:(包括以下方面,①学习态度、工作量完成情况、材料的完整性和规范性;②检索和利用文献能力、计算机应用能力;③学术水平或设计水平、综合运用知识能力和创新能力;)选题与文献综述(20分)分值:创新性(15分)分值:基础理论和专门知识(35分)分值:作者写作、表达能力(30分)分值:合计分值:是否同意参加答辩:是□  否□指导教师签字:年月日说明:各项成绩的百分比由各系部自己确定,但应控制在给定标准的20%左右。 长沙学院2009届毕业设计(论文)评阅教师评阅表系(部):计算机系学生姓名王熹学号2005021804班级05数库5专业计算机科学与技术评阅教师姓名课题基于Flex的在线投票系统的分析与设计评语:(对论文学术评语。包括选题意义;文献利用能力;所用资料可靠性;创新成果及写作规范化和逻辑性)选题与文献综述(20分)分值:创新性(15分)分值:基础理论和专门知识(35分)分值:作者写作、表达能力(30分)分值:合计分值:是否同意参加答辩是□否□评阅人(签名):年月日说明:各项成绩的百分比由各系部自己确定,但应控制在给定标准的20%左右。 长沙学院毕业设计(论文)答辩评审表(理工文经管法外语类)学生姓名王熹学号2005021804班级05数库5答辩日期2009.6.6课题名称基于Flex的在线投票系统的分析与设计指导教师周景地点新教学楼B2403答辩小组成员姓名职务(职称)姓名职务(职称)姓名职务(职称) 答辩中提出的主要问题及回答的简要情况记录:会议主持人:记录人:年月日长沙学院毕业设计(论文)答辩评审表答辩成绩评定评定内容分值评   定教师1教师2教师3教师4教师5教师6教师7报告内容思路清新:语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,论文(设计)有应用价值。40 报告过程准备工作充分,具备必要的报告影象资料;报告在规定的时间内作完报告。10答辩回答问题有理论依据,基本概念清楚。主要问题回答简明准确50合   计100答辩平均得分:答辩小组长签名:答辩评分分值:答辩成绩:A=答辩评分×35%=指导教师评分分值:指导教师评定成绩:B=指导教师评分×50%=评阅教师评分分值:评阅教师评定成绩:C=评阅教师评分×15%=最终评定成绩分数:             等级:                      教学系主任签名:                                年 月 日学校意见                负责人(签名):                                年 月 日说明:最终评定成绩=A+B+C,三个成绩的百分比由各系部自己确定,但应控制在给定标准的20%左右。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭