网络投票管理系统毕业设计范文免费预览_第1页
网络投票管理系统毕业设计范文免费预览_第2页
网络投票管理系统毕业设计范文免费预览_第3页
网络投票管理系统毕业设计范文免费预览_第4页
网络投票管理系统毕业设计范文免费预览_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、网络投票管理系统摘要:随着信息化技术的发展,网络投票也需要一套有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。本文采用jsp开发语言和sql数据库开发了网络投票管理系统解决了管理人员的烦琐事务,达到了无纸化的调查问卷的替代效果。其系统的主要特点有:高度可用性,该系统拥有前台展示的功能,系统前台用户可以进行投票和查看投票结果,支持后台管理,投票项目及投票选项的管理(增加和删除投票主题)及维护功能;实现界面友好性:交互界面美观、友好、快捷,能给出及时

2、的反馈。关键词:jsp;投票;数据库internet voting management systemabstract: with the development of information technology, internet voting also need a system with the advanced management mode, as the goal and improving the existing voting management level. with improvement of science and technology, its powerful

3、functions in computer science plays an increasingly important role on various fields of society. in this paper, using jsp programming language and sql database the internet voting system is developed to solve the tedious affairs management, as the substitution of no survey paper. the main feature of

4、 the system are: high availability. the system has a front display function. the user can vote and view the voting results.and it supports the backstage management, voting and polling options management (add and delete vote-topic) and maintenance function. it has the friendly interface: interface be

5、autiful, friendly, fast, can give timely feedback.keywords: jsp; vote; database目 录1 绪论11.1 研究意义11.2 可行性分析11.2.1 技术可行性11.2.2 经济可行性11.2.3 操作可行性22 基础理论知识22.1 mysql数据库简介22.2 jsp编程语言32.3 sql语句32.4 数据库系统43 需求分析53.1 功能需求53.2 系统主要特色53.3 模块功能需求53.4 性能需求63.5 开发流程63.6 数据流图64 总体设计74.1 基本设计概念和系统总流程图;74.2 系统功能逻辑结

6、构74.3 系统功能模块的设计94.4 数据库的设计95 系统开发95.1 数据库95.1.1 创建数据库95.1.2 创建表105.1.3 连接数据库105.2 功能的实现125.3 问题及解决136 运行部分136.1 系统的安装136.2 系统的使用14结论25致谢26参考文献271 绪论1.1 研究意义随着internet的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界,internet恰恰是实现这目标的有利工具。对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位,故一个

7、网上网络投票管理系统应允而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的资本。开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性。运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力1。一个网站不断发展的前提就是众多用户的支持,一个好的网站一定要注意与用户之间信息的交流。能够有效得到用户反馈的信息,并及时对网站内容进行改进,这也是一个网站持续发展的基础。也正是由于以上原因,网络上各式各样的投票系统层出不穷。本次课程设计的目的,就是来制作一个

8、网络投票管理系统,该系统可以实现对投票数量进行累加、查询、统计票数等操作。网络投票管理系统主要用来统计网站用户对某个主题或热门话题的意见。决策者通过这些统计数据做出相应的决策。网络投票管理系统是一般网站必备的程序之一。我设计的投票系统主要是针对网民对于热门话题的做出的选择2。1.2 可行性分析1.2.1 技术可行性 (1)操作系统: windows 2000 server 及以上服务器版本;(2)数据库管理系统:mysql;(3)服务器:tomcat 5;(4)编程工具:编程软件为myeclipse5.5,编程语言选用jsp3。1.2.2 经济可行性(1)支出 系统开发费用 1)人员费用:本系

