当前位置:文档之家› 在线投票系统设计实现

在线投票系统设计实现

在线投票系统设计实现
在线投票系统设计实现

在线投票系统设计实现

摘要:如今社会高速发展,伴随社会飞速进步,生活节奏明显加快,信息已然成为我们生活中特别重要的一部分。很多公司需要通过大量的信息来更好的掌握用户的需求。这时他们往往会耗费大量的人力和资金,采用对用户散发投票表的方式,然后对收集到的信息进行统计分析,,从而获得有效信息。然而,传统的这种收集方法耗费资金、效率低下、花费时间过长,为了改善这一情况,我开发了这套基于J2EE技术的在线投票系统。本系统使用MyEclipse进行开发,用TomcatTomcat6.0作为后台服务器,主要使用的开发语言是J2EE,后台使用MySQL作为数据库管理系统。系统的主要功能包括:注册登陆、后台管理、参与在线投票、投票项目的查询、增添和修改以及投票结果统计等。系统用户主要分为管理员用户和注册用户两大类。

关键词:在线投票,B/S结构,J2EE

目录

摘要..................................................................................... 错误!未定义书签。第一章绪论......................................................................... 错误!未定义书签。

1.1课题背景 (1)

1.2目的和意义 (1)

1.3开发工具及技术 (1)

1.3.1开发工具 ........................................................................... 错误!未定义书签。

1.3.2 J2EE (2)

1.3.3 JavaScript (2)

1.3.4运行环境 (2)

第二章需求分析 (2)

2.1可行性分析 (2)

2.1.1技术的可行性 (2)

2.1.2经济的可行性 (3)

2.1.3操作可行性 (3)

2.1.4法律的可行性 (3)

2.2系统用户用例图 (3)

2.2.1管理员用例图 (3)

2.2.2普通用户用例图 (4)

2.3功能模块需求分析 (4)

2.4基本设计思想 (5)

2.5性能需求 (5)

第三章系统分析与设计 (6)

3.1数据库的分析与设计 (6)

3.1.1数据库的概念结构设计 (6)

3.1.2数据库的逻辑结构设计 (7)

3.1.3数据库的连接原理 (9)

第四章系统功能实现 (9)

4.1系统登陆页面实现 (13)

4.2总体功能模块 (14)

4.2.1投票信息管理 (15)

4.2.2投票结果统计 (16)

4.2.3系统公告管理 (18)

4.2.4修改个人密码 (20)

4.2.5安全退出系统 (20)

4.3普通用户模块 (20)

4.3.1系统主页面实现 (20)

4.3.2投票信息查询 (21)

4.3.3用户注册 (21)

4.3.4参与在线投票 (22)

4.3.5添加在线投票 (23)

第五章系统测试 (25)

5.1系统测试目的与意义 (25)

5.2测试过程 (25)

5.2.1登陆模块测试 (26)

5.3测试结果 (26)

结束语 (27)

参考文献 (28)

ABSTRACT (29)

1.1课题背景

在线投票作为搜集第一手数据或材料的常用方法,具有应用面广、收集数据便捷、研究成本较低的优势。随着个人计算机(pc)的出现和逐渐普及,计算机成为投票研究中的重要工具。又伴随着互联网(internet)的广泛应用,各种基于网络的投票方法开始出现,例如电子问卷、网络访谈、移动投票等。

目前基于internet的网在线投票系统运用的十分普遍,越来越多的的企业和公司通过在线投票系统来收集信息。但是开发一个实用、功能齐全的在线投票系统并非易事,需要认真研究客户需求,而现有的很多产品存在着设置过于复杂、费用过于昂贵、操作不便等缺陷。

1.2目的和意义

本系统主要实现最为普遍的在线投票功能,每一个注册用户都可以设计投票、发起投票并进行投票统计与管理。本系统指在为需求者提供一个网络投票平台,让需求者可以快速、方便地开展专业的投票调研,并可以快速获得丰富的反馈信息,具有跨地区、节约资金,投入精力少的特点。

1.3 技术支持

