《竞赛管理系统的设计与实现_定稿.docx》由会员分享,可在线阅读,更多相关《竞赛管理系统的设计与实现_定稿.docx(44页珍藏版)》请在优知文库上搜索。
1、竞赛管理系统的设计与实现摘要随着国家教育体制的改革,竞赛活动的举办也越来越频繁,报名参赛的学生数量也是越来越多。面对如此众多参与者信息的录入,人工采集信息的方式已经不能满足当下的需求。竞赛信息的管理又是一份繁琐的工作,参赛者的信息量很大,而且通常不允许出现错误。如果执行手工操作,则必须手动填写大量表格,这将使比赛管理工作又增加一个难度。本论文所讲述的竞赛管理系统是在PyCharm环境下用Python中的Django框架和MySQL数据库来实现的,它具有检索迅速、查找方便、可靠性高、存储量大等特点。该系统分为前端和后端两大部分,前端使用BOotStraP框架,主要实现的功能是用户的注册、登录、浏
2、览赛事、搜索赛事、各个赛事浏览统计、报名、评审打分、排名等功能;后端主要实现的是对用户信息、赛事信息、排名信息的管理。关键词:竞赛管理系统;PyCharm;Django;MySQLDesignandimplementationofcompetitionmanagementsystemAbstractWiththereformofthenationaleducationsystem,competitionsarebeingheldmoreandmorefrequently,andthenumberofstudentsregisteringforcompetitionisalsoincreasin
3、g.Facedwiththeinputofinformationfromsomanyparticipants,thewayofmanuallycollectinginformationcannolongermeetthecurrentneeds.Themanagementofthecompetitioninformationisanothertedioustask.Theinformationofthecontestantsisverylarge,anderrorsareusuallynotallowed.Ifyouperformmanualoperations,youmustmanually
4、filloutalargenumberofforms,whichwillmakethegamemanagementworkmoredifficult.ThecompetitionmanagementsystemdescribedinthispaperisimplementedinthePyCharmenvironmentusingtheDjangoframeworkandMySQLdatabaseinpython.lthasthecharacteristicsoffastretrieval,convenientsearch,highreliabilityandlargestoragecapac
5、ity.Thesystemisdividedintotwoparts:front-endandback-end.Thefront-endusesthebootstrapframework.Themainfunctionsareuserregistration,login,browsingevents,searchingevents,browsingstatisticsofvariousevents,registration,reviewscoring,ranking,etc.Themainrealizationisthemanagementofuserinformation,eventinfo
6、rmation,rankinginformation.Keywords:CompetitionManagementSyStem;PyCharm;Django;MySQL目录1绪论11.1 本设计的目的及意义11.2 本设计在国内的发展概况及存在的问题11.3 本设计应解决的主要问题12需求分析22.1 可行性需求分析22.1.1 社会可行性22.1.2 经济可行性22.2 非功能性需求分析22.3 功能性需求分析22.3.1 竞赛信息管理功能22.3.2 用户信息管理功能32.3.3 参赛选手信息管理功能33运行环境33.1 硬件环境33.2 软件环境34开发技术及开发工具44.1 开发技术介
7、绍44.1.1BS结构及其优势44.1.2Web开发框架一django54.13MTV设计模式54.2 开发工具介绍64.2.1 JetBrainsPyCharm2018.3.5x646422MySQL5.764.2.3 Navicat12forMySQL65系统概要设计85.1 系统功能结构设计85.2 数据库连接85.3 数据库E-R图95.4 数据表详细设计106系统详细设计126.1 注册功能模块126.2 登录功能模块146.3 忘记密码功能模块156.4 浏览赛事统计并显示156.5 导航条166.6 赛事信息176.7 赛事详细信息196.8 查询功能模块206.9 报名功能模块
8、216.10 10名人堂模块226.11 11个人中心模块236.12 12后台管理模块237系统测试247.1 测试目的247.2 功能测试258结论29参考文献301.1 本设计的目的及意义本设计来源于举办方对竞赛管理系统的实际需要,如果实行手工操作,在参赛人数太多时往往容易出错,但是竞赛项目是要保持公正严谨,不容许有丝毫错误发生。该设计的目的是使参与者信息的输入和管理自动化,标准化和系统化,从而提高管理效率。并围绕此管理目标对系统所需要的用户信息,选手信息,赛事信息,排名信息等进行管理和维护。1. 2本设计在国内的发展概况及存在的问题随着国家教育体制的改革,竞赛活动的举办也越来越频繁,报
9、名参赛的学生数量也是越来越多。面对如此众多参与者信息的录入,通过人工采集信息的方式已经不能满足当下的需求。如何利用现代信息技术使组织者具有快速高效的信息反馈能力和高效率,是目前举办方特别关心的一个问题。建立一个功能齐全的竞赛管理系统,避免由于人工操作产生的缺陷,已成为当今社会举办高校竞赛的重中之重。1.3本设计应解决的主要问题要实现竞赛管理系统代替人工来工作,主要解决的问题有以下几个:a.报名功能的实现:用户可以在线上报名所想要参加的赛事。b.评审打分功能的实现:评审在评审打分入口实现评分功能。c.排名功能的实现:选手的成绩会进入排行榜内,选手可在排行榜中查询成绩,可以按照不同的排名规则进行排
10、名。d.评审给参赛人员打完分后,立马出成绩,排行榜实时更新。e.数据库实时更新:在后端添加信息后,保证前端能实时更新。f.操作简单、界面简洁、功能齐全。2需求分析2. 1可行性需求分析2. 1.1社会可行性随着国家教育制度的改革,竞赛活动越来越多,参赛人员也越来越多。如果一直使用人工来记录跟踪赛事,往往会有很多因素导致工作失误。人们需要用一个集合多功能的竞赛管理系统来帮助他们完成这些工作,提高工作效率,减少工作失误。3. 1.2经济可行性经济可行性是软件带来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会比人工节省。当然,一场大型赛事往往会聘请很多工作人员,而竞赛管理系统往往只需
11、要一个超级管理员即可管理,相比之下,竞赛管理系统可以节省很多费用,设计系统是经济可行的。4. 2非功能性需求分析系统应当满足以下系统性能指标:a.系统稳定性和可靠性。b.一般查询响应时间W6秒。c.系统拓展性。d.系统满足界面的友好性,系统界面的友好性将会直接影响用户使用系统的效率,要尽可能满足用户已有的使用习惯。e.系统应确保不间断工作。f.系统独立性。2.3功能性需求分析2. 3.1竞赛信息管理功能前端实现竞赛信息的展示,后端实现对竞赛信息的管理。竞赛信息可以自定义。1 .竞赛信息列表:对竞赛信息进行增删改查操作。2 .赛事分类:按不同评分规则分类,方便用户查找自己想要看的赛事信息。3 .
12、赛事报名:用户如果有中意的赛事,方可进行报名。4 .热门赛事:对赛事每天的浏览量做一个统计并以表格的形式体现出来。5 .查询赛事:用户可以查询自己想要查找的赛事。2. 3.2用户信息管理功能用户对自己的信息进行查询或者修改等操作。1 .个人中心:用户对自己的信息查看或修改。2 .绑定邮箱:用户忘记密码时,可通过绑定的邮箱来找回自己的密码。2. 3.3参赛选手信息管理功能参赛选手对自己的成绩进行查询,修改报名信息。1 .名人堂:选手可以输入自己的准考证号进行查询,用户可以按照不同排名方式进行排名。2 .修改报名信息:用户对自己的报名信息进行修改。3运行环境3. 1硬件环境1 .处理器:Intel
13、(R)Core(TM)i7-6498DUCPU2.50GHz2.60GHz2 .系统类型:64位操作系统,基于x64的处理器3 .内存:4.OOGB4 .磁盘空间:256GB3. 2软件环境1 .操作系统:WindOwSlO服务器2 .框架:django框架3 .数据库:MySQL5.74 .浏览器:GgleChrome5 .虚拟环境:Virtualenv4开发技术及开发工具5.1 开发技术介绍4. 1.1B/S结构及其优势B/S结构是对C/S结构的一种改进。用户的工作界面是通过WWW浏览器来实现的。WEB浏览器成为了客户端上最主要的应用软件。该模式下它统一了客户端,将系统功能实现的核心部分集
14、中在服务器上并简化了系统的开发和维护。该技术超越了传统的“客户机/服务器”两层结构,采用了用户界面层/事务层/数据库层这三层结构。各层之间的功能联系如表4.1所示。表4.1B/S三层体系结构之间的功能及联系层次功能及联系用户界面层只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,界面设计就要简单、通用。事务层它扮演着传送的角色。当用户想要访问数据库时,首先会向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。数据库层它存储了大量的数据,并发挥着重要作用。当
15、数据库服务器接收WEB服务器发出的请求时,它将处理该SQL语句并将结果发送到WEB服务器,然后将收到的数据结果转换为HTML文本格式并将其发送给浏览器,这就是我们打开浏览器看到的界面。所以B/S架构具有以下四点优点:1 .它不需要安装任何软件即可运行,只需要一台可以访问Intemet的计算机,客户端实现零安装、零维护,使得系统非常容易进行拓展。这也是它最大的一个特点。2 .通过需求推动ajax技术的发展,它的程序也能在客户端电脑上进行部分处理,从而减轻服务器的负担并增加了交互性,可以进行局部实时刷新。3 .B/S结构利用日益成熟的Web浏览器技术:将浏览器的多种脚本语言和ACtiVeX技术相结合,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能。4 .界面统一(均为浏览器模式),操作相对简单。4. 1.2web开发框架一djangodjango项目起源于一个在线新闻网站。它是一个用PythOn语言编写的开源Web开发框架,遵循MVC设计模式。它强调代码重用,多个组件可以很容易以“插件”的形式服务于整个框架,django有很多强大的第三方插件,可以开发