9、统开发期为三周,试运行一周。开发期需要开发人员1人,试运行期需要开发人员1人。人员费用为0.4万元。 2)设备费:本系统所需的硬件设备费用为0.6万元。 3)不可预见费:按开发费用的15%计算。 系统运行费用1)系统维护费:需要 6人/年进行系统维护,维护费为1.8万元。2)设备维护费:设备更新费为0.6万元。设备维护费为0.6万元。 3)消耗材料费:每年按600元计算。 (2)收益 (1)提高工作效率。(2)减少工作人员4。1.2.3 操作可行性本网络投票管理系统的用户只需懂得运用互联网络者均可以使用,此系统在网站中的使用频度预计非常的频繁; 该系统属于实用型网站,需要对数据的处理,比如对投

10、票票数的统计并把结果反馈给投票者,故对数据的及时更新要求较高,保证数据的真实性。该系统在任何操作系统下都可以运行,但必须装有mysql数据库5。该系统的操作包括:单选投票、多选投票、查看投票、投票设计。单选投票:参与投票的人从提供的选择中选择一项来进行投票。多选投票:参与投票的人从提供的选择中可以选择一个或多个来进行投票。查看投票:提供参与投票的人查看目前投票的情况,投票的结果是以条形图来显示的。投票设计:管理员有权限设计不一样的投票主题,还有投票主题的具体内容供参与投票的人来进行投票,投票设计还包括这些功能需求:增加主题、删除主题、查看主题、修改主题。2 基础理论知识2.1 mysql数据库

11、简介mysql是一种开放源代码的关系型数据库管理系统(rdbms),mysql数据库系统使用最常用的数据库管理语言-结构化查询语言(sql)进行数据库管理6。mysql因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,mysql是管理内容最好的选择。mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。与其他的大型数据库例如oracle、db2、sql server等相比,mysql自有它的不足之处,如规模小、功能有限(mysq

12、l cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,mysql提供的功能已经绰绰有余,而且由于mysql是开放源码软件,因此可以大大降低总体拥有成本7。2.2 jsp编程语言jsp(java server pages)是由sun microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。jsp技术有点类似asp技术,它是在传统的网页html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp标记(tag),从而形成jsp文件(*.jsp)。 用jsp开发的web应用是跨平台的

13、,既能在linux下运行,也能在其他操作系统上运行8。其优点包括:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比asp的局限性jsp的优势是显而易见的。(3)强大的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp,到由多台服务器进行集群和负载均衡,到多台application进行事务处理,消息处理,一台服务器到无数台服务器,java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与asp很像,java已经有了许多非常优秀的开发工具,

14、而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。jsp可以使用成熟的java beans 组件来实现复杂商务功能。其缺点有:(1)与asp也一样,java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2)java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了9。2.3 sql语句sql语句主要包括数据定

15、义语言、数据操作语言、数据控制语言等。具体有:(1)数据定义功能:数据定义语言(ddl): create, alter, drop, declare用户通过它可以方便地对数据库中的数据对象进行定义。(2)数据操纵功能:数据操作语言(dml):select, insert,delete, update,用户可以使用dml操纵数据,实现对数据库的基本操作,如查询、插入、删除、修改等。(3)数据控制语言(dcl):grant, revoke, commit。在数据库里做修改后 (insert,delete, update,)未commit 之前,使用rollback可以恢复数据到修改之前10。2.4

16、 数据库系统与人工管理和文件系统相比,数据库系统的特点主要有以下几个方面:数据结构化:在文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。而数据库系统则实现了整体数据的结构化,这是数据库的主要特征之一,也是数据库与文件系统的本质区别11。数据的共享性高、冗余度低、易于扩充:数据库系统从整体角度看待和描述数据,数据不再面向某个特定的应用程序,而是面向整个系统;因此,数据可以被多个用户、多个应用程序共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性12。数据独立性高:数据独立性包括数据的物理独立性和逻辑独立性13。物理独立性是指用户的应

