自学内容网 自学内容网

投票系统的设计与实现

摘    要

随着社会的发展与进步,高校学生的生活也更加丰富多彩,学生在日常校园生活中会遇到各种各样的投票活动,例如“你最喜欢的旅游地区”、“你最喜欢的音乐”以及“你最喜欢的歌手”等。然而传统的投票方式比较老旧,需要大量的人力来进行收集票数以及统计票数,这给投票工作带来了极大的不便,过程不仅繁琐而且很容易造成不必要的浪费。伴随着互联网技术的飞速发展,当传统投票方式满足不了学生们的需求时,开发一套基于Java的在线投票系统,可以大大增加工作效率,节约大量的资源,评选活动也会更加公开、公平和公正,逐步进入了科学化、信息化和正规化管理的时代。

本文主要是针对于网络投票管理系统进行设计,通过采用开源开发包来进行系统设计,运用Eclipse开发工具来搭建系统的整体框架,运用MySQL数据库来进行数据存储,以此来实现系统的各项功能。

关键词网络投票;管理系统;Eclipse;MySQL

Design and Implementation of Voting System Based on Java

Abstract

With the development and progress of the society, college students' life has become more colorful. Students will encounter various voting activities in their daily campus life, such as "your favorite tourist area", "your favorite music" and "your favorite singer". However, the traditional voting method is relatively old and requires a lot of manpower to collect and count the votes, which brings great inconvenience to the voting work. The process is not only cumbersome but also easy to cause unnecessary waste. Along with the rapid development of Internet technology, when the traditional voting can't satisfy the needs of the students, develop a set of online voting system based on Java, can greatly increase the work efficiency and save a lot of resources, selection of activities will be more open, fair and justice, gradually entered the era of scientific, informationization and standardization management.

This paper is mainly aimed at the network voting management system design, through the use of open source development kit to design the system, the use of Eclipse development tools to build the overall framework of the system, the use of MySQL database for data storage, in order to achieve the system's functions.

Key WordsInternet voting;Management system;Eclipse;MySQL

目    录

摘    要

Abstract

引    言

1  绪论

1.1  课题研究背景与意义

1.2  国内外投票系统研究现状

1.3  论文结构和内容

2  相关技术简介

2.1  Java

2.2  Java Web

2.3  Tomcat

2.4  开发工具

3  在线投票系统需求分析

3.1  系统功能性需求

3.2  用例分析

3.3  运行需求分析

3.4  系统非功能性分析

3.4.1  界面需求

3.4.2  数据准确性

3.4.3  性能需求

4  在线投票系统设计

4.1  系统基本要求

4.2  系统功能模块设计

4.2.1  用户登录功能

4.2.2  个人密码修改功能

4.2.3  投票模块功能

4.3  数据库设计

5  系统实现

5.1  在线投票功能模块

5.2  用户注册模块

5.3  主题管理模块

6  系统测试

6.1  程序调试

6.2  测试用例

6.3  测试结果

结    论

致    谢

参 考 文 献

引    言

众所周知,传统的投票方式是非常繁琐的,首先需要人们去组织投票活动,然后寻找投票的人,再将投票进行收集,统计投票结果。这一系列投票过程需要耗费大量的人力物力财力,已经不再适合当今快节奏的生活。传统的投票方式已经被当今时代所抛弃,需要建立一种新的投票投票模式。随着互联网技术的快速发展,在线投票的方式已经越来越受到大家的喜爱。投票的话题可以在线发布,人们也可以通过手机或者电脑实时查看要投票话题,并根据自己的喜好进行投票,在统计投票结果时,也是通过系统自动化统计,没有人为参与的过程,使得投票系统可以更加公正公平。

1  绪论

1.1  课题研究背景与意义 

随着社会的发展与进步,高校学生的生活也更加丰富多彩,在高校的日常学生活动中,各式各样的评选活动、投票活动必不可少,如评选“学生最受欢迎教师”、“班级最佳干部”和“学生最满意食”等,通过这些评选活动。传统的投票系统不仅需要消耗大量的人力、财力、物力,并且在统计和计票投票时避免不了会出现一些主观影响,带入主观影响的投票结果是不公平的也是不公正的。因此如何实现公平公正的进行投票统计是非常必要的,同时也需要正确合适的处理网络信息。所以需要建立一个方便快捷、公正公开的网络投票管理系统。

