基于JSP的网上投票系统设计与实现Word文档格式.docx

上传人:b****6 文档编号:16170812 上传时间:2022-11-21 格式:DOCX 页数:38 大小:1.25MB
下载 相关 举报
基于JSP的网上投票系统设计与实现Word文档格式.docx_第1页
第1页 / 共38页
基于JSP的网上投票系统设计与实现Word文档格式.docx_第2页
第2页 / 共38页
基于JSP的网上投票系统设计与实现Word文档格式.docx_第3页
第3页 / 共38页
基于JSP的网上投票系统设计与实现Word文档格式.docx_第4页
第4页 / 共38页
基于JSP的网上投票系统设计与实现Word文档格式.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

基于JSP的网上投票系统设计与实现Word文档格式.docx

《基于JSP的网上投票系统设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于JSP的网上投票系统设计与实现Word文档格式.docx(38页珍藏版)》请在冰豆网上搜索。

基于JSP的网上投票系统设计与实现Word文档格式.docx

日期:

摘要

随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。

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

选举、调查不再局限于以往的方式,在线投票系统以更便捷、更快速、更经济、更准确的优势广泛应用于各种网络投票选举、问卷调查中。

它将用户和网站很好的联系起来,进而达到互联网资源共享的目的。

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

网站管理员也可以通过在线投票系统这个媒介去了解用户的思想、意见,并通过在线投票系统的结果反馈改进工作策略。

本系统采用JSP中常见的语言模块,以操作系统WindowsXP作为开发平台,并且使用MyEclipse、SQLserver2000等工具设计开发;

在线投票系统包括前台注册、登录、投票、结果查看和后台管理等部分,管理员可随意增删和修改投票项目,可管理投票用户账号,以及设定隐藏、公布投票结果等功能。

【关键词】在线投票系统JSPMyEclipseSQLserver2000

1.需求分析

1.1系统介绍

本投票系统主要分为普通用户和管理员两部份。

普通用户登录后可以进行投票和查看投票结果;

管理员登录后可以进行管理投票话题和管理投票项。

“投票”用例主要的功能是普通用户对某个投票话题进行投票,在用户进行投票时检测用户是否已经投票了该话题,保证每个用户都一个话题只能投一次票。

“查看投票结果”用例负责为用户提供某个话题的投票情况,包括每个选项的票数以及统计图。

“登录”负责核对管理员的用户名与密码,保证管理员身份的正确性。

“管理投票话题”用例负责为管理员提供添加和删除话题的功能。

“管理投票项”用例负责为管理员提供添加和删除选项的功能。

1.2需求的提取

1.2.1在线投票系统应具有的独特的功能:

(1)方便的操作。

原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。

(2)友好的界面。

友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。

(3)强大的功能,能够满足需要,快速简单的统计任务,提高质量。

1.2.2在线投票系统需要满足的条件:

(1)系统自动把投票结果转换为百分比显示。

(2)投票管理员可以对投票主题和投票选项进行设计与修改。

1.2.3在线投票系统开发应遵循以下要求:

(1)尽量采用现有软硬件环境及先进的系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。

(2)系统应具有可扩展、可复用的特点,能与投票系统接轨,数据库的设计应该具有通用性。

