电子投票系统的设计与开发.docx
- 文档编号:4751904
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:48
- 大小:543.04KB
电子投票系统的设计与开发.docx
《电子投票系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《电子投票系统的设计与开发.docx(48页珍藏版)》请在冰豆网上搜索。
电子投票系统的设计与开发
郑重声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
本人签名:
日期:
毕业设计(论文)任务书
学生姓名
专业班级
指导教师
工作单位
题目
电子投票系统的设计与开发
设计(论文)主要内容
在如下的开发环境:
WindowsXp、.NET开发环境(VisualStudio2008)及数据库系统工具(SQLServer2005)上开发一个电子投票系统管理系统。
其主要功能包括:
投票人主要功能需求:
①投票人的投票方式②投票人了解候选人的方式。
管理人员的主要功能①初始化候选人信息:
②浏览候选人简介:
③修改候选人简介:
④查询投票情况:
⑤清除投票信息:
⑥安全管理:
要求完成的主要任务及其时间安排
要求完成的主要任务:
1.查阅资料,写出不低于10篇参考文献(其中至少有2篇外文文献)的参考文献资料;
2.进行方案论证;写出开题报告;
3.进行总体设计和详细设计;完成软、硬件设计
4.完成系统的联调;按系统设计要求,能独立运行演示程序
5.撰写论文并准备答辩;要求论文语言通顺,整篇论文不少于10000汉字;
时间安排:
1、3月2日前(第二周周三)下设计任务书。
2、3月18日前(第四周末)完成开题报告并提交开题报告给指导教师审阅、批复。
3、3月7日~5月20日(第3至13周)为系统设计与撰写论文时间。
其间:
(1)毕业设计的期中检查定第8~9周;
(2)文献摘要的提交时间在4月8日(第7周)前;
(3)5月16日~20日(第13周)指导教师初阅论文,学生修改论文;
4、5月23日~5月28日(第14周)为答辩小组内交换评阅论文,学生进行答辩准备。
5、5月30日~6月1日(第15周)毕业答辩。
参考文献
[1]蒲鹏.Asp网络编程基础[M].北京:
清华大学出版社,2009.
[2]施萍.软件工程及软件开发应用[M].北京:
清华大学出版社,2009.
[3]曹红根.数据库应用系统开发实例[M].北京:
清华大学出版社,2009.
指导教师签名:
教研室主任签名:
毕业设计(论文)开题报告
题目
电子投票系统的设计与开发
目的及意义(含国内外的研究现状分析):
设计(论文)的目的:
在现实生活中,“投票”是经常遇到的一项活动。
随着科学的不断进步发展,各种各样的“投票”在实现方式上已经多样化,电子投票作为替代传统投票方式已经被广泛的应用在日常生活中。
传统“投票”所具备的功能几乎都在互联网上进行电子化的高效动作实现。
因而其应用和发展也越来越受到人们的重视和广泛使用。
目前流行的电子投票系统如何设计出更加安全、可靠的电子投票系统,已是目前迫切需要解决和关注的问题。
本系统就是在目前流行的电子投票系统上对使用范围、安全设置、系统灵活性等用户关注的问题上进行了较大改进,从而满足更多、更大使用范围,更安全,更方便的网上应用系统。
设计(论文)的意义是(理论或实际):
随着改革开放和中国民主化的进程逐步发展和深入,电子投票系统已成为民主选举过程中必不可少的选举方法之一。
通过建立电子投票系统,利用网络通信的优势同现有民主选举,就可以给投票者和组织者带来很大的便利之处,从而方便广大人民群众,为中国的民主化进程发展带来新的生机。
本系统的主要意义:
①该系统通过网络,采用投票终端,解决了传统投票时的空间、时间和方式上限制,以及投票前繁琐的准备工作。
②本电子投票系统可以应用在人员选举、人员表决、事项表决、民主评议范围;既可在无论大、小型的单个会场里进行投票,也可用在地域分散地多个会场互联投票。
③整个投票过程是在信息化的手段下完现实时计票与统计,做到高速度、高安全度、高保密度、高可靠度。
基本内容和技术方案:
设计(论文)的任务是:
①投票人的投票方式:
输入要选举的候选人的编号,即可完成投票。
②投票人了解候选人的方式:
浏览候选人列表,输入序号查询候选人介绍。
管理人员的主要功能需求:
①初始化候选人信息:
在系统投入使用前需要先将需要投票选举的候选人信息录入系统中,以便投票和查看。
这个功能由管理员完成。
管理员的初始化工作就是将候选人的序号、姓名和简介录入系统。
②浏览候选人简介:
为随时掌握候选人的信息,以便进行修改,管理员有权浏览候选人简介。
浏览的顺序按照候选人序号即可。
③修改候选人简介:
当系统更新或候选人信息有所变化时,输入候选人序号,对信息进行修改。
④查询投票情况:
管理员有权查询当前各个候选人得票情况,以便得出最终被选中的候选人信息。
⑤清除投票信息:
当投票过程结束后,管理员选择清除投票信息既可清除系统中所有候选人的票数,使之归零。
⑥安全管理:
管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。
管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。
通过对用户的需求调查分析,可以概括出用户的功能需求如下:
单选投票、多选投票、查看投票、投票设计。
单选投票:
用户只能从多个选项中选取一项进行投票。
多选投票:
用户可以从多个选项中选取多项进行投票。
查看投票:
提供用户查看当前投票情况,投票结果以条形图显示。
投票设计:
管理员可以设计不同的投票主题,及投票主题的内容供用户进行投票。
系统模块结构图
依据需求分析结果,电子投票平台可分为6个模块:
功能选择、身份验证、投票人管理、候选人管理、投票区和得票区结果管理。
系统模块结构如下图所示:
系统功能模块图
SystemFunctionModules
设计(论文)需要重点解决的问题是:
本系统重点解决的内容是:
1.如何把投票人投票、管理员管理有机集成在一起,为用户搭建了一个信息共享的平台,以帮助投票者进行公证、准确的投票,从而全面提升投票系统更快速、更可靠、更安全、更保密。
2.采用结构化的开发流程来开发电子投票系统,具体设计流程或步骤;
3.怎样实现对数据的查询、插入、修改和删除的操作;
4.怎样实现简单的页面信息合法性控制;
设计(论文)主要用到的技术方案:
1.本电子投票平台的设计是一种远程电子投票系统,该系统包括主会场、分会场、计票中心和它们之间互联的网络,每个会场包括投票人、管理人员两个角色的功能需求.其中投票人的主要功能需求包括:
①投票人的投票方式②投票人了解候选人的方式选择;管理人员的主要功能需求包括:
①初始化候选人信息②浏览或修改候选人简介④查询投票情况⑤清除投票信息⑥安全管理。
管理员可以对投票人信息进行管理,投票人只有用管理员规定的用户名和密码才能进入系统进行投票。
管理员还可以更改用户名、密码和权限,并对投票人信息进行增加、删除、查询、排序和初始化等操作。
通过对用户的需求调查分析,可以概括出用户的功能需求如下:
单选投票、多选票、查看投票、投票设计。
2.具体设计流程如下:
①电子投票系统需求分析:
主要从网上书店的业务活动和客户关系网进行分析,明确在电子投票的业务环境中此系统应该做什么。
②电子投票系统设计:
包括系统的功能设计和数据库设计,主要解决系统怎样做的问题,使用sqlserver2005建立数据库,在里面存放有关投票的相关信息;在电子投票系统软中,针对现实中所遇到的问题提出以下功能设计方案:
投票功能、管理员功能等。
③电子投票系统软件编写:
采用ASP.NET语言编写用户界面,并同数据库连接起来实现更为完整的软件功能。
④电子投票系统软件测试:
编写各种测试用例测试电子投票系统软件,发现其中的各种错误并及时加以改正,加强该软件的实用性。
3.ASP作为动态网站开发的利器,其主要特性就体现在可实现对数据库的访问,利用Connection对象建立数据源和ASP程序之间的连接,建立到数据源的连接后,可以在此基础上用Recordset对象或Command对象,应用SQL语句实现数据的查询、插入、修改和删除的操作。
4.利用JavaScript来实现用户合法性的输入,这种方法是在客户端执行的,没有向服务器发送请求,从而减少了服务器的负担,易于用户的修改,因此这种方法简单高效,可以完成一般的页面合法性控制。
进度安排:
11.3.2—11.3.18熟悉课题内容,开题论证完成毕业论文开题报告;
11.3.18—11.3.20查阅资料,选择设计方案,熟悉开发环境;确定开发方案;
11.3.18—11.3.24完成设计详细程序流程图以及模块的功能写好阶段总结;
11.3.25—11.3.31进行系统设计(包括系统的软、硬件、及数据库等);
11.4.1—11.4.30系统实现(包括编制代码、建立数据库系统及硬件组建),接受期中检查;
11.5.5—11.5.25进一步的测试,整理资料完成毕业论文;
11.5.25—11.6.5整理材料,准备答辩,装订论文。
参考文献:
[1]马骏,邓居英,杨湖.C#程序设计及应用教程[M].北京:
人民邮电出版社,2010.
[2]樊月华.web技术应用基础[M].北京:
清华大学出版社,2009.
[3]MatthewMacDonald,MarioSzpuszta.ASP.NET3.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.
教师指导意见:
指导教师签名:
日期:
年月日
摘要
论文“电子投票系统的设计与开发”是针对设计建立一个安全、通用、可靠的B/S投票网站,以适应大多数投票系统的开发过程而撰写的,系统采用VisualStudio2008与MicrosoftSQLServer2005结合的模式、应用及数据库技术开发设计了一套电子投票系统。
论文对系统设计目的、意义、需要解决的关键问题以及所采用的.net技术的进行了简单介绍;对系统设计架构和模型、系统需求分析、模块划分及系统的实现过程进行了详细介绍;并对系统进行了性能分析。
该系统满足了大多数传统投票功能要求的功能,达到了电子投票的高速度、高安全度、高保密度、高可靠度的特点。
关键词:
电子投票安全可靠网上应用系统电子化
ABSTRACT
Thesis"theelectronicvotingsystemdesignanddevelopment"istodesigninestablishasafety,gm,reliableB/Svotingsites,inordertoadapttothedevelopmentprocessofmostvotingsystem,thesystemadoptsthewrittenwithStudioVisual2008MicrosoftSQLServer2005themode,applicationwithanddatabasetechnologydevelopmentdesignedasetofelectronicvotingsystem.Papersonsystemdesignpurpose,significance,needstosolvethekeyproblemsandadoptedtechnologyissimplyintroduced;Forsystemdesignframeworkandmodel,systemrequirementanalysis,modulepartitionandsystemrealizationprocess;adetailedintroductionAndonthesystemperformanceanalysis.Thissystemtosatisfythemosttraditionalvotethefunctionalrequirementsfunction,achievetheelectronicvotinghighspeed,highsafety,hi-fidensity,highreliabilitycharacteristic.Overallthissystemrealizestheelectronicvotinghighspeed,highsafety,hi-fidensity,highreliability.
Keywords:
Electronicvotingsafeandreliableonlineapplicationsystemelectronic
引言
本课题的研究意义
在现实生活中,“投票”是经常遇到的一项活动。
随着科学的不断进步发展,各种各样的“投票”在实现方式上已经多样化,电子投票作为替代传统投票方式已经被广泛的应用在日常生活中。
传统“投票”所具备的功能几乎都在互联网上进行电子化的高效动作实现。
目前流行的电子投票系统如何设计出更加安全、可靠的电子投票系统,已是目前迫切需要解决和关注的问题。
本系统就是在目前流行的电子投票系统上对使用范围、安全设置、系统灵活性等用户关注的问题上进行了较大改进,从而满足更多、更大使用范围,更安全,更方便的网上应用系统。
本论文的目的和内容
本论文的内容是描述如何建立一个电子投票网站系统,利用网络通信的优势同现有民主选举,就可以给投票者和组织者带来很大的便利之处,从而方便广大人民群众,为中国的民主化进程发展带来新的生机。
系统的主要特点
该系统通过网络,采用投票终端,解决了传统投票时的空间、时间和方式上限制,以及投票前繁琐的准备工作。
本电子投票系统可以应用在人员选举、人员表决、事项表决、民主评议范围;既可在无论大、小型的单个会场里进行投票,也可用在地域分散地的多个会场互联投票。
整个投票过程是在信息化的手段下自动完现实时计票与统计,做到高速度、高安全度、高保密度、高可靠度。
作者的创新点
本系统的创新之处首先是系统功能设计的合理性和完整性,系统分析了大多数投票所采取的方式,综合取舍,最终做出此通用系统,其次本系统采用了微软最新推出的ASP.NET技术,使用更方便,效率更佳。
设计目标及要解决关键问题
本课题要达到的设计目标
本电子投票平台的设计是一种远程电子投票系统,该系统包括主会场、分会场、计票中心和它们之间互联的网络,每个会场包括投票人、管理人员两个角色的功能需求.
其中投票人的主要功能包括:
1)投票人的投票方式选择和投票
2)投票人了解候选人的方式选择;
管理人员的主要功能包括:
1)初始化候选人信息
2)编辑、浏览或修改候选人简介
3)查询投票情况
4)清除投票信息
5)安全管理。
管理员可以对投票人信息进行管理,投票人只有用管理员规定已登记的用户名和密码才能进入系统进行投票。
管理员还可以更改编辑用户名、密码和权限的信息,并对投票人信息进行增加、删除、查询、排序和初始化等操作。
重点解决的内容和解决方案
1、业务的解决:
因为作为一个电子投票系统,它必须要求投票人员输入数据,然后反馈给服务器,所有想看到数据的人也必须得请求服务器。
所以我在提供投票人员自己进入投票页面,而数据的流出则是仍然以页面形式发给想要查看数据的人员,从而解决了投票数据的输入输出问题。
2、权限分配及管理:
因为将有投票人员和管理人员的加入,从而同时增加了一个用户的进入,这是相当于有两个用户的进入这个系统。
为了让这两种人在同一个系统,必须对其权限进行管理,从而必须对投票人员、管理员的权限进行管理,从而达到用户不至于越权。
权限完全由管理员来控制。
3、数据库:
投票涉及的三个对象,其数据分成两张表:
存放投票人员、管理人员登录系统的账号、和密码及角色的user表,以及存放候选人信息的候选人表。
4、开发平台:
选择visualstudio2008它为我们提供了一个平台,你可以在上面用c、c++、c#、vc++、VB等语言开发。
它有良好系统优化处理机制,使得系统运行更快,再加上它的优秀因为现在99%的操作系统是windows,所以选择了它。
5、开发语言使用:
C#是一个具有结合c、c++之优点,摒弃它们的缺点——指针,从而避免了解决内存溢出的弊病。
6、数据库工具选择:
本系统采用SQLServer2005数据库系统。
因为投票对数据库的要求比较高,他只需要基本的海量查找,不需要进行决策分析,还要为以后的web开发提供接口。
因为Access只是一个微型数据库,虽然它对硬件要求不高,但它适合于少量数据遍历及查找,最重要的是它只能满足主机既是服务器又是客户端;而oracle是一个重量性数据库,它满足所有条件,但它从数据库维护成本及购买成本上考虑,都远远超过server2000/2005数据库的成本。
经过以上比较,所以本系统数据库系统采用SQLserver2005.
7、数据库的访问方式:
数据库的访问方式有ODBC、OLDB、ADO、ADO.NET等。
但是因为在投票中里需要遍历大量,每次需要读取的不是一条记录,而是一个数据集合,因为在ADO.NET中提供了五大对象command、adapter、dataset、connection、dataread,它提供了单个记录和数据集合两种数据类型,再加上它连接简单,所需要的外设资源比较少,它为开发者提供了许多便利之处。
8、模块化:
因为在开发的过程中,会有许多方法是相同的,将方法进行提取,从而建立一个个类,并将方法定义为静态,从而减少了类的定义,就可直接使用该方法,这样大大减少了代码的维护和在编写代码时的工作量和在开发时当发现逻辑存在问题时一下子就知道哪里出了问题,直入问题要点之处。
系统架构与模型
系统架构描述
本系统采用ASP.NET的典型三层架构,即表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
[1]区分层次的目的即为了“高内聚,低耦合”的思想。
所以只要把本系统的三层架构描述清楚,系统的架构就一目了然,系统架构如图3.1所示。
图3.1三层之间的关系
三层架构概念
在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。
微软推荐的分层式结构一般分为三层,从下至上分别为:
1)表现层(UI):
通俗讲就是展现给用户的界面,即用户在使用一个系统时他的所见所得。
本系统的展示界面就是UI层。
2)业务逻辑层(BLL):
针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
本系统建立了一个BLL类库,实现此层。
3)数据访问层(DAL):
该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
本系统建立了一个DAL类库,实现此层。
系统架构遵守的规则
1)最关键的,UI层只能作为一个外壳,[2]不能包含任何BizLogic的处理过程。
2)设计时从BLL出发,而不是UI出发.BLL层在API上应该实现所有BizLogic,以面向对象的方式。
3)不管数据层是一个简单的SqlHelper也好,还是带有Mapping过的Classes也好,应该在一定的抽象程度上做到系统无关。
4)在设计的时候还做这样的考虑,更远的,还得考虑多台服务器通过负载均衡作集群。
系统架构优缺点
三层架构的优点
1)开发人员可以只关注整个结构中的其中某一层。
2)可以很容易的用新的实现来替换原有层次的实现。
3)可以降低层与层之间的依赖。
4)有利于标准化。
5)利于各层逻辑的复用。
三层架构的缺点
1)降低了系统的性能。
2)有时会导致级联的修改。
与MVC的区别
MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。
同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。
[3]在三层架构中没有定义Controller的概念。
这是我认为最不同的地方。
而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。
当然了。
在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。
编程模型
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。
数据库设计
本系统的数据库的设计比较简单,就设计了2张表:
用户表,候选人表。
1.用户表
鉴于本系统使用者只有投票人员和管理人员,可以只建立一张用户表,用来在用户登录时对其进行用户名、密码的验证,以及判别身份角色选择进入的对应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 投票 系统 设计 开发
![提示](https://static.bdocx.com/images/bang_tan.gif)