当今社会发展迅速,网络已经成为人们生活的必需品。网络投票管理系统的发展对企业、社会、政府和国家都具有重要的历史意义、实用价值。本文分析了传统的投票方式所存在的一些问题,建立了一个基于Java的网络投票管理系统。

1.2  国内外投票系统研究现状

长期以来,国外有许多关于网络投票的文献。选举过程的诚信将决定民主本身的诚信。因此,选举制度必须是安全的、健全的,以防止各种欺诈行为,应该是透明的、可理解的,选民和候选人可以接受选举的结果。但在历史上,有操纵选举以影响选举结果的例子。应保留选票的匿名性,以保证选民没有证据证明哪些候选人得到了他们的选票。在多层云基础设施中管理身份和访问的架构,其中大部分服务由互联网上的大规模数据中心支持。多层云基础设施使用来自软件工程的基于层的模型在不同的层中提供资源。B. Poonam等人研究了面向多层云基础设施的集中身份访问管理系统的设计与实现。首先,讨论此类环境中的身份和访问管理需求,并提出解决这些需求的解决方案[1]。目前,对任何类型的数据提供安全都是非常重要的,当要求投票系统,尤其是在线投票系统时,安全性变得更加敏感。M. Nikita等人从隐写的概念出发,将密码学与投票相结合,为在线投票系统提供了一种保障安全性的技术。隐写术和密码学一起用于提供用户帐户的安全性。所以对于这个图像和键的组合第一次使用。这里隐写术的主要目标图像,密码学的是密钥。为了降低这种系统的风险因素,需要正确使用密码学。因此,它极大地降低了这些系统中的风险[2]。此外,在线用户评论的“helpfulness”特性帮助消费者应对信息过载,便于决策。然而,许多在线用户的评论缺乏足够的帮助投票给其他用户来评估他们真正的帮助水平。Q. Cao等人的研究有助于理解网络用户的帮助性投票行为,为网络用户评论系统设计更好的帮助性投票机制[3]。X. Liang对基于ASP的网上投票系统的基本功能、结构和关键技术进行了分析和讨论。综合利用系统的各种编程方法,可以设计各种动态网站和网络数据库管理系统[4]。T. Abdellatif提出了一种实用、安全的电子投票系统Mosaic。与现有的远程电子投票系统相比,Mosaic具有实用性,因为它处理了可用性、易用性和可伸缩性,并实现了一个有效的安全方案。通过在法国网格5K上对系统进行评估,证明了镶嵌系统的自适应体系结构增强了系统的可伸缩性和性能。嵌入式管理系统允许马赛克在失败或安全攻击前自适应,而不破坏系统的安全属性[5]。当今的投票过程已经落后于时代。印度使用的投票过程大多是纸质的或手动的。这种手工处理的过程可能非常耗时,而且容易出现安全漏洞和选举舞弊。多年来,技术相关的系统正在发展,以解决一些问题,如选举欺诈、假冒、重复投票等。其中一种系统是电子投票系统,在印度等国家已经被积极使用。然而,这些制度似乎容易发生选举舞弊,选民必须作出巨大努力才能投票。仍有一些非常重要的方面,即识别和解决安全过程涉及一个选民投票在安全的方式,所消耗的时间整体投票,选票的计算效率和成本对监督投票过程。因此,考虑到这些方面问题,A. Wagadre推出了生物识别认证的在线投票系统[6]。选举委员会在管理记录方面存在一个大问题。SFSS Jadoon提出的具成本效益的网上投票系统将取代选民、候选人的人工记录系统,值班工作人员通过电脑化系统进行投票,这样可以减少计数时发生错误的机会,减少计数时所消耗的时间,提高投票的安全性。投票被否决的可能性微乎其微,记录管理也很容易[7]。

