当前位置:文档之家› 在线投票系统课程设计报告

在线投票系统课程设计报告

软件开发新技术说明书题目: 在线投票系统院系:计算机科学与工程学院专业班级:计科14-3班学号: **********学生姓名:***指导教师:***2017 年 11 月 30 日安徽理工大学课程设计(论文)任务书摘要相较于传统投票方式,在线投票是任何一次商演(时间短、影响范围小)、电视(投入大,效果不明显)或者户外广告(不能快速吸引消费者眼球)在投入产出效率上都难以企及的。

在线投票能够迅速提升活动商家的广告价值,降低商家广告成本,提高知名度以及美誉度。

网络投票的主要目的就是人群放大:通过网络投票,可以吸引大量的选手及相关亲友的关注,通过以往的数据统计,一名选手参与投票,会带动60人参与。

这样可以最大程度的向客户展现实力,扩大社会影响力。

系统分为前台和后台两部分,前台主要是对普通用户开放。

普通用户将实现注册、投票、重选等操作;后台主要作用是管理员实现登录、投票管理、用户管理等操作。

依据前台和后台的不同权限需求,在线投票系统主要分为普通用户和管理员两个功能模块。

普通用户模块将实现用户注册、用户登录、用户投票以及投票重选和查看投票结果等功能。

管理员模块将实现管理员登录、发布新投票、撤消投票、查看所有投票、编辑和删除新投票以及用户管理等功能。

关键词:网上投票、JSP、MYSQL目录1系统分析 (5)1.1 系统简介 (5)1.2 系统功能 (5)2系统设计 (6)2.1 开发工具简介 (6)2.2 总体功能模块设计 (7)3系统实现 (10)3.1 数据库实现 (10)3.2 程序模块实现 (11)4总结 (16)4.1 设计体会 (16)4.2 系统改进 (16)参考文献 (18)1系统分析1.1 系统简介随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。

在计算机应用中很重要的一部分就是编程语言,编程语言的出现打开了计算机应用的新篇章。

在这些编程语言中JSP占有着重要的地位,JSP拥有Java编程语言“一次编写,各处运行”的特点[1]。

在当今的网络应用中JSP无处不在,在线投票系统就是JSP功能强大的一个最好的例证。

在线投票系统有很多传统投票方式不可比拟的优势。

首先,它可以在很短的时间内,通过互联网将不同时间不同地域的用户投票组合到一起,并进行结果反馈,这是传统的投票方法完全做不到的;其次,在线投票系统的效率要比以往的传统投票方法高很多,在这个寸时如寸金的年代,在线投票系统不但省去了投票与计票环节的人力成本,还可以节省很多时间以用作处理其他更重要的事情;综上所述,在线投票系统有着快捷、经济、方便、省时省力等诸多优点都注定它将是未来投票方式的主流。

在线投票系统可以用来统计网站用户对某个主题或热门话题的意见。

网站管理员也可以通过投票的方式了解用户的看法,或者通过在线投票系统这个媒介去了解用户的思想、意见,并通在线投票系统的结果反馈改进自己的网站设计。

政府决策者也可以通过在线投票系统来调查民众对某一项新政策的意见,进而统计数据做出更恰当的决策。

在线投票系统是当今各大网站必备的程序之一,如果网站开发者想了解用户对该网站的意见和建议,他可以设计这样一个投票主题:你认为该网站如何?(A.很好B.一般C.不好)然后提供给用户进行投票。

1.2 系统功能因在线投票系统有着经济、快捷等诸多优点,所以在实际项目实践中如何很好的实现这些优点便成了整个开发过程中的重中之重。

在整个项目实践中,首先对课题的实际要求与需求分析进行详细的考究,查阅大量的相关资料,并且借鉴一些其他投票系统的项目经验,最后提出设计方案。

系统分为前台和后台两部分,前台主要是对普通用户开放。

普通用户将实现注册、投票、重选等操作;后台主要作用是管理员实现登录、投票管理、用户管理等操作。

依据前台和后台的不同权限需求,在线投票系统主要分为普通用户和管理员两个功能模块。

普通用户模块将实现用户注册、用户登录、用户投票以及投票重选和查看投票结果等功能。

管理员模块将实现管理员登录、发布新投票、撤消投票、查看所有投票、编辑和删除新投票以及用户管理等功能。

2系统设计2.1 开发工具简介在在线投票系统的设计发开过程中主要用了JSP技术,其中用到的工具有:JDK1.4、MyEclipse6.0、MySQL、Tomcat等。

1.JSP简介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已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.MySQL简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。

MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

2.2 总体功能模块设计在线投票系统总体功能模块包括普通用户登录模块和管理员登录模块,其具体描述如下:1.普通用户模块(1)用户注册:普通投票用户须通过账号注册方可以进行投票;(3)重选:用户可以进行重新投票;(2)登录:注册成功后,可输入用户名和密码登录系统;从以上介绍中我们能看到,普通用户模块包含着3个不同的功能,其各部分功能关系如图1所示。

图一普通用户模块图2.管理员模块(1)发布新问题;(2)用户管理,管理员可以增加和删除普通用户(超级用户不能删除),或者更改普通用户密码;(3)查看所有投票;从功能描述的内容中可以看到,管理员模块可以实现发布新投票、重新编辑投票、查看所有投票、删除投票、公布结果和撤销投票等多个完整的功能,并且不同功能之间也存在着一些直接或间接联系,如图2所示。

图二管理员模块图在线投票系统的流程图包含了该系统的投票原理与主要制作方法。

从流程图上我们可以看到在线投票系统需要经过登录、显示投票表单、取得投票参数、累加投票数、将投票写入数据库和显示投票结果等步骤,其流程图,如图3所示。

图三投票流程图3系统实现3.1 数据库实现数据库设计是软件开发中的重要环节,是对系统数据全面的、详细的分析。

数据库设计的好坏直接关系到整个项目设计的效率的高低,关系到设计的稳定性。

根据在线投票系统不同模块之间的联系和前期的设计目的与需求,设计了三个不同的数据表,它们分别是用户表、投票选项表和投票主题表。

1.用户表(users)用户表包括所有用户的各种信息,如用户名、密码等详细数据并规定了每个字段的类型,如表1所示。

2.管理员表(admins)管理员表包括管理员的各种信息,如管理员名称、密码等详细数据并规定了每个字段的类型,如表2所示。

3.投票选项表(items)投票选项表包括每个投票选项的基本信息,如投票编码、问题ID、投票选项和投票选项各选项所得票数等信息,同时此表还规定了字段类型和长度,具体的数据说明如表3所示。

4.投票主题表(questions)投票主题表包括投票主题、问题ID、是否对外投票、投票日期以及是否对外公布投票结果等信息,详细数据类型和字段长度如表4所示。

表4 投票主题表(questions)字段名数据类型长度是否主键描述QuestionID Int 255 是问题IDQuestion varcher 500 否投票主题IsVisable int 20 否是否对外投票Date varcher 100 否日期值IsOpen int 20 否是否对外公布结果3.2 程序模块实现本系统分为普通用户和管理员两部分模块。

普通用户模块具有注册、登录、投票等功能;管理员模块则具有登录、发布新投票、编辑投票、撤消投票、删除投票、用户管理与公布结果等功能。

3.2.1普通用户1.注册模块普通用户登录在线投票系统需要先进行账号注册,注册成功后方可以其他操作,注册模块的界面如图4所示。

图4 用户注册当用户输入合法用户名和密码后就可以完成用户注册,提示页面如图5所示。

图5 注册成功提示2.登录模块普通用户在完成注册后方可以登录在线投票系统,注册完毕后单击“请重新登录”便可以重新返回登录页面,如图6所示。

图6 用户登录3.投票模块当所有的选项都投票完毕后,用户单击“投票入口”按钮,便可进入投票页面,如图7所示。

图7 投票页面4.投票结束当所有的选项都投票完毕后,用户单击“提交”按钮,便完成了投票的流程,如果用户想要查看这些问题的投票结果,投票完毕后点击“查看投票结果”便可以查看当前投票结了,如图8所示。

图8 查看结果3.2.2 管理员1.用户管理模块管理员登录在线投票系统后可以对普通用户的账号及密码进行相关的管理操作,管理员可以直接删除用户,也可以更改用户名密码,相关页面如图9所示。

图9 用户管理2.投票发布模块管理员登录在线投票系统后可以根据需要发布相关投票,并可以对相关投票进行删除、发布、撤消、隐藏等操作,相关页面如图10所示。

图10 投票发布3.重新编辑模块当有重新编辑某一投票选项的需要时,管理员可以单击“编辑”对相关投票进行重新编辑,编辑完毕后单击“发布按钮”编辑完成,相关页面如图11所示。

图11 重新编辑4.公布结果模块管理员发布的投票可以根据实际需要公布和投票结果,当投票过期或者此投票已经没有公布结果的需要时,管理员可以根据需要单击“公布结果”或“隐藏结果”。

相关主题