版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
II第1章绪论1.1在线投票系统开发的背景随着网络的飞速发展,网络已经深入到社会的每个角落,根据《中国互联网发展统计报告》,截至2020年3月,中国互联网普及率达到64.5%,网民人数达到9.04亿,网民的力量不容忽视。人们可以在网络上充分发表自己的言论,参与活动。信息流动量十分巨大。而如何抓住所需要的市场信息则成为互联网领域的一个热点问题。进行公开投票,则是能有效反应当下民情民意的重要手段。但传统的手工投票方式由于其耗费大量人力物力且投票区域有限,已经不能满足市场的需求,各大门户网站及企业为了更好的获取市场信息,提高自身的市场竞争力而通过各种方法获取市场信息,在线投票也就应运而生[1]。在线投票系统是一个基于网络的投票收集及统计的系统,对于对收集信息有所需求或者需要收集投票信息的企业或个人来说,可以利用此系统发布投票信息,参与投票的用户可以通过手机或电脑随时随地进行投票。投票结束后系统自动生成投票结果,用户还可以在该系统中发布留言,参加讨论。在线投票系统因其功能强大,调查范围更广,信息反馈更加迅速,能更好地反映民情民意,使其在各领域都得到广泛使用[2]。1.2在线投票系统开发的意义本文以围绕建立一个方便、高效、易用、功能齐全的在线投票系统为宗旨。在线投票系统运用互联网来实现投票活动,有效的节约了大量人力物力。并且相较于人工投票来说在线投票更加方便投票信息传播更快,参与投票用户更多,甚至远在天边的人们也可通过互联网来参与投票活动,发表自己的观点和看法,使信息更加具有代表性。各大门户网站与企业能更方便、准确、高效地获取当下市场热点信息[3]。在线投票系统紧密结合用户,以用户服务为中心,了解用户实际需求,设计出高效,使用方便,功能强大的操作系统。企业或个人使用在线投票系统进行投票活动能够降低为了获取市场信息所耗费的成本,从而更好的发展。计算机在日常生活中起着越来越重要的作用,现在几乎融入了所有领域,为人们生活带来了越来越多的便利。随着互联网的发展,如何获取人们的喜好则成为互联网最热门的话题,而在线投票则是解决这一问题的有效手段。因此,开发一款功能强大又满足用户需求的在线投票系统十分重要。1.3在线投票系统的研究现状1.3.1国外研究现状在互联网飞速发展的今天在线投票因其使用方便,信息更具代表性等优势已经逐步取代传统手工投票。以下将介绍几个国外知名投票网站。PollDaddy,Polldaddy是一项在线投票服务,用于创建在线投票和调查,并且其可以嵌入到博客,网站甚至是个人的Twitter资料中。使用Polldaddy时用户需要创建一个帐户,用户可以查看投票结果和最新活动以及配置文件中存储的信息。发起投票者可以选择多种类型的投票主题也可通过自定义CSS定制主题。该系统还支持简体中文,还可通过限制IP来防止刷票。是一个完整,高度可定制的工具[4]。Thetoptens,美国最热门投票网站之一:在线话题式投票网。网站中所有的投票话题全是由用户创建。登陆网站后你可以自行搜索热门话题根据自己的喜好投出自己的一票以帮助它获得更高的排名。截至现在该网站访客数量超过一千六百多万人,共有4万多组投票话题。Neomyz,是一款运用Flash构建的免费在线投票系统,支持简体中文,使用方便,操作简单,具有简单的流量统计功能,并能嵌入到网站、博客中。缺点是neomyz对免费版在线投票系统做了些限制,可选模板较少,隐藏投票结果、投票间隔时间设置等高级功能不可用,且每天限制100次查看[5]。1.3.2国内研究现状当下互联网飞速发展,普及到每家每户。很多科研机构及高校根据用户对在线投票系统的实际需求,开发出很多实用的在线投票系统,以下将简要分析其中几个典型代表。快上投票,功能齐全,支持用户自定义投票活动规则与周期,选手可自助参赛报名,投票统计后可以导出数据,并且采用区块链技术应用,数据安全保密。现已获18个奖项,已有348家参赛单位使用过此网站进行投票[6]。广力云投票系统,是当下最流行的在线投票系统之一,它是一家微信投票专业级平台,现在已经超过百万场投票活动采用广力云投票的产品,举办个多场超过500万投票数的活动。该系统具有强大防刷引擎以及强大的防火墙技术,投票数据的真实性与安全性得到保障。在功能方面,考虑到用户的实际需求,该系统支持用户定制不同类型的投票[7]。互动酷投票,该系统可以为用户提供多类型的免费投票活动,用户还可以定制投票主题。管理员可以为用户提供投票方案,服务周到,功能齐全[8]。1.3.3国内外述评分析以上介绍的国内外热门投票系统,发现在各领域中在线投票系统都有重要的用途,被各企业和个人广泛使用。以上在线投票系统都流行使用B/S结构。用户使用无需安装专门的客户端只需在网页上就能够使用系统功能,更加方便快捷,维护成本更低,也相对容易。开发语言主要有JSP、ASP等等。1.4研究思路以在线投票系统中的网站内容管理、用户信息管理、投票管理和系统管理4大基本功能为背景,构建出功能齐全的在线投票系统。本人将会运用所学知识,较好的完成系统功能的实现。以下介绍本文主要工作。首先,分析在线投票系统研究背景、意义和现状。调查普通用户对在线投票系统的实际需求以及现有投票系统的缺点和不足,分析它存在的问题和无法满足用户需求或给用户带来不便的模块,为之后设计新在线投票系统打好基础。了解用户对在线投票的实际需求后,进行详细的系统分析与设计,从用户实际需求的角度,以开发出最能带给用户方便、搞笑的投票系统为目标设计相应功能模块。结合软件工程,利用uml各图的方式对系统各功能模块进行详细描述。最后利用大学期间所学过的知识开发出稳定、高效、功能强大的在线投票系统。随后进行系统测试工作,完善在线投票系统各功能,最终成功完成系统开发。1.5论文所做主要工作绪论。论述在线投票系统的研究背景以及意义,调查研究国内外研究状况,分析现有系统所存在的问题。确定本文研究方向。在线投票系统分析,对在线投票系统进行可行性分析,调查用户实际需求。系统设计与行为建模,对系统各功能模块进行设计和数据库设计。在线投票系统实现与体系结构建模,进行系统软硬件结构建模,并进行系统测试。最后是总结与展望,总结此次开发在线投票系统的收获已经感想,并对在线投票系统未来进行展望。在线投票系统分析2.1系统背景介绍随着社会信息化的日益增强、企业与企业之间的竞争越来越激烈,为了加强自身的市场竞争力,更好的获取市场信息,越来越多的企业选择使用在线投票系统来获取信息[9]。使用该系统进行投票活动能够有效的节约了人力物力。并且相较于人工投票来说在线投票更加方便投票信息传播更快,参与投票用户更多,用户可以发表自己的观点和看法,使信息更加具有代表性。信息也能更加及时的反馈到企业中。各大门户网站与企业能更高效、准确地获取当下市场热点信息。因此,在线投票系统受到越来越多人的青睐并使用。2.2在线投票系统的需求陈述在线投票系统是以运用互联网投票方式来让用户使用更加方便、投票信息传播更快更广,实现节约人力物力、让更多的人知道并参与评选,最重要的是在线投票使信息来源更广泛,让评选更能代表“民意”,各大门户网站与企业能更方便、准确、高效地获取当下市场热点信息[10]。在线投票系统的主要功能有,匿名用户可以查看投票信息,若想参加投票则须先注册后登录,用户需要实现验证码登录、限制IP等操作以防止作弊、恶意刷票等违规行为。注册用户能够创建图片投票、参与投票、修改密码、修改个人详细资料、管理自己所投票信息。其他用户可以根据主题参与投票并查看投票结果。管理员则可以对投票信息、用户信息和公告进行相应管理,还需对数据安全,系统安全进行相应维护操作。2.3需求分析2.3.1功能需求1.用户管理子系统用户管理子系统中匿名用户无需登录便可以查看投票信息,但无法参与投票,注册成为会员后才拥有参与投票的权限。注册用户能够搜索投票主题并参与投票,之后能够管理自己参与的投票信息,并可以填写相应信息后发布图片投票。管理员则有更多的管理权限,能够新增管理员、冻结和删除普通用户信息、发布和删除系统公告、查看修改和删除所有投票信息,并具有一定的数据维护和系统设定功能,同时也负责后台投票数据的统计和分析和注册用户的信息管理与发起投票等功能。投票子系统投票子系统是整个在线投票系统的核心模块,通过这个模块制作并管理自己制作的投票活动,组织用户进行投票,统计投票调查等功能。后台管理子系统后台管理中管理员能够对用系统公告以及投票内容进行管理。通过后台管理模块实现了整个在线投票管理系统的动态管理。系统管理业务的需求分析系统管理模块主要设定了系统的相关参数和运行环境,通过该模块可以赋予各用户一定的权限。并且可以设置系统的界面格样式。2.3.2性能需求1.可靠性在线投票系统需要保证一定的可靠性,在规定的时间内要求系统能够高效、准确的完成相应工作[11]。例如发起投票、查看投票结果等功能需高效切准确无误的完成。2.方便性用户可以随时随地通过网络就能实现发起、参与投票等功能。并且系统应做到界面清晰,操作简单。用户无需指导便能简单易上手操作,完成想要的功能。3.安全性在线投票系统中,投票的目的便是为了获取最真实最具代表性的信息,所以投票数据是整个系统最关键最重要的部分,因此,数据安全对于整个系统来说非常重要。不同用户所拥有权限不同,能够接触到的信息也大不相同,通过对不同用户访问权限进行设置,能够有效防止用户越权访问重要数据,保证数据安全。数据库存储着所有用户以及投票的重要信息内容,数据安全问题不容忽视。针对有可能发生的系统停止运行和瘫痪情况,需要数据库有良好的差错处理能力,不会造成数据损坏或丢失[12]。2.4系统需求建模2.4.1确定参与者在线投票系统参与者:注册用户、匿名用户和管理员。匿名用户可以进入投票首页后查看当前的投票信息、查看投票结果、注册;注册用户可以登陆系统、参与投票、修改密码、修改个人详细资料、查看并管理我的投票、新增图片投票、查看结果及退出登录;管理员可以管理用户信息、发布投票、管理投票、管理系统公告、修改密码、查看投票结果、数据维护、设置环境。2.4.2确定用例在确定参与者之后,结合对现有在线投票系统进一步分析系统的需求,识别出的用例有:注册,登陆系统,修改密码,发起投票,发起图片投票,查看我的投票,搜索投票,参与投票,查看结果,投票管理,管理用户信息,管理投票,管理公告,修改密码,数据维护,设置环境,设置权限等。2.4.3业务用例建模和用例描述以下将对各用例进行详细的用例分析且编写用例文档。在线投票系统中用例有注册,登陆系统,修改密码,发起投票,查看我的投票,搜索投票,参与投票,查看结果,投票管理,留言,管理用户信息,管理投票,管理留言,管理公告,修改密码,数据维护,设置环境,设置类目,设置权限,设置界面风格。在线投票系统的业务顶层用例图如图2-1所示。图2-1在线投票系统业务顶层用例图其中在线投票系统中投票管理子系统的业务用例图如图2-2所示。查看投票主题、查看投票结果、发起普通投票、发起图片投票、参与普通投票、参与图片投票、投票管理、管理已投票信息、结束投票、删除投票的用例描述如表2-1至表2-8所示:图2-2投票管理子系统业务用例图表2-1查看投票主题用例描述表用例编号Z01用例名称查看投票主题用例描述用户查看投票主题参与者匿名用户、注册用户、管理员前置条件进入投票首页后置条件查看成功基本操作流进入投票首页点击投票调查选项异常操作流无表2-2发起普通投票用例描述表用例编号Z02用例名称发起普通投票用例描述管理员发起新投票参与者管理员前置条件系统正常登录,进入发起投票页面后置条件投票发起成功基本操作流点击创建投票功能,进入创建新投票页面,填写投票内容,并且完成投票内容的录入异常操作流填写内容不完整,创建失败表2-3参加普通投票用例描述表用例编号Z03用例名称参加普通投票用例描述注册用户参加投票参与者注册用户前置条件系统正常登录,进入投票页面后置条件投票成功基本操作流进入投票页面,为自己所选择的对象投出一票异常操作流无表2-4查看投票结果用例描述表用例编号Z04用例名称查看投票结果用例描述用户在投票结束后系统自动显示投票结果参与者匿名用户,注册用户,管理员前置条件投票成功后置条件投票结果显示正确基本操作流投票成功后系统读取投票结果,并且采用条形图和饼状图的方式显示结果异常操作流无表2-5投票管理用例描述表用例编号Z05用例名称投票管理用例描述管理员对投票进行终止或删除参与者管理员前置条件系统正常登录,进入管理员界面点击投票管理后置条件投票终止或删除成功基本操作流选中所创建投票标题,点击终止或删除异常操作流无表2-6发起图片投票用例描述表用例编号Z06用例名称发起图片投票用例描述注册用户发起图片投票参与者注册用户前置条件用户成功登录后置条件发起成功基本操作流用户成功登录后进入用户页面,点击新增图片投票异常操作流登陆失败表2-7参加图片投票用例描述表用例编号Z07用例名称参加图片投票用例描述用户参加图片投票参与者注册用户前置条件进入投票首页后置条件投票成功基本操作流进入投票首页点击图片投票选项异常操作流无表2-8管理已投票信息用例描述表用例编号Z08用例名称管理已投票信息用例描述注册用户管理自己已投票信息参与者注册用户前置条件用户登录后置条件查看或删除成功基本操作流进入用户页面点击投票信息查看,可以选择查看投票结果或删除投票信息异常操作流无其中在线投票系统中用户管理子系统的业务用例图如图2-3所示。查看用户信息,设置用户权限,修改密码,用户信息修改的用例描述如表2-8至表2-14所示。图2-3用户管理子系统业务用例图表2-9会员注册用例描述表用例编号Z09用例名称会员注册续表2-9用例描述用户注册成为会员参与者匿名用户前置条件进入投票首页后置条件注册成功基本操作流用户进入登陆页面点击用户注册,填写基本信息异常操作流无表2-10设置用户权限用例描述表用例编号Z10用例名称增加管理员用例描述管理员增加系统用户参与者管理员前置条件系统正常登录,进入管理员界面后置条件增加成功基本操作流进入管理员界面,点击系统用户管理,填写信息后,点击确定异常操作流无表2-11密码修改用例描述表用例编号Z11用例名称密码修改用例描述注册用户与管理员设置用户权限修改自己的密码参与者注册用户,管理员前置条件系统正常登录,进入用户管理子系统后置条件密码修改成功基本操作流进入用户管理模块,修改自身密码,点击确定异常操作流无表2-12个人信息修改用例描述表用例编号Z12用例名称个人信息修改用例描述注册用户与管理员修改自己基本资料参与者注册用户,管理员前置条件系统正常登录,进入用户管理子系统后置条件信息修改成功基本操作流进入用户管理模块,修改自身信息,点击确定异常操作流无表2-13冻结用户用例描述表用例编号Z13用例名称冻结用户用例描述管理员对违规用户进行冻结操作参与者管理员前置条件正常登陆后置条件冻结成功基本操作流进入管理员界面,点击用户管理,点击冻结异常操作流无表2-14删除用户用例描述表用例编号Z14用例名称删除用户用例描述管理员对用户进行删除操作参与者管理员前置条件正常登陆后置条件删除成功基本操作流进入管理员界面,点击用户管理,选中用户后点击删除异常操作流无其中在线投票系统中后台管理子系统的业务用例图如图2-4所示。数据维护,公告管理的用例描述如表2-15与表2-11所示。图2-4后台管理子系统业务用例图表2-15个人信息修改用例描述表用例编号Z15用例名称公告管理用例描述管理员对系统公告进行添加,修改与删除参与者管理员前置条件系统正常登录后置条件公告更新成功基本操作流进入管理员界面,点击公告模块,填写添加公告或修改公告或删除公告,点击确定异常操作流无其中在线投票系统中系统管理子系统的业务用例图如图2-5所示。设置环境,设置界面风格,设置类目的用例描述如表2-12至表2-13所示:图2-5系统管理子系统业务用例图表2-12设置类目用例描述表用例编号Z12用例名称设置类目用例描述实现对在线投票系统投票类目的设置参与者管理员前置条件系统正常登录,进入系统管理子系统后置条件正确创建新类目,当执行删除操作时,类目删除成功基本操作流1.系统正常登录,进入系统管理子系统,点击创建类目,输入类目名称,点击确定2.点击已存在的类目,点击删除,点击确定异常操作流无表2-13设置界面风格用例描述表用例编号Z13用例名称设置界面风格用例描述实现对在线投票系统投票类目的界面风格的设置续表2-17参与者管理员前置条件系统正常登录,进入系统管理子系统后置条件设置界面风格成功基本操作流系统正常登录,进入系统管理子系统,选定类目,点击选择界面风格,选中所需界面风格,点击确定异常操作流无2.5系统开发方案2.5.1新系统目标1.根据本地情况添加策略管理人员需积极与当地用户沟通,了解当地风土人情,可以适当添加相应的界面设计,功能等模块来吸引更多的用户使用本系统[13]。用户使用反馈在线投票系统是否能够长期稳定的运行下去与用户使用感受密不可分,只有了解客户对系统的满意度,系统才能获取更多的信息。需要更加用心的倾听用户的声音,了解用户需求,不能一味的追求自我的想法,系统和用户是相互关联的。因此,系统管理员需要定期对使用系统的用户进行满意度调查,了解系统有哪些优点与缺点,记录保存,为未来系统的提供更好的发展。加强安全管理由于HTTP协议服务端并不能非常有效的辨别客户端的特性,因此一些别有用心的用户便会通过此漏洞利用一些作弊软件来进行刷票操作,从而影响投票数据的真实性。所以,在在线投票系统中加入一个防刷票模块变得十分重要[14]。优秀的防止刷票系统应该注意以下几点。(1)检测HTTP头部的方法尽量不去使用。(2)确保程序的安全性,杜绝SQL注入等程序的漏洞。(3)IP限制与后台IP段分析相结合,避免用户通过断开重播来切换IP来结算票据。(4)由于用户可以能够更改cookie信息,所以不使用通过辨别改信息的方法限制投票(5)可以通过验证码验证用户登录。一般情况来说,限制IP和验证码登录相结合可以有效防止恶意刷票软件[15]。2.5.2新系统方案1.查询历史投票在线投票系统能够支持界面查询功能,可以未删除的投票结果进行查看,用户可以登录到投票子系统中点击搜索功能,通过搜索投票编号或关键字来查询投票纪录,有需要还可以打印记录。2.违规操作警示在线投票系统一旦识别用户有异常操作的行为如使用刷票软件,会向用户提示警示信息并终止该行为。系统功能结构图如图2-6所示。2.6系统用例建模通过对在线投票系统的需求分析,得出本系统的参与者有管理员、匿名用户和注册用户。基本用例有用户管理、投票管理、后台管理和系统管理。在线投票系统顶层用例图如图2-7所示。系统管理子系统用例图如图2-8所示。新增业务用例如表2-14至表2-16所示。数据维护管理数据维护管理系统维护管理系统基本设置公告管理投票信息管理用户信息管理用户密码管理投票管理子系统用户管理子系统系统管理子系统后台管理子系统在线投票系统投票参与管理投票创建管理投票结果统计图2-6系统功能结构图图2-7在线投票系统系统顶层用例图图2-8系统管理子系统用例图表2-18研发系统用例描述表用例编号Z18用例名称开发系统新功能用例描述管理员进一步开发系统参与者管理员前置条件原系统代码无误后置条件新增加的系统功成功运行基本操作流系统管理员对系统功能进一步开发完善异常操作流系统登录失败表2-19保障系统安全用例描述表用例编号Z19用例名称保障系统安全用例描述系统管理员通过后台保障系统的安全参与者管理员前置条件登录后台子系统后置条件系统运行稳定基本操作流管理员登录系统后台保障系统的安全异常操作流系统登录失败表2-20保障数据安全用例描述表用例编号Z20用例名称保障数据安全用例描述管理员通过后台保障数据的安全参与者管理员前置条件登录后台系统成功后置条件数据完整无丢失基本操作流系统管理员登录系统后台保障数据的安全异常操作流数据丢失2.7类图的构建2.7.1类的识别在上文所述需求陈述的基础上,结合本文所设计的在线投票系统运用CRC技术,对在线投票系统的分析,得出用户子系统模块有用户登陆类、用户信息管理类、用户注册类、修改密码类。后台子系统有管理留言类、管理公告类。投票子系统有我的投票类、搜索投票类、发起投票类、参与投票类、查看投票结果类、投票管理类。2.7.2类的关联分析匿名用户通过向系统提交注册信息成为注册用户,验证信息完整后数据库保存该用户信息。成为注册用户后,可以发起投票、查看结果、管理个人信息及密码和留言等功能,使用这些功能时都需从数据库调取信息进行操作。具体类图如图2-9所示。图2-9类详细关系图2.7.3类的属性描述在线投票系统中登录类、注册类等共9个实体类的类名及中英文注释如下表2-17所示。表2-17类属性注释表类名英文简称中文注释Login(登陆类)Username用户名Password密码Identity身份Verificationcode验证码Enroll(注册类)Enroll注册用户信息Changepassword(修改密码)Oldpassword旧密码Newpassword新密码Username用户名Userinformationmanagement(用户信息管理)Userinformation用户信息Initiateavote(发起投票)sponsor发起人Singlechoiceormultiplechoice单选或多选restrictIP是否限制IPVotingoptions投票选项Votingsubject投票主题Limitedselection限选数量Search(搜索)Keyword关键字Votenumber投票编号Votingmanagement(投票管理)Votingsubject投票主题Votenumber投票编号Voting(投票)Votingoptions投票选项Votingsubject投票主题Limitedselection限选数量restrictIP限制IPVoting(查看投票结果)Votingoptions投票选项Votingsubject投票主题Numberofvotes投票数量Totalvotes总票数2.7.4建立系统的类继承关系图在线投票系统的类继承关系图如图2-10所示。2.8系统包图的构建通过分析系统需求,可以得到在线投票系统的包图,具体系统包图如图2-11所示。图2-11在线投票系统包图图2-10类继承关系图第3章在线投票系统设计与行为建模3.1系统设计的总体目标本文基于现有的在线投票系统系统设计了在线投票系统,并以用户为中心。基于系统架构设计,对系统的功能模块进行了深入的讨论。以顺序图,通信图,状态机图介绍了系统流程和功能。随后根据系统功能设计出数据库结构。完成了系统功能和后台数据库的设计[16]。根据用户对在线投票系统的需求,本系统应能够实现以下目标:(1)投票方式方便快捷。(2)可以快速及时地计算票数。(3)投票结果以百分比的方式显示。(4)使用技术手段来防止利用刷票软件刷票。本系统网页设计应能够实现以下目标:(1)文件结构清晰,网页文件结构规范。(2)根据用户需求,按照HTML页面的格式设计界面。(3)页面布局合理,层次清晰,便于程序员修改。(4)网页搭配合理的颜色,风格大众化[17]。3.2系统行为模型设计3.2.1系统顺序与协作分析本文所设计的后台管理子系统具有对系统公告的添加和更新功能,对投票信息的查看、终止和删除功能。后台管理子系统结构图如图3-1所示。首先管理员向系统提交登陆信息,经过系统身份验证成功后进入到管理员操作界面,在管理界面中管理员可以对对系统公告的发布和更新功能,对投票信息的查询、查看、终止和删除功能。确定操作后,系统将操作命令提交到数据库实施,数据库收到命令完成操作后返回操作成功消息,系统将操作成功的消息在窗体中显示出来。操作完成。后台管理子系统顺序图如图3-2所示。终止终止管理员公告管理投票管理查看删除更新添加图3-1后台管理子系统结构图图3-2后台管理子系统顺序图图3-3后台管理子系统通信图本文所设计的投票管理子系统具有发起投票、参加投票、结果统计、管理我的投票、搜索投票功能。用户注册后可以根据自己需求在系统中发起投票,设置投票信息,投票创建成功后能够终止投票、删除投票和查看该投票结果的操作。投票结束后投票结果系统会以条形图的方式显示给用户。有效的实现了对投票过程的动态管理。切实的实现了投票管理的功能。投票管理子系统结构图如图3-4所示。匿名用户必须成功注册在线投票系统成为注册用户后才能使用系统发起投票功能。投票结束后,用户可以在系统中搜索并查看投票结果。投票结果存储在系统的数据库中,系统需要读取到数据库中的数据后将结果显示给用户。操作完成。投票管理子系统顺序图如图3-5所示。其通信图如图3-6所示。发起投票发起投票参加投票搜索投票我的投票查看结果投票管理图3-4投票管理子系统结构图图3-5投票管理子系统顺序图图3-6投票管理子系统通信图本文所设计的用户管理子系统具有用户密码管理,用户信息管理的功能。用户管理子系统结构图如图3-7所示。用户管理用户管理修改密码修改个人信息注册会员图3-7用户管理子系统结构图首先用户向系统提交个人信息,提交完毕后系统对所提交信息进行验证。通过后系统将通知用户注册成功并将该用户信息存入数据库。具体顺序图如图3-8所示。通信图如图3-9所示。图3-8用户注册顺序图图3-9用户注册通信图本文所设计的系统管理子系统具有管理员对系统进行系统维护、数据维护和系统基本设置三个重要功能。具体结构图如图3-10所示。在数据维护模块中,系统首先验证管理员的权限是否能够进行数据维护,验证通过后系统向数据库提交管理员所要求的备份还原命令,数据库收到命令之后以窗体的形式向管理员显示备份或还原数据成功[18],操作完成。数据维护具体顺序图如图3-11所示,通信图如图3-12所示。系统管理系统管理系统基本设置数据维护系统维护数据备份数据还原图3-10系统管理子系统结构图图3-11系统数据备份和还原顺序图图3-12系统数据备份和还原通信图3.2.2系统状态分析在线投票系统中,管理员操作模块的状态机图如图3-13所示。首先管理员向系统提交登陆信息,系统验证通过后显示主操作菜单,包括用户管理、投票管理、系统用户管理、公告管理、修改密码、查看投票结果六项操作。管理员可以进入用户管理界面进行所需的用户信息更改,点击确定后系统显示操作成功的信息。管理员点击管理投票信息后显示投票管理界面,在此界面内管理员可以进行删除或终止投票,投票信息更新成功后系统显示操作成功的信息。点击管理留言模块后显示留言管理界面,在此界面管理可以删除一些不健康的言论,更好的维护投票氛围,删除成功后系统显示操作成功信息。点击公告管理进入管理系统公告界面,在此界面管理员可以添加或删除系统公告,更新成功后提示操作完成信息。点击修改密码后进入密码更新界面,填写新旧密码后确定更新,系统显示操作完成信息。选择查看投票信息后系统以条形图显示该主题的投票结果,管理员可以选择汇总主题及结果,系统将自动打印报表,成功后提示操作完成信息。图3-13管理员操作模块状态机图在线投票系统中,用户操作模块的状态机图如图3-14所示。首先用户向系统提交登陆信息,系统验证通过后显示主操作菜单,包括创建新投票、投票、留言、管理我的投票、修改密码、查看投票结果六项操作。用户点击发起投票后进入创建新投票界面,用户在此界面填写新投票信息后经过系统审核其完整性和合法性,审核成功后向用户显示创建成功信息。用户点击管理我的投票后显示投票管理界面,在此界面内用户可以进行删除或终止自己所创建的投票,投票信息更新成功后系统显示操作成功的信息。点击添加留言模块后留言界面,在此界面用户可以发表对此投票的一些看法并且与其他用户进行讨论。点击修改密码后进入密码更新界面,填写新旧密码后确定更新,系统显示操作完成信息。选择查看投票信息后系统以条形图显示该主题的投票结果,用户可以选择汇总主题及结果,系统将自动打印报表,成功后提示操作完成信息。图3-14用户操作模块状态图3.2.3系统活动分析活动图用于对系统的动态方面进行建模,是描述交互的一种方式,强调了对象的工作流程。活动是对象进行交互时,还必须完成一些工作。通常,活动图描述了这些活动及其之间的顺序[19]。在本文设计的在线投票系统中我们首先描述其中一个主要的活动图:用户登录模块活动图。首先注册用户向系统提交登录信息,收到验证码后输入密码及验证码,经过系统验证,通过则登陆成功,未通过则退出系统,具体如图3-15所示。在用户创建新投票模块中,首先进入创建投票界面,输入投票主题后设定选项位单选或者多选,若为多选则需设定限选数量,随后输入投票选项,提交系统录入数据库,创建成功。具体如图3-16所示。图3-15注册用户登录活动图图3-16创建新投票活动图3.3数据库设计3.3.1基本要求数据的共享性是设计一个可运行的数据库系统的基本要求,用户能够轻易的备份数据是数据库的关键。数据库对于本文所设计的在线投票系统的运行有着至关重要的作用。下面提出几个实现本系统数据库所要达到的基本要求。强大的储存性能对于在线投票系统来说数据库是存放所有用户信息和投票内容等整个系统重要内容的仓库,数据量十分庞大。而日常生活中又会经常用到信息检索等功能,所以本系统数据库需要强大的储存性能,以提高检索效率[20]。安全性通常,避免数据库中储存数据丢失损坏是判断数据库是否合格的标准。对于在线投票系统来说,数据库存储着所有用户以及投票的重要信息内容,数据安全问题不容忽视。并且针对有可能发生的系统停止运行和瘫痪情况,需要数据库有良好的差错处理能力,不会造成数据损坏或丢失。3.3.2数据库概念设计通过对本系统需求进行分析,在线投票系统涉及的主要实体包括:匿名用户、注册用户、投票、系统公告等等。其中注册用户实体属性图属性有用户编号,密码等8个属性,如图3-17所示。公告实体属性图中有如图3-18所示。投票实体属性图如图3-19所示。注册用户用户编号注册用户用户编号姓名密码联系电话年龄性别备注联系地址图3-17注册用户实体属性图公告公告添加者是否显示发布时间公告内容图3-18留言实体属性图投票投票投票编号参与人数选项数量创建日期投票主题状态结束日期图3-19投票实体图由各实体E-R图得出该在线投票系统数据库总的E-R图如图3-20所示。注册用户注册用户投票公告管理员图片投票属于参与查看发起发表管理MMMNNN1N111投票结果1图3-20在线投票系统E-R图3.3.3数据库表的详细设计从以上的设计可以看出,整个在线投票系统功能较多,结构复杂,所以在这里选择管理员表、用户表、留言表、投票信息表来介绍。管理员表管理员表主要有姓名、密码、联系地址、QQ、备注等10个属性。主键为管理员编号,详细信息如表3-1所示。表3-1管理员表中文名称数据属性名数据类型数据长度约束是否空管理员编号A_idchar10主键否姓名A_namechar10否性别A_sexchar2密码A_passwordchar15否年龄A_ageInt32电子邮件A_e-mailchar30联系地址A_addchar20QQA_qqchar15联系电话A_phonechar11备注A_remarkschar200用户表用户表主要有电子邮箱、密码、联系地址、QQ、联系电话、备注等11个属性。表中用户编号为主键,详细信息如表3-2所示。表3-2用户信息表中文名称数据属性名数据类型数据长度约束是否空用户编号U_idchar10主键否用户姓名U_namechar10否性别U_sexchar2密码U_passwordchar15否年龄U_ageInt32电子邮件U_e-mailChar30联系地址U_addchar20QQU_qqchar15联系电话U_phonechar11备注U_remarkschar200公告表公告表主要有所属公告标题、公告内容、是否显示、发布时间、发布者用户编号等5种属性。公告标题为主键,如表3-3所示。表3-3公告表中文名称数据属性名数据类型数据长度约束是否空公告标题M_idchar10主键否用户编号U_idchar10外键否公告内容M_contenttext外键否是否显示M_showchar10否发布时间M_timedatetime否投票项目表投票项目表主要储存主要存储投票编号、投票主题、选项数量、结束日期、状态等7种属性。主键是投票编号,如表3-4所示。表3-4投票项目表中文名称数据属性名数据类型数据长度约束是否空投票编号V_idchar10主键否投票主题V_namechar10否选项数量V_countchar2否创建日期V_starttimedatetime否结束日期V_closetimedatetime状态V_statuschar10否参与人数V_numberint第4章在线投票系统实现与体系结构建模4.1系统界面设计4.1.1用户管理子系统界面设计修改密码界面注册用户和管理员登录到主操作界面后可以实现密码修改功能。进入修改密码界面后需输入旧密码、新密码和确认密码。修改密码界面如图4-1所示。图4-1修改密码界面用户注册界面用户需向系统提交相关个人信息,首先填写用户名,登陆密码和确认密码,可以查询用户名是否重名。用户名和密码通过验证后填写详细信息,分为必填信息和选填信息。必填信息内容后面会有两个*号代表不能空确,必填信息有:登录名,登陆密码,真实姓名,用户年龄,性别,所在省市,身份证号码,联系电话,e-mail,密码提示问题,问题回答[21]。注册设计界面如图4-2和图4-3所示。图4-2用户注册界面1图4-3用户注册界面2用户登录界面用户首先进入相应登录界面输入用户名、密码、验证码进行登录。登录设计界面如图4-4所示。图4-4用户登录界面3.4.2投票子系统界面设计发起普通投票管理员登录进入系统之后,可以点击发起投票选项来创建新的投票项目,在发起投票界面中,用户需要填写投票主题和选择项内容,也可以添加投票选项。点击确定后提交系统审核,最终创建完成。创建投票界面如图4-5所示。图4-5创建普通投票管理我的投票用户可以进入我的投票页面来管理由自己发起的投票。我的投票界面如图4-6所示。图4-6我的投票界面(3)查询投票信息管理员可以搜索投票主题或者关键字来找到并查看、修改和删除该投票,搜索结果会在下方显示,该投票状态如果是正在进行中则可以参与投票,已结束则可以查看投票结果。具体的搜索界面如图4-7所示。图4-7查询投票信息界面(4)投票过程及结果用户搜索进入投票页面可以根据自己的喜好进行投票。投票后系统生成该投票结果。投票过程界面如图4-8所示,结果界面如图4-9所示。图4-8投票过程界面图4-9结果界面3.4.3后台管理子系统界面设计公告管理及发布管理员登陆后进入管理员操作界面点击公告管理页面可以发布、删除修改状态公告。如图4-10所示。图4-10公告管理界面后台管理主界面管理员进入登陆后进入后台管理界面,界面中有用户信息管理、公告管理、投票信息管理、图片投票管理等功能。相应界面设计如图4-11所示。图4-11后台管理主界面4.2软件系统体系结构建模本文所设计的在线投票系统以及子系统具体构件图如图4-1所示。图4-1在线投票系统构件图4.3硬件系统体系结构建模本文所设计的在线投票系统采用B/S架构,有web服务器和数据库服务器,部署图如图4-2所示。图4-2在线投票系统部署图4.4系统开发环境的选择1.前台开发技术的选择前台开发语言对于开发系统非常重要,它决定了开发系统的效率,并且程序员能够更好的维护、跟进系统。本系统基于JSP技术开发,Java语言因其可靠性和安全性高、开发成本低廉、资源占用较少以及可移植性,深受广大网站开发程序员所喜爱[22]。2.后台数据库的选择考虑到系统的数据存储处理能力和数据安全性,本文选择MySQL作为系统的后台数据库。因其完全开源、功能强大,MySQL是当下最热门的数据库之一[23]。4.5系统测试4.4.1系统测试的目的和内容在软件未上市之前进行系统测试,是为了发现系统与用户实际需求之间的差异,也就是系统的缺陷。解决掉这样的缺陷能避免上市之后造成损失,测试结果也为将来系统发展决策提供了有效帮助。通过系统测试可以发现软件中与需求不符的地方和存在的缺点,当测试很少发现错误是,开发者和用户就能对该软件充满信心。当有好的,具有代表性的测试用例通过测试后,便代表着此系统存在问题的可能性降低了很多,如果通过测试发现了软件系统不足之处,那么也避免将来正式投入市场使用之后造成的损失,从而提高了软件系统的质量[24]。综上所述,系统测试是开发一个高质量的软件系统的重要手段。4.4.2系统测试方法进行软件测试是为了有效提高所开发软件系统的质量,那么设计高质量的测试用例是测试过程中的重要问题[25]。根据测试分析方法,可以分为:白盒测试和黑盒测试。黑匣子测试方法是:不了解软件在内部的实现方式,并从外部角度检查软件。通常,无论软件的内部特性和结构如何,该程序都被视为封闭的黑匣子,并且从用户的角度对数据的输入和输出进行了测试。测试结果直观,从业务出发,很容易就能发现影响用户体验的问题[21]。首先需要合理设计测试用例,输入测试用例,运行系统,获取数据,将预期数据与测试数据进行比较以获得结果,最后得到测试报告。白盒测试的方法是:白盒测试则像一个透明的盒子,检查程序内部逻辑结构了解代码后才对系统进行测试,能够很有针对性的发起测试和完善缺陷。但相比起黑盒白盒更加考费时间和精力[26]。根据在线投票系统的特点和白盒和黑盒测试适用的特点,黑盒测试是本文所设计地在线投票系统主要采用的方法。4.4.3系统测试用例及结果用户管理模块对用户登录、修改密码、匿名用户注册系统等操作进行测试。具体设计用例如表4-1所示。表4-1用户管理模块测试用例表用例描述对用户登录、修改密码、匿名用户注册系统等情况下系统的反应。测试内容登录:输入空用户名及密码,系统是否提示。修改密码:用户输入新密码与确认新密码不同,系统是否提示。注册:未填写完毕必填信息,系统是否提示。续表4-1设计输入登录:用户名和密码均为空。修改密码:第一次输入新密码为000,第二次输入确认新密码为001。注册:未填写用户性别。预期输出登录:正确提示登陆异常。修改密码:系统能正确提示两次密码不一致。注册:正确提示信息未填写完毕。实际输入登录:用户名和密码均为空。修改密码:第一次输入新密码为000000,第二次输入确认新密码为000001。注册:未填写用户性别。实际输出登录:正确提示登陆异常。修改密码:系统能正确提示两次密码不一致。注册:正确提示信息未填写完毕。投票模块对发起投票、填写投票内容等操作进行测试。具体设计用例如表4-2所示。表4-2投票模块测试用例表用例描述对发起投票、填写投票内容等情况下系统的反应。测试内容发起投票:缺少必要信息,系统是否提示。填写投票内容:内容全部为空,系统是否提示。设计输入发起投票:标题为空。填写投票内容:内容为空。预期输出发起投票:提示未完全填写信息。填写投票内容:提示内容不能为空。实际输入发起投票:标题为空。填写投票内容:内容为空。实际输出发起投票:提示未完全填写信息。填写投票内容:提示内容不能为空。后台子系统模块对回复留言,删除留言、发布公告等操作进行测试。如表4-3所示。表4-3后台管理模块测试用例表用例描述对回复留言,发布公告等情况下系统的反应。测试内容回复留言:回复留言为空,系统是否提示。删除留言:选中对应留言内容,点击删除,观察选中的留言是否被删除。发布公告:内容全部为空,系统是否提示。设计输入回复留言:内容为空。删除留言:选中对应的留言,点击删除。发布公告:内容为空。预期输出回复留言:提示内容不能为空。删除留言:该留言已被删除。发布公告:提示内容不能为空。实际输入回复留言:内容为空。删除留言:选中对应的留言,点击删除。发布公告:内容为空。实际输出回复留言:提示内容不能为空。删除留言:该留言已被删除。发布公告:提示内容不能为空。总结及展望在本次在线投票系统的分析与设计中,本文首先从引言中讨论主题的背景出发,通过研究意义说明了网络投票系统发展的意义,并分析了当前国内外成熟的网络投票系统,找出了发展方向和存在的问题。在这个领域需要重点解决。然后,通过对用户需求的分析,本文设计的在线投票系统设计了四个子系统,分别是系统管理子系统、用户管理子系统,投票子系统和后台管理子系统。使用业务用例图详细描述了系统的每个模块的功能。系统的逻辑关系以图形形式详细显示。最后在系统实现阶段,本文使用JSP技术和MySQL数据库来实现系统功能。系统功能模块的正确性通过系统测试来验证。切实开发出有效满足用户实际需求的在线投票管理系统。总体而言,本文所设计的在线投票系统基本满足了用户功能需求以及安全性,可用性的非功能需求。本文所设计的在线投票系统当前拥有的功能基本上可以满足用户对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东潍坊市上半年政府专职消防员招录109人备考题库含答案详解
- 2026甘肃武威古浪县海子滩镇中心卫生院招聘2人备考题库带答案详解(能力提升)
- 2026四川省盐业集团有限责任公司选聘所属子公司总经理1人备考题库及答案详解(考点梳理)
- 2026浙江丽水市市直医疗卫生健康单位招聘卫技人员36人备考题库及答案详解【网校专用】
- 2026绵阳科达人才安居有限责任公司员工招聘1人备考题库带答案详解(模拟题)
- 【高中语文】《林教头风雪山神庙》课件+统编版高一语文必修下册
- 某塑料厂产品检测流程准则
- 2026年部编版语文六年级下册第四单元复习课教案
- 2026国航股份浙江分公司地面综合服务岗位就业见习生、实习生备考题库带答案详解(b卷)
- 2026四川省医医学验光配镜眼镜有限公司招聘4人备考题库附答案详解(研优卷)
- 《部队卫生常识》课件
- 充电桩安全巡查记录表
- 国家职业技术技能标准 4-10-01-05 养老护理员 人社厅发201992号
- 《跨境电商财税》全套教学课件
- 化工单元操作理论知识考试题库(含答案)
- (高清版)JTGT 5440-2018 公路隧道加固技术规范
- GB/T 43909-2024叉车属具安全要求
- 小区保洁工作计划及安排方案
- 亿联网络-项目售前流程
- 注塑产品作业指导书
- 北京长峰医院4.18火灾事故案例分析
评论
0/150
提交评论