近年来,国内学者对在线投票的相关内容也进行了许多研究工作。孙丽红通过对传统的投票的方式进行分析,得到其局限的地方,综合考虑了高校对于投票系统的需求,设计和实现了基于轻量级JAVA EE的高校在线投票系统[8]。梁霄波通过分析网络投票的具体功能,然后根据实际的需求,采用ASP技术完成包含动态网站以及网络数据库的网络投票管理系统[9]。王皞等人设计与实现了一种通用网上投票系统,主要是采用采用ASP技术完成整体框架,该系统在华北电力大学图书馆所开展的“图书馆电子文献应用读者调查表”中得到实际应用[10]。由此可见在线投票系统具有严格的统计算法、操作简便、安全性能方面有一定的保证、还能积极调动大家参与活动这也让系统越来越受欢迎。

1.3  论文结构和内容

本文主要研究内容如下:

第一章:绪论部分,主要是针对网络投票管理系统进行介绍,阐述了开发本系统的研究背景以及意义,介绍了网络投票管理系统在国内外的研究现状。

第二章:相关技术的介绍,包括Java、Java web、开发工具以及数据库等。

第三章:网络投票管理系统的需求分析,包括业务需求分析以及非功能需求分析。

第四章:网络投票管理系统的整体实现,通过对于系统的各个具体模块进行详细设计。

第五章:系统的整体实现,主要是针对于第四章设计的内容,完成对应的功能的实现。

第六章:系统测试。主要是针对于测试算例进行测试,验证系统能够正常运行。

2  相关技术简介

2.1  Java

Java是编程语言和开发平台。它降低了成本,缩短了开发时间,推动了创新,并改进了应用程序服务。随着全球数百万开发人员运行着超过510亿个Java虚拟机,Java仍然是企业和开发人员的首选开发平台[11]。

最新的Java开发工具包(JDK)最终确定了instanceof(jep394)和Records(jep395)的模式匹配,这是首次在Java14中预览的语言增强[12]。此外,开发人员可以使用新的打包工具(jep392)来发布自包含的Java应用程序,并探索三个正在酝酿的特性:Vector API(jep338)、Foreign Linker API(jep389)和Foreign Memory Access API(jep389),以及一个预览特性Sealed Classes(jep397)[13]。

Oracle每六个月提供一次Java更新,为开发人员提供可预测的发布时间表。这提供了源源不断的创新,同时还提供了持续的性能、稳定性和安全性改进,增加了Java在各种规模的组织和行业中的普及性[14]。甲骨文Java平台组开发副总裁说:“随着最新版本的发布,6个月发布的cadence的威力得到了充分展示。”这一过程不仅让Java开发人员有机会在这些特性最终确定之前对其进行试验,而且还融入了关键的反馈,从而产生了两个真正满足社区需求的坚如磐石的JEP。Java发行版是行业范围内开发的结果,包括开放审查、每周构建以及Oracle工程师与全球Java开发人员社区成员之间通过OpenJDK社区和Java社区过程的广泛协作。Java的编译和工作原理,如图2.1所示。

图2.1  Java程序的编译和执行过程

2.2  Java Web

尽管Java EE规范中充满了许多较小的子规范,但大多数web容器只实现Servlet、JSP和JSTL规范。这与成熟的Java不同EE应用服务器,实现整个Java EE规范[15]。独立的web容器通常重量更轻,更易于使用当不需要Java EE的整个特性集时使用[16]。选择一个web容器(或者应用服务器)是一项需要仔细考虑的任务研究并考虑项目的需求。每个web容器都有其优点和缺点,可以使用各种各样的网站容器。例如,可能决定使用apacheTomcat在开发人员的计算机上进行本地测试在您的生产环境中使用GlassFish的同时。或者可以写一个应用程序的客户部署在他们自己的服务器上,在这种情况下,可能希望在许多服务器上进行测试不同的应用服务器和web容器[17]。Java Web结构图,如图2.2所示。

图2.2  Java Web应用的结构功能图

2.3  Tomcat

