网络投票管理系统毕业设计Word文档格式.docx
- 文档编号:19788662
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:26
- 大小:136.44KB
网络投票管理系统毕业设计Word文档格式.docx
《网络投票管理系统毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《网络投票管理系统毕业设计Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
3.6数据流图6
4总体设计7
4.1基本设计概念和系统总流程图;
7
4.2系统功能逻辑结构7
4.3系统功能模块的设计9
4.4数据库的设计9
5系统开发9
5.1数据库9
5.1.1创建数据库9...
5.1.2创建表1..0..
5.1.3连接数据库1..0.
5.2功能的实现12
5.3问题及解决13
6运行部分1..3..
6.1系统的安装13
6.2系统的使用14
结论2..5...
致谢2..6...
参考文献2..7..
1绪论
1.1研究意义
随着INTERNET的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界,INTERNET恰恰是实现这目标的有利工具。
对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位,故一个网上网络投票管理系统应允而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的资本。
开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性。
运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力[1]。
一个网站不断发展的前提就是众多用户的支持,一个好的网站一定要注意与用户之间信息的交流。
能够有效得到用户反馈的信息,并及时对网站内容进行改进,这也是一个网站持续发展的基础。
也正是由于以上原因,网络上各式各样的投票系统层出不穷。
本次课程设计的目的,就是来制作一个网络投票管理系统,该系统可以实现对投票数量进行累加、查询、统计票数等操作。
网络投票管理系统主要用来统计网站用户对某个主题或热门话题的意见。
决策者通过这些统计数据做出相应的决策。
网络投票管理系统是一般网站必备的程序之一。
我设计的投票系统主要是针对网民对于热门话题的做出的选择[2]。
1.2可行性分析
1.2.1技术可行性
(1)操作系统:
Windows2000Server及以上服务器版本;
(2)数据库管理系统:
MySQL;
(3)服务器:
Tomcat5;
(4)编程工具:
编程软件为MyEclipse5.5,编程语言选用JSP[3]。
1.2.2经济可行性
(1)支出
1系统开发费用
1)人员费用:
本系统开发期为三周,试运行一周。
开发期需要开发人员1人,试运行期
需要开发人员1人。
人员费用为0.4万元。
2)设备费:
本系统所需的硬件设备费用为0.6万元。
第1页
3)不可预见费:
按开发费用的15%计算
2系统运行费用
1)系统维护费:
需要6人/年进行系统维护,维护费为1.8万元。
2)设备维护费:
设备更新费为0.6万元。
设备维护费为0.6万元。
3)消耗材料费:
每年按600元计算。
(2)收益
(1)提高工作效率。
(2)减少工作人员[4]。
1.2.3操作可行性
本网络投票管理系统的用户只需懂得运用互联网络者均可以使用,此系统在网站中的使用频度预计非常的频繁;
该系统属于实用型网站,需要对数据的处理,比如对投票票数的统计并把结果反馈给投票者,故对数据的及时更新要求较高,保证数据的真实性。
该系统在任何操作系统下都可以运行,但必须装有MySQL数据库[5]。
该系统的操作包括:
单选投票、多选投票、查看投票、投票设计。
单选投票:
参与投票的人从提供的选择中选择一项来进行投票。
多选投票:
参与投票的人从提供的选择中可以选择一个或多个来进行投票。
查看投票:
提供参与投票的人查看目前投票的情况,投票的结果是以条形图来显示的。
投票设计:
管理员有权限设计不一样的投票主题,还有投票主题的具体内容供参与投票的人来进行投票,投票设计还包括这些功能需求:
增加主题、删除主题、查看主题、修改主题。
2基础理论知识
2.1MySQL数据库简介
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理[6]。
MySQL因为其速度、可靠性和适应性而备受关注。
大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
第2页
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本[7]。
2.2JSP编程语言
JSP(JavaServerPages是)由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行[8]。
其优点包括:
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP的局限性JSP的优势是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
其缺点有:
(1)与ASP也一样,Java的一些优势正是它致命的问题所在。
正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了[9]。
2.3SQL语句
SQL语句主要包括数据定义语言、数据操作语言、数据控制语言等。
具体有:
(1)数据定义功能:
数据定义语言(DDL):
CREATE,ALTER,DROP,DECLARE用户通过它可以方便地对数据库中的数据对象进行定义。
第3页
(2)数据操纵功能:
数据操作语言(DML):
SELECT,INSERT,DELETE,UPDATE,用户可以使用DML操纵数据,实现对数据库的基本操作,如查询、插入、删除、修改等。
(3)数据控制语言(DCL):
GRANT,REVOKE,COMMIT。
在数据库里做修改后(INSERT,DELETE,UPDATE,)未commit之前,使用ROLLBACK可以恢复数据到修改之前[10]。
2.4数据库系统与人工管理和文件系统相比,数据库系统的特点主要有以下几个方面:
数据结构化:
在文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。
而数据库系统则实现了整体数据的结构化,这是数据库的主要特征之一,也是数据库与文件系统的本质区别[11]。
数据的共享性高、冗余度低、易于扩充:
数据库系统从整体角度看待和描述数据,数据不再面向某个特定的应用程序,而是面向整个系统;
因此,数据可以被多个用户、多个应用程序共享使用。
数据共享可以大大减少数据冗余,节约存储空间。
数据共享还能够避免数据之间的不相容性与不一致性[12]。
数据独立性高:
数据独立性包括数据的物理独立性和逻辑独立性[13]。
物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。
也就是说,数据在磁盘上的数据库中如何存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,用户的程序不用改变[14]。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不改变。
数据由DBMS统一管理和控制:
数据库的共享是并发的(concurrency)共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据[15]。
DBMS必须提供以下几方面的数据控制功能:
数据的安全性保护(security);
数据的完整性检查(integrity);
数据库的并发访问控制(concurrency);
数据库的故障恢复(recovery)[16]
第4页
3需求分析
3.1功能需求通过对用户的需求调查分析,可以概括出用户的功能需求如下:
单选投票、多选投票、查看投票、投票设计。
多选投票:
查看投票:
投票设计:
本系统将是用图形化的界面来显示投票的结果,清晰明了的反馈参与投票的需求信息。
3.2系统主要特色
本网络投票管理系统具有的主要特色:
(1)操作方便。
以前手工投票管理全都是人工操作,效率低下,缺乏方便性,网络投票管理系统运用计算机和其他附加设备,不再需要手工操作,全都是自动化,能够节省人力、最大限度地利用各种宝贵的资源,提高了工作效率。
(2)界面友好。
友好的用户界面能给人一种亲切的感觉,使用的时候不会觉得沉闷,效率自然也会大大的提高了。
(3)功能强大,能够满足各种统计需要,能够实现快速简单统计。
3.3模块功能需求
各个模块所对应的需求如下:
(1)投票首页模块:
该模块面向对象为所有访问页面用户,其中包括:
当前系统时间的显示,实现截止时间的要求;
管理员信息的查询,登录用户信息的显示;
对主题进行投票,并对结果进行查询。
(2)投票实现模块:
该模块供参与投票的人对投票主题进行投票设计。
在投票首页上,将会显示最近一个投票主题,用户可自由选择那些尚未过期的主题进行投票。
投票操作具体为:
用户选择一个或多个选项,确定,提交,即可投票成功,提交此页面,会跳转链接至显示投票结果的页面。
(3)投票结果模块:
该模块供参与投票的人,查看此项目已有的投票情况。
投票结果显示页面会显示,相应投票选项的得票率和该项目总的得票数。
(4)管理员登录模:
该模块用于管理员登录。
登录验证后,管理员才可以对投票信息进
第5页
行维护。
(5)投票管理模块:
该模块为管理员操作的模块。
管理员登入系统后,可对本系统的所有投票项目进行相应的管理,如:
增加投票主题,删除投票主题,修改投票主题,查看投票主题。
3.4性能需求硬件环境:
普通电脑硬盘200MB以上即可;
软件环境:
WindowsXP系统;
专门配置要求:
需安装Tomcat服务器;
其他要求:
无。
3.5开发流程软件工程中几个经典的开发模型瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型[17]。
本系统具体要的开发流程包括:
数据库选择;
数据库接口的实现;
数据库建模方法;
程序开发软件;
需求分析;
需求的提取;
需求定义与规约;
系统总体设计;
系统结构图;
数据功能模块设计;
系统的主要功能设计;
投票界面模块的设计;
投票主题模块的设计;
投票结果模块的设计;
用户信息模块的设计;
管理员登录的设计与实现[18]。
3.6数据流图
(1)符号定义
1数据的源点或终点
第6页
2变换数据的处理
3数据存储
4数据流
2)数据流图的组成元素
表1数据流图的组成元素
源点终点
处理
用户
计算信息、添加记录、删除记录
数据流
数据存储
用户登录信息
投票结果
普通用户信息
管理员信息
投票信息
4总体设计
该部分将对系统进行总体设计,包括系统逻辑图,功能模块的概要设计,交互界面设计等内容,采用软件工程设计思想,为详细设计打好基础[19]。
本系统的总流程图如图1所示:
4.2系统功能逻辑结构本系统按照功能逻辑分为五个板块:
投票首页模块,投票实现模块,投票结果模块,管
理员登录模块,投票项目管理模块。
具体功能逻辑图如图2所示:
第7页
网络投票
系统
管理员
管理选项
图1系统的总流程图
图2具体功能逻辑图
第8页
4.3系统功能模块的设计网络投票管理系统
(1)单选投票:
显示单选投票表单;
(2)多选投票:
显示多选投票表单;
(3)查看投票:
显示查看投票结果表单;
(4)投票统计:
显示增加、删除、修改、查看投票主题表单。
如图3所示:
图3系统功能模块的设计图
4.4数据库的设计
该系统的数据库采用MySQL,根据投票系统功能设计的要求,可以列出以下数据项和数据结构[20]:
投票表:
存放投票信息,数据项包括:
序号(id)、标识(flag)、选项类型(optType)、投票主题(question)、投票选项内容(optContent)、得票数(number)。
5系统开发
5.1数据库
5.1.1创建数据库
CREATEDATABASEdb2009;
//创建数据库db2009
第9页
5.1.2创建表
创建数据库中用到的投票表:
CREATETABLEvote
(
idINTNOTNULLAUTO_INCREMENT,//序号flagint,//标识
optTypeint,//选项类型
questionCHAR(255),//投票主题
optContentCHAR(255),//投票选项内容
numberINT,//得票数
PRIMARYKEY(id),
);
数据库创建后的结构图如图4所示:
图4数据库结构图
5.1.3连接数据库
该系统使用了MySQL的JDBC驱动程序来连接数据库[21]。
由于对数据库的访问,在整个系统中还是比较频繁,将对数据库的操作,写成一个DBConnect的类,通过该类来连接数据库和访问数据库[22]。
//代码如下DBConnect.javapackagevote;
importjava.sql.*;
publicclassDBConnect{
//设置连接数据库的参数
第10页privateStringuser="
root"
;
privateStringpassword="
821192"
//MySQL的JDBC驱动程序
StringsDBDriver="
org.gjt.mm.mysql.Driver"
//连接数据库
StringsConnStr="
jdbc:
mysql:
//localhost:
3306/db2009?
user&
password"
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
publicDBConnect(){
try{
//加载数据库驱动程序
Class.forName(sDBDriver);
//建立连接
conn=DriverManager.getConnection(sConnStr);
}
catch(Exceptione){
System.out.println("
DBConnect():
"
+e.getMessage());
//查询
publicResultSetexecuteQuery(Stringsql){
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
catch(SQLExceptionex){
sql.executeQuery:
+ex.getMessage());
}returnrs;
第11页
publicbooleanexecuteUpdate(Stringsql){//更新
try{
stmt.executeUpdate(sql);
Returntrue;
}catch(SQLExceptionex){
System.out.println("
sql.executeUpdate:
returnfalse;
publicvoidclose()throwsException{//关闭数据库的连接
conn.close();
stmt.close();
5.2功能的实现
图5投票流程图
第12页
该流程图已经包含了网络投票管理系统的制作的主要方法。
5.3问题及解决
(1)数据库连接方面:
该系统使用了MySQL的JDBC驱动程序来连接数据库[23]。
由于对数据库的访问,在整个系统中还是比较频繁,将对数据库的操作,写成一个DBConnect的类,通过该类来连接数据库和访问数据库[24]。
(2)数据库操作方面如下:
①插入数据库:
sql="
insertintovote(flag,optType,question)values(0,"
+optType+"
'
+question+"
'
)"
dbBean.executeUpdate(sql);
select*fromvoteorderbyiddesc"
ResultSetrs=dbBean.executeQuery(sql[)25];
②查询数据库:
select*fromvotewhereflag=0andoptType=0orderbyiddesc"
rs=dbBean.executeQuery(sql)[26];
3删除数据库:
Stringsql="
deletefromvotewhereid="
+id;
dbBean.exe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 投票 管理 系统 毕业设计