网上在线投票系统的设计与实现毕业设计论文.docx
- 文档编号:12907680
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:50
- 大小:504.89KB
网上在线投票系统的设计与实现毕业设计论文.docx
《网上在线投票系统的设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《网上在线投票系统的设计与实现毕业设计论文.docx(50页珍藏版)》请在冰点文库上搜索。
网上在线投票系统的设计与实现毕业设计论文
网上在线投票系统的设计与实现
摘要:
网上在线投票系统在我们的日常生活中应用得十分广泛,特别是在21世纪作为internet和web的世界。
网络上很多的评选活动都是通过网上投票系统来实现的,如娱乐网站投票评选用户最喜欢的明星、音乐网站投票评选出歌曲排行榜等等。
网上投票系统让用户投票方便,也让投票统计结果变得迅速,还能及时了解用户的意见及建议。
这对于传统纸质的调查节省了人力物力,正因为如此,在线投票系统能得以如此广泛的使用。
对网上在线投票系统的实现,网络安全是我们首要解决的问题,比如说用户权限的限制、防止用户修改投票数据、防止用户任意的重复投票等。
下文将介绍一个在IIS服务器上用设计的功能相对简单的网上在线投票系统。
关键词:
在线投票系统;网络安全;
TheDesignandImplementationofnetwork
onlinevotingsystem
Abstract:
Onlinevotingsystemisappliedinabroadinourdailylife,especiallywhen21centuryisconsideredastheworldofinternetandweb.OntheInternet,manyoftheactivitiesareselectedbyonlinevotingsystemtoachievetheresults,Suchasthevoteselectionofthemostlikestarintheentertainmentsite,thevoteselectionofsonglistinthemusicsite,etc.Itisconvenienceforuserstovotebyonlinevotingsystem,anduserscanacquiretherapidresults.What’smore,users’sviewsandsuggestioncangatheredrapidly.Comparingwiththetraditionalpaper-basedsurvey,itsavespersonnelandresource,Thatiswhytheonlinevotingsystemcanbesowidelyused.
Butthebiggestproblemoftheonlinevotingsystemwemustsolveisthenetworksecurity,Forexample,theuserprivilegesmustbelimitted,youmustpreventusersmodifythevotingdataandpreventanyrepeatedvotingoffollowingPaperswillintroducearelativelysimpleon-linevotingsystemonanIISserverdesigningbythe
Keywords:
Onlinevotingsystem;networksecurity;
前言
随着Internet的高速发展,基于网络B/S(Browser/Server)结构的应用程序得到越来越广泛的应用。
B/S结构应用程序的客户端只需要一个浏览器,而将所有的业务规则、数据处理等工作放在服务器端进行,这是一种非常适合Internet的结构。
网络技术的发展,网页的应用范围逐步扩大,Microsoft公司推出的(ActiveServerPages,动态服务器网页)技术的网络应用平台,已经被广泛的编程人员采纳。
可以开发出满足企业、组织和个人要求的各种网站,的主要特性是能够把脚本、HTML、组件和强大的Web数据库访问功能结合在一起,形式一个能在服务器上运行的应用程序,并按用户的要求专门制作的HTML页面传送给客户端浏览器。
互联网日益广泛的使用,各种互联网业务在国内的迅速普及,使得网上在线投票系统在许多网络应用中得到了十分广泛的使用。
网上在线投票在网络活动中非常常见,网络上很多的评选活动都是通过网上在线投票系统来实现的。
如新闻网站投票评选用户最感兴趣的新闻;音乐网站投票评选出歌曲排行榜;还有各种各样“最佳”的评选,都是通过投票来进行的。
网上在线投票比起传统的人工投票,优势是显而易见,网上在线投票方便,用户通过网络在家中就可以投出自己的一票,而统计者可以利用数据库,通过计算机很快地得出想要的结果。
这样不仅节省很多时间,也节省了很多资源。
网上在线投票系统相对其他设计系统来说是一个小系统,它要实现的功能简单明了,但它所涉及的技术还是比较广泛的。
只是它所需要的SQLServer、和IIS安装配置及它们在网络系统开发中结合使用的知识都相对简单,而这些知识都出现较早且得到了很广泛的应用,技术上相对成熟,因此在整个网上在线投票系统设计中遇到的很多问题都可以在网上找到解决方法,整个系统开发难度不是很大。
对于网上在线投票系统来说,整个系统关键的还是对投票各方面进行管理和信息处理的模块,如投票主题管理、同一个主题下的投票项管理、对用户投票信息进行分析处理等。
实现此系统过程中需要解决的最大问题是网络安全问题,比如说用户权限的限制,防止用户修改投票数据、防止用户任意的重复投票等,只有解决了这个问题,才能得到有意义的投票结果。
本文将介绍一个功能简单的网络投票系统,该投票系统不限制的用户,只要登录到该网站即可参与投票和查看投票结果。
第1章绪论
课题背景
在现在的大部分网站中,都采用了网上投票的形式来获得用户对该网站的评价。
不只是对于网站的评价,对一些热点事件、新闻,也采用了网上投票来了解大众的看法,网上投票是目前网上比较普遍的一个功能,用户可以在Internet上直接投票,并可以立刻查看投票结果。
一方面,用户投票比较方便;另一方面,用户和管理员都可以通过查看投票结果分析投票结果。
近几年来,基于TCP/IP的技术以非同寻常的速度被广泛应用于处类企业,其中一个很重要的手段就是建立WEB站点发布信息。
传统的的静态网页技术已越来越不能满足用户的需求,因此各种动态网页技术应运而生。
ASP就是其中的一种,而是微软新一代的动态网页技术。
与其它编程技术对比,它有如下的优势:
1.面向对象性
C#是一种面向对象语言,在很多方面来看,C#将成为微软与JAVA相似的语言。
C#是开发中一个最重要的开发工具,微软将C#发展成为JAVA的强劲对手。
这也是微软.NET框架的一个重要组成部分,C#是微软在编程市场上击败对手的主要工具。
2.大型站点应用
将对大型站点有更好的支持。
可以让用户考虑到多服务器的场合,当用户需要更强大的功能时,仅仅需要增加一台服务器即可。
整个.NET框架已经充分地提供了这个方法。
另外,由于请求的各个组件相互间经过了充分的优化,所以速度很快。
还提供更多的其他方面的新特性,例如:
(1)内置的对象缓存和页面结果缓存。
(2)内置的XML支持,可用于XML数据集的简单处理。
(3)服务器控制提供了更充分的交互式控制。
课题目的和意义
目前的投票系统采用ASP、等技术的。
基于ASP和脚本语言的是将动态网页和数据库结合,通过应用程序来处理。
但是由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取了技术的系统性能上有了很大的改善,其主要表现在以下几方面:
1.由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而页面只需要一次编译后不需要重新编译,直到该页面被修改或WEB应用程序重新启动。
这使得在多次访问时速度有了极大的提升。
2.由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而通过提供的DataGrid等数据库元件可以直接和数据库联系。
3.支持应用程序的实时更新。
管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。
应用程序永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。
当文件更新后,系统会自动转换到新的版本。
4.采取code-behind的方式编写代码使得代码更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。
系统结构
系统设计中服务器端采用的操作系统为WindowsXP、Web服务器为IIS、数据库采用SQLServer2000。
采用+SQLServer2000来进行系统开发。
整个系统结构较简单,正确安装和配置IIS,建立好数据库,便可在浏览器中通过相应路径访问网页进入系统,进行投票管理、参与投票、查看投票结果,十分简便。
本投票系统包括5个主要模块:
管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。
管理员登录及管理模块需要完成的功能是管理员身份验证。
只有登录的管理员才能对投票主题等进行管理,修改密码。
投票模块完成的功能是显示投票项、更新数据库、显示投票结果。
投票管理模块完成的功能是能够增加、修改和删除投票主题和投票主题的各选项。
课题主要工作
课题主要工作是如何通过+SQLServer建立起一个功能相对完善在线投票系统。
投票系统主要是实现投票模块和投票管理模块,实现此系统最大的问题是解决相应的网络安全问题,如防止用户任意的重复投票等问题。
以下将要进一步介绍的课题针对诸如此类的问题做的一定的探索和解决。
本文共分如下六部分:
第一章是绪论,介绍了本课题的研究背景及研究的目的和意义,概述了网上在线投票系统的架构,并提出了论文的研究内容。
第二章是在线投票系统的需求分析,包括系统总体分析、系统功能分析、系统数据库需求分析,系统可行性分析和系统的安全性分析。
第三章是系统概要设计,简述了系统设计目标、系统的组成、软件运行环境、各模块功能及其实现流程的简单概括、数据库设计与连接、系统文件说明。
在第四章是系统的详细设计,对系统进行了详细设计,详细阐述了开发项目相关技术,各个模块的功能与实现方法步骤。
第五章是系统的调试结果,对在系统设计中碰到的问题及解决办法做了一个说明。
最后,对全文进行了总结,提出在系统设计中值得思考的问题与收获,并附上参考文献和致谢。
第2章系统的需求分析
系统总体分析
在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发常用的功能模块。
当网站的管理员或用户提出一些新的想法与建议或者出现一种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户或者客户的需求,另外,网站还可以通过网上在线投票功能做一些实际性的调查工作。
这里所设计的这个基于的网上在线投票系统主要分为5个主要模块:
管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。
系统的功能分析
网上在线投票系统实现了用户在上直接投票的功能,并且还能够查看投票结果。
系统实现的功能具体描述如下:
本系统实现的功能比较简单,主要包括以下几个功能:
1.禁止重复投票;
2.投票主题的管理;
3.投票选项的管理;
4.使用方形图显示投票结果;
5.用户在线投票;
6.配置投票参数。
数据库需求分析
本系统需要建立5张数据表,用于存放各个模块的数据,其中有:
管理员表admin,投票者信息表voter,标题表votetitle,选项表voteitem,系统配置表voteconfig,还有一个触发器,用于当某个选项加一票时,该选项所属的投票主题加一。
系统可行性分析
1.技术可行性分析
在线投票系统使用简单的HTTP和TCP/IP协议,使用+SQLServer技术,这些技术都容易掌握,便于使用。
其中应用技术,不需要进行复杂的编程,就可以开发出专业的动态Web网站。
技术的出现给Web带来了全新的动态效果,使其具有更加灵活和方便的交互性,并且在Internet中实现信息的传递和检索也越来越容易。
2.系统经济可行性分析
目前的互联网上网站数量非常多,在线投票作为一个小模块非常实用,它能为各网站统计用户意见,收集用户信息,为网站带来效益非常明显,加上其实现和使用都不复杂,所以设计在线投票在理论上是可行的。
系统安全性分析
考虑到在线投票系统是一个很实用的模块,在网络上使用用户众多,并且存储了大量的数据资料,这些数据对投票结果的统计是否准确很重要,因此系统的安全具有十分重要的意义。
以下从系统安全软件的应用和系统的开发两个方面来确保系统的安全。
在系统安全软件方面,我们使用Windows2000Server搭配瑞星防火墙。
防火墙技术是一种较为安全有效的防范技术。
它通过在网络边界上建立起来的相应网络安全监测系统来隔离内部和外部网络,以确定哪些内部服务允许外部访问,以及允许哪些外部服务访问内部服务。
通过隐藏内部网络的技术隔离内外网,并对进出内外网的数据进行控制来达到阻挡外部网络的入侵。
在系统设计上,我们按照安全模式思想,做到以下几个方面:
1.设置多种角色,实现不同用户对系统的不同的访问操作;
2.对系统用户的访问时间、访问协议、访问IP、访问流量进行过滤限制;
3.使用Session在页面之间安全传递参数。
通过系统软件的安全防护功能和在应用系统的开发中应用安全模式的思想,网上在线投票系统从Web服务器、数据库服务器和应用程序级几个层次建立了较好的安全防护机制。
第3章系统概要设计
软件运行环境设计
服务器端:
操作系统:
WindowsXP/Windows2000。
Web服务器:
IIS。
数据库:
Access2000或SQLServer2000。
浏览器:
IE,推荐使用IE。
分辨率:
最佳效果1024×768像素。
客户端:
浏览器:
IE,推荐使用IE。
分辨率:
最佳效果1024×768像素。
系统设计目标
1.管理员可以设置是否禁止重复投票。
如果禁止重复投票,则同一个IP地址在规定的时间间隔内不可以再次投票,这通过一个记录IP地址和投票时间的数据表来实现。
2.用户投票前后都可以查看投票结果,在投票结果页面可以详细看到每项投票的票数。
投票票数以图形形式显示。
系统模块设计
本投票系统包括5个主要模块:
管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。
1.用户投票模块完成的功能是显示投票项、记录用户投票选项、更新数据库、显示投票结果。
用户投票流程图如图所示。
图用户投票流程图
2.投票管理模块完成的功能是能够增加、修改和删除投票主题和投票主题各选项,投票管理模块又分为以下几个子模块:
投票信息管理模块、修改系统配置模块和修改密码模块。
投票管理流程图如图所示。
登录
图投票管理流程图
系统数据库设计
系统使用Microsoft的SQLServer2000数据库系统。
本系统使用的数据库名称为vote,启动SQLServer2000,打开SQL查询分析器,输入:
Createdatabasevote
执行该语句,使用默认设置建立起vote数据库。
为了实现本系统,在vote数据库中建立5个数据表,以下各节将说明如何设计这5个数据表。
3.4.1管理员信息表
管理员信息表admin中存储了系统管理员的资料。
其中id字段存储ID,adminname字段存储管理员名称,pwd字段存储管理员密码。
admin表的字段名和数据类型如表所示。
表SQLServer2000数据库管理员信息表admin
其中管理员可以对投票进行管理,而一般用户则只能进行投票和查看结果。
admin数据表各字段说明如表所示。
表admin数据表
字段名称
数据类型
说明
id
int
主键,自动编号
adminname
varchar
管理员姓名
pwd
varchar
管理员密码
3.4.2投票主题表
投票主题表votetitle中存储了投票主题内容等信息。
其中titleid字段存储主题ID,title字段存储主题的名称,total存储主题的总票数。
votetitle表的字段名和数据类型如表所示。
表SQLServer2000数据库投票主题表votetitle
votetitle数据表各字段说明如表所示。
表votetitle数据表
字段名称
数据类型
说明
titleid
int
主键,自动编号
title
varchar
投票主题内容
total
int
当前投票主题的票数
3.4.3投票选项表
投票项目表voteitem中存储了具体投票选项的信息。
其中titleid存储所属投票主题的ID,itemid字段存储投票选项的ID,item字段存储投票选项的内容,itemsum字段存储各投票选项的票数。
voteitem表的字段名和数据类型如表所示。
表SQLServer2000数据库投票选项表voteitem
voteitem数据表各字段说明如表所示。
表voteitem数据表
字段名称
数据类型
说明
itemid
int
主键,自动编号
titleid
int
外键,所属投票主题的ID号
item
varchar
投票选项的内容
itemsum
int
各选项的票数
3.4.4投票者信息表
投票者信息表voter中存储了投票者的信息。
其中titleid存储投票主题的ID,ip存储投票者的IP地址、votetime存储投票者最后一次的投票时间、votetimes存储投票者的投票次数。
voter表的字段名和数据类型如表所示。
表SQLServer2000数据库投票项目表voter
voter数据表各字段说明如表所示。
表voter数据表
字段名称
数据类型
说明
titleid
int
主键,投票主题的id
ip
varchar
主键,投票者的IP地址
votetime
datetime
投票的时间
votetimes
int
该投票者投票的次数
3.4.5系统配置表
系统配置表voteconfig中存储系统的配置信息。
其中id字段存储配置的ID,checkip字段存储配置表的是否限制IP,checktime字段存储系统的间隔时间等信息。
voteconfig表的各字段名和数据类型如表所示。
表SQLServer2000数据库投票配置表voteconfig
voteconfig数据表各字段说明如表所示:
表voteconfig数据表
字段名称
数据类型
说明
id
int
主键,自动编号
checkip
int
设置系统是否限制IP,1为不限制,0为限制
checktime
int
时间间隔
3.4.6创建触发器
在voteitem表中创建触发器updatevotesum,创建语句如下:
createtriggerupdatevotesum
onvoteitem
forupdate
as
begin
updatevotetitlesettotal=total+1wheretitleid=(selecttitleidfrominserted)
end
该触发器的条件是更新,也就是当voteitem表中的字段进行更新时触发。
主要用于当选项增加一票时,该选项所属的投票主题的总票数加一。
系统文件说明
在本系统中,用户登陆及管理模块包括以下文件:
、、、、、、等文件,具体文件的作用如下:
:
管理员登录页面。
:
投票主页面,显示投票主题和选项。
:
投票结果显示界面
:
投票主题管理页面,管理员在此页面添加、修改、删除投票主题。
:
系统配置文件,设置系统的全局属性
:
投票主题管理页面。
管理员在此选择管理功能。
:
投票选项页面,管理员在此页面添加、修改、删除投票选项。
:
管理员密码修改页面,管理员在此修改密码。
第4章系统详细设计与实现
系统设计的相关技术
4.1.1A动态网页技术
是新的、功能强大的服务器端技术,用于创建动态WEB页。
是Microsoft公司的动态服务器页面(即ASP)和.NET这两个主要技术的集合。
又叫ASP+,但并不仅仅是ASP的简单升级,而Microsoft推出的新一代ActiveServerPages脚本语言。
是微软发展的新型体系结构。
吸收了ASP以前版本的最大优点并参照JAVA、VB语言的开发优势加入了许多新的特色。
基于Browser/Server模式的体系结构简介。
C/S结构,即Client/Server(客户机/服务器)结构,是我们熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通信开销,也可充分利用两端硬件的优势。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全可以通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务项目端实现。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言和ActiveX技术,利用通用浏览器就实现了原本需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows2000/Windowsxp将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
4.1.2A对象概述
.NET中包含的都是对象。
.NET的一个重要特性就是从内部变量到功能全面的应用程序的所有事物都定义为显式的对象。
.NETFramework主体就是一个对象类库,包含了上百个类,这些类提供了强大的功能,可以帮助完成各种任务,比如处理文件、监控网站性能,生成随机数等。
在中要完成的许多工作、实现的许多功能都要用到这些类定义的对象。
下面将介绍.NET类的组织形式(即命名空间),以及内置的对象。
1.命名空间
命名空间就是一组相似的类。
为了便于用户方便查找类,.NETFramework使用了非常规范整齐的命名模式组织所有的类,即命名空间。
用户使用的Web页面的类,包含在命名空间中,而命名空间被包含在system命名空间中。
的内置对象
的内置对象主要有Page、Response、Request、Server、Application、Session和Cookies这7个对象。
每个对象有自己的属性、方法和事件。
属性用来描述对象的特性,方法用来执行对象的动作,事件是在符合某些条件的时候或某些情况发生的时候对象执行的动作。
下面简要介绍一下这7个对象的主要功能和用途,如表所示。
表内置对象
对象名称
对象说明
Page对象
WebForm网页在执行的时候会被编译成Page对象,Page对象用来设置与网页有关的属性、方法和事件
Response对象
Response对象用来决定服务器端在什么时候或如何输出数据到客户端
Reque
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 在线 投票 系统 设计 实现 毕业设计 论文