Tomcat是目前最常见和最流行的web容器。太阳微系统公司软件工程师最初将这个web容器创建为sunJavaweb服务器Java EEservlet规范的原始参考实现。孙后来捐了在1999年加入了Apache软件基金会,当时它成为了Jakarta Tomcat和最终程序。有趣的是,Apache对Tomcat的演化导致了开发ApacheAnt构建工具,其中包括数千个商业和开源项目今天就用。通常,开发人员可以使用功能强大的Tomcat启动和运行安装需要5到10分钟,包括下载时间[19]。Tomcat可以在开发机器上运行良好,但也可以对在高负载、高可用性的生产环境中表现良好。可以创建大型Tomcat群集以可靠地处理大量流量。Tomcat经常用于商业生产由于它的简单性和轻量级的配置文件。然而,Tomcat缺乏成熟的它的许多竞争对手提供的用于配置服务器的web管理界面。相反,Tomcat只为基本任务提供了一个简单的接口,比如部署和取消部署应用。为了进一步配置,管理员必须操作XML和Java属性文件。另外,因为它不是一个完整的应用服务器,所以它缺少许多Java EE组件,如Java持久性API、Bean验证API和Java消息服务。可以想象,这使得Tomcat非常适合许多任务,但确实会使部署变得更加复杂复杂的企业应用程序具有挑战性,有时甚至是不可能的。是基于Tomcat构建的但是提供了所有Java EE组件的完整实现。建立在Tomcat的基础上,具有Tomcat社区的全部力量以及背后十多年的测试。Apache还提供Geronimo,另一个开源的完整Java EE应用服务器[20]。

2.4  开发工具

在Eclipse中使用Tomcat与在IDEA中使用Tomcat有一些相似之处,但也有许多不同之处,屏幕看起来也非常不同。同样的基本过程仍然适用——您需要在Eclipse的全局设置中设置Tomcat,为项目配置它,并启动和调试项目。

MySQL是最常用的开源数据库,在平时练习和企业开发的时候能够高效的帮助完成任务。

3  在线投票系统需求分析

系统的需求分析是本文进行系统开发和设计的初级阶段,该阶段的主要任务是分析用的需求,即用户使用网络投票管理系统是为了做什么,只要经过这些调查,在设计系统过程才能明确目的。本系统主要包括系统管理员和用户,系统管理员负责对于系统的管理和维护工作,能够查看网络投票的信息,同时负责网络投票信息的统计;而用户是通过投票系统针对于系统中存在的话题进行投票,并将投票信息录入网络投票管理系统当中以方便及时的查看和修改。

3.1  系统功能性需求

高校在线投票系统功能图,如图3.1所示。

图3.1  线投票系统功能图

本系统由前台系统和后台系统构成:前台系统显登录界面,用户登陆账号后显示投票界面,用户可以执行投票操作,并可以查看结果信息;后台系统对投票相关信息及管理员信息进行管理。管理员在后台子系统中可以完成增加、修改、查找等功能。

3.2  用例分析

使用中的用例图描述本系统的功能需求,如图3.2所示。

图3.2  系统用例图

下面对投票的创建、查找以及删除等功能进行说明。

1.创建投票

(1)点击“创建投票”

(2)输入投票主题及投票约束条件信息,并单击下一步

(3)输入新投票选项信息,并单击下一步

(4)系统增加并显示新投票

2.查找投票

(1)点击“查找投票”

(2)输入投票主题,然后提交

(3)系统显不查找结果

3.删除投票

(1)点布“管理投票”

(2)选择相应的投票主题

(3)选择要删除选项

(4)相应的选项被系统删除

3.3  运行需求分析

硬件条件:酷睿CPU及以上;

2GRAM及以上;

100G硬盘及以上;

局域网。

软件环境:操作系统:Windows XP及以上;

IDE工具:Eclipse;

数据库:MySQL;

服务器:ApacheTomcat/WebSphere。

3.4  系统非功能性分析

系统满足业务需求功能之外的特性,对系统稳定高效的的提供服务有着一定的影响。

3.4.1  界面需求

本系统界面友好、操作简便,设计力求美观、大方、简洁和上手容易。

3.4.2  数据准确性

在线投票系统对数据统计有一定要求,要求准确,否者会影响投票的可信度。

3.4.3  性能需求

该网络投票管理系统的使用者主要是用户与系统管理员,而且考虑到系统管理员需要对于用户投票信息进行归纳整理,将用户进行投票的网络投票信息录入进系统当中,包括将网络投票的选项,同时也可以进行新的投票话题的创建。本系统具有运行可靠性、安全性、易操作性以及参数配置灵活性的优点,能够使系统保持较高的性能。


原文地址:https://blog.csdn.net/weixin_46959376/article/details/143803890

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!