17、用程序与存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘上的数据库中如何存储是由dbms管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,用户的程序不用改变14。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不改变。数据由dbms统一管理和控制:数据库的共享是并发的(concurrency)共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据15。dbms必须提供以下几方面的数据控制功能:数据的安全性保护(security);数据的完整性检查(

18、integrity);数据库的并发访问控制(concurrency);数据库的故障恢复(recovery)16。3 需求分析3.1 功能需求通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票、多选投票、查看投票、投票设计。单选投票:参与投票的人从提供的选择中选择一项来进行投票。多选投票:参与投票的人从提供的选择中可以选择一个或多个来进行投票。查看投票:提供参与投票的人查看目前投票的情况,投票的结果是以条形图来显示的。投票设计:管理员有权限设计不一样的投票主题,还有投票主题的具体内容供参与投票的人来进行投票,投票设计还包括这些功能需求:增加主题、删除主题、查看主题、修改主题。本系统

19、将是用图形化的界面来显示投票的结果,清晰明了的反馈参与投票的需求信息。3.2 系统主要特色本网络投票管理系统具有的主要特色:(1)操作方便。以前手工投票管理全都是人工操作,效率低下,缺乏方便性,网络投票管理系统运用计算机和其他附加设备,不再需要手工操作,全都是自动化,能够节省人力、最大限度地利用各种宝贵的资源,提高了工作效率。 (2)界面友好。友好的用户界面能给人一种亲切的感觉,使用的时候不会觉得沉闷,效率自然也会大大的提高了。(3)功能强大,能够满足各种统计需要,能够实现快速简单统计。3.3 模块功能需求各个模块所对应的需求如下:(1)投票首页模块:该模块面向对象为所有访问页面用户,其中包括

20、:当前系统时间的显示,实现截止时间的要求;管理员信息的查询,登录用户信息的显示;对主题进行投票,并对结果进行查询。(2)投票实现模块:该模块供参与投票的人对投票主题进行投票设计。在投票首页上,将会显示最近一个投票主题,用户可自由选择那些尚未过期的主题进行投票。投票操作具体为:用户选择一个或多个选项,确定,提交,即可投票成功,提交此页面,会跳转链接至显示投票结果的页面。(3)投票结果模块:该模块供参与投票的人,查看此项目已有的投票情况。投票结果显示页面会显示,相应投票选项的得票率和该项目总的得票数。(4)管理员登录模:该模块用于管理员登录。登录验证后,管理员才可以对投票信息进行维护。(5)投票管

21、理模块:该模块为管理员操作的模块。管理员登入系统后,可对本系统的所有投票项目进行相应的管理,如:增加投票主题,删除投票主题,修改投票主题,查看投票主题。3.4 性能需求硬件环境:普通电脑硬盘200mb以上即可;软件环境:windows xp系统;专门配置要求:需安装tomcat服务器;其他要求:无。3.5 开发流程软件工程中几个经典的开发模型瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型17。本系统具体要的开发流程包括:u数据库选择 ;u数据库接口的实现 ;u数据库建模方法 ;u程序开发软件 ;u需求分析 ;u需求的提取 ;u需求定义与规约; u系统总体设计 ;

22、u系统结构图 ;u数据功能模块设计; u系统的主要功能设计; u投票界面模块的设计 ;u投票主题模块的设计 ;u投票结果模块的设计 ;u用户信息模块的设计 ;u管理员登录的设计与实现18。3.6 数据流图(1)符号定义 数据的源点或终点 变换数据的处理 数据存储 数据流(2)数据流图的组成元素表1 数据流图的组成元素源点终点处理用户计算信息、添加记录、删除记录数据流数据存储用户登录信息投票结果普通用户信息投票结果管理员信息投票结果投票信息投票结果4 总体设计4.1 基本设计概念和系统总流程图;该部分将对系统进行总体设计,包括系统逻辑图,功能模块的概要设计,交互界面设计等内容,采用软件工程设计思

