已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑 重 声 明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。本人签名: 日期: 毕业设计(论文)任务书学生姓名专业班级指导教师工作单位题 目电子投票系统的设计与开发1. 设计(论文)主要内容在如下的开发环境:windows xp、 .net开发环境(visual studio 2008)及数据库系统工具(sql server 2005)上开发一个电子投票系统管理系统。其主要功能包括:投票人主要功能需求:投票人的投票方式 投票人了解候选人的方式。 管理人员的主要功能初始化候选人信息:浏览候选人简介:修改候选人简介:查询投票情况:清除投票信息:安全管理:2. 要求完成的主要任务及其时间安排要求完成的主要任务:1. 查阅资料,写出不低于10篇参考文献(其中至少有2篇外文文献)的参考文献资料;2. 进行方案论证;写出开题报告;3. 进行总体设计和详细设计;完成软、硬件设计4. 完成系统的联调;按系统设计要求,能独立运行演示程序5. 撰写论文并准备答辩;要求论文语言通顺,整篇论文不少于10000汉字;时间安排:1、3月2日前(第二周周三)下设计任务书 。2、3月18日前(第四周末)完成开题报告并提交开题报告给指导教师审阅、批复。3、3月7日5月20日(第3至13周)为系统设计与撰写论文时间。其间:(1)毕业设计的期中检查定第89周;(2)文献摘要的提交时间在4月8日(第7周)前;(3)5月16日20日(第13周)指导教师初阅论文,学生修改论文;4、5月23日5月28日(第14周)为答辩小组内交换评阅论文,学生进行答辩准备。5、5月30日6月1日(第15周)毕业答辩 。3. 参考文献1 蒲鹏.asp网络编程基础m. 北京:清华大学出版社,2009.2 施萍.软件工程及软件开发应用m. 北京:清华大学出版社,2009.3 曹红根.数据库应用系统开发实例m. 北京:清华大学出版社,2009. 指导教师签名: 教研室主任签名:毕业设计(论文)开题报告题 目电子投票系统的设计与开发1. 目的及意义(含国内外的研究现状分析):1.1. 设计(论文)的目的:在现实生活中,“投票”是经常遇到的一项活动。随着科学的不断进步发展,各种各样的“投票”在实现方式上已经多样化,电子投票作为替代传统投票方式已经被广泛的应用在日常生活中。传统“投票”所具备的功能几乎都在互联网上进行电子化的高效动作实现。因而其应用和发展也越来越受到人们的重视和广泛使用。目前流行的电子投票系统如何设计出更加安全、可靠的电子投票系统,已是目前迫切需要解决和关注的问题。本系统就是在目前流行的电子投票系统上对使用范围、安全设置、系统灵活性等用户关注的问题上进行了较大改进,从而满足更多、更大使用范围,更安全,更方便的网上应用系统。1.2. 设计(论文)的意义是(理论或实际):随着改革开放和中国民主化的进程逐步发展和深入,电子投票系统已成为民主选举过程中必不可少的选举方法之一。通过建立电子投票系统,利用网络通信的优势同现有民主选举,就可以给投票者和组织者带来很大的便利之处,从而方便广大人民群众,为中国的民主化进程发展带来新的生机。本系统的主要意义:该系统通过网络,采用投票终端,解决了传统投票时的空间、时间和方式上限制,以及投票前繁琐的准备工作。本电子投票系统可以应用在人员选举、人员表决、事项表决、民主评议范围;既可在无论大、小型的单个会场里进行投票,也可用在地域分散地多个会场互联投票。整个投票过程是在信息化的手段下完现实时计票与统计,做到高速度、高安全度、高保密度、高可靠度。2. 基本内容和技术方案:设计(论文)的任务是: 投票人的投票方式:输入要选举的候选人的编号,即可完成投票。 投票人了解候选人的方式:浏览候选人列表,输入序号查询候选人介绍。管理人员的主要功能需求: 初始化候选人信息:在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。这个功能由管理员完成。管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。 浏览候选人简介:为随时掌握候选人的信息,以便进行修改,管理员有权浏览候选人简介。浏览的顺序按照候选人序号即可。 修改候选人简介:当系统更新或候选人信息有所变化时,输入候选人序号,对信息进行修改。 查询投票情况:管理员有权查询当前各个候选人得票情况,以便得出最终被选中的候选人信息。 清除投票信息:当投票过程结束后,管理员选择清除投票信息既可清除系统中所有候选人的票数,使之归零。 安全管理:管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、查看投票、投票设计。单选投票:用户只能从多个选项中选取一项进行投票。多选投票:用户可以从多个选项中选取多项进行投票。查看投票:提供用户查看当前投票情况,投票结果以条形图显示。投票设计:管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。2.1. 系统模块结构图依据需求分析结果,电子投票平台可分为6个模块:功能选择、身份验证、投票人管理、候选人管理、投票区和得票区结果管理。系统模块结构如下图所示:系统功能模块图system function modules2.2. 设计(论文)需要重点解决的问题是:本系统重点解决的内容是:1如何把投票人投票、管理员管理有机集成在一起,为用户搭建了一个信息共享的平台,以帮助投票者进行公证、准确的投票,从而全面提升投票系统更快速、更可靠、更安全、更保密。2采用结构化的开发流程来开发电子投票系统,具体设计流程或步骤;3怎样实现对数据的查询、插入、修改和删除的操作;4怎样实现简单的页面信息合法性控制;2.3. 设计(论文)主要用到的技术方案:1. 本电子投票平台的设计是一种远程电子投票系统,该系统包括主会场、分会场、计票中心和它们之间互联的网络,每个会场包括投票人、管理人员两个角色的功能需求.其中投票人的主要功能需求包括: 投票人的投票方式投票人了解候选人的方式选择;管理人员的主要功能需求包括:初始化候选人信息浏览或修改候选人简介查询投票情况清除投票信息安全管理。管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选票、查看投票、投票设计。2具体设计流程如下:电子投票系统需求分析:主要从网上书店的业务活动和客户关系网进行分析,明确在电子投票的业务环境中此系统应该做什么。电子投票系统设计:包括系统的功能设计和数据库设计,主要解决系统怎样做的问题,使用sql server2005建立数据库,在里面存放有关投票的相关信息;在电子投票系统软中,针对现实中所遇到的问题提出以下功能设计方案:投票功能、管理员功能等。电子投票系统软件编写:采用asp.net语言编写用户界面,并同数据库连接起来实现更为完整的软件功能。电子投票系统软件测试:编写各种测试用例测试电子投票系统软件,发现其中的各种错误并及时加以改正,加强该软件的实用性。3asp作为动态网站开发的利器,其主要特性就体现在可实现对数据库的访问,利用connection对象建立数据源和asp程序之间的连接,建立到数据源的连接后,可以在此基础上用recordset对象或command对象,应用sql语句实现数据的查询、插入、修改和删除的操作。4利用javascript来实现用户合法性的输入,这种方法是在客户端执行的,没有向服务器发送请求,从而减少了服务器的负担,易于用户的修改,因此这种方法简单高效,可以完成一般的页面合法性控制。3. 进度安排:.18 熟悉课题内容,开题论证 完成毕业论文开题报告;11.3.1811.3.20 查阅资料,选择设计方案,熟悉开发环境;确定开发方案;11.3.1811.3.24 完成设计详细程序流程图以及模块的功能 写好阶段总结;11.3.2511.3.31 进行系统设计(包括系统的软、硬件、及数据库等);.30 系统实现(包括编制代码、建立数据库系统及硬件组建),接受期中检查;11.5511.5.25 进一步的测试,整理资料 完成毕业论文;11.5.2511.6.5 整理材料,准备答辩,装订论文。4. 参考文献:1 马骏,邓居英,杨湖.c#程序设计及应用教程m. 北京:人民邮电出版社,2010.2 樊月华.web技术应用基础m. 北京:清华大学出版社,2009.3 matthew macdonald,mario szpuszta.asp.net 3.5 高级程序设计m. 博思工作室,译.第2版.北京:人名邮电出版社,2008.4 吴其庆.jsp动态网站设计教程m. 北京:冶金工业出版社,2005.5 庞娅娟,房大伟,吕双.asp.net从入门到精通(第2版)m. 北京:清华大学出版社,2010.6 .马跃廷.顾颜玲编著asp.net从入门到精通清华大学出版社m. .7 陶国荣.asp.net数据库与网络开发从入门到精通m. 2.北京:人民邮电出版社,2008.8 (日)小泉 修.web技术http到服务器端m. 北京:科学出版社,2004-6.9 李维.面向对象开发实践之路c#m. 北京:电子工业出版社,2005.教师指导意见: 指导教师签名: 日期: 年 月 日目 录摘 要1abstract21 引言31.1 本课题的研究意义31.2 本论文的目的和内容31.3 系统的主要特点31.4 作者的创新点32 设计目标及要解决关键问题32.1 本课题要达到的设计目标32.2 重点解决的内容和解决方案43 系统架构与模型53.1 系统架构描述53.2 三层架构概念53.3 系统架构遵守的规则53.4 系统架构优缺点63.5 与mvc的区别63.6 编程模型63.6.1 web服务模型-b/s简介63.7 数据库设计74 系统具体实现84.1 系统的主要流程84.2 登录模块94.3 投票模块104.4 查看候选人所有信息模块124.5 删除、更新投票人信息页面134.6 添加投票人信息模块134.7 初始化(增加)候选人信息页面154.8 修改候选人信息模块164.9 浏览与删除候选人模块184.10 清空得票模块185 性能测试与分析185.1 测试环境与测试条件195.2 实例测试195.2.1 成功的实例测试195.2.2 失败的实例测试/漏洞215.3 性能分析226 结束语22总 结23参考文献24致 谢25摘 要论文“电子投票系统的设计与开发”是针对设计建立一个安全、通用、可靠的b/s投票网站,以适应大多数投票系统的开发过程而撰写的,系统采用visual studio 2008与microsoft sql server 2005结合的模式、应用及数据库技术开发设计了一套电子投票系统。论文对系统设计目的、意义、需要解决的关键问题以及所采用的.net技术的进行了简单介绍;对系统设计架构和模型、系统需求分析、模块划分及系统的实现过程进行了详细介绍;并对系统进行了性能分析。该系统满足了大多数传统投票功能要求的功能,达到了电子投票的高速度、高安全度、高保密度、高可靠度的特点。关键词:电子投票 安全 可靠 网上应用系统 电子化36abstractthesis the electronic voting system design and development is to design in establish a safety, gm, reliable b/s voting sites, in order to adapt to the development process of most voting system, the system adopts the written with studio visual 2008 microsoft sql server 2005 the mode, application with and database technology development designed a set of electronic voting system. papers on system design purpose, significance, needs to solve the key problems and adopted technology is simply introduced; for system design framework and model, system requirement analysis, module partition and system realization process; a detailed introduction and on the system performance analysis. this system to satisfy the most traditional vote the functional requirements function, achieve the electronic voting high speed, high safety, hi-fi density, high reliability characteristic.overall this system realizes the electronic voting high speed, high safety, hi-fi density, high reliability.key words:electronic voting safe and reliable online application system electronic1 引言1.1 本课题的研究意义在现实生活中,“投票”是经常遇到的一项活动。随着科学的不断进步发展,各种各样的“投票”在实现方式上已经多样化,电子投票作为替代传统投票方式已经被广泛的应用在日常生活中。传统“投票”所具备的功能几乎都在互联网上进行电子化的高效动作实现。目前流行的电子投票系统如何设计出更加安全、可靠的电子投票系统,已是目前迫切需要解决和关注的问题。本系统就是在目前流行的电子投票系统上对使用范围、安全设置、系统灵活性等用户关注的问题上进行了较大改进,从而满足更多、更大使用范围,更安全,更方便的网上应用系统。1.2 本论文的目的和内容本论文的内容是描述如何建立一个电子投票网站系统,利用网络通信的优势同现有民主选举,就可以给投票者和组织者带来很大的便利之处,从而方便广大人民群众,为中国的民主化进程发展带来新的生机。1.3 系统的主要特点该系统通过网络,采用投票终端,解决了传统投票时的空间、时间和方式上限制,以及投票前繁琐的准备工作。本电子投票系统可以应用在人员选举、人员表决、事项表决、民主评议范围;既可在无论大、小型的单个会场里进行投票,也可用在地域分散地的多个会场互联投票。整个投票过程是在信息化的手段下自动完现实时计票与统计,做到高速度、高安全度、高保密度、高可靠度。1.4 作者的创新点本系统的创新之处首先是系统功能设计的合理性和完整性,系统分析了大多数投票所采取的方式,综合取舍,最终做出此通用系统,其次本系统采用了微软最新推出的asp.net技术,使用更方便,效率更佳。2 设计目标及要解决关键问题2.1 本课题要达到的设计目标本电子投票平台的设计是一种远程电子投票系统,该系统包括主会场、分会场、计票中心和它们之间互联的网络,每个会场包括投票人、管理人员两个角色的功能需求.其中投票人的主要功能包括:1) 投票人的投票方式选择和投票2) 投票人了解候选人的方式选择;管理人员的主要功能包括:1) 初始化候选人信息2) 编辑、浏览或修改候选人简介3) 查询投票情况4) 清除投票信息5) 安全管理。管理员可以对投票人信息进行管理,投票人只有用管理员规定已登记的用户名和密码才能进入系统进行投票。管理员还可以更改编辑用户名、密码和权限的信息,并对投票人信息进行增加、删除、查询、排序和初始化等操作。2.2 重点解决的内容和解决方案1、业务的解决:因为作为一个电子投票系统,它必须要求投票人员输入数据,然后反馈给服务器,所有想看到数据的人也必须得请求服务器。所以我在提供投票人员自己进入投票页面,而数据的流出则是仍然以页面形式发给想要查看数据的人员,从而解决了投票数据的输入输出问题。2、权限分配及管理:因为将有投票人员和管理人员的加入,从而同时增加了一个用户的进入,这是相当于有两个用户的进入这个系统。为了让这两种人在同一个系统,必须对其权限进行管理,从而必须对投票人员、管理员的权限进行管理,从而达到用户不至于越权。权限完全由管理员来控制。3、数据库:投票涉及的三个对象,其数据分成两张表:存放投票人员、管理人员登录系统的账号、和密码及角色的user表,以及存放候选人信息的候选人表。4、开发平台:选择visual studio 2008它为我们提供了一个平台,你可以在上面用c、c+、c#、vc+、vb等语言开发。它有良好系统优化处理机制,使得系统运行更快,再加上它的优秀因为现在99%的操作系统是windows,所以选择了它。5、开发语言使用:c#是一个具有结合c、c+之优点,摒弃它们的缺点指针,从而避免了解决内存溢出的弊病。6、数据库工具选择:本系统采用sql server 2005数据库系统。因为投票对数据库的要求比较高,他只需要基本的海量查找,不需要进行决策分析,还要为以后的web开发提供接口。因为access只是一个微型数据库,虽然它对硬件要求不高,但它适合于少量数据遍历及查找,最重要的是它只能满足主机既是服务器又是客户端;而oracle是一个重量性数据库,它满足所有条件,但它从数据库维护成本及购买成本上考虑,都远远超过server2000/2005数据库的成本。经过以上比较,所以本系统数据库系统采用sql server 2005.7、数据库的访问方式:数据库的访问方式有odbc、oldb、ado、ado.net等。但是因为在投票中里需要遍历大量,每次需要读取的不是一条记录,而是一个数据集合,因为在ado.net中提供了五大对象command、adapter、dataset、connection、dataread,它提供了单个记录和数据集合两种数据类型,再加上它连接简单,所需要的外设资源比较少,它为开发者提供了许多便利之处。8、模块化:因为在开发的过程中,会有许多方法是相同的,将方法进行提取,从而建立一个个类,并将方法定义为静态,从而减少了类的定义,就可直接使用该方法,这样大大减少了代码的维护和在编写代码时的工作量和在开发时当发现逻辑存在问题时一下子就知道哪里出了问题,直入问题要点之处。3 系统架构与模型3.1 系统架构描述本系统采用asp.net的典型三层架构,即表现层(ui)、业务逻辑层(bll)、数据访问层(dal)。1区分层次的目的即为了“高内聚,低耦合”的思想。所以只要把本系统的三层架构描述清楚,系统的架构就一目了然,系统架构如图3.1所示。图3.1 三层之间的关系3.2 三层架构概念在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:1) 表现层(ui):通俗讲就是展现给用户的界面,即用户在使用一个系统时他的所见所得。本系统的展示界面就是ui层。2) 业务逻辑层(bll):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。本系统建立了一个bll类库,实现此层。3) 数据访问层(dal):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。本系统建立了一个dal类库,实现此层。3.3 系统架构遵守的规则1) 最关键的, ui层只能作为一个外壳, 2不能包含任何bizlogic的处理过程。2) 设计时从bll出发, 而不是ui出发. bll层在api上应该实现所有bizlogic, 以面向对象的方式。3) 不管数据层是一个简单的sqlhelper也好, 还是带有mapping过的classes也好, 应该在一定的抽象程度上做到系统无关。4) 在设计的时候还做这样的考虑, 更远的, 还得考虑多台服务器通过负载均衡作集群。3.4 系统架构优缺点三层架构的优点1) 开发人员可以只关注整个结构中的其中某一层。2) 可以很容易的用新的实现来替换原有层次的实现。3) 可以降低层与层之间的依赖。4) 有利于标准化。5) 利于各层逻辑的复用。三层架构的缺点1) 降低了系统的性能。2) 有时会导致级联的修改。与mvc的区别mvc(模型model-视图view-控制器controller)是一种设计模式,我们可以用它来创建在域对象和ui表示层对象之间的区分。同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。3在三层架构中没有定义controller的概念。这是我认为最不同的地方。而mvc也没有把业务的逻辑访问看成两个层,这是采用三层架构或mvc搭建程序最主要的区别。当然了。在三层中也提到了model,但是三层架构中model的概念与mvc中model的概念是不一样的,“三层”中典型的model层是以实体类构成的,而mvc里,则是由业务逻辑与访问数据组成的。3.5 编程模型3.5.1 web服务模型-b/s简介本系统模型采用目前流行的b/s系统模型, b/s(browser/server)结构即浏览器和服务器结构。4它是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(tco)。以目前的技术看,局域网建立b/s结构的网络,并通过internet/intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如lan, wan, internet/intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在java这样的跨平台语言出现之后,b/s架构管理软件更是方便、速度快、效果优。6随着internet和www的流行,以往的主机/终端和c/s都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了b/s型模式,5即浏览器/服务器结构。b/s模式最大特点是:用户可以通过www浏览器去访问internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的web服务器产生的,而每一个web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了www浏览器,一般无须任何用户程序,只需从web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由web服务器交给数据库服务器来解释执行,并返回给web服务器,web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的intranet。3.6 数据库设计本系统的数据库的设计比较简单,就设计了2张表:用户表,候选人表。1.用户表鉴于本系统使用者只有投票人员和管理人员,可以只建立一张用户表,用来在用户登录时对其进行用户名、密码的验证,以及判别身份角色选择进入的对应页面。这张表结构里面的说明如表3-1所示:表3-1 用户表字段名数据类型代表说明允许为空否idint表主键表的一条记录标志否usernamevarchar(20)用户名用户登录账号是userageint用户年龄大于20小于50是usersexvarchar(2)用户性别男或女是userpasswdvarchar(20)密码用户登录的密码是userrolevarchar(20)角色登录时判断角色依据是在数据库中建立表的语句如下:-创建用户表create table t_user(-主键id int identity(1001,1) primary key,-用户名username varchar(20),-年龄userage int check(userage20 and userage20 and candidateage 50),-得票数,默认票candidatevotes int ,-图片srcimage varchar(30),-介绍背景的文本context varchar(2000)4 系统具体实现4.1 系统的主要流程系统层次图如图4.1所示图4.1 系统的层次图4.2 登录模块登录模块如图4.2所示:图4.2 登录界面普通的登录很简单,就一用户名,密码,验证即可,本模块也是如此,在用户输入用户名和密码后,首先验证此用户存在,接着如果存在验证对应的密码是否正确,密码正确后,然后根据其角色选择其登录之后的页面,登录程序流程如图4.3所示图4.3 登录流程图4.3 投票模块投票的用户上线后就会转到对应的投票页面,这个页面首先以列表的形式显示所有候选人的基本信息:编号,姓名,性别,年龄,得票数,用户可以直接输入其编号投票,也可以选中某个候选人,再点投票按钮,不显示头像,背景介绍等信息,每条候选人信息之后加一个连接:“显示更多信息”,用户一点击,就直接进入一个页面,显示此候选人的所有信息。投票模块如图4.4所示:4.4 投票页面这里用到了一个服务器端的控件repeater,页面加载的时候就进行与查询的数据绑定操作,即先从数据库中得到查询的数据table,类型为datatable型的,设置其datasource属性设置其此数据源,然后调用其databind()方法实现数据绑定。这一动作流程后台详细步骤是,一开始就绑定了数据,页面重新请求就会刷新数据。,大致流程是: “用户页面请求-服务器处理-服务器交给数据库服务器查询数据-数据库把数据返回给服务器-服务器形成html页面返回给客户端”这样一个c/s流程了。如上一个页面所示:每条记录后面有一个超链接,点“选择”,页面中的文本框就会出现对应的候选人的编号,投票人点击“投票”就会给投票人加上一票。这个流程如图4.5所示:图4.5 投票流程图此按钮对应的事件代码见附录。4.4 查看候选人所有信息模块在投票页面仍然有另一个链接“查看更多信息”,此链接为展示数据库中关于一个候选人的所有信息,展示页面如图4.6所示:图4.6 显示候选人所有信息页面此页面需要请求,如果没有要求投票人员手动输入以显示,所以专门用了一个文本框方便投票人员输入候选人编号,点“查询”按钮查询。此页面用到几个服务器端控件。投票人员在投票页面向服务器请求此页面,请求链接中带候选人编号,或者用户手动输入候选人编号,向服务器请求候选人信息。服务器会根据候选人编号向数据库发送请求,获得数据后形成候选人信息页面返回给客户端。执行代码:见附录以下的功能都是管理人员功能。4.5 删除、更新投票人信息页面这个页面其实主要实现了删除功能,当然也实现了查看投票人员的功能,修改则是在另一个页面做的,修改页面跟添加页面差不多,所以就不多讲了,此页面用到上面已使用过的控件repeater。使用方法仍然相同,首先从数据库获得数据,然后设置其数据源为此数据,然后绑定即可。不同的是在每条数据的后面加了两个超链接:删除、更新。删除:用户一点击,即删除此用户,页面即时刷新。更新:用户点击之后转到另一个修改页面,这个页面流程跟添加差不多,但是调用的访问数据库的方法不一样。获取的投票人员id的方式是通过url请求中包含的方式。此页面界面如图4.7所示:图4.7 删除与更新投票人员的页面此页面重点是两个连接,在服务器端采用了linkbutton控件,这样可以给其点击事件,管理员就可以跟服务器交互。执行代码: 见附录4.6 添加投票人信息模块此页面实现对投票用户的添加,页面比较简单,其实考虑到有很多用户投票,这样的方法添加还是慢了许多,对于小规模投票还可以,大规模、人数上万的投票需要让用投票人员自己注册账号吧,所以在用户投票界面做了一个投票人员注册的界面。添加投票人员界面如图4.8所示。图4.8 添加投票人员这个界面相当于注册,但是是由管理员进行操作注册的,后台程序首先判断有没有文本框为空,然后判断用户名是否存在,最后判断密码和确认密码是否一致,然后添加。程序的流程如图4.9所示:图4.9 添加投票人员页面流程图执行代码: 见附录4.7 初始化(增加)候选人信息页面这个页面看着比较复杂,其实就是传递的信息多一点而已,这在设计候选人的信息表就决定了的。候选人的信息有编号、姓名、性别、年龄、得票数、候选人简介。展示的页面直接用文本展示即可,由于考虑到修改和查询。所以将编号用户文本框显示。下面加两个按钮,实现上述功能。查看一位候选人页面如图4.10所示:图4.10 查看候选人页面此页面借助服务器端的控件,label标签,image控件,以及textbox控件。后台代码就是查询数据库,设置这些控件先什么内容了。程序流程过于简单就不详述了。4.8 修改候选人信息模块1、在上一个页面有“修改”按钮,所以管理员可以直接点击进入修改页面。当然也可以直接进入修改页面,让管理员手动输入候选人编号查询之后在修改。这个页面界面如图4.11所示:图4.11 修改候选人页面这个页面在管理员点击“修改”按钮时,首先获取候选人的信息,然后根据这些信息修改相关候选人。修改调用访问数据库的修改单个候选人的方法。值得一提的是程序中用到得上传图片功能:使用的是服务器端控件fileupload。通过这个控件就可获得管理员上传文件的所有信息,例如文件名、大小、类型等。当点击“上传”按钮时图片文件就会上传,并在一个标签里显示上传成功否。另一个标签里存放此图片的文件名,默认对用户不显示。2、 页面流程上传图片的流程如图4.12所示:图4.12 初始化候选人模块流程3.上传图片模块图4.13 上传文件流程图执行代码:见附录4.9 浏览与删除候选人模块浏览候选人信息,如法炮制,repeater控件的使用。删除候选人的关键在于获取获选人的编号,本系统设置了两种获取方法: 1.管理员直接手动输入编号,提交页面,点击删除按钮请求删除。2.直接点击删除链接,删除对应的候选人。界面如图4.13所示:图4.13浏览与删除候选人界面本页面的关键在于获取管理员选取的候选人编号,因为是页面,采用服务器端linkbutton控件做超链接,链接“删除”和“选择”,对应于此两个linkbutton有两个处理事件,在这两个处理事件中实现删除、选择的方法。基于事件处理的机制,所以直接在处理事件方法中。4.10 清空得票模块这个页面候选人员可以浏览按票数排名的所有候选人,最下面有一个清空投票按钮,用户清空所有投票。清空投票界面如图4.14所示:图4.14 候选人票数浏览、清空界面5 性能测试与分析5.1 测试环境与测试条件测试环境:8visual studio 2008 内部集成了一个小型的iis服务器,可用于测试asp.net程序。所以本系统所有的测试与实验就在ide内直接测试即可。测试条件:输入:点击页面执行数据的增、删、查、改操作,本系统的页面就是用户展示数据,真正的后台代码执行之后会修改数据库的数据。输出:修改之后用dbms(本系统采用sql server manager studio)查看数据的改变检验系统是否对给定的输入有确定的输出。5.2 实例测试纵观本系统,涉及到修改数据的地方是管理人员修改投票人的信息,以及修改候选人的信息。所以就以这两个模块做测试。5.2.1 成功的实例测试1.修改投票人的信息修改之前的数据库总user表的内容如图5.1所示图5.1修改之前的数据库中表t_ser内容投票人的信息很少,就一个用户名和密码:修改这个密码试试,原来的查看页面显示如图5.2所示:图5.2 投票人员账户信息点击“更新”,转页面修改:这里把密码改为111111,如图5.3所示:图5.3 修改密码点击修改按钮,修改成功之后,再查看投票人员页面观察到如图5.4所示:图5.4 修改成功修改之后数据库中的数据截图,如图5.5所示:图5.5 数据库中修改成功之后的数据2.修改候选人的信息候选人的信息较多,要修改的例如姓名/性别/年龄/头像等,修改之前的候选人表如图5.6所示图5.6 修改之前的数据库中candiate表截图页面初始值如下如图5.7所示:图 5.7 候选人初始信息这里修改性别为“女”,头像也换了,年龄修改为:21,修改成功之后,如图5.8所示。图5.8 修改之后的候选人信息数据库中的数据如图5.9所示:图5.9 修改后的数据库内容5.2.2 失败的实例测试/漏洞这里讲述两个个系统的bug,其实完全不用账号也可以使用本系统,如果攻击黑客直接申请修改之类的页面,例如changeinfo.aspx是本系统修改单个候选人信息的页面,攻击者只需要在浏览器地址栏输入:http:/localhost:1063/changeinfo.aspx,(也许端口不一样),就可以就进入系统肆意修改候选人等的信息。9另外还有登录时也有bug:xss漏洞,登录时用户名随意填,密码为“1 or true”,也可登录。改进第一个bug的方法:10在服务器端采用session技术,登录一个用户,就建立一个与之对应的session,用户请求页面时根据sesion判断用户是否登录,否,就提示用户登录。5.3 性能分析总的来说本系统在功能和安全性方面达到了预期的要求,实现了该系统通过网络,采用投票终端,解决了传统投票时的空间、时间和方式上限制,以及投票前繁琐的准备工作。本电子投票系统可以应用在人员选举、人员表决、事项表决、民主评议范围;既可在无论大、小型的单个会场里进行投票,也可用在地域分散地多个会场互联投票,整个投票过程是在信息化的手段下完现实时计票与统计,做到高速度、高安全度、高保密度、高可靠度。6 结束语总的来说,对于这次毕业设计收获良多,从一开始什么思路都没有,到后来一点点儿的查找asp.net技术资料,甚至从网上下载教学视屏观看,做到现在真的觉得做出这个系统不是一件很容易的事情。理论的东西找了一大堆,看的时候也感觉懂了些,直到真正动手做的时候却蒙了,想了很久才能解决一些细节问题。数据库方面的东西,完全从头学起,心想着以前上数据库的课学的东西真是肤浅,c#语言,上学期学了点,写起程序从语法的琢磨到后来写出很复杂的程序,这个过程提高了我的学习能力。对于小型系统/网站的设计有了进一步的认识。期间受到了同学和老师的很多帮助、指导,万分感谢!总 结2011年3月,我开始了我的毕业论文工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了几个月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。早在上学期末,在与导师的交流讨论中我的题目定了下来,是:电子投票系统设计。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。我将这一困难告诉了导师,在导师细心的指导下,终于使我对自己现在的工作方向和方法有了掌握。在搜集资料的过程中,我认真准备了一个笔记本。我在学校图书馆,大工图书馆搜集资料,还在网上查找各类相关资料,将这些宝贵的资料全部记在笔记本上,尽量使我的资料完整、精确、数量多,这有利于论文的撰写。然后我将收集到的资料仔细整理分类,及时拿给导师进行沟通。4月初,资料已经查找完毕了,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,困难一个一个解决掉,论文也慢慢成型。4月底,论文的文字叙述已经完成。5月开始进行相关图形的绘制工作和流程图的设计工作。为了画出自己满意的流程图,图表等,我仔细学习了.net技术。在设计流程图初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过导师的指导,我的设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案。方案中各种角色的添加、删除、修改等的设计是个比较头疼的问题,在反复推敲,对比的过程中,最终定下了采用visual studio 2008开发本系统。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜的,我觉得这一切都值了。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳理工大学《管理统计学》2021-2022学年第一学期期末试卷
- 沈阳理工大学《单片机原理与接口技术》2022-2023学年期末试卷
- 广东外语外贸大学 研究生 定向 合同
- 合同标签替换规范
- 共享单车管理
- 2024货船租赁合同
- 绿化养护工程XX管养项目投标文件
- 2024物流运输合同格式
- 2024广西无公害稻米种植收购合同范本
- 2024打印机复印机销售合同
- 余华《活着》读书分享课件ppt
- 五年级上册阅读理解20篇(附带答案解析)经典1
- GB/T 5095.7-1997电子设备用机电元件基本试验规程及测量方法第7部分:机械操作试验和密封性试验
- GB/T 37439-2019高速铁路预制后张法预应力混凝土简支梁
- GB/T 28035-2011软件系统验收规范
- GB/T 18723-2002印刷技术用黏性仪测定浆状油墨和连接料的黏性
- CAK6136V车床面板操作
- 矿井提升机技术参数介绍及设备选型过程
- 《经济学基础》试题库(附答案)
- 学前教育论文范文8000字(通用九篇)
- 小学数学北师大五年级上册数学好玩 图形中的规律-
评论
0/150
提交评论