在线投票系统需求分析到实现Word文档格式.docx
《在线投票系统需求分析到实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《在线投票系统需求分析到实现Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
在线投票系统可以用来统计网站用户对某个主题或热门话题的意见。
网站管理员也可以通过在线投票系统这个媒介去了解用户的思想、意见,并通过在线投票系统的结果反馈改进工作策略。
本系统采用JSP中常见的语言模块,以操作系统WindowsXP作为开发平台,并且使用Eclipse、Mysql等工具设计开发:
在线投票系统包括前台注册、登录、投票、结果查看和后台管理等部分,管理员可随意增删和修改投票项目,可管理投票用户账号,以及设定隐藏、公布投票结果等功能。
一、系统需求分析
1.1系统介绍
本投票系统主要分为普通用户和管理员两部份。
普通用户登录后可以进行投票和查看投票结果;
管理员登录后可以进行管理投票话题和管理投票项。
“投票”用例主要的功能是普通用户对某个投票话题进行投票,在用户进行投票时检测用户是否已经投票了该话题,保证每个用户都一一个话题只能投一-次票。
“查看投票结果”用例负责为用户提供某个话题的投票情况,包括每个选项的票数以及统计图。
“登录”负责核对管理员的用户名与密码,保证管理员身份的正确性。
“管理投票话题”用例负责为管理员提供添加和删除话题的功能。
“管理投票项”用例负责为管理员提供添加和删除选项的功能。
1.2需求提取
1.2.1在线投票系统应具有的独特的功能:
(1)方便的操作。
原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。
(2)友好的界面。
友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。
(3)强大的功能,能够满足需要,快速简单的统计任务,提高质量。
1.2.2在线投票系统需要满足的条件:
(1)系统自动把投票结果转换为百分比显示。
(2)投票管理员可以对投票主题和投票选项进行设计与修改。
1.2.3在线投票系统开发应遵循以下要求:
(1)尽量采用现有软硬件环境及先进的系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
(2)系统应具有可扩展、可复用的特点,能与投票系统接轨,数据库的设计应该具有通用性。
(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统维护人员的调试与修改维护。
(4)系统应具备数据库维护功能,及时根据需要进行数据的添加、删除、修改等工作。
1.3功能需求
通过对用户的需求调查分析,可以概括出用户的功能需求如下:
单选投票、多选投票、查看投票、投票设计。
1.3.1客户投票模块
◆单选投票:
用户只能从多个选项中选取一项进行投票。
◆多选投票:
用户可以从多个选项中选取多项进行投票。
◆查询投票:
用户可以从多个投票中查找到自己想要投票的类型。
查看投票结果:
提供用户查看当前投票情况,投票结果以条形图(百分比)和数字的形式显示。
1.3.2管理员模块
①投票管理模块
新增投票:
管理员可以添加新的投票主题(单选或多选),及投票主题的选项供用户进行投票
管理投票:
管理员可以查看投票主题及投票内容,并可以删除不需要的投票主题及内容。
②信息显示模块
投票用户信息查看:
查看用户IP地址和用户投票信息。
投票结果显示:
显示投票结果。
③系统设置模块
投票结果显示设置:
可选对外是否显示投票结果。
投票数设置(内部功能):
设置投票数的初始值、修改投票数等。
用户(IP)投票时间控制:
设置每个IP的投票时间间隔。
1.4系统用例
1.5系统流程
二、系统功能模块设计
2.1系统功能结构
2.2系统结构化建模、分层数据流图
2.2.1顶层数据流图
2.2.2一层数据流图
2.3数据字典描述
2.3.1顶层数据字典
实体名称
数据流
简述
用户
浏览信息,投票信息
用户可以浏览网页内容,可对各种投票种类进行投票
管理员
管理投票事务,浏览信息
管理员可以发起各种投票管理操作,如发布投票、删除投票、管理网页界面等,同事具备用户的所有功能
2.3.2一层数据字典
系统各功能名称
对应实体
浏览投票信息
用户管理员
投票信息
用户浏览网站,可浏览符合条件的投票信息
投票
投票选项
用户浏览投票列表、详细介绍时,可以对此项投票信息进行投票,网站记录投票选项信息,存入数据库,并记录用户的投票时间。
发布投票
管理员可以发起投票信息,并对投票信息进行公布
维护站点
非投票信息事务
管理员可以发起管理投票事务,对投票信息进行增删改查。
2.4系统状态图实例
2.4.1用户投票
2.4.2管理员发布投票
2.4.3管理员维护投票
2.5系统功能模块图
2.5.1用户投票模块
2.5.2管理员登入模块
2.5.3管理员添加投票项目模块
三、数据库设计
3.1概念设计
3.2逻辑设计
用户表(user)
字段名称
数据类型
长度
是否允许空
是否为主键
字段描述
Id
varchar
20
否
是
用户ID
username
255
用户名
password
密码
power
enum
1
权限
投票种类表(tb_vote)
vid
int
11
投票ID
vname
投票名称
Vtype
投票类型
投票表(tb_option)
oname
选项名称
number
投票数量
3.3物理设计
3.3.1用户表;
3.3.2投票种类表:
3.3.3投票表:
四、详细设计与实现
4.1登入模块
4.1.1功能描述.
用户登录:
如果是已经注册的用户,则直接验证登录到投票系统首页;
如果是还未注册的用户,则首先进行注册,注册成功,进行登录,登录成功的用户进入投票系统首页。
4.1.2性能分析
身份认证和检查用户要对数据库进行搜索和录入,检查用户是不是合法和注册时,用户表里是否有此用户名,要求反应时间在1秒之内,并在0.5秒之内跳到注册页面。
4.1.3逻辑流程
4.1.4登入模块实现
4.2管理员管理模块
4.2.1功能描述
管理员登录:
如果是管理员,则直接验证登录到后台管理系统首页,如果如果不是管理员,则显示错误信息。
4.2.2性能
身份认证和检查管理员要对数据库进行搜索和录入,检查管理员是不是合法时,管理员表里是否有此管理员名,如果是管理员要求反应时间在1秒之内,如果不是管理员要求反应时间在2秒之内。
4.2.3逻辑流程
4.2.4管理员管理模块实现
4.3用户投票和投票结果查看模块
4.3.1程序描述
本程序设计目的是用户进行投票以及对投票结果进行查看。
4.3.2功能描述
投票管理:
选择投票项,点击“投票”,数据库增加相应票数,转换到投票查看页面点击“返回列表”,返回默认头投票项。
投票结果查看:
点击“查看”,可以查看到管理员允许对外公布的投票结果。
4.3.3性能
投票提交要求反应时间在1秒之内,数据库修改数据并以数字和图示显示结果。
4.3.4用户投票和投票结果查看模块实现
4.4管理员编辑模块
4.4.1程序描述
本程序设计的目的主要是管理员对主题、选项和用户信息的增删改的实现。
4.4.2功能描述
增加投票项目:
选择“增加新投票”,进入增加新投票表单界面,进行填写新增投票信息,点击“增加选项”可以增加投票选项栏,点击“取消操作”可以放弃填写,点“确定”,可以查看到管理员对外公布的投票信息。
修改投票项目:
选择“维护”可以对投票信息进行修改,在选中的投票信息中再点击“维护”就可以进入维护表单,在维护表单里可以对投票信息进行修改和删除操作。
投票信息结果查看:
点击“查看”,可以查看到管理员修改后的结果。
4.4.3管理员编辑模块实现
4.5总结
这个系统主要采用的jsp技术,数据库为MySQL,服务器为Tomcat,开发环境是Eclispe。
在JDK安装中需要设置系统环境和Tomcat的安装中需要设置虚拟机为JDK的安装路径,这一步是挺重要的。
本系统的开发主要分为:
界面层、逻辑结构层、数据存储层。
由于中英文的编码是不一样的,在设置的过程中,很容易出现乱码,需要设置charset,这一步很重要,否则会出现乱码。
通过这一次的系统设计,我们获益匪浅。
不仅对JSP这门课有所掌握,还加强了对代码的编写能力、加深对代码实现功能进一-步地了解。
在这次编写中,我们更加坚定了信心,更能体会到团队合作的优势。
五、系统测试
5.1测试方法
测试方法是测试阶段的关键技术问题。
为了提高测试效率降低测试成本,本测试方法采用黑盒法设计基本的测试方案,用黑盒法注重于测试软件的功能需求,主要试图发现下列几类错误:
功能不对或遗漏:
性能错误:
初始化和终止错误:
界面错误:
数据结构或外埠数据库访问错误。
黑盒测试法常用的测试方法包括等价分析类法、边值分析法、错误推测法、因果图法、正交实验设计法、判定表驱动法、功能测试等。
但是没有一-种方法能提供一组完整的测试用例,以检查程序的全部功能,因此在实际测试中需要把各种方法结合起来使用。
5.2测试项目
用户登录测试
信息输入测试信息输出测试
服务器(数据库)测试.
系统测试
5.3测试准备
在测试前,与各模块的主要负责人共同协商讨论,以概要设计说明书.详细设计说明书作为总的提纲,选择合适的输入输出数据,并加以意义列举说明。
5.4测试用例
测试用例1:
用例ID
tom
用例名称