23、想,为详细设计打好基础19。本系统的总流程图如图1所示:4.2 系统功能逻辑结构本系统按照功能逻辑分为五个板块:投票首页模块,投票实现模块,投票结果模块,管理员登录模块,投票项目管理模块。具体功能逻辑图如图2所示:图1 系统的总流程图图 2具体功能逻辑图4.3 系统功能模块的设计网络投票管理系统(1)单选投票:显示单选投票表单;(2)多选投票:显示多选投票表单;(3)查看投票:显示查看投票结果表单;(4)投票统计:显示增加、删除、修改、查看投票主题表单。如图3所示:图 3系统功能模块的设计图4.4 数据库的设计该系统的数据库采用mysql,根据投票系统功能设计的要求,可以列出以下数据项和数据结

24、构20:投票表:存放投票信息,数据项包括:序号(id)、标识(flag)、选项类型(opttype)、投票主题(question)、投票选项内容(optcontent)、得票数(number)。5 系统开发5.1 数据库5.1.1 创建数据库create database db2009; /创建数据库db20095.1.2 创建表创建数据库中用到的投票表:create table vote( id int not null auto_increment, /序号 flag int, /标识 opttype int, /选项类型 question char(255), /投票主题 optcont

25、ent char(255), /投票选项内容 number int, /得票数 primary key(id),);数据库创建后的结构图如图4所示:图4 数据库结构图5.1.3 连接数据库该系统使用了mysql的jdbc驱动程序来连接数据库21。由于对数据库的访问,在整个系统中还是比较频繁,将对数据库的操作,写成一个dbconnect的类,通过该类来连接数据库和访问数据库22。/代码如下dbconnect.javapackage vote;import java.sql.*;public class dbconnect /设置连接数据库的参数 private string user = roo

26、t; private string password = 821192; /mysql的jdbc驱动程序 string sdbdriver = org.gjt.mm.mysql.driver; /连接数据库 string sconnstr = jdbc:mysql:/localhost:3306/db2009?user&password; connection conn = null; statement stmt = null; resultset rs = null; public dbconnect() try /加载数据库驱动程序 class.forname(sdbdriver); /

