um在线投票系统l完整版(需求分析、详细设计、测试文档、总结、用户操测手册).doc

上传人:飞****2 文档编号:54357396 上传时间:2022-10-28 格式:DOC 页数:35 大小:1.37MB
返回 下载 相关 举报
um在线投票系统l完整版(需求分析、详细设计、测试文档、总结、用户操测手册).doc_第1页
第1页 / 共35页
um在线投票系统l完整版(需求分析、详细设计、测试文档、总结、用户操测手册).doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《um在线投票系统l完整版(需求分析、详细设计、测试文档、总结、用户操测手册).doc》由会员分享,可在线阅读,更多相关《um在线投票系统l完整版(需求分析、详细设计、测试文档、总结、用户操测手册).doc(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、系 统 建 模 与 实 现 题目:基于JSP的网上投票系统 设计与实现 学 院 数学与信息科学 专 业 信息与计算科学 班 级 09信计1班 姓 名 学 号、 摘要 随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。在计算机应用中很重要的一部分就是编程语言,它的出现打开了计算机应用的新篇章。选举、调查不再局限于以往的方式,在线投票系统以更便捷、更快速、更经济、更准确的优势广泛应用于各种网络投票选举、问卷调查中。它将用户和网站很好的联系起来,进而达到互联网资源共享的目的。在线投票系统可以用来统计网站用户对某个主题或热门话题的意见。网站管理员也可以通过在线投票系统这个媒介去了解

2、用户的思想、意见,并通过在线投票系统的结果反馈改进工作策略。本系统采用JSP中常见的语言模块,以操作系统Windows XP作为开发平台,并且使用MyEclipse、SQLserver 2000等工具设计开发;在线投票系统包括前台注册、登录、投票、结果查看和后台管理等部分,管理员可随意增删和修改投票项目,可管理投票用户账号,以及设定隐藏、公布投票结果等功能。【关键词】 在线投票系统 JSP MyEclipse SQLserver 2000 目录摘要21.需求分析51.1系统介绍51.2需求的提取52 开发工具简介63.分析与设计73.1 系统结构图73.2 系统用例图93.3类模型113.4状

3、态模型113.5 时序图模型133.6 数据库功能模板设计174.系统的详细设计184.1用户登录模块的设计184.1.1程序描述184.1.2功能描述184.1.3性能194.1.4输入项204.1.5输出项204.1.6流程逻辑204.2管理员管理模块的设计204.2.1程序描述204.2.2功能描述204.2.3性能214.2.4输入项214.2.5输出项214.2.6流程逻辑214.3用户投票和投票结果查看模块设计224.3.1程序描述224.3.2功能描述224.3.3性能234.3.4投票输入项234.3.5结果输出项234.3.6流程逻辑234.4管理员对主题、选项和用户信息的编

4、辑模块的设计244.4.1程序描述244.4.2功能描述244.4.3性能244.4.4输入项254.4.5输出项254.4.6流程逻辑255. 系统的效果图展示255. 1用户模块界面展示255-1-1用户登录界面255-1-2用户注册界面265-1-3用户注册成功界面265-1-4用户投票界面265-1-5用户投票成功界面275-1-6用户查看投票结果界面275.2管理员模块界面展示275-2-1管理员登录界面275-2-2管理员后台管理界面285-2-3管理员查看所有统计结果285-2-4管理员添加主题界面285-2-5管理员编辑选项界面295-2-6用户管理界面295-2-7管理员修改

5、密码界面296. 系统测试30总结31参考文献32用户操作手册33附录34小组分工表341.需求分析 1.1系统介绍 本投票系统主要分为普通用户和管理员两部份。普通用户登录后可以进行投票和查看投票结果;管理员登录后可以进行管理投票话题和管理投票项。“投票”用例主要的功能是普通用户对某个投票话题进行投票,在用户进行投票时检测用户是否已经投票了该话题,保证每个用户都一个话题只能投一次票。“查看投票结果”用例负责为用户提供某个话题的投票情况,包括每个选项的票数以及统计图。“登录”负责核对管理员的用户名与密码,保证管理员身份的正确性。“管理投票话题”用例负责为管理员提供添加和删除话题的功能。“管理投票

6、项”用例负责为管理员提供添加和删除选项的功能。1.2需求的提取 1.2.1在线投票系统应具有的独特的功能:(1)方便的操作。原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。 (2)友好的界面。友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。(3)强大的功能,能够满足需要,快速简单的统计任务,提高质量。 1.2.2在线投票系统需要满足的条件:(1)系统自动把投票结果转换为百分比显示。(2)投票管理员可以对投票主题和投

7、票选项进行设计与修改。1.2.3在线投票系统开发应遵循以下要求:(1)尽量采用现有软硬件环境及先进的系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。(2)系统应具有可扩展、可复用的特点,能与投票系统接轨,数据库的设计应该具有通用性。(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统维护人员的调试与修改维护。(4)系统应具备数据库维护功能,及时根据需要进行数据的添加、删除、修改等工作。2 开发工具简介在在线投票系统的设计发开过程中主要用了JSP技术,其中用到的工具有:JDK1.4、MyEclipse、SQLserver 2000、Tomcat等

8、。 2.1.JSP简介JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段和JSP,从而形成JSP文件。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。在线投票系统用JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使本系统基于Web的应用程序的开发变得迅速和容易。(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是现而

9、易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.2.SQLserver 2000简介 SQLServer 2000 是Microsoft 公司推出的SQLServer 数据库管理系统,SQL Server 2000 数据库系统使用最常用的数据

10、库管理语言结构化查询语言(SQL)进行数据库管理。它具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用;SQL Server 2000 SQL Server 2000 不但结合了分析、报表、集成和通知功能,而且它具有的图形化用户界面,可以使系统管理和数据库管理更加直观、简单;SQL Server2000与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server2000也可以很好地与Micro

11、soft BackOffice产品集成。SQL Server2000因为其速度、可靠性和适应性而备受关注。针对以上种种情况,SQL Server 2000 数据库是在线投票系统最好的选择。3.分析与设计 3.1 系统结构图在线投票系统总体功能模块包括普通用户模块和管理员模块,其具体描述如下: 1.普通用户模块(1)用户注册:普通投票用户须通过账号注册方可以进行投票; (2)登录:注册成功后,可输入用户名和密码登录系统; (3)重选:用户可以进行重新投票; 从以上介绍中我们能看到,普通用户模块包含着3个不同的功能,其各部分功能关系如图3-1-1所示。 在线投票系统普通用户用户注册提交投票查看投票

12、结果图3-1-1 普通用户模块图 2.管理员模块(1)发布新问题;(2)用户管理,管理员可以增加和删除普通用户(超级用户不能删除),或者更改普通用户密码;(3)查看所有投票;从功能描述的内容中可以看到,管理员模块可以实现添加投票话题、删除投票话题、增加投票项、删除投票项、公布结果和查看投票结果6个完整的功能,并且不同功能之间也存在着一些直接或间接联系,如图2-1-2所示。删除投票主题添加投票主题查看所有投票增加投票项用户管理删除投票项公布结果删除用户添加用户更改密码管理员在线投票系统 图3-1-2 管理员模块图 3.系统的流程图: 在线投票系统的流程图包含了该系统的投票原理与主要制作方法。从流

13、程图上我们可以看到在线投票系统需要经过登录、显示投票项、取得投票参数、累加投票数、将投票写入数据库和显示投票结果等步骤,其流程图,如图3-1-3所示。 开 始登 录显示投票项取得投票参数结 束是否取得参数累加投票数将结果写入数据库显示投票结果否是图3-1-3投票流程图 3.2 系统用例图图3-2-1普通用户用例图图3-2-2管理员用例图如图3-2-1所示,整个系统主要有三个参与者,分别为普通用户和管理员。数据库为系统的所有用例提供数据,保证系统的正常运作。系统的用例主要有五个,分别为:投票、查看投票结果、登录、管理投票话题、管理投票项。“投票”用例主要的功能是普通用户对某个投票话题进行投票,在

14、用户进行投票时检测用户是否已经投票了该话题,保证每个用户都一个话题只能投一次票。“查看投票结果”用例负责为用户提供某个话题的投票情况,包括每个选项的票数以及统计饼图。 “登录”负责核对管理员的用户名与密码,保证管理员身份的正确性。“管理投票话题”用例负责为管理员提供添加和删除话题的功能。“管理投票项”用例负责为管理员提供添加和删除选项的功能。 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-

15、4 管理员登录的时序图图3-6-5 管理员添加投票话题的时序图图3-6-6管理员删除话题的时序图图3-6-7 管理员增加投票项的时序图图3-6-8 管理员删除投票项的时序图 3.6 数据库功能模板设计数据库设计是软件开发中的重要环节,是对系统数据全面的、详细的分析。数据库设计的好坏直接关系到整个项目设计的效率的高低,关系到设计的稳定性。根据在线投票系统不同模块之间的联系和前期的设计目的与需求,设计了三个不同的数据表,它们分别是用户表、投票选项表和投票主题表。1.用户表(Admins)用户表包括所有用户的各种信息,如用户名、密码等详细数据并规定了每个字段的类型,如表3-7-1所示。表3-7-1用

16、户表(Admins)字段名数据类型长度是否主键描述admnameVarchar50是用户名admpwdVarchar50否密码2.投票选项表(Items)投票选项表包括每个投票选项的基本信息,如投票编码、问题ID、投票选项和投票选项各选项所得票数等信息,同时此表还规定了字段类型和长度,具体的数据说明如表3-7-2所示。表3-7-2 投票选项表(Items)字段名数据类型长度是否主键描述ItemIDint11是投票编码QuestionIDint255否问题IDItemvarchar500否投票选项ItemCountbigint20否票数3.投票主题表(Question)投票主题表包括投票主题、问

17、题ID、是否对外投票、投票日期以及是否对外公布投票结果等信息,详细数据类型和字段长度如表3-7-3所示。表3-7-3 投票主题表(Question)字段名数据类型长度是否主键描述QuestionIDint11是问题IDQuestionvarchar500否投票主题IsVisableint10否是否对外投票Datevarchar50否日期值IsOpenvarcharint否是否对外公布结果系统E-R图为:4.系统的详细设计 4.1用户登录模块的设计 4.1.1程序描述 本程序设计的目的主要是对用户注册和用户登录的实现。4.1.2功能描述 用户登录:如果是已经注册的用户,则直接验证登录到投票系统首

18、页;如果是还未注册的用户,则首先进行注册,注册成功,进行登录,登录成功的用户进入投票系统首页。如图: DB错误信息重新注册信息是否有误出错注册检查输入不合法无误用户登录检查输入输入信息不合法无误错误信息重新登录投票首页身份认证不通过通过 4.1.3性能身份认证和检查用户要对数据库进行搜索和录入,检查用户是不是合法和注册时,用户表里是否有此用户名,如果是用户要求反应时间在1秒之内,如果不是会员反应时间在2秒之内,并在0.5秒之内跳到注册页面。4.1.4输入项 在登录界面登陆的信息包括:用户信息(用户名,密码,数据类型:char,密码要以显示)。4.1.5输出项对用户输入信息进行判断,通过验证后进

19、入用户操作界面,如果该用户信息不存在提示“注册”。4.1.6流程逻辑顾客注册错误页面登录网页首页4.2管理员管理模块的设计4.2.1程序描述 本程序设计的目的主要是管理员登录以及对管理员身份进行验证的实现。4.2.2功能描述 管理员登录:如果是管理员,则直接验证登录到后台管理系统首页,如果如果不是管理员,则显示错误信息。如图: 管理员 登录 后台首页 出错信息验证输入否是4.2.3性能身份认证和检查管理员要对数据库进行搜索和录入,检查管理员是不是合法时,管理员表里是否有此管理员名,如果是管理员要求反应时间在1秒之内,如果不是管理员要求反应时间在2秒之内。4.2.4输入项 在登录界面登陆的信息包

20、括:管理员信息(管理员,密码,数据类型:char,密码要以显示)。4.2.5输出项对用户输入信息进行判断,通过验证后进入用户操作界面,如果该用户信息不存在提示“出错”。4.2.6流程逻辑如图: 管理员验证错误页面登录后台首页4.3用户投票和投票结果查看模块设计4.3.1程序描述 本程序设计的目的主要是用户进行投票以及对投票结果进行查看的实现。4.3.2功能描述 投票管理:选择投票项,点击“提交”,数据库增加相应票数,转换到投票查看页面;点击“重置”,返回默认头投票项。如图:投票页面选择投票项是否重置提交是否完成所有题目 投票结果查看:点击“查看投票结果”,可以查看到管理员允许对外公布的主题的投

21、票结果。如图:投票查看页面点击查看主题是否对外公布显示票数和图示关闭窗口4.3.3性能投票提交要求反应时间在1秒之内,数据库修改数据并以数字和图示显示结果。4.3.4投票输入项 点击投票项,被选中的选项以显示4.3.5结果输出项点击查看结果,页面显示管理员允许对外公布的主题的票数和图示。4.3.6流程逻辑如图:用户投票提交重置查看结果显示对外公布结果隐藏对外公布结果 4.4管理员对主题、选项和用户信息的编辑模块的设计4.4.1程序描述 本程序设计的目的主要是管理员对主题、选项和用户信息的增加以及删改的实现。4.4.2功能描述 如图:增加操作信息删除确定 等待操作取消取消确定修改 DB 4.4.

22、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用户查看投票结果

23、界面 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 网站对数据库的访问和更新测试用例用例名称网站对数据库的访问和更新用例描述当用户登录注册后,并登陆到网站后进行投票、链接等信息。这些信息都是来自管理员对

24、后台数据库的更新和维护。我们要测试的是管理员通过后台是否对数据库进行了修改,并且修改后是否能相应、如实地在前台显示出来。测试方案管理员在后台添加主题信息,首先查看数据库中的数据是否有相应的变化,然后登录网站的前台看前台中显示的信息是否会相应改变。输入数据在添加主题模块中添加一个主题信息,数据如下:调查主题:你最喜欢下面哪种水果? 选项1:苹果 选项2:香蕉 选项3:提子 选项4:西瓜 预期结果在添加的主题信息被提交后,打开SQLserver 2000数据库,可以看到表中多了一行数据,其属性调查主题、选项1、 选项2、选项3、选项4的值分别为你最喜欢下面哪种水果?、苹果、香蕉、提子、西瓜说明管理

25、员对网站数据库的访问和更新是成功的。表6-2 网站投票功能的测试用例名称网站投票功能的测试用例描述在用户登录前,用户是否能进行投票;用户登录后,并在投票中进行提交,观察系统是否会把投票数增加1;用户进行投票结果查看时,系统是否会把投票结果返回。测试方案用户未登录,然后观察是否能进行投票;登录后,进行投票提交和查看投票结果。输入数据进行选项投票。预期结果结果1:用户未登录时,不能进行投票;结果2:在投票结果查看页面中显示投票结果。表6-3 对系统容错功能的测试之对投票选项修改的检测用例名称对系统容错功能的测试之对投票选项修改的检测用例描述在系统设计时,设计员需要考虑到可能进行什么样的操作。其中,

26、需要判定那些操作是合法的而那些操作是不允许的。在这个系统中,需要对投票选项修改操作进行检测。这个测试是投票选项修改的容错功能。测试方案管理员对主题的选项进行添加。输入数据调查主题:你最喜欢下面哪种水果? 选项1:苹果 选项2:香蕉 选项3:提子 选项4:西瓜 选项5:哈密瓜预期结果点击提交后,系统弹出提示框“ 更改成功”。同时,将信息添加进数据库中。总结这个系统主要采用的jsp技术,数据库为SQL SERVER 2000,服务器为Tomcat,开发环境是MyEclispe。由于是首次合作使用不熟悉的java语言弄的系统,故在编写系统的过程中,我们碰到了很多问题。如:在数据库的安装和链接这一部分

27、,我们花了大量的时间。由于之前安装了数据库2008版的功能不全,无法完成数据库的连接操作,由于之前安装了数据库2008版的功能不全,无法完成数据库的链接操作,故要卸载2008版本,重新安装了2000版本。但是由于之前的2008版卸载时挺麻烦的,需要在系统的注册表里面删除之前的安装键值等才能够安装2000版数据库。本数据库的端口号改为了1434。默认为1433。由于所安装的2000版本的库并不能支持所运用的开发环境MYEclipse(反反复复才搞清楚是这个原因。),因此还需要对数据库进行打补丁SP3。在JDK安装中需要设置系统坏境和Tomcat的安装中需要设置虚拟机为JDK的安装路径,这一步是挺

28、重要的。 本系统的开发主要分为:界面层、逻辑结构层、数据存储层。在编写JSP文档中等属性必须要熟练掌握,否则会搞到界面的不整洁,还会随着浏览器窗口的更改,界面元素也会随着更改。在编写的初次阶段,这个问题很难解决,不过随着首页面的详细设计,弄好中的长宽高的设置之后,也逐渐掌握了如何设置界面等。在图片的选择与设置方面也遇到了各种各样的问题,比如图片如何设置才比较美观等,在图片途径的链接阶段需要特别注意,否则会显示不出图片。在JAVABEAN时,比如数据库的链接文档,Connection conn=java.sql.DriverManager.getConnection(jdbc:microsoft

29、:sqlserver:/localhost:1434;DatabaseName=db_Bookmanage,sa,111);这个地方是比较容易出错的,在URL、数据库登录名和密码之间用的是都逗号而非分号。 在配置web文件时是特别需要注意的是,所用到的servlet都需要对servlet进行注册和编写servlet映射路径。 由于中英文的编码是不一样的,在设置的过程中,很容易出现乱码,需要设置charset=GB2312或者是GB18030,在运用request对象获取数据时,需要设置setEncoding属性为GB18030,这一步很重要否则会出现乱码,默认为iso-8859-1这个不支持中

30、文。通过这一次的系统设计,我们获益匪浅。不仅对UML这门课有所掌握,还加强了对代码的编写能力、加深对代码实现功能进一步地了解。在这次编写中,我们更加坚定了信心,更能体会到团队合作的优势。参考文献1王国辉,Java Web 开发实践宝典,北京:清华大学出版社2张新曼精通JSP-Web开发技术与典型应用M ,北京:人民邮电出版社3黄理,李积善,曹林有,张勇.用JSP轻松开发Web网站(第一版)M.北京:北京希望电子出版社4李鈡蔚,马文强,王殊宇Java 项目开发实例自学手册,北京:人民邮电出版社5郑阿奇,刘启芬,顾韵华SQL Server实用教程M,北京:电子工业出版社6封超Tomcat与Java

31、 Web 开发技术详解,北京:清华大学出版社7佩里Java Servlet & JSP TM经典实例OReilly Java系列M,北京:中国电力出版社8陶亚楠,廖建Java Web 开发入行真功夫,北京:人电子工业出版社9丁荣涛. 商业网页设计与制作. 北京:北京大学出版社用户操作手册开发工具:MyEclipse 数据库: SQLserver 2000服务器:TOMCAT先导入数据库,然后部署到服务器,启动 在浏览器地址栏输入:http:/172.18.80.132:8080/vote即可进入在线投票系统首页,在首页,可以进行用户注册、用户登陆等操作;用户登陆后,可以进行投票和查看投票结果。在浏览器地址栏输入:http:/172.18.80.132:8080/vote/admin/adminLogin.jsp既可进入管理员登陆界面,用户名/密码为:admin/111,在后台主页,管理员可以进行添加主题、删除主题、添加选项、删除选项、查看投票统计结果以及用户管理等操作。附录 小组分工表姓名主要负责 需求分析、详细设计、系统代码编写和测试文档 需求分析、详细设计、系统代码编写和总结 需求分析、详细设计、系统代码编写和用户操作手册

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com