本系统主要使用MyEclipse进行开发,用ApacheTomcat6.0作为后台服务器,页面主要使用J2EE语言完成,并运用了JavaScript编程技术使其动态化。后台主要使用struts2作为控制层,hibernate作为数据访问层,spring将其无缝整合。运用Internet Explorer 浏览器和Windows系统作为网络操作系统,数据库采用MySQL数据库。

1.3.1 MyEclipse

MyEclipse是一个Java、J2EE开发工具。它是在eclipse基础上整合多种插件升级而来,它功能完善,能提供诸多便于开发的功能,例如各种常用jar包,多种视图,svn插件整合等常用功能。通过MyEclipse可以使程序员能够快速开发java或JavaEE应用,大大提高了开发效率,另外他的插件扩展性非常好。通过安装插件,几乎可以用任何编程语言来开发程序。

1.3.2 MySQL

MySQL是一个小型开源关系型数据,它是由两种语言编写的,一个是C,一个是C++。由于它使用的核心线程是完全多线程,支持多处理器,因此它可以快速处理大量数据。并且MySQL具有体积小、速度快、总体拥有成本低的特点。特别是作为开源数据库,它能够很大程度地降低开发成本,减少资金投入,从而许多中小型网站选择它作为网站数据库。本程序使用MySQL数据库是为了存储数据和简单的查询操作。

J2EE是Java三大体系中的一个,它与传统应用开发技术完全不同。作为包含许多组件的体系架构主要用于应用系统开发与部署的简化及规范,并以此来提升系统的安全性和再用价值。统一标准下的技术规范是J2EE技术的核心,这组技术规范很好地提高J2EE架构下的不同平台之间的兼容性。通过J2EE技术可以将网页逻辑与网页设计、显示相分离,从而使基于Web的应用程序的开发工作更简单。

1.3.4 JavaScript

JavaScript是一种web开发的脚本语言,用来实现页面动态化效果,以提升用户的使用友好度。通过执行程序脚本片段对页面及页面上的元素的操作,实现特定的功能与效果,使网页包含更多元素和内容,看起来更加丰富生动。面向对象也是JavaScript的核心思想,通过基于对象的设计,可以使用以模块化和可重复使用的方式进行,从而更加直观的开发程序。本系统就是使用JavaScript技术来检验用户输入数据的有效性,重复与否和是否为空

1.3.5运行环境

操作系统:互联网浏览器软件环境:Windows/2000/7/XP(IE),等。

数据库:MySQL

服务器软件:ApacheTomcat6.0以上版本。

浏览器:IE、Fire Fox、Google Chrome。

2.系统分析与设计

2.1可行性分析

一个系统的开发往往会受到多种因素的约束和限制,如开发前景、经济能力、技术水平等。因此,在开发一个项目之前都需要进行初步调查研究,对新系统是否值得实现和可以实现等问题作出判断,来减少项目的开发风险,确保系统开发的价值,避免各项资源的浪费。下面就以下三个方面来介绍。

技术的可行性分析:分析要素主要有硬件设备、软件要求、环境条件、配件条件等。本系统作为一个功能较为简单的在线投票系统,对计算机配置方面并没有过高要求,一般的计算机配置已经足够。本系统开发工具是MyEclipse和MySQL数据库,数据库的设计和操作是本系统设计的核心,开发语言是Java,主要使用了J2EE的技术。由于这些技术的具有不同的优点,例如方便,灵活。同时已经被广泛地应用于实际。综上分析证明系统的技术可行性良好。

经济的可行性分析:对于本次开发的程序,不管是开发前的投入还是运行后的投入,程序所需要的开发语言,开发工具,还有数据库,操作系统都是免费的开源产品,不需要我们付出额外的费用。在运行时,使用就是自己的电脑,不需要额外的配置,同时运行的

环境也是开源免费的。此外,本系统选择的B/S模式开发成本也属于较低的。综上分析证明系统的经济可行性良好。