27、建立连接 conn = drivermanager.getconnection(sconnstr); catch (exception e) system.out.println(dbconnect(): + e.getmessage(); /查询 public resultset executequery(string sql) try stmt = conn.createstatement(); rs = stmt.executequery(sql);catch (sqlexception ex) system.out.println(sql.executequery: + ex.getm

28、essage(); return rs; public boolean executeupdate(string sql) /更新 try stmt = conn.createstatement(); stmt.executeupdate (sql); return true; catch (sqlexception ex) system.out.println (sql.executeupdate: + ex.getmessage(); return false; public void close () throws exception /关闭数据库的连接 conn.close (); s

29、tmt.close (); 5.2 功能的实现投票流程图:如图5所示。图 5 投票流程图该流程图已经包含了网络投票管理系统的制作的主要方法。5.3 问题及解决(1)数据库连接方面:该系统使用了mysql的jdbc驱动程序来连接数据库23。由于对数据库的访问,在整个系统中还是比较频繁,将对数据库的操作,写成一个dbconnect的类,通过该类来连接数据库和访问数据库24。(2)数据库操作方面如下: 插入数据库:sql=insert into vote(flag,opttype,question) values(0,+opttype+,+question+);dbbean.executeupdat

30、e(sql);sql=select * from vote order by id desc;resultset rs=dbbean.executequery(sql) 25; 查询数据库:sql=select * from vote where flag=0 and opttype=0 order by id desc;rs=dbbean.executequery(sql) 26; 删除数据库:string sql=delete from vote where id=+id ; dbbean.executeupdate(sql) 27;6 运行部分6.1 系统的安装该系统我在jdk1.5+m

31、ysql环境下测试通过28:安装步骤:该系统需要jsp运行环境和mysql数据库,如果服务器还没有搭建的话请先搭建启动tomcat29。(1)把vote、web-inf(vote文件夹存放的是.jsp文件,web-inf存放的是该系统使用到的一些.class文件)文件夹上传到你的主机目录。(2) 修改dbconnect.java里连接mysql数据库的ip、用户名和密码为你自己的ip,user, password修改编译之后放到web-infclasses目录下面。(3)请创建数据库db2009,然后使用mysql db2009vote.sql脚本创建该数据库使用到的表。(脚本存放的路径vot

32、evote.sql)(4)然后先在浏览器输入url:http:/localhost:8080 显示tomcat首页证明已经成功启动tomcat服务器再输入http:/localhost:8080/vote/vote.jsp 显示系统首页30。6.2 系统的使用以下是系统运行过程中出现的一些界面和主要代码,通过这些界面和代码来更好的了解该投票系统。(1)先启动tomcat服务器在ie浏览器的地址栏里输入http:/localhost:8080出现tomcat首页证明服务器已成功开启,再在ie浏览器的地址栏里输入网络投票管理系统的url: http:/localhost:8080/vote/vot

33、e.jsp后,将进入投票系统的首页。在首页中明确显示了该系统的操作单选投票、多选投票、查看投票、投票设计,如图6所示。图6网络投票管理系统首页vote.jsp网络投票管理系统 单选投票 % string sql=select * from vote where flag = 0 and opttype=0 order by id desc; resultset rs=dbbean.executequery(sql); int questionnum=0,opttype,id,id1; string question,str,optcontent,type; while(rs.next() /输

34、出投票的主题 questionnum+;str=主题+questionnum+:; question=rs.getstring(question); opttype=rs.getint(opttype);id=rs.getint(id); out.print(str+question+); resultset rs1; sql=select * from vote where flag=+id;rs1=dbbean.executequery(sql);out.print(); /输出该主题的选项while(rs1.next() id1=rs1.getint(id); optcontent=rs

35、1.getstring(optcontent); if(opttype=0) type=radio; else type=checkbox; % input type= name=vote value= (2)在网络投票管理系统首页中点击你所要进行的操作,能打开相应的页面。如点击“单选投票”链接就可以打开单选投票页面,如图7所示。图7网络投票管理系统单选投票(3)如果在首页中点击“多选投票“链接,即可打开多选投票页面如图8所示。图8网络投票管理系统多选投票(4)如果在首页中点击“查看投票“链接,即可查看投票的结果如图9所示。图9网络投票管理系统投票结果result.jsp投票结果单选投票结果%

36、string sql=select * from vote order by id ; resultset rs=dbbean.executequery(sql); string id; id = request.getparameter(vote); sql=update vote set number=number+1 where id=+id; dbbean.executequery(sql); resultset rs1,rstotal; int questionnum=0,opttype,id1,number,total=0; string question,str,optconte

37、nt; sql=select * from vote where flag=0 and opttype=0 order by id desc; rs=dbbean.executequery(sql); while(rs.next() questionnum+; str=主题+questionnum+:; question=rs.getstring(question); opttype=rs.getint(opttype); id=integer.tostring(rs.getint(“id”); out.print(str+question+); sql=select * from vote

38、where flag=+id; rstotal=dbbean.executequery(sql); /求得投票的总数while(rstotal.next() number=rstotal.getint(number); total+=number; sql=select * from vote where flag=+id;rs1=dbbean.executequery(sql);out.print(); /输出各选项的得票数while(rs1.next() id1=rs1.getint(id); optcontent=rs1.getstring(optcontent); number=rs1

39、.getint(number);% 得票数: img src = bar.gif width = height = 10 返回主页 (5)如果在首页中点击“投票设计“链接,即可打开投票设计中的”增加主题“页面,在增加主题页面上还有投票设计中的其它几项功能:删除主题、查看主题、修改主题、返回首页。增加主题的方法如10图所示: 图10网络投票管理系统增加主题add.jsp增加主题 增加主题 增加主题|删除主题|查看主题|修改主题|返回首页 请输入主题名: input type=text name=question size=50 value= input type=checkbox value=t name=type 多选    请输入选项的数目: input typ=text name=num size=5 value= %string

温馨提示

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

评论

0/150

提交评论