基于ASP.NET控件的网络问卷自动生成系统的设计与实现.doc_第1页
基于ASP.NET控件的网络问卷自动生成系统的设计与实现.doc_第2页
基于ASP.NET控件的网络问卷自动生成系统的设计与实现.doc_第3页
基于ASP.NET控件的网络问卷自动生成系统的设计与实现.doc_第4页
基于ASP.NET控件的网络问卷自动生成系统的设计与实现.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于ASPNET控件的网络问卷自动生成系统的设计与实现第25卷第11期2008年11月计算机应用与软件ComputerApplicationsandSoftwareVo1.25No.11Nov.2008基于ASP.NET控件的网络问卷自动生成系统的设计与实现易锋徐殿军(渤海大学公共计算机教研部辽宁锦州121000)摘要网络问卷调查是高校教学管理和改革信息化的一个重要途径.多数网络问卷调查系统的后台是数据库,应用和维护工作繁琐.在ASP.NET2.0的构架基础上,提出一种基于XML和组件技术的通用inzhou121000,Liaoning,China)AbstractWebsurveyisausefulwayforITinhighschooleducationmanagementandreform.ItstedioustodeployandmaintainWebsurveysystembecausethebackgroundsofmostsystemsarecomplexdatabase.BaseontheFrameworkofASP.NET2.0,XMLandcomponenttechnology,ageneralautogenerationsystemforWebsurveyisdesigned.ThesimpleandgeneralsystemisusedinBohaiUniversityforfreshmencomputercapabilitysurvey,andsatisfiedeffecthasbeenachieved.KeywordsWebsurveyASP.NETXMLWebservercontrol0引言随着网络技术的迅猛发展和信息化的逐步深入,教学管理信息系统在高校的应用Ft趋广泛,与之相辅相成的调查方法也发生了重大变革.网络调查的及时性,高效性,可靠性,便捷性,低成本和可存储性为教学管理提供了一种新的方法.当前的网络调查系统后台大多是比较复杂的数据库系统,问卷的输入,生成和结果显示均需要专业人员完成.因此如何结合高校应用的特点开发一套适合大学教学管理的简单,通用的网络调查系统是很有研究意义的.MicrosoftASP.NET是微软公司开发的一种建立动态Web应用程序的免费技术,可以被用来开发各种类型的网站.ASP.NET控件是在服务器上运行的程序逻辑控件,每个控件含有特定的属性,方法和事件.本文以XML为后台数据库,通过创建和继承ASP.NET2.0的控件,建立了基于Web浏览器访问,分布式应用,可伸缩,易维护的通用网络问卷调查系统.1系统设计与实现1.1系统体系结构设计B/S(Browser/Server,浏览器/服务器)模式又称B/S结构,用户工作界面是通过IE浏览器来实现的.B/S模式把传统c/S模式中的服务器部分分解为一个应用服务器(Web服务器)和一个或多个数据库,本文即采用此B/S/D三层体系结构.第一层:客户端浏览器,可以是任意一台Internet或LAN的微机,被调查者可以通过浏览器接受在线调查.这样的结构省去了客户端的许多维护工作,增强了系统的可靠性.第二层:Web服务器,本文工作选用的是IIS5.1,以完成网页的发布工作.ASP.NET2.0能很好地和IIS配合工作,这减轻了开发者在网站发布,调试阶段所花费的巨大精力.第三层:后台数据库.高校教学管理系统中问卷调查一般短小,时效短,所以其数据量小,用户少,对数据访问的速度要求不高.依据这些特点,本文采用XML作为存储数据的方式.XML是一种以简单文本格式存储数据的方式,当前已经成为数据传输和存储的标准.XML可以让问卷调查者方便使用文本编辑器来编写在线调查问题,而不是借助复杂,庞大的数据库管理系统,或者是交由专业的计算机人员完成.本文将问卷调查和最终结果分别放在两个XML文档中,XML作为电子数据交换的统一格式,可以很方便地与其它程序共享结果数据,也可以很方便地导入到其它的关系型数据库中:1.2XML文档元素设计根据高校教学管理系统和网上调查问题的特点,本文设计了问卷调查的XML文档结构,如图1所示.WebSurvey是问卷调查XML文档根元素;Group元素控制调查问卷产生的页面数:一个调查问卷可以由一个或多个网页完成.Separator元素允许用户在定义问卷调查页面时,使用HTML已有的元素.Question是问卷调查XML文档中最重要的元素,允许调查者将需要调查的问题放置其中.本文设计了四种类型的调查问题:收稿日期:20070514.易锋,助教,主研领域:数据库应用,Web控件开发,Linux应用等.第11期易锋等:基于ASP.NET控件的网络问卷自动生成系统的设计与实现185简答,单选,多选和问答,作为Question的属性.Statement是Question元素一个必需的子元素,表示调查问题的题干.Responses元素表示单选或多选类型问题中的可供选择的选项集,其子元素Response表示选项集中的一个选项.图1XML文档结构结果XML文档中,answers是结果文档的根元素,子元素AnswerSet元素对应多个页面问题的结果集,Answer元素表示每个调查问题的答案.2关键模块的设计思路及实现2.1关键模块的设计ASP.NET2.0为网页开发者提供了大量通用,可继续开发的服务器控件.控件Panel可以包含其他控件,可以用来组合成控件集.通过读取问卷调查XML文档,根据Question的属性,调查问题可以用相应的ASP.NET2.0服务器控件,显示在网页上.比如:单选类型的问题可以转换成RadioButton控件的形式,在网页上显示.这些控件统一被加入到Panel控件对象中,由Panel控件对象统一管理,并在网页进行显示.用户在完成调查后,结果会存人到结果XML文档中,可以根据调查者的需要,以多种样式显示在网页上.其具体过程如图2所示.图2系统实现过程本文设计了WebSurvey类,处理问卷页面的生成;设计了SurveyResuh类,完成调查结果的网页显示.2.2WebSurvey类的设计WebSurvey类主要用于处理由问卷调查XML文档到aspx网页转换工作.其工作原理是根据XPath从问卷XML文档中读取相应问题的数据,生成对应的控件,添加到网页上的Panel控件中.问卷调查XML文档中的问题由Group元素以及其子元素来存储,如以下代码所示:<Questionid=PrimarySchool”type=“mcss”required=true><Statement><b>你在小学是否学习过计算机基础课程:</b></Statement><Responses><Response>是</Response><Response>否</Response></Responses></Question>Question为单个问题存储的根元素,具有id,type,required三个基本属性.其中id表示该问题在本次问卷调查问题集中的唯一标识;type表示问题的类型;required表示该问题是否为被调查者必须回答的问题.对于单选或多选类型问题,layout属性表示单选或多选问题的答案在网页上问题呈现方式横向歹U或纵向j列.在WebSurvey类中,本文利用CreateWebSurveyControl方法,将XML文档内容转换为控件.其部分代码如下:privateControlCreateWebSurveyControl(XmlNodenode)switch(一node.LocalName)/读取XML文档节点case”Question”:/如果节点名称为Question/读取Question的属性值stringtext2=一node.Attributes“id”.Value;switch(text3)case”mcss”:/问题的类型/通过获取参数构建相应控件retumnewMcms();1该方法首先读取XML文档中节点名称,遇到Question,则读取其属性和内容,并依据属性type的值创建控件.本文依据前面列举的四种类型问题,设计了四种类型问题控件生成类,分别为简答控件类ShortAnswer();单选控件类Mcss();多选控件类Mcms();问答控件类Essay().以下为单选类型问题控件类的部分代码:publicMcss()this.mradioButtonList=newradioButtonList();this.mlistContml=null;this.mlistControl=this.m:_radioButtonListthis.Controls.Add(this.mlistContro1);this.Controls.Add(newLiteralControl(“</p>”);this.Controls.Add(this.mlistContro1)负责将单选问题加入到对应的radioButton和radioButtonList控件中去.在页面中引用控件,方法如下:<asp:Panelid=“pnlSurvey”Visible=“false”runat=“server”/>通过pane1.Controls.Add方法将上面的从XML文档读取的问题转换成的控件显示在页面中名为pnlSurvey的控件中.(下转第222页)222计算机应用与软件2008卑时插入位置为:顶点,首先插入N1,再插入N2,此时mboundary成员顺序为:N2N1,将和P1不位于NlN2同侧的顶点删除,最后mboundary成员顺序为:N2N1,修复过程:本cell是无界的,不需要修复.b)N1N2是newCell的始边,即P2位于N1的左边.如图5(c),这时插入位置为,首先插入N2,然后插入Nl(与上面那种情况相反),最后mboundary成员顺序为:NlN2,将和P1位于N1N2非同侧的顶点剔除,最后111一boundary成员顺序为:N1N2,同样是无界,不需修复.这里需要考虑特殊的情况就是:当交点位于顶点处,则不需要新生成顶点,且不需要重新插入.此外还要考虑的另外一个问题,由于每次操作都会有新生成的veex和要删除掉的veex,这里新生成的veex都是运行时分配内存的,当把它从Illboundary删除时,要释放其内存,这里采用STL中的set容器(内部元素唯一,可防止二次free操作)收集需要删除的veex等到本次插入结束之后,用free函数释放该容器中的每个元素.2.3.4判断本次插入是否结束分两种情况:(1)若newCell为无界,则判断两条无界边是否找到,若只有一条无界说明尚未结束,若有两条无界边则结束.(2)若newCell为有界,则判断本次待插入的点是否跟mboudary的第一个相同.若相同,则newCell构造完毕,本次插入完成,否则继续.2.3.5退化情况主要会出现以下几种:(I)待插入点已经存在,处理办法:跳过忽略此次插入.(2)同一位置出现两个交点,基于本文对线段的定义,这种情况计算过程中不会出现.(3)点或多点共圆,这主要会影响算法第四步中查找下一个要处理的cell,因为此时两个集合中相同的site可能会大于两个,这时按照顺针序取第一个即可.(4)浮点数圆整引起点线位置判断或者两点是否为同一点的错误,当出现这种情况时判断该点为坏点,忽略此次插入.本程序定义了一个最小精度PRICISION取值0.001,当两数的差值小于此值时视为相等(浮点数精度问题不在本文考虑范围之内,可参考相关文献3,4.3结束语本文用面向对象的思想对Voronoi图的主要几何元封装成C+类,并实现其构造算法,在此基础上着重向大家介绍了构造算法中的细节问题及其解决方法,其中许多细节算法都采用较为新颖的方法,比如对线段的重定义,有界和无界cell的数据构成方法,处理dealCell的链表插入剔出算法,循环查找待处理cell算法等,简化了许多计算过程,使程序效率更高.参考文献1MarkdeBerg,MarcvanKreveld.计算几何算法及应用M:.邓俊辉,译.北京:清华大学出版社,2005.2周培德.计算几何算法设计与分析M.第二版.北京:清华大学出版社,2005.3HoffmannCM.Theproblemsofaccuracyandrobustnessingeometriccomputation.IEEEComputer,1989,22(3):3141.4StefanSchirra.Robustnessandprecisionissuesingeometriceomputa-tion.HandbookofComputationalGeometry,chapter14,ElsevierSciencePublishersB.V.North-Holland,Amsterdam,2000:597632.(上接第185页)图3是XML文档和对应自动生成的网页示意图.Qurimllrlav*pe1UptIym渤海大学laI|nm.慧:誓电苗十凡电齄吗,m)新生计算机知识情况调查帅cp0一Page30f对自己当葡计算帆能力件德有lp你有窜窿电蔚或个人电膻吗,n<Qu”t帅JonLsnpuF咖nn,TO育O嚣有slayout=忡上大学之前.你使用电鞋的赣率是b上戈掌之前.静艟用电脑辨舞事矗:抽)t0几&女奠R0RpoI1s?凡事投有接触RIO很少接.只是高寺后才接蛀cRp0咕?*使用(一属戚敷周用一趺)eO皋使用f一周践敦周用一次)卷饕t茁几乎硼咖.经常挺用n乎每天都用)1】0谭蠢问题文档asp炯页图3系统运行结果示意图2.3SurveyResult类的设计SurveyResuh类用于问卷结果的图形统计显示.在网页中可以添加如下代码:<YfWebSurvey:SurveyResuhid=“Example”Stylesheet=“stylesheet.xsl”/样式表/查询节点路径XQueryl=/WebSurvey/Group/Question”XQuery2=“/Answers/AnswerSet/Answer”runat=server/>SurveyResuh类与WebSurvey类一样从WebControls继承.其工作原理就是通过ASP.NET提供的XslCompiledTransform类的Transfo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论