法律的可行性分析:本系统是本人自主开发的系统,开发时完全遵守国家的宪法与法律,不做与国家法律法规相抵触的任何行为。我所使用的开发工具及数据库都是开源代码,不存在任何的侵权行为。

综上所述,在线投票系统与传统的投票方式相比具有使用范围更广泛、获取数据更便捷、操作更准确、研究成本更低的优势。所以,在线投票管理系统开发是必要可行的。。

2.2用户用例图

1.管理员作为系统中的核心用户,管理员权限的设置涉及到系统各项功能的设计。管理员能够查看本系统中所有注册用户的基本信息并有权对其进行管理,同时,管理员可以有效地掌握本系统中所有在线投票活动的最新进展,统计投票活动的各项数据情况,并对其进行分析总结。

有权限的管理人员

登陆系统

修改密码

投票管理

统计结果

用户管理

题目管理

公告信息管理

图2.1管理员

2.普通用户成功注册后,便可以登陆系统参与在线投票、发起新的投票、维护个人信息、浏览公告信息等活动。

普通用户

登陆系统

在线注册

浏览公告信息

参与投票

个人信息维护

图2.2 普通用户

2.3功能分析图

管理员用户模块

图2.3 管理员用户功能分析图

普普普普普普

线

线

线

线

线

图2.4 普通用户功能分析图

2.4性能分析

本系统需要对系统的操作权限进行严格控制,只有注册用户可以进行相关操作,没有权限的用户仅能够浏览系统首页,查看大致功能,以此来提高本系统的安全性与严密性。

这就要求各种信息记录内容都不可以为空,记录信息需具有良好的完整性;各数据之间相互联系准确无误;各类相同数据在不同记录中保持一致,保证调用准确有效,避免调用时出错。

2.5基本设计思想

基本设计思想主要为以下6个方面:

1.为了符合众多已然习惯使用网页方式的用户的需求,使用户得到更好的使用体验,本系统运用B/S模式进行设计,这样可以使前台和后天处理层次更加分明。

2.为了提升系统的运行效率,调高系统的稳定性,本系统运用面向对象方法进行设计与开发。通过面向对象理念的使用,使整个系统得到更准确的高度抽象,系统框架的完整性得到更好的保障。

3.为了更好地简化系统设计、系统调试和系统实现等操作,本系统使用模块化设计,把功能块作为单位,将整个系统划分为小的模块。模块化的设计使代码重载更加简单。

4.为了是用户更好地了解系统功能,适应本系统的操作,简洁明了的界面设计是必不可少的。因此,在功能菜单的设计,功能按钮的添加以及界面颜色方面也需要多加注意。

5.为了使系统更好的符合用户的需求,适应用户的需要,设计时需要在完成基础功能的基础上添加更多实用功能,使功能尽可能完备,因此,设计方案需要全面细致,重点突出。

6.作为一个数据统计系统,评测标准中最重要的一点就是速度,所以速度优先原则是本次设计的一个重要原则。在系统设计过程中要尽量提高运行速度,占用尽可能少的资源。

3.数据库的设计

3.1数据库概念设计

数据库概念设计与数据库逻辑设计是两个完全不同的概念。数据库概念设计是指建立可以反映用户信息要求的概念模式。而数据库的概念结构与逻辑结构是相互独立的,并且,数据库的概念设计对计算机系统不存在依赖性。

我们一般使用E-R图来表示概念模型。

(1)普通用户的概念模型如图3.1所示

普普普普

普普

普普

普普

普普

普普

普普普普

Email

QQ

图3.1 普通用户概念图

(2)题目信息的概念模型如图3.2所示

实体属性实体间关系

普普普普

普普ID

普普普普

普普

图3.2 题目信息概念图

(3)公告信息的概念模型如图3.3所示

普普普普

普普ID

普普

普普普普

普普

图3.3公告信息概念图

(4)管理员的概念模型如图3.4所示

管理员信息

登录名密码

图3.4 管理员信息概念图

3.1数据库逻辑设计

本系统的逻辑结构设计主要体现在数据库中各数据表的设计表中,以下各表是与上述

各E-R图相对应的设计表。

(1)用户信息表,负责记录注册用户的各项基本信息。

用户信息表如图3.5所示

图3.5用户信息图

(2)投票信息表,负责记录有关投票的具体信息。

投票信息表如图3.6所示。

图3.6 投票信息表

(3)公告设计表,负责记录管理员发布的公告的主要信息。

公告设计表如图3.7所示

图3.7 公告信息表

(4)管理员信息表,负责记录管理员的用户名和密码。

管理员信息表如图3.8所示,

图3.8 管理员信息表

4.系统功能实现

4.1系统首页

1.描述:系统首页由系统名称和系统功能菜单、投票信息检索区、投票信息展示区、用户登录区域和系统通知公告5个功能区组成。系统功能菜单中的几项基本功能是完全开放的,只要是浏览本系统的用户都可以查看。投票信息检索区域是针对其下方的各项投票信息设立的一个小功能,方便用户查找使用。系统通知公告区域是由系统管理员管理操作的,注册用户可以在此查看管理员发布的网站公告,具体详情可以在点击链接后跳转到相应的信息页面查看。

系统首页如图4.1所示:

图4.1 系统首页

2.权限介绍:为了保证系统的安全性,本系统的权限用户分为三类,分别是游客、注册用户和管理员用户。其中,游客只具有访问和查看的权限而无法登录进行投票。要使用本系统用户需要填写简单的个人信息,成为正式注册用户。

图4.2 系统页面设计

3.输入用户名及对应密码后,点击“提交”按钮,会在登录的service中验证录入信息的正确性,确认正确无误后进入对应的页面。

Loginservice主要代码:

}

4.为了保证系统的安全性,防止游客不进行注册登录就能够进入任何子菜单页面,因此在每个J2EE页面都添加了拦截功能,对相关用户进行拦截操作。

4.2管理员用户模块

1.管理员登录:管理员登录时需点击首页下方的“管理登录”按钮,在登录页验证身份后可成功登入系统。

管理员登录功能图如图4.3所示:

图4.3 登录页面设计

页面主要代码:

body

{

margin-left: 0px;

background-image: url(<%=path %>/img/login_bg.jpg);

}

.style2 {color: #990000}

.input2

{

font-size: 12px;

border: 3px double #A8D0EE;

color: #344898;

}

.submit1

{

border: 3px double #416C9C;

height: 22px;

width: 45px;

background-color: #F2F2F2;

font-size: 12px;

padding-top: 1px;

background-image: url(bt.gif);

cursor: hand;

}

.STYLE12 {font-family: Georgia, "Times New Roman", Times, serif}

.STYLE13 {color: #316BD6; }

.STYLE15 {color: #fdsere; font-size: 9pt; }

2.页面描述:页面左侧的菜单中的功能是管理员可操作的权限,点击相应按钮可以进入不同的管理页面,每个按钮链接到不同的功能。

管理员权限图如图4.4所示:

图4.4管理员权限图

4.2.1投票管理

4.2.1.1添加投票

1.描述:管理员在添加新的投票信息时,如果没有完整地录入投票信息,系统会出现提示,提醒重新输入完整信息。此功能中输入的数据通过form表单中定义的方法onsubmit="return checkForm()"来检查,其中checkForm()函数是用来检查数据的输入方式。

2.程序效果图如下图4.5所示

图4.5 投票信息添加

4.2.1.2管理投票

1.描述:投票信息管理界面位于左侧菜单的“投票信息管理”选项的链接中。管理员能够对所有的投票信息进行管理,包括投票的删除、添加,投票选项中不合理信息的删减、修改等。

程序效果图如下图4.6所示

图4.6 投票信息管理

投票信息管理关键代码:

4.2.2投票统计

1.描述:点击所要查看的投票后的“查看结果”按钮,便可看到投票的统计结果。为了是投票结果更简明直观,这里使用柱状图来完成数据的展示。

2.程序效果图如下图4.7所示

相关主题
文本预览
相关文档 最新文档