版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
投票管理系统的设计与实现摘要20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。本文研究了一种投票管理系统,摒弃了传统投票模式的复杂与繁琐,降低人力物力,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。网上投票管理系统作为互联网中运用最为广泛的交流场所之一,如今都已被广大网民接受,它的主要作用是用来帮助浏览者相互沟通。
本设计尝试用JSP在网络上架构一个投票管理系统,采用Mysql数据库开发而成,以推进投票管理系统无纸化,过程电子化,管理智能化的发展。本系统前台主要使用JSP作为开发语言,后台使用Mysql作为数据库管理系统,开发环境是MyEclipse,服务器采用Tomcat,开发出的一个基于Java技术的B/S结构的投票管理系统。【关键词】面向对象分析与设计,JSP,数据库目录7825摘要 第三章相关技术分析3.1Java简介JAVA是高级开发语言,也是一种面向对象程序语言。JAVA有继承,也有接口而且也有语言编辑规范。还是存在一定的区别,例如:JAVA直接继承COM口,在windows网络框架中应用非常普遍,而且也非常适合使用在软件硬件相结合的系统中。Myeclipse自从诞生开始,它的作用就是方便web开发。有了Myeclipse环境,开发人员能够在Internet上与数据进行交互。这样的优点是能够是的Myeclipse的商业价值得到体现,其途径是通过XMLWeb来转变、传播。Myeclipse与XMLWeb相结合的模型开放性非常强。程序开发者可以在这个模型中充分的使用高级开发语言以及数据库,这样可以在很大程度上规避编程语言以及开发环境的制约,使得开发人员更加简便。Framework平台组成模块有:CLR、组类库,例如:JDBC、WindowsForms等,功能非常强大。Framework平台可以保证政府应用系统在局域网以及Internet中运行顺畅,目前这也是个人们非常欢迎的平台。JAVA是一种高级编程语言,由微软公司推出,其目的是使得开发人员可以在Framework平台中更好的使用高级开发语言。由于有了Framework这种出色的平台以及JAVA这样的高级语言,因此通讯领域才能走的更远。如前,无论是商业对象,或者是普通应用程序选择JAVA语言作为开发语言的概率非常高。JAVA语言是一种高级程序开发语言,并且面向对象。通过JAVA可以非常容易利用各种组件为用户提供更好的系统服务。除此之外,在Internet中将不会受到语言或者操作的制约,从而使得开发者的自由度更高、灵活性更强。3.2Mysql介绍MYSQL不仅有数据库管理功能,而且还有很好的图形界面,这也是MYSQL的特征之一。MYSQL优势如下:(1)储存方式比较单一:数据库中所有的对象保存在文件内,数据库开发人员可以直接操作文件,还可以在程序中根据实际需求对数据表作出增删改查功能。(2)属于面向对象开发。在数据库中,众多的功能都能够一一对象化,多个对象联合在一起却又能够构建一个完善的系统。在管理以及操作的过程中都可以通过对象来完成。此次一来,开发人员的便捷性有了很大的提高,在今后的研发中也更加的顺畅、高效。(3)操作界面友好。针对数据库的操作,拥有一个友好的界面,这个界面与Windows界面是一样的。使用者正常的操作就可以控制数据库。除此之外,MYSQL数据库还有比较全面的功能,例如:报表、查询等功能。(4)集成了开发环境。MYSQL数据库与众多开发工具紧密相连,从而使得开发人员可以非常方面使用MYSQL数据库。在操作数据库、查询数据库方面非常简便。除此之外,在MYSQL数据库中还有很多拓展功能,例如:报表、查询、打印等,这都在一定程度上方便了使用者。(5)支持ODBC。MYSQL数据库可以动态的进行数据交换,并且与对象连接功能优秀。在MYSQL数据库表中不仅可以存储文档,还可以存储图片。除此之外,在MYSQL数据库中还有很多拓展功能,例如:报表、查询、打印等。MYSQL数据库支持网络中与程序连接,并且通过程序来操作数据库。(6)扩张性。针对EXECL、Word,可以使用链表打开。如此一来,MYSQL数据库就可以非常方便的保存数据。在程序中可以直接从数据库中取出图片、Word、EXECL,在程序的服务端调用MYSQL数据库的操作方法。综合而言,MYSQL数据库功能比较完善,不仅是保存数据,而且还可以用作开发工具开发一些数据库系统。在小型系统中应用MYSQL数据库非常普遍,但是也可以应用在大型系统中。第4章系统总体设计4.1系统分析的任务与步骤投票管理系统公告管理后台模块互动交流管理投票主题管理前台模块投票管理系统公告管理后台模块互动交流管理投票主题管理前台模块投票管理投票管理用户注册模块投票主题互动交流公告栏用户管理用户注册模块投票主题互动交流公告栏用户管理图4-1总体功能图4.2数据库设计在信息化的时代,最为普遍的存储手段是数据库,可实现持久化存储。在系统开发的过程中数据库的合理选择可以避免很多潜在的错误。除此之外,还可以在很大程度上减少开发人员的工作量。通过归纳总结可得:在设计数据库的过程中应考虑以下三点:1、在设计数据库结构的过程中应该充分的结合系统所有的业务,从中获取到各个功能中所需的实体。得到了实体信息之后,可以通过利用数据表外键,建立实体之间的关系。2、在设计数据库的过程中应该建立在面向对象的基础上。首先就是建立一个分析业务逻辑的平台。在设计实体的过程中充分考虑各个角色以及用户的职责。在设计对象的过程中,应该充分的考虑该对象各个属性,从而有效的避免在开发的过程中出现缺少字段或者权责不明确的现象。除此之外,还应该尽量使得对象仅有一个职能,如果某个对象有多种职能,那么就应该根据实际情况执行拆分操作,并且详细的说明拆分原因。3、在数据库的设计中,通常实体主键只有一个,且主键应该设置为自增长。数据查询与索引都是依据这个主键。除此之外,在设计外键时,参考键必须是主键,在操作数据的过程中要遵循级联原则,从而使得数据具有一致性,也可以在很大程度上减少冗余的数据。主键也建议设置为数字类型,从而方便设置自增长。4.2.1系统E-R图数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间。图4-2系统E-R图4.2.2各实体属性图4-3版块实体属性图图4-4投票信息实体属性图图4-5投票信息实体属性图图4-6管理员信息实体属性图图4-7主题信息实体属性图4.2.3数据库逻辑结构设计计算机投票管理系统中所有的主题,用户的注册信息,回复的主题等等,都是通过数据的形式来进行管理和维护,他不同于实体的文字交流。数据库就形如一个仓库,他是用来存放数据的地方。我们在前台进行的每一步,都需要调用数据库中的数据。数据库设计的合理与否,安全性,稳定性这些方面都直接影响着计算机投票管理系统的运作。一个好的数据库设计方案,往往能够让网站的效率事半功倍。所以在对数据库的设计要格外的悉心,考虑的要格外周全。确定数据库的物理结构,在关系数据库中主要指存取和存储结构。如果物理设计结果满足原设计要求,即可进行实施,否则,就需要重新设计和修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。数据库系统是多用户共享的系统,对于同一关系要建立多条存取路径才能满足多用户的多种应用要求。现代技术的飞速发展是数据库存储变的简单、方便、易行。无论是索引法还是聚簌法都可以使物理设计顺利实现。表4-1:投票信息ejf_vote字段类型是否为空主/外键描述是否标识topicIDInt(11)否主id唯一标识optionsVarchar(255)否类别名称votersVarchar(255)是投票人isPublicVarchar(255)是是否公开expireDatedatetime是到期时间表4-2:管理员信息ejf_user字段类型是否为空主/外键描述是否标识userIDInt(11)否主id唯一标识usernameVarchar(255)否用户名pwdVarchar(255)否密码表4-3:投票主题ejf_topic字段类型是否为空主/外键描述是否标识topicIDInt(11)否主id唯一标识titleVarchar(255)否主题标题contextVarchar(255)否主题内容createTimedatetime否发布时间表4-4:评论信息ejf_short_msg字段类型是否为空主/外键描述是否标识msgIDInt(11)否主id唯一标识messageVarchar(255)否评论内容userIDVarchar(255)否评论用户createTimedatetime否发布时间表4-5:板块分区ejf_board字段类型是否为空主/外键描述是否标识boardIDInt(11)否主id唯一标识boardNameVarchar(255)否板块名称briefVarchar(255)否板块描述createTimedatetime否发布时间第5章界面设计对于系统来说,用户界面设计是非常重要的,一个交互良好的界面能够加深浏览者的印象。5.1首页图5-1系统首页5.2用户注册系统要实现多方面的功能,其中包括:用户可以在界面上查询所需的信息,并且可以在界面上增加、修改、查询、删除投票信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以投票管理系统的开发不仅能满足用户的需求,还能减少原有不必要的工作量,大大提高了管理员的工作效率。与其他网站类似,系统就会校验输入的账号以及密码,然后返回相应的JSON数据给前台。用户登录的程序流程图如图4.7所示。图5-2用户登录程序流程图图5-3用户注册5.3投票主题浏览图5-4主题浏览5.4发表投票主题管理人员进入系统之后,可以对系统投票主题信息进行管理,以对于投票信息进行相关的维护。根据以上发表投票管理流程描述可画出系统发表主题的详细设计流程如图4.9所示。图5-5发表主题流程图图5-6发表主题5.5管理中心在管理员登入后显示的系统界面,要完成管理员进行各项操作的设置模块。管理员登录后,可以进行的管理操作有系统管理、社交网络管理、版块管理、评论管理以及报表导出等,在管理员的子管理界面还需要增加查询功能使得系统功能更完善也便于后期信息的查询和操作。具体的流程如下:图5-7帖子信息管理模块流程图图5-8管理中心第6章系统的调试与测试6.1测试概要本系统单元测试的目标是实现对系统各个函数的测试路径可以实现尽可能的覆盖,使得在功能测试的时候尽量避免遗留明显的bug,本次单元测试因时间有限,为确保系统整体运行正常,主要将系统的关键流程进行单元测试,从而最大限度的保证系统的可行性,系统测试对于整个系统正式投入使用而言非常重要。依据测试结果,在软件设计改善方面可以充分的应用连续分析以及测试,从而使得系统漏洞越来越少。软件测试的核心目标就是找出系统的bug,尽可能的保证系统稳定。本篇论文采取模式真实的方式查找系统bug。系统测试不只是找出问题,而且也要找到隐藏的问题。为了系统可以高效、稳定的运行,因此在测试的过程中必须充分、有效。人们都知道,在设计系统的过程中错误不可避免,其原因也可能是疏忽。但是出现了错误应该仔细的查找原因,从而达到预期的目标。如果测试出问题,那么就应该改善系统、优化系统、记录问题,反馈问题,最后的结果肯定是要解决问题,达成预期目标。软件测试的任务就是查找出系统的bug。在软件开发的过程中,软件测试非常重要,在软件开发周期中也占有重要地位。因为软件测试和软件质量息息相关,这也是软件质量的保证。软件测试不完全有可能会影响系统的整体质量。在测试软件的过程中,不但要采取正确的测试方式,而且还要关注及时性。系统测试、系统检验、系统验收都会在一定程度上影响项目的周期、质量以及交付。本系统测试采用了单元测试(Junit)、自动化测试(Selenium+Firefox)和功能测试(测试用例)、性能测试(Jmeter)、代码覆盖率测试(eclmaa)、兼容性测试等,测试旅行预定系统用到的相关测试工具,如表6-1所示。表6-1测试工具信息用途工具版本性能测试JmeterJmeter5.2.1自动化测试SeleniumSeleniumXPI单元测试JunitJunit46.2测试规划在测试的过程中采用了测试用例的方式,根据测试用例进行测试,然后分析结果,最终完成测试报告。笔者阅读这一篇文章之后掌握了系统测试的相关概念以及技巧,这在很大程度上助力了系统的稳定性、安全性。研究的开始于短距离设备以及长距离设备,分别从多项因素测试系统的整体性能,其中包括:识别范围、识别速率、读范围、读速率、写范围、写速率。在测试之前应该考虑到该系统包含了很多部分,对于性能测试是针对某一个模块还是某一项指标呢,笔者认为应该从整体来测试性能。因为系统由多部分组成,某个部分效率低很可能影响到整个系统的性能,局部可能影响整体。举例而言,在更换设备标签之后,识别范围就应该跟你新的天线来调整,此时会直接影响到读速率,导致原有测试结果无效。以发表投票主题为例,其功能测试用例如下:表6-2添加投票主题功能测试编号测试功能项测试功能项测试步骤/说明填写数据预期结论toupiao_LOG_001投票主题管理搜索是否可以正常使用1.选择框选择投票主题管理员功能反馈并在页面中展示2.填写投票主题华软3.选择框选择原因4.选择框选择类型5.选择框选择投票主题6.填写时间2021-4-037.选择框选择显示顺序8.单击搜索toupiao_LOG_002投票主题管理搜索是否可以正常使用1.选择框选择投票主题管理员功能反馈并在页面中展示表6-3用户登录功能测试编号测试功能项测试功能项测试步骤/说明填写数据预期结论toupiao_unhsgtest_001系统登录用正确的密码信息是否可以进入系统1.填写用户信息unhsgtest跳转到系统主界面2.填写密码信息unhsgtest3.单击进入系统toupiao_unhsgtest_002系统登录用错误的密码信息是否可以进入系统1.填写用户信息pwdtest弹窗:用户不存在2.填写密码信息unhsgtest3.单击进入系统toupiao_unhsgtest_003系统登录用正确的用户错误的密码信息是否可以进入系统1.填写用户信息unhsgtest弹窗:填写错误表6-4添加主题功能测试编号测试功能项测试功能项测试步骤/说明填写数据预期结论toupiao_LOG_001主题管理搜索是否可以正常使用1.选择框选择主题管理员功能反馈并在页面中展示2.填写主题华软3.选择框选择原因4.选择框选择类型5.选择框选择主题6.填写时间2021-4-037.选择框选择显示顺序8.单击搜索toupiao_LOG_002主题管理搜索是否可以正常使用1.选择框选择主题管理员功能反馈并在页面中展示2.单击搜索系统功能测试界面如下:图6-1测试界面6.3系统性能测试1.设计场景计划如图所示,在同一时间内,设定1000个线程同时对本系统进行并发访问。图6-2场景设计2.测试结果如图所示,由分析结果可知,平均响应速度为116ms,从系统本身的并发性来看该数据性能良好。图6-3测试样本分析图根据样本分析过程,测试的结果树和总结报告如图所示:图6-4测试结果树图6-5性能测试总结报告6.4安全和兼容性测试表6-5兼容性测试需求表测试目标系统在各个浏览器均能兼容使用、常规安全测试通过测试范围系统在主流浏览器测试通过测试技术手动测试完成标准各浏览器执行正常1.界面测试:测试系统人际互动是否满足用户的预期。2.WEB安全性测试:UPLOAD漏洞、错误信息漏洞。3.兼容测试:各种系统平台运行该系统是否存在问题。4。链接测试:检测系统有没有死链接。6.5测试总结如果想要得到非常精准的性能参数,从理论上而言,必须是组合测试各个模块,然后分开测试,最后在整体测试。在实际测试的过程中,组合方式多种多样,这样就会在很大程度上增加测试的工作量。在一篇文章中提到了另一种思想,具体是:与详细有关的因变量能够被二次分解为衡量单项性能的指标,然后通过指标庞大数量的测试方案变成可接受的测试方案数量。根据设计好的功能测试用例执行,投票管理系统的功能测试用例执行情况,如下表6-4所示:表6-6投票管理系统的功能测试用例执行情况统计信息用例PASSFAILN/AN/T数量441441000百分比100%100%000下面分别对“登录与注册系统功能”、“投票主题管理”、“新增主题功能”、“主题功能”的测试异常进行展示。1.登录与注册系统功能测试异常如表6-5所示。表6-7登陆与注册系统功能项异常表异常编号异常说明异常类型严重等级优先级NO.1注册时填写非法字符可通过异常一般高NO.2密码可填写数量小于6位数异常一般高NO.3忘记密码或登陆名无法找回异常严重最高NO.4无法使用账号登陆系统。异常严重最高2.投票主题管理模块测试异常表6-8投票主题管理异常异常编号异常说明异常类型严重等级优先级NO.3修改后没有跳转到确认及提交界面。异常严重最高NO.4增加人员中用户字节可以为0异常严重最高NO.5账号相同,添加成功。异常严重最高结论在经历了选题、定题、系统分析、功能划分、程序编码、测试功能、整体测试之后,本系统终于完成。但是在目前这个阶段,笔者所学的知识还不是非常完善,其中有些概念也没有非常深入的了解,因此该系统功能没有非常完美,功能也有一定的缺陷,在投入使用的过程中可能存在一些问题。除此之外,笔者对相关业务也不是非常的了解,应用到的知识也没有系统学习,部分模块存在不完善之处,系统还没有完全满足用户需求,尽最大可能的是完善系统,使得系统可以更好的为用户服务。当然,这次网站设计,不只是为了毕业,关键是如何学以致用。因此,本篇论文的核心目的是更好地掌握和运用工具和技术,从而提高我们对网络知识的更深层次的理解。最后,将我们从书本中学到的知识充分应用到设计中,从而达到老师要求的效果,并将所学知识应用到设计中。在这个设计中,我遇到了很多问题,没有达到预期的效果,画面显得过于简单。后来,在不断的学习中,我也修改了一些。经过这段时间的学习我收获了很多,不管是在理论中还是实际操作上,都有了进一步的提高。我希望自己可以一步一步做得更好。不说是完美,只想每一天都有进步。参考文献[1]冯燕奎,赵德奎.JSP实用案例教程[M]清华大学出版社,2018,5:70-100[2]王家华软件工程[M]东北大学出版社2018年3月303页[3]王宜贵软件工程[M]北京:机械工业出版社,2019:20-79[4]孙卫琴精通struts[M]电子工业出版社2018年8月50-70[5]孙卫琴精通hibernate[M]电子工业出版社2017年4月100-120[6]张洪斌java2高级程序设计[M]中科多媒体出版社2019年11月85-90[7]JimArlowUML2.0andtheUnifiedProcess[M]机械工业出版社2019年6月30-40[8]林信良spring2.0技术手册[M]电子工业出版社2018年6月50-100[9]熊节、林仪明、张凯峰、陈玉泉等主编[《CSDN社区电子杂志——Java杂志》创刊号][10]《程序员》杂志2019年第4期[11]耿祥义编著.JSP基础编程[M].清华
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能喷淋系统200套智能喷灌机器人200套制造项目可行性研究报告模板拿地备案立项
- 全地形车、小排量发动机及轮毂智能制造项目可行性研究报告模板-拿地立项申报
- 废料绿色环保综合利用项目可行性研究报告模板-立项备案
- 2026年废复合材料回收利用技术及资源化路径探索试题
- 2026年新能源汽车动力电池综合利用管理办法及溯源管理要求测试
- 护理伦理与医疗伦理教育
- 郑教授爱国情怀演讲稿
- 为勇敢的人喝彩演讲稿
- 疫情励志演讲稿大学生
- 才华横溢少年演讲稿主题
- 甲基丙二酸血症课件
- Western-Festivals西方节日介绍
- GA 503-2004建筑消防设施检测技术规程
- 《平面图形的镶嵌》-课件
- 表语从句公开课课件
- 第十二章-模态分析及模态试验课件
- 旅游安全管理实务整本书电子教案完整版ppt课件全书教学教程最全教学课件(最新)
- 神经康复的现状与
- 2022年02月天津医科大学后勤处招考聘用派遣制人员方案模拟考卷
- 华三h3交换机基本配置
- 日本横河cs3000DCS操作手册
评论
0/150
提交评论