(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统维护人员的调试与修改维护。

(4)系统应具备数据库维护功能,及时根据需要进行数据的添加、删除、修改等工作。

2开发工具简介

在在线投票系统的设计发开过程中主要用了JSP技术,其中用到的工具有:

JDK1.4、MyEclipse、SQLserver2000、Tomcat等。

2.1.JSP简介

JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段和JSP,从而形成JSP文件。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

在线投票系统用JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使本系统基于Web的应用程序的开发变得迅速和容易。

(1)一次编写,到处运行。

在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。

基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。

相比ASP/PHP的局限性是现而易见的。

(3)强大的可伸缩性。

从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。

这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.2.SQLserver2000简介

 SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,SQLServer2000数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。

它具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用;

SQLServer2000SQLServer2000不但结合了分析、报表、集成和通知功能,而且它具有的图形化用户界面,可以使系统管理和数据库管理更加直观、简单;

SQLServer2000与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。

SQLServer2000也可以很好地与MicrosoftBackOffice产品集成。

SQLServer2000因为其速度、可靠性和适应性而备受关注。

针对以上种种情况,SQLServer2000数据库是在线投票系统最好的选择。

3.分析与设计

3.1系统结构图

在线投票系统总体功能模块包括普通用户模块和管理员模块,其具体描述如下:

1.普通用户模块

(1)用户注册:

普通投票用户须通过账号注册方可以进行投票;

(2)登录:

注册成功后,可输入用户名和密码登录系统;

(3)重选:

用户可以进行重新投票;

从以上介绍中我们能看到,普通用户模块包含着3个不同的功能,其各部分功能关系如图3-1-1所示。

图3-1-1普通用户模块图

2.管理员模块

(1)发布新问题;

(2)用户管理,管理员可以增加和删除普通用户(超级用户不能删除),或者更改普通用户密码;

(3)查看所有投票;

从功能描述的内容中可以看到,管理员模块可以实现添加投票话题、删除投票话题、增加投票项、删除投票项、公布结果和查看投票结果6个完整的功能,并且不同功能之间也存在着一些直接或间接联系,如图2-1-2所示。

图3-1-2管理员模块图

3.系统的流程图:

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

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

图3-1-3投票流程图

3.2系统用例图

图3-2-1普通用户用例图

图3-2-2管理员用例图

如图3-2-1所示,整个系统主要有三个参与者,分别为普通用户和管理员。

数据库为系统的所有用例提供数据,保证系统的正常运作。

系统的用例主要有五个,分别为:

投票、查看投票结果、登录、管理投票话题、管理投票项。

“查看投票结果”用例负责为用户提供某个话题的投票情况,包括每个选项的票数以及统计饼图。

“登录”负责核对管理员的用户名与密码,保证管理员身份的正确性。

3.3类模型

图3-3-1系统实体类类图

3.4状态模型

图3-4-1管理员管理投票系统状态图

图3-4-2主题设计子状态图

3.5时序图模型

3-6-1普通用户登录的时序图

图3-6-2普通用户投票的时序图

图3-6-3普通用户查看投票情况的时序图

图3-6-4管理员登录的时序图

图3-6-5管理员添加投票话题的时序图

图3-6-6管理员删除话题的时序图

图3-6-7管理员增加投票项的时序图

图3-6-8管理员删除投票项的时序图

3.6数据库功能模板设计

数据库设计是软件开发中的重要环节,是对系统数据全面的、详细的分析。

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

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

1.用户表(Admins)

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

表3-7-1用户表(Admins)

字段名

数据类型

长度

是否主键

描述

admname

Varchar

50

用户名

admpwd

密码

2.投票选项表(Items)

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

表3-7-2投票选项表(Items)

ItemID

int

11

投票编码

QuestionID

255

问题ID

Item

varchar

500

投票选项

ItemCount

bigint

20

票数

3.投票主题表(Question)

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

表3-7-3投票主题表(Question)

Question

投票主题

IsVisable

10

是否对外投票

Date

日期值

IsOpen

是否对外公布结果

系统E-R图为:

4.系统的详细设计

4.1用户登录模块的设计

4.1.1程序描述

本程序设计的目的主要是对用户注册和用户登录的实现。

4.1.2功能描述

用户登录:

如果是已经注册的用户,则直接验证登录到投票系统首页;

如果是还未注册的用户,则首先进行注册,注册成功,进行登录,登录成功的用户进入投票系统首页。

如图:

4.1.3性能

身份认证和检查用户要对数据库进行搜索和录入,检查用户是不是合法和注册时,用户表里是否有此用户名,如果是用户要求反应时间在1秒之内,如果不是会员反应时间在2秒之内,并在0.5秒之内跳到注册页面。

4.1.4输入项

在登录界面登陆的信息包括:

用户信息(用户名,密码,数据类型:

char,密码要以‘●’显示)。

4.1.5输出项

对用户输入信息进行判断,通过验证后进入用户操作界面,如果该用户信息不存在提示“注册”。

4.1.6流程逻辑

4.2管理员管理模块的设计

4.2.1程序描述

本程序设计的目的主要是管理员登录以及对管理员身份进行验证的实现。

4.2.2功能描述

管理员登录:

如果是管理员,则直接验证登录到后台管理系统首页,如果如果不是管理员,则显示错误信息。

4.2.3性能

身份认证和检查管理员要对数据库进行搜索和录入,检查管理员是不是合法时,管理员表里是否有此管理员名,如果是管理员要求反应时间在1秒之内,如果不是管理员要求反应时间在2秒之内。

4.2.4输入项

管理员信息(管理员,密码,数据类型:

4.2.5输出项

对用户输入信息进行判断,通过验证后进入用户操作界面,如果该用户信息不存在提示“出错”。

4.2.6流程逻辑

4.3用户投票和投票结果查看模块设计

4.3.1程序描述

本程序设计的目的主要是用户进行投票以及对投票结果进行查看的实现。

4.3.2功能描述

投票管理:

选择投票项,点击“提交”,数据库增加相应票数,转换到投票查看页面;

点击“重置”,返回默认头投票项。

投票结果查看:

点击“查看投票结果”,可以查看到管理员允许对外公布的主题的投票结果。

4.3.3性能

投票提交要求反应时间在1秒之内,数据库修改数据并以数字和图示显示结果。

4.3.4投票输入项

点击投票项,被选中的选项以‘●’显示

4.3.5结果输出项

点击查看结果,页面显示管理员允许对外公布的主题的票数和图示。

4.3.6流程逻辑

4.4管理员对主题、选项和用户信息的编辑模块的设计

4.4.1程序描述

本程序设计的目的主要是管理员对主题、选项和用户信息的增加以及删改的实现。

4.4.2功能描述

如图:

4.4.3性能

本模块要求对数据字典进行维护。

用户名、主题名和选项不可以有重复,所以在输入中要检查冲突信息,删除信息时不要发生误操作。

要求点击确定之后系统核查反映时间为1秒之内,并在0.5秒跳转回后台管理界面。

4.4.4输入项

输入新的主题或者新的选项或者添加新的用户。

4.4.5输出项

数据表格中出现新的主题信息或者新的选项信息或者新的用户信息,并且提示操作完成。

4.4.6流程逻辑

5.系统的效果图展示

5.1用户模块界面展示

5-1-1用户登录界面

5-1-2用户注册界面

5-1-3用户注册成功界面

5-1-4用户投票界面

5-1-5用户投票成功界面

5-1-6用户查看投票结果界面

5.2管理员模块界面展示

5-2-1管理员登录界面

5-2-2管理员后台管理界面

5-2-3管理员查看所有统计结果

5-2-4管理员添加主题界面

5-2-5管理员编辑选项界面

5-2-6用户管理界面

5-2-7管理员修改密码界面

6.系统测试

这个系统要实现的功能有用户注册登陆、用户投票、用户查看投票结果,以及管理员对网站信息的各方面操作和维护等。

测试部分包括网站对数据库的访问和更新测试;

对网站查询功能的测试;

系统容错功能的测试。

表6-1网站对数据库的访问和更新测试用例

用例名称

网站对数据库的访问和更新

用例描述

当用户登录注册后,并登陆到网站后进行投票、链接等信息。

这些信息都是来自管理员对后台数据库的更新和维护。

我们要测试的是管理员通过后台是否对数据库进行了修改,并且修改后是否能相应、如实地在前台显示出来。

测试方案

管理员在后台添加主题信息,首先查看数据库中的数据是否有相应的变化,然后登录网站的前台看前台中显示的信息是否会相应改变。

输入数据

在添加主题模块中添加一个主题信息,数据如下:

调查主题:

你最喜欢下面哪种水果?

选项1:

苹果

选项2:

香蕉

选项3:

提子

选项4:

西瓜

预期结果

在添加的主题信息被提交后,打开SQLserver2000数据库,可以看到表中多了一行数据,其属性调查主题、选项1、选项2、选项3、选项4……的值分别为你最喜欢下面哪种水果?

、苹果、香蕉、提子、西瓜……说明管理员对网站数据库的访问和更新是成功的。

表6-2网站投票功能的测试

网站投票功能的测试

在用户登录前,用户是否能进行投票;

用户登录后,并在投票中进行提交,观察系统是否会把投票数增加1;

用户进行投票结果查看时,系统是否会把投票结果返回。

用户未登录,然后观察是否能进行投票;

登录后,进行投票提交和查看投票结果。

进行选项投票。

结果1:

用户未登录时,不能进行投票;

结果2:

在投票结果查看页面中显示投票结果。

表6-3对系统容错功能的测试之对投票选项修改的检测

对系统容错功能的测试之对投票选项修改的检测

在系统设计时,设计员需要考虑到可能进行什么样的操作。

其中,需要判定那些操作是合法的而那些操作是不允许的。

在这个系统中,需要对投票选项修改操作进行检测。

这个测试是投票选项修改的容错功能。

管理员对主题的选项进行添加。

选项5:

哈密瓜

点击提交后,系统弹出提示框“更改成功”。

同时,将信息添加进数据库中。

总结

这个系统主要采用的jsp技术,数据库为SQLSERVER2000,服务器为Tomcat,开发环境是MyEclispe。

由于是首次合作使用不熟悉的java语言弄的系统,故在编写系统的过程中,我们碰到了很多问题。

如:

在数据库的安装和链接这一部分,我们花了大量的时间。

由于之前安装了数据库2008版的功能不全,无法完成数据库的连接操作,由于之前安装了数据库2008版的功能不全,无法完成数据库的链接操作,故要卸载2008版本,重新安装了2000版本。

但是由于之前的2008版卸载时挺麻烦的,需要在系统的注册表里面删除之前的安装键值等才能够安装2000版数据库。

本数据库的端口号改为了1434。

默认为1433。

由于所安装的2000版本的库并不能支持所运用的开发环境MYEclipse(反反复复才搞清楚是这个原因。

),因此还需要对数据库进行打补丁SP3。

在JDK安装中需要设置系统坏境和Tomcat的安装中需要设置虚拟机为JDK的安装路径,这一步是挺重要的。

本系统的开发主要分为:

界面层、逻辑结构层、数据存储层。

在编写JSP文档中<

form>

<

table>

等属性必须要熟练掌握,否则会搞到界面的不整洁,还会随着浏览器窗口的更改,界面元素也会随着更改。

在编写的初次阶段,这个问题很难解决,不过随着首页面的详细设计,弄好<

中的长宽高的设置之后,也逐渐掌握了如何设置界面等。

在图片的选择与设置方面也遇到了各种各样的问题,比如图片如何设置才比较美观等,在图片途径的链接阶段需要特别注意,否则会显示不出图片。

在JAVABEAN时,比如数据库的链接文档,Connectionconn=java.sql.DriverManager.getConnection("

jdbc:

microsoft:

sqlserver:

//localhost:

1434;

DatabaseName=db_Bookmanage"

"

sa"

111"

);

这个地方是比较容易出错的,在URL、数据库登录名和密码之间用的是都逗号而非分号。

在配置web文件时是特别需要注意的是,所用到的servlet都需要对servlet进行注册和编写servlet映射路径。

由于中英文的编码是不一样的,在设置的过程中,很容易出现乱码,需要设置charset=GB2312或者是GB18030,在运用request对象获取数据时,需要设置setEncoding属性为GB18030,这一步很重要否则会出现乱码,默认为iso-8859-1这个不支持中文。

通过这一次的系统设计,我们获益匪浅。

不仅对UML这门课有所掌握,还加强了对代码的编写能力、加深对代码实现功能进一步地了解。

在这次编写中,我们更加坚定了信心,更能体会到团队合作的优势。

参考文献

[1]

王国辉,JavaWeb开发实践宝典,北京:

清华大学出版社

[2]

张新曼.精通JSP-Web开发技术与典型应用[M],北京:

人民邮电出版社

[3]

黄理,李积善,曹林有,张勇.用JSP轻松开发Web网站(第一版)[M].北京:

北京希望电子出版社

[4]

李鈡蔚,马文强,王殊宇.Java项目开发实例自学手册,北京:

[5]

郑阿奇,刘启芬,顾韵华.SQLServer实用教程[M],北京:

电子工业出版社

[6]

封超.Tomcat与JavaWeb开发技术详解,北京:

[7]

佩里.JavaServlet&

JSPTM经典实例—O`ReillyJava系列[M],北京:

中国电力出版社

[8]

陶亚楠,廖建.JavaWeb开发入行真功夫,北京:

人电子工业出版社

[9]

丁荣涛.商业网页设计与制作.北京:

北京大学出版社

用户操作手册

开发工具:

MyEclipse

数据库:

SQLserver2000

服务器:

TOMCAT

先导入数据库,然后部署到服务器,启动

在浏览器地址栏输入:

http:

//172.18.80.132:

8080/vote即可进入在线投票系统首页,在首页,可以进行用户注册、用户登陆等操作;

用户登陆后,可以进行投票和查看投票结果。

在浏览器地址栏输入:

8080/vote/admin/adminLogin.jsp既可进入管理员登陆界面,用户名/密码为:

admin/111,在后台主页,管理员可以进行添加主

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1