网上投票系统投票结果与界面的设计和实现学位论文.docx
《网上投票系统投票结果与界面的设计和实现学位论文.docx》由会员分享,可在线阅读,更多相关《网上投票系统投票结果与界面的设计和实现学位论文.docx(28页珍藏版)》请在冰豆网上搜索。
![网上投票系统投票结果与界面的设计和实现学位论文.docx](https://file1.bdocx.com/fileroot1/2022-12/11/936796cb-095c-4d76-9320-3a90efef9ea1/936796cb-095c-4d76-9320-3a90efef9ea11.gif)
网上投票系统投票结果与界面的设计和实现学位论文
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
第1章绪论
1.1课题研发背景
随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。
在计算机应用中很重要的一部分就是编程语言,编程语言的出现打开了计算机应用的新篇章。
在这些编程语言中JSP占有着重要的地位,JSP拥有Java编程语言“一次编写,各处运行”的特点。
在当今的网络应用中JSP无处不在,在线投票系统就是JSP功能强大的一个最好的例证。
在线投票系统有很多传统投票方式不可比拟的优势。
首先,它可以在很短的时间内,通过互联网将不同时间不同地域的用户投票组合到一起,并进行结果反馈,这是传统的投票方法完全做不到的;其次,在线投票系统的效率要比以往的传统投票方法高很多,在这个寸时如寸金的年代,在线投票系统不但省去了投票与计票环节的人力成本,还可以节省很多时间以用作处理其他更重要的事情;综上所述,在线投票系统有着快捷、经济、方便、省时省力等诸多优点都注定它将是未来投票方式的主流。
在线投票系统可以用来统计网站用户对某个主题或热门话题的意见。
网站管理员也可以通过投票的方式了解用户的看法,或者通过在线投票系统这个媒介去了解用户的思想、意见,并通在线投票系统的结果反馈改进自己的网站设计。
正由于以上原因,网络上各式各样的投票系统层出不穷。
本次毕业设计的目的,就是来制作一个在线投票系统,该系统可以实现对投票数量进行累加、统计票数、投票结果图形化显示等操作。
在线投票系统是一般网站必备的程序之一。
我设计的投票系统主要是针对网民对于在校学生和老师的评优。
1.2课题的目的和意义
在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发常用的功能模块。
当网站的管理员或用户提出一些新的想法与建议或者出现一种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户或者客户的需求,另外,网站还可以通过网站在线投票功能做一些实际性的调查工作。
随时了解市场是一个企业拥有强大竞争力的必须品,所以在线投票系统可以解决企业的难题,不受地区限制,不受人手压力的限制,随时了解产品的市场效应,增强自己的竞争力;此系统将以图形化的界面来显示投票结果,一目了然的回溃客户的的需求信息。
1.3系统的主要工作
管理员模块将实现管理员登录、发布新投票、撤消投票、查看所有投票、编辑和删除新投票以及用户管理等功能。
投票系统的用户只需懂得运用互联网络者均可以使用,此系统在网站中的使用频度预计非常的频繁;
该系统属于实用型网站,需要对数据的处理,比如对投票票数的统计并把投票结果直观的反馈给投票者,故对数据的及时更新要求较高,保证数据的真实性。
该系统在任何操作系统下都可以运行,但必须装有SQL2005数据库。
该系统的操作包括:
单选投票、删除投票、添加投票、查看投票。
单选投票:
用户只能从多个选项中选取一项进行投票。
删除投票:
管理员对大学进行删除。
添加投票:
管理员对大学进行添加。
查看投票:
提供用户查看当前投票情况,投票结果以柱状图和圆饼状图显示。
1.4论文结构
第一章介绍了课题的来源、本课题研究的目的和意义,在此基础上提出了本课题的研究内容。
第二章分析了开发此投票系统在技术,经济及操作等的可行性。
第三章概括地介绍了与本课题相关的一些概念和技术,具体包括,数据库管理系统:
SQLServer2005;服务器:
Tomcat;编程软件为MyEclipse6.5,编程语言选用Jsp。
第四章是系统需求分析部分,根据本课题的功能需求和性能需求。
第五章是系统数据库的设计与实现部分。
第六章是系统的主要功能模块的实现过程中所涉及的关键问题及其解决方案部分。
第七章是系统的测试部分,从系统的测试环境、系统调试、调试结果和系统维护等几个方面进行了论述。
第2章投票系统开发的可行性
2.1技术可行性
(1)操作系统:
Windows20000Server及以上服务器版本;
(2)数据库管理系统:
SQLServer2005;
(3)服务器:
Tomcat5
(4)编程工具:
编程软件为MyEclipse6.5,编程语言选用Jsp。
2.2经济可行性
1.支出
(1)系统开发费用
1)人员费用:
本系统开发期为三周,试运行一周。
开发期需要开发人员1人,试运行期需要开发人员1人。
人员费用为0.4万元。
2)设备费:
本系统所需的硬件设备费用为0.6万元。
3)不可预见费:
按开发费用的15%计算。
(2)系统运行费用
1)系统维护费:
需要6人/年进行系统维护,维护费为1.8万元
2)设备维护费:
设备更新费为0.6万元。
设备维护费为0.6万元。
3)消耗材料费:
每年按600元计算。
2.收益
(1)提高工作收益
(2)减少工作人员
2.3操作可行性
本在校投票系统的用户只需懂得运用互联网络者均可以使用,此系统在网站中的使用频度预计非常的频繁;
该系统属于实用型网站,需要对数据的处理,比如对投票票数的统计并把结果反馈给投票者,故对数据的及时更新要求较高,保证数据的真实性。
该系统在任何操作系统下都可以运行,但必须装有SQL2005数据库。
该系统的操作包括:
单选投票、删除投票、添加投票、查看投票。
单选投票:
用户只能从多个选项中选取一项进行投票。
删除投票:
管理员对大学进行删除。
添加投票:
管理员对大学进行添加。
查看投票:
提供用户查看当前投票情况,投票结果以条形图显示。
第3章课题相关技术介绍
3.1数据库管理系统:
SQLServer2005概述
SQLServer2005是Microsoft公司推出的SQLServer数据库管理系统,SQLServer2005数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理[3]。
它具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用;SQLServer2005SQLServer2005不但结合了分析、报表、集成和通知功能,而且它具有的图形化用户界面,可以使系统管理和数据库管理更加直观、简单;SQLServer2005与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等[4]。
SQLServer2005也可以很好地与MicrosoftBackOffice产品集成。
SQLServer2005因为其速度、可靠性和适应性而备受关注。
针对以上种种情况,SQLServer2005数据库是在线投票系统最好的选择。
3.2服务器:
Tomcat概述
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
3.3JSP简介
JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段和JSP,从而形成JSP文件[2]。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
在线投票系统用JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使本系统基于Web的应用程序的开发变得迅速和容易。
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是现而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
3.4编程软件:
MyEclipse6.5概述
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
第4章系统需求分析
4.1系统所涉及用户及需求量分析
1.依据不同需求,本投票系统主要分普通用户操作及管理员操作两个大功能模块。
普通用户模块包括:
(1)投票模块:
包括查询所有参加评选的选手的信息,根据用户提交的信息进行投票,每次票数增加1,同一个用户一天只能投票一次。
(2)参与评选模块:
根据用户提交的信息进行增加参赛选手,查询所有参赛者得信息,等。
管理员主要负责幕后操作模块:
根据用户提交的用户id修改票数,查询所有参加评选人员的信息。
2.该系统应具备下面相应的功能:
(1)查看投票信息并参与评选:
投票主页显示三种不同的人选择的连接,提供所有的连接,用户可以选择不同的功能进入相应的页面。
选择后,主页显示与之关联的选项。
然后用户选择选项,提交表单。
投票表单包括投票个人信息,显示所有投票结果的信息。
(2)查看当前用户投票情况并参与投票:
用户可以通过单击投票结果查询的连接查看投票结果。
投票结果显示参赛选手以及该选手的投票数。
用户还可以在提交投票表单后自动转到投票结果显示页面查看投票结果。
(3)幕后操作投票信息:
幕后人员可以修改投票人的票数并显示数据库存储的所有信息。
4.2系统功能需求
4.2.1普通用户模块
(1)用户注册:
普通投票用户须通过账号注册方可以进行投票;
(2)登录:
注册成功后,可输入用户名和密码登录系统;
(3)重选:
用户可以进行重新投票;
从以上介绍中我们能看到,普通用户模块包含着3个不同的功能,其各部分功能关系如图3—1所示。
图3—1普通用户模块图
4.2.2管理员模块
(1)发布新问题;
(2)用户管理,管理员可以增加和删除普通用户(超级用户不能删除),或者更改普通用户密码;
(3)查看所有投票;
从功能描述的内容中可以看到,管理员模块可以实现发布新投票、重新编辑投票、查看所有投票、删除投票、公布结果和撤销投票等多个完整的功能,并且不同功能之间也存在着一些直接或间接联系,如图3—2所示。
图3—2管理员模块图
4.2.3在线投票系统流程图
在线投票系统的流程图包含了该系统的投票原理与主要制作方法。
从流程图上我们可以看到在线投票系统需要经过登录、显示投票表单、取得投票参数、累加投票数、将投票写入数据库和显示投票结果等步骤,其流程图,如图3—3所示。
图3—3投票流程图
4.3系统性能需求
本系统属于实用型网站,需要对数据的处理,比如对投票票数的统计并把结果反馈给投票者,故对数据的及时更新要求较高,保证数据的真实性.该系统可用普通PC,windowsXP系统,对硬件无很大要求,即任何操作系统下都可以运行,但必须装有SQL2005数据库。
4.4数据流图
4.4.1符号定义
(1)数据的源点或终点
(2)变换数据的处理
(3)数据存储
(4)数据流
4.4.2数据流图的组成元素
源点\终点处理
用户计算信息
添加记录
删除记录
数据流数据存储
用户登录信息投票结果
普通用户信息
管理员信息
投票信息
4.5数据字典
第5章数据库设计
5.1数据库设计的需求分析
求分析简单地说就是分析用户的要求。
需求分析是数据库的起点,需求分析的结果是否准确地反映了用户的实际要求将直接影响到后面各个阶段的设计,并影响到设计的结果是否合理和实用。
(1)信息要求用户从数据库中得到想要投票支持的参与者。
(2)处理要求系统将投票结果进行保存,并对最终结果进行统计反馈给投票者。
(3)安全性和完整性要求管理员可以对投票主题、参与者资料、投票者资料、管理员资料进行添加、修改和删除操作,普通用户不能操作。
5.2数据库的概念设计
据库概念模型设计阶段是数据库设计的关键阶段,在这一阶段里,主要是以需求分析中所识别的数据项、设计任务和现行系统的管理操作规则与策略为基础,确定投票系统中的实体和实体间联系,建立此系统的信息模式,准确描述此系统的信息结构的高级概念模型。
概念结构的主要特点:
(1)能真实、充分的反映现实世界。
(2)易于理解。
(3)易于更改。
(4)易于向关系、网状、层次等各种数据模型转换系统E—R图设计与分析符号说明:
系统E—R图如下:
5.3数据库逻辑结构设计
逻辑结构的任务就是把结构设计阶段设计好的基本E-R图转化为DBMS产品所支持的数据模型相符合的逻辑结构。
根据在线投票系统不同模块之间的联系和前期的设计目的与需求,设计了六个不同的数据集表,它们分别是管理员表、投票者用户表、投票主题表等。
表5-1管理员表(AdminUser)
标识
数据类型
数据范围
备注
AdminId
Int
4
管理员ID,主键
AdminName
Varchar
254
管理员用户名
AdminPass
Varchar
254
登陆密码
表5-2投票者用户表(SubmitUser)
标识
数据类型
数据范围
备注
SuId
Int
4
投票者用户ID,主键
SuName
Varchar
254
投票者用户名
SuPass
Varchar
254
投票者用户登陆密码
SuAge
Int
4
投票者用户年龄
SuAddress
varchar
254
投票者用户地址
SuQQ
Varchar
254
投票者用户QQ
SuEmail
Varchar
254
投票者用户邮箱
SuPhone
Varchar
254
投票者用户电话
表5-3投票主题表(Title)
标识
数据类型
数据范围
备注
ttId
Int
4
投票主题ID,主键
ttName
Varchar
254
投票主题名
ttDescription
Varchar
254
投票主题描述
iden
Int
ipIden
Int
表5-4投票主题和参与者表(TitleUser)
标识
数据类型
数据范围
备注
tuId
Int
4
投票主题和参与者ID,主键
vuUserId
Int
4
被投票者ID
ttId
Int
4
投票主题ID
表5-5参与者表(VoteUser)
标识
数据类型
数据范围
备注
vuUserId
Int
4
被投票者ID,主键
vuUserName
Varchar
254
名字
vuUserSex
Int
性别
vuUserAge
Int
年龄
vuUserAdress
Varchar
254
地址
vuUserJob
Varchar
254
工作
vuHeight
Numeric
身高
vuWeight
Numeric
体重
vuPhoto
Varchar
254
照片
vuLoves
Varchar
254
爱好
veCount
int
票数
vuMiaoshu
Varchar
500
描述
表5-6投票详细信息表(VoteDetail)
标识
数据类型
数据范围
备注
vdId
Int
4
投票详细信息ID,主键
suId
Int
4
投票者用户ID
ttId
Int
4
投票主题ID
vuUserId
Int
4
被投票者ID
vdIp
Varchar
254
Ip地址
vdDate
datetime
投票日期
5.4数据库的功能及约束
系统全部实现客户端对数据库的操作,如添加,删除,更新等操作,故为了保持数据的一致性,本数据库表设计的时候设计了主键约束和外键约束,在数据集中基本已经说明包含哪些主键以及外键,本系统数据库的外键约束主要是项目的ID和此项目对应的选项和系统配置之间ID的约束。
第6章主要功能模块的设计与实现
本系统分为普通用户和管理员两部分模块。
普通用户模块具有注册、登录、投票等功能;管理员模块则具有登录、发布新投票、编辑投票、撤消投票、删除投票、用户管理与公布结果等功能。
6.1普通用户模块
1.注册模块
普通用户登录在线投票系统需要先进行账号注册,注册成功后方可以其他操作,注册模块的界面如图6—1所示。
2.登录模块
普通用户在完成注册后方可以登录在线投票系统,注册完毕后单击“请重新登录”便可以重新返回登录页面,如图6—2所示。
3.投票模块
输入正确的用户名和密码后,单击“登录”按钮,就可以直接进入在线投票系统的投票页面,当所有的选项都投票完毕后,用户单击“提交”按钮,便完成了投票的流程,如果用户想要查看这些问题的投票结果,投票完毕后点击“查看投票结果”便可以查看当前投票结了,如图6—3所示。
将柱状图转换为饼状图,如6—4所示:
6.2管理员模块
1.管理登陆模块
管理员输入自己的账号密码即可登陆,相关页面如图6—6所示。
2.登陆首页模块设计,相关页面如图6—7所示。
3.管理员资料图形界面模块
记录个管理员信息,相关页面如图6—8所示。
4.参与者资料管理模块
(1)管理员对参与投票的用户资料及参加投票的候选人资料的管理,相关页面如图6—9所示。
(2)管理员对参与投票的用户资料及参加投票的候选人资料的管理,相关页面如图6—10所示。
5.删除模块
管理员发布新投票后,如果有删除此投票的需要可以直接单击“删除”,这样此投票就被删除了,相关界面如图6—11所示。
7.查看所有投票模块
当管理员完成新投票发布或者编辑操作后,如果有需要也可以查看自己发布的所有投票,点击“查看所有投票”就可以看到管理员发布的所有投票了。
相关界面如图6--12所示.
第7章系统测试与维护
7.1测试环境
测试环境1
电脑型号Hewlett-PackardHPPro3085MicrotowerPC
操作系统MicrosoftWindows7专业版(32位)
CPUAMDPhenom(tm)IIX4820Processor(2000Mhz)
主板MICRO-STARINTERNATIONALCO.,LTD3665h
内存4.00GB(金士顿PC3-10600DDR3SDRAM1333MHz)
主硬盘320GB(西数WDCWD3200AAJS-60Z0A0已使用时间:
255小时)
显卡NVIDIAGeForce9100(MicrosoftCorporation-WDDMv1.1)(256MB)
显示器联想LEN115232位真彩色60Hz
声卡Realtek5.1HighDefinitionAudio
网卡RealtekRTL8168D/8111D系列PCI-E千兆以太网NIC(NDIS6.20)
测试环境2
电脑型号Hewlett-PackardHPPro3085MicrotowerPC
操作系统MicrosoftWindowsXPProfessional(32位/ServicePack3)
CPUAMDPhenom(tm)IIX4830Processor(2800MHz)
主板MICRO-STARINTERNATIONALCO.,LTD3665h
内存4.00GB(记忆科技PC3-10600DDR3SDRAM1333MHz)
主硬盘320GB(西数WDCWD3200AAJS-60Z0A0已使用时间:
349小时)
显卡NVIDIAGeForceGT430(1024MB)
显示器戴尔DELa02032位真彩色60Hz
声卡Realtek5.1HighDefinitionAudio
网卡RealtekPCIeGBEFamilyController
7.2系统调试
在使用过程中,发现系统存在的BUG,如跳转