竞赛管理系统的设计与实现

上传人:达2 文档编号:172243795 上传时间:2022-12-02 格式:DOCX 页数:30 大小:259.96KB
收藏 版权申诉 举报 下载
竞赛管理系统的设计与实现_第1页
第1页 / 共30页
竞赛管理系统的设计与实现_第2页
第2页 / 共30页
竞赛管理系统的设计与实现_第3页
第3页 / 共30页
资源描述:

《竞赛管理系统的设计与实现》由会员分享,可在线阅读,更多相关《竞赛管理系统的设计与实现(30页珍藏版)》请在装配图网上搜索。

1、竞赛管理系统的设计与实现摘要随着国家教育体制的改革,竞赛活动的举办也越来越频繁,报名参赛的学生数量也 是越来越多。面对如此众多参与者信息的录入,人工采集信息的方式已经不能满足当下 的需求。竞赛信息的管理又是一份繁琐的工作,参赛者的信息量很大,而且通常不允许 出现错误。如果执行手工操作,则必须手动填写大量表格,这将使比赛管理工作又增加 一个难度。本论文所讲述的竞赛管理系统是在PyCharm环境下用Python中的Django框架和 MySQL数据库来实现的,它具有检索迅速、查找方便、可靠性高、存储量大等特点。该 系统分为前端和后端两大部分,前端使用Bootstrap框架,主要实现的功能是用户的注

2、 册、登录、浏览赛事、搜索赛事、各个赛事浏览统计、报名、评审打分、排名等功能; 后端主要实现的是对用户信息、赛事信息、排名信息的管理。关键词:竞赛管理系统;PyCharm; Django; MySQLDesign and implementation of competitionmanagement systemAbstractWith the reform of the national education system, competitions are being held more and more frequently, and the number of students regi

3、stering for competition is also increasing. Faced with the input of information from so many participants, the way of manually collecting information can no longer meet the current needs. The management of the competition information is another tedious task. The information of the contestants is ver

4、y large, and errors are usually not allowed. If you perform manual operations, you must manually fill out a large number of forms, which will make the game management work more difficult.The competition management system described in this paper is implemented in the PyCharm environment using the Dja

5、ngo framework and MySQL database in python.It has the characteristics of fast retrieval, convenient search, high reliability and large storage capacity. The system is divided into two parts: front-end and back-end. The front-end uses the bootstrap framework. The main functions are user registration,

6、 login, browsing events,T TT searching events, browsing statistics of various events, registration, review scoring, ranking, etc. The main realization is the management of user information, event information, ranking information.Keywords: Competition Management System; PyCharm;Django;MySQL目录1 绪论 31.

7、1本设计的目的及意义31.2本设计在国内的发展概况及存在的问题31.3本设计应解决的主要问题32 需求分析 42.1可行性需求分析42.1.1社会可行性42.1.2经济可行性42.2非功能性需求分析42.3功能性需求分析42.3.1竞赛信息管理功能42.3.2用户信息管理功能52.3.3参赛选手信息管理功能53运行环境53.1硬件环境53.2软件环境54开发技术及开发工具54.1开发技术介绍54.1.1B/S结构及其优势54.1.2web 开发框架一django64.1.3MTV设计模式74.2开发工具介绍74.2.1JetBrains PyCharm 2018.3.5 x6474.2.2My

8、SQL5.784.2.3Navicat 12 for MySQL85系统概要设计85.1系统功能结构设计85.2数据库连接95.3数据库E-R图95.4数据表详细设计106系统详细设计126.1注册功能模块126.2登录功能模块136.3忘记密码功能模块156.4 浏览赛事统计并显示156.5导航条166.6赛事信息176.7赛事详细信息196.8 查询功能模块206.9 报名功能模块216.2.10名人堂模块216.2.11个人中心模块236.2.12后台管理模块237系统测试247.1测试目的247.2功能测试248结论28参考文献 281绪论1.1本设计的目的及意义本设计来源于举办方对竞

9、赛管理系统的实际需要,如果实行手工操作,在参赛人数 太多时往往容易出错,但是竞赛项目是要保持公正严谨,不容许有丝毫错误发生。该设 计的目的是使参与者信息的输入和管理自动化,标准化和系统化,从而提高管理效率。 并围绕此管理目标对系统所需要的用户信息,选手信息,赛事信息,排名信息等进行管 理和维护。1.2本设计在国内的发展概况及存在的问题随着国家教育体制的改革,竞赛活动的举办也越来越频繁,报名参赛的学生数量也 是越来越多。面对如此众多参与者信息的录入,通过人工采集信息的方式已经不能满足 当下的需求。如何利用现代信息技术使组织者具有快速高效的信息反馈能力和高效率, 是目前举办方特别关心的一个问题。建

10、立一个功能齐全的竞赛管理系统,避免由于人工 操作产生的缺陷,已成为当今社会举办高校竞赛的重中之重。1.3本设计应解决的主要问题要实现竞赛管理系统代替人工来工作,主要解决的问题有以下几个:a. 报名功能的实现:用户可以在线上报名所想要参加的赛事。b. 评审打分功能的实现:评审在评审打分入口实现评分功能。c. 排名功能的实现:选手的成绩会进入排行榜内,选手可在排行榜中查询成绩,可以按照不同的排名规则进行排名。d. 评审给参赛人员打完分后,立马出成绩,排行榜实时更新。e. 数据库实时更新:在后端添加信息后,保证前端能实时更新。f. 操作简单、界面简洁、功能齐全。2 需求分析2.1可行性需求分析2.1

11、.1 社会可行性随着国家教育制度的改革,竞赛活动越来越多,参赛人员也越来越多。如果一直使 用人工来记录跟踪赛事,往往会有很多因素导致工作失误。人们需要用一个集合多功能 的竞赛管理系统来帮助他们完成这些工作,提高工作效率,减少工作失误。2.1.2 经济可行性经济可行性是软件带来的经济效益与开发设计所需要的投资费用相比较是否适当, 软件是否会比人工节省。当然,一场大型赛事往往会聘请很多工作人员,而竞赛管理系 统往往只需要一个超级管理员即可管理,相比之下,竞赛管理系统可以节省很多费用, 设计系统是经济可行的。2.2非功能性需求分析系统应当满足以下系统性能指标:a. 系统稳定性和可靠性。b. 一般查询

12、响应时间W6秒。c. 系统拓展性。d. 系统满足界面的友好性,系统界面的友好性将会直接影响用户使用系统的效率,要尽可能满足用户已有的使用习惯。e. 系统应确保不间断工作。f. 系统独立性。2.3功能性需求分析2.3.1 竞赛信息管理功能前端实现竞赛信息的展示,后端实现对竞赛信息的管理。竞赛信息可以自定义。1. 竞赛信息列表:对竞赛信息进行增删改查操作。2. 赛事分类:按不同评分规则分类,方便用户查找自己想要看的赛事信息3. 赛事报名:用户如果有中意的赛事,方可进行报名。4. 热门赛事:对赛事每天的浏览量做一个统计并以表格的形式体现出来。5. 查询赛事:用户可以查询自己想要查找的赛事。2.3.2

13、用户信息管理功能用户对自己的信息进行查询或者修改等操作。 1个人中心:用户对自己的信息查看或修改。 2绑定邮箱:用户忘记密码时,可通过绑定的邮箱来找回自己的密码。2.3.3参赛选手信息管理功能参赛选手对自己的成绩进行查询,修改报名信息。 1名人堂:选手可以输入自己的准考证号进行查询,用户可以按照不同排名方 式进行排名。2修改报名信息:用户对自己的报名信息进行修改。3运行环境3.1硬件环境1. 处理器:Intel(R)Core(TM).60GHz2. 系统类型:64位操作系统,基于x64的处理器3. 内存:4.00GB4. 磁盘空间:256GB3.2软件环境1操作系统:WindowslO服务器2

14、. 框架:django框架3数据库:MySQL5.74. 浏览器:Google Chrome5. 虚拟环境:virtualenv4开发技术及开发工具4.1开发技术介绍4.1.1B/S结构及其优势B/S结构是对C/S结构的一种改进。用户的工作界面是通过WWW浏览器来实现的。WEB浏览器成为了客户端上最主要的应用软件。该模式下它统一了客户端,将系统功能 实现的核心部分集中在服务器上并简化了系统的开发和维护。该技术超越了传统的“客 户机/服务器”两层结构,采用了用户界面层/事务层/数据库层这三层结构。各层之间 的功能联系如表4.1所示。表4.1 B/S三层体系结构之间的功能及联系层次功能及联系用户界

15、面层只有简单的输入输出功能,处理极少部分的事务逻辑。由于客 户不需要安装客户端,只要有浏览器就能上网浏览,所以它面 向的是大范围的用户,界面设计就要简单、通用。事务层它扮演着传送的角色。当用户想要访问数据库时,首先会向WEB 服务器发送请求,WEB服务器统 请求后会向数据库服务器发 送访问数据库的请求,这个请求是以SQL语句实现的。数据库层它存储了大量的数据,并发挥着重要作用。当数据库服务器接 收WEB服务器发出的请求时,它将处理该SQL语句并将结果发 送到WEB服务器,然后将收到的数据结果转换为HTML文本格式 并将其发送给浏览器,这就是我们打开浏览器看到的界面。所以B/S架构具有以下四点优

16、点:1. 它不需要安装任何软件即可运行,只需要一台可以访问Internet的计算机,客 户端实现零安装、零维护,使得系统非常容易进行拓展。这也是它最大的一个 特点。2. 通过需求推动ajax技术的发展,它的程序也能在客户端电脑上进行部分处理, 从而减轻服务器的负担并增加了交互性,可以进行局部实时刷新。3. B/S结构利用日益成熟的Web浏览器技术:将浏览器的多种脚本语言和ActiveX 技术相结合,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能。4. 界面统一(均为浏览器模式),操作相对简单。4.1. 2web 开发框架djangodjango项目起源于一个在线新闻网站。它是一个用Py

17、thon语言编写的开源Web开 发框架,遵循MVC设计模式。它强调代码重用,多个组件可以很容易以“插件”的形式 服务于整个框架,django有很多强大的第三方插件,可以开发出自己的工具包。使得 django具有很强的可扩展性,它还强调快速开发和DRY原则。于2005年以开源的形式 展示出来,django框架的核心模块有:1. urls.py网址入口,关联对应的views.py中的一个函数(或者generic类), 访问网址就对应该函数。2. views.py处理urls.p y中对应的用户请求,可以通过在t empla tes模板中呈现 网页,将需要看到的内容输入到网页中。3. models.

18、py 与数据库操作有关,它用于保存或读取数据,不需要引用数据的时 候可以不使用。4. forms.py 表单,用户在浏览器上输入数据提交时,实现验证数据并生成输入框 的功能。5. templates文件夹views.py中的函数渲染templates中的html模板,以获取 web页面动态内容。当然可以通过缓存来提高速度。6. admin.py django自带的后台,只需要少量的代码就可以实现后台的管理。7. settings.py django的设置,配置文件,比如用QQ发送验证码的配置、静态文 件的位置、网页的语言、时区等。8. static静态文件,用户存放js和css代码。4.1.3

19、MTV设计模式django已经成为web开发者的常用框架,MTV是Model、Template、View三个单词 的简写,分别代表模型、模版、视图。在django中,控制器接受用户输入的部分由框 架自行处理。它们各自的职责如下表4. 2所示:表4.2 MTV模式中各自的职责层次职责模型(Model),数据存取 层处理与事务相关的所有事务:如何存取、如何验证有效 性、包含哪些行为以及数据之间的关系等。模板(Template),表现层处理与表现相关的决定:如何在页面或其他类型文档中 进行显示视图(View),业务逻辑层存取模型及调取恰当模板的相关逻辑。模型与模板的桥 梁。可以看出 django 视

20、图不需要处理用户的输入,只需要决定显示哪些数据给用户即 可, django模板则是实现如何显示django视图指定的数据。换言之,django把MVC中 的视图分解为django视图和django模板这两个部分,分别决定“显示哪些数据”和 “如何显示”,使得django的模板可以根据需要随时替换,而不仅仅限制于内置的模 板。4.2开发工具介绍4.2.1JetBrains PyCharm 2018.3.5 x64PyCharm是Python的一个IDE,能够帮助用户在使用Python语言进行开发时提高 该效率,例如调试、项目管理、智能提示、代码的跳转、单元测试以及版本控制等 等。另外,该IDE还

21、拥有一些高级功能,它自带HTML,CSS和JavaScript编辑器,以用 于支持django框架下的专业Web开发。4.2.2MySQL5.7MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),它有以下优点:1适用性高,基本适用于所有平台2开源,版本更新较快3. 性能出色4提供用于管理、检查、优化数据库操作的管理工具5支持多线程,充分利用CPU资源4.2.3N avicat 12 for MySQLNavicat是一套快速可靠的数据库管理工具,专为简化数据库的管理及降低系统管 理的成本而设。可以让你以安全并且简单的方式创建、组织、访问、共用信息。 5系统概要设计5. 1系统功能结

22、构设计竞赛管理系统的功能结构图如图5.1所示:用户M理图5.1竞赛管理功能结构图5.2 数据库连接数据库连接代码如下图 5.2所示:BATBASES = default : ENC HEJ :dj augo. db. b ackenJ.E. nLysql-连接虫聲QL数拥库J n沁:Jcen5 etit ion#埶採库宅宇JUSERJ :ZOt j#数嶠库用户容J PAS 5TORDJ : j 1Z346 6存数拐库密码jEosr:loc乱Hid弓七jJ PORT:3306J.p p图 5.2 连接数据库关键代码Django 很容易连接到数据库,只需要输入数据库类别、数据库名字、用户名和密码等

23、即 可进行连接。5.3数据库ER图竞赛管理系统数据库 E-R 图如图 5.3 所示:毎中规则舒滿分用户剑曲报;AM“善抑甲户冒1r克码身罰TT皂m1將I客字_L. 炉丰站客冃半椿 y4站结 剽中口IJ主-m理员细进手载判图 5.3 竞赛管理系统 E-R 图5.4数据表详细设计赛事信息详细设计如表 5.1所示,对应的代码设计如图 5.4所示表 5.1 赛事信息表字段名称数据类型字段说明event_namevarchar(32)赛事名称event_full_marksvarchar(lO)赛事满分event_start_timevarchar(32)赛事开始时间event_end_timevarc

24、har(32)赛事结束时间event_placevarchar(lOO)赛事地点event_rulelongtext赛事规则event_typevarchar(15)赛事类型(外键)-赛事信息|elas5 Eventlnfo (models. Model. ReadlfnjuEKpandilethod):电vmirt_iiajiie = models. CLaxField (majz_leugt! =32)-赛事名称event_full_nLaiks = models. CJiaiFieldCmazzlpugt =10)=赛事满分event_Et ai七_+工111! = models. Cl

25、iaiField (ma2;_leugt =22)=赛事开始时间e v &nt_&n d_t ie = models. Chai Fie Id (ma2-:_l?ngtb=32)=畚事结束时间event plase = mo de Is. CLlhF ie 1J (nazzlengt = 10 0 J二赛事地点event_tjrpe = models. Fere ignEey (EventType. ou_delet=mjod?ls. D0_MDTHING)二舂事类型eventrule = models. Test Fieldlength =100)-赛事觑则xead_d&t ails = G

26、enei icRe lation (ReadD et ail)1de _EtT_(self):IE七uj:n sell . eveiLt_ns_nie-显kg事容称图 5.4 赛事信息代码设计赛事类型详细设计如表 5.2所示,对应的代码设计如图 5.5所示:表 5.2 赛事类型表字段名称数据类型字段说明type_namevarchar(15)类型名称type_score_rulelongtext类型对应评分规则n畚事类型uIr肓日 EveutTypeHcdelJ :t jrpe_n.Mi9 = models. CliaiField (na2;_l&iigtl =15)tyr*_sge_xule

27、 = models T亡xtFieldfmazTlEii巨t: =20Q)二类型名称二类型対应评分掘则占bf _six_ (s?l):Wzetmn sell, tvpe liaJHfL:=显亦宁付内容图5.5赛事类型代码设计选手信息详细设计如表 5.3所示,对应的代码设计如图 5.6所示表 5.3 选手信息表字段名称数据类型字段说明player_namevarchar(lOO)选手名字player_registration_nu mberint准考证号player_scoreint选手分数player_score_namevarchar(15)选手分数对应的赛事名称(外键)=选手信息c las

28、 5 Ev entP layer Info (mod-elE. Model):playei_n.Mi.e = models. CliaxF ield (mazcleiigtl =100.)=选手信息选手窑宇playexregzEtj:atieii_n.iLiDb&x = m.od.&lE. IntegexJield (.blanlIxuei iiuIl=TTue)二选手信息准考证号playex_sc= mo de Is . Iube gerF ieId.l:i lanl:=Ixuej iiull=TTue)二选手分数playex_s;c exe_nain.e = models . Fzezgn

29、JEey (EventIuoj oii_deLete=nLodels. DO_1TOTHIN&)=选手分數对应的務事茗字图 5.6 选手信息代码设计报名信息详细设计如表 5.4所示,对应的代码设计如图 5.7所示表 5.4 报名信息表字段名称数据类型字段说明enroll_player_namevarchar(32)报名选手名字enroll_player_id_cardvarchar(18)报名选手身份证号enroll_player_phone_numvarchar(ll)报名选手手机号码enroll_player_gradevarchar(lO)包名选手所在年级enroll_player_ev

30、ent_namevarchar(32)报名选手所要参加的赛事enroll_player_schoolvarchar(30)报名选手所在学校enroll player schoolvarchar(30)报名选手所在学校二抿名信息ela.55 EieloLI (models. JIodeL1 :enx eH_p layei: iiajne = mo dels. CliaiFleld (niaz-z leugt =32)二抿名选手名宇cmIljlayejr_ld_eaid = models. CharFieId(jd32z_length=18)二振宕选手身份证号eux Qll_playej;_pli

31、Qiie_iii.uQ = wlaid (mLb_L?ugthmLl)-抿名选手手机号码m 11_P laye_r_s elio & 1 = mo de Is - CliaiF ie Id (m a2-:_l eugtl =2 0 j deiianl =.)1二抿宮选手所在学校 emoIIjlayei_giade = models. ChuField (mfE:i_leiigtl =10)二振容选手所在年级enx ell_playej:_&v eutame = modelE. CkajzFie Id (ma2-:_leugrt =22)=抿启选手所更參加的暮事图5.7 报名信息代码设计6系统详

32、细设计6.1注册功能模块用户注册时需要创建用户名,然后输入自己的邮箱,输入密码,两次密码必须一致, 输入完之后先点击发送验证码,发送验证码之后30s不能再次发送,用户输入的邮箱将 会收到一个4位数字验证码,输入正确的验证码点击注册即可注册成功。注册界面如图6.1所示:图6.1 注册界面由于django中内置了发送邮件功能,只需要在QQ邮箱官网中点击“设置”找到账 户开启IMAP/SMTP服务,对应的views.py中的核心代码如图6.2所示:def seni identifyiug cede (xequest): ema 1.1 = z eque st. GET. ge ( einai.l j

33、 5eni_f白i: = request.GET_ get ( send_f oiJ data. = if email != JJ :二生成验证码cede = . Jain (zajidoin. sample (sliing. digit4) fl 生成髄机四f立勘字密码辽吟h = zut (t iute -七 ijne 0 .)seud_gq4e_tiae = xqust. sessiQU. get f seui_qAe_tiffl-e Q)ii hot 一 Eend_coie_tijiie 30:ft设番验证咼总医间隔时间药?张d at a statiiE = ERRORelse:zequ

34、est. eesElciiiEenJ_f ox = aadeXque st. 555111 5LLA_CQde_t = 口。盲发送邮件 s end_jn3Ll (绑定邮箱 验证码:is* ft 爲J 9522B43B10qq_. iBBni .email jf a il_ silent 1 =F 且 Le e,)data status = SUCCESS-1sb :data 弓七 aus = ERROE.ietiLin Js ouRe spons (iata)=设走岌送噓证码的期箱图6.2 views.py中发送邮件核心代码 setting.py中的核心代码如下图6.3所示:EHAIL_BJC

35、KEin)=町和即.core, mall- ba-deiids. Enctp. Ejna 1 LBacL: endEMAIL HOST = zm+p. qq. cojrAXvX-Vt-ESAIL_PORT = BEttAIL_305T_USER = 9 5228428Bqq. com|EKAIL_USE_TL5 = TrueEMAIL HOST PASS TORI = bsijdElisisjlhliiV fl 授权码 EMAIL_STBJZCT_PEEFn =谢文东的竞赛管理系统图6.3 sett ing.py中的核心代码6.2登录功能模块用户进入首页点击“登录”即可跳转至登录页面,登录账号

36、可以是用户名也可以是 绑定的邮箱号,输入正确的账号密码方可进行登录。登录界面如图6. 4所示:图 6.4 登录界面欢迎登录竞赛管理系统!在 django 中有一个用户认证系统 auth 模块,登录时只需引用即可。对应的核心代 码如图 6.5 所示:二登录def loEin (i:eqiiest):us e_i if iequest, metli&d = POST: lQgiu_oxm - IcgiuFiin Uquest. POST) if LoEiiL_f rm. is_valld 0 :usex = Loerm. cl&aneJ_(lataauth. legiiL (re quest. u

37、s ex) xetixiu re direct (x equest. GE T. get ( 1 om. j zev ezse (. home )lse ;login_iin = LoginFoiE.()context = Icoui ext lo gin_ o im. = logmsrin工倉turu. xeudei (xequest i * logiu. litml j wont臂廿图 6.5 登录核心代码6.3 忘记密码功能模块邮曲返回当用户忘记自己的登录密码时,可以在登录界面点击“忘记密码”进入忘记密码界 面,输入注册时绑定的邮箱号,然后输入自己的新密码,点击发送验证码,在自己绑定 的

38、邮箱中可以收到验证码,输入获得的验证码点击重置即可。忘记密码界面如图 6.6 所示:图 6.6 忘记密码界面下次密码要记牢固哦!斩的彩F1出厂贰:JT :讦世垃址谄厂也:如1:w si Sa6.4 浏览赛事统计并显示0图 6.7 浏览赛事统计并显示界面 为了防止有用户恶意刷赛事的浏览次数,特意限制了一个用户在一天内用同一个浏 览器看对应的赛事只能增加 1 次的阅读次数。对应的核心代码如图 6.8 所示:0505/0405/DE:0SD7Mf&SaEi*D9今人幕滾事全国小:如!;:心用户登录后可以看到这样的一个折线图表,折线图表记录了每天的总浏览量,该图 表下面的热门赛事则记录了每场赛事的浏览

39、量并取前 5 场热门赛事显示出来,这个也可 以作为一个因素,间接影响用户是否报名该场赛事。用户可以直接点击该热门赛事,进 入赛事详细信息界面。浏览赛事统计并显示界面如图 6.7所示:欢迎进入竞赛管理系统def 工e且d statistics once leadfiegiiest. obj): ct = Coni entType. objects. get_oT_ino del Cot j) ley = 叫钻吕_工亡且d % (ct. mo de I., obj. pk.Jif lloPCOQIIES. get 仕町);=总阅读数加i=ct.leadniinL ejeated = Readlku

40、n. objects, get i create (_ t_l =g1 j. pl)i e acLunm. i e ad_mim. += 1xeacLunin- s ave 00 . date 0aJDelail. objsets. gm七_工_工且七己(. eGt_ic =eb j. pl. d_nt =dst亓当天阅读数加丄 date = tijweEone. now xeadD efai. 1 ar esize J = RAAA/WWWVWWcoutenti =ct.i ialDetHil. r&ad_mijn += xalDetai. 1 save 0工屯七iltii hey图 6.8

41、 阅读次数核心代码6.5 导航条当点击导航条里的“竞赛管理系统”或“首页”时,都会跳转至首页这个页面。 导航条里还包括了“赛事信息”,“名人堂”,“报名”,“搜索”功能。当用户未登 录时,导航条的右边会有登录注册按钮,当用户已登录时导航条的右边会显示用户的用 户名。用户名可以下拉,包括了“个人中心”,“后台管理”,“退出”功能。用户未登录时导航条界面如图6.9所示:鞫織f;離B船琏瓠爰壬養4騒冊图 6.9 用户未登录时导航条界面用户已登录时导航条界面如图 6.10所示:譴制雜 r 離a ai蹦卸洼龛澤Jm-图 6.10 用户已登录时导航条界面 用户名下拉的界面如图 6.11 所示:6.6 赛事

42、信息赛事信息界面分为两列,左边一列是赛事列表,把所有的赛事都显示出来,并且把 重要的赛事信息跟着一起显示出来,右边则是赛事类型以及各个类型的评分标准,点击 类型分类中的赛事类型可以跳转至对应的页面。当赛事太多时需要分页,所以在界面的 最下边设置了分页,点击页码即可跳转对应的页面,也可以点击“ ”,分别 对应前一页和后一页,当当前页码是第一页时,系统判定“”为不可点击。以每5 场赛事为一页进行分页显示,并 在最下端显示出第几页。当赛事过多时,为了界面简洁,将多余的页码用省略号表示。赛事信息界面如图 6.12 所示:全国-iIOie 浏h:(32卜开塔时目:Z2ttS冃丁曰9口( 35SR 时冃

43、1 2Q20j 冃丁曰30A 匹右:士三.:S:L_L:.: M 夕 丫挣-TfF-殘全国中学数学竞竄 JI .、旱:1?.7 i fflifffr冃:2Q2Oj 冃 7曰 1E(.一;:1 二- -活=:_.:-:-: - :7 317 -nASSAfi .: ;:理 I .:SBWtSteit古丼f 星低禺 硯吓匹负的 平均值评妥打好垃国为用1叩* 副氐廿为对,最高廿沟1口廿评養 打舒只龍於廖.图 6.12 赛事信息界面赛事分类界面如图 6.13 所示:吏曲王:*L出踰餐全国象棋大竇浪氏呈:C2 .公or口.:初;门工人匸9 nr结刖丘:2010-b.CE E.CO乩步姐盯:朮貝工I犬三妝

44、庄早垃注业令全国围棋大赛技恵:芒,卜了走时冃:亠u-ubf fEb ULor口.: ;n;nGj=-| ?i rn总交刃吒;-1法理工A岁咲匹宁兜a芒沖二皎三亡上於注 兰可i绘丨文 扫文图6.13赛事分类界面赛事较少时页码如图 6.14 所示:1I234共有1 E场赛事,当前第1页,共4页图6.14分页显示赛事过多时页码如图 6.15 所示:6共有1 &场赛事,当前第厢共16页图6.15页面较多时分页显示赛事显示核心代码如图6.16所示:def eveu.1: lst .request):ev eu.t s_al l_Li st = EFEirtliifo objects all 0conte

45、xt = get_event_comnion (irequest., events_all_list) 工屯七iliii render teiueEtjev eutllst. litml cntet)图 6.16 赛事显示核心代码6.7 赛事详细信息当用户点击赛事名称进入赛事详细信息界面,该界面包括了赛事详细信息,在信息 的下端有“点我报名”跟“评审打分入口”。如果用户浏览完信息后觉得自己想报名该 场赛事即可点击“点我报名”进入报名界面。在最下端还设计了一点细节,用户浏览完 这场赛事信息后可以不用切换出去,点击最下端的前一场或者后一场赛事即可赛事详细信息界面如图6.17所示:竟壽管理至统首页变

46、于厉三名心肢a应认七空壬兰灯汪于Q赛事S称;全国打学&学竞畚:/.32:- io我幻挖L: 1;:壬碍奢吝匸丁些- : 2C2C: ip-Z: ZC茂无三占申厂-:.I JI rri J-: 3 - | : ISTA厂前一埼:呵!還有了昏一塢:全国中学救学克咅图6.17赛事详细信息界面赛事详细信息显示的核心代码如图 6.18 所示:def st ent de+ail (re qua s 七 event pk J !event = get_gb ject_&x_404 .Eviit Iiifg., pk=eut_plij= i ad_Etat 1stics_oe_ial (equest. eve

47、mt.)conteKt = 0e&nteKt pi evioiiseve rrt = Eveutliif o. objects. i It ex (1J =event. l.i). 13.Et (J contest net_eventJ. = Eentliife. objects, f iltei (id_gt= event. li). first 0 c&nteKt ev eut = eventxespQiise = xeudex (inquesti veut_Aetai 1 html j coatR 口向应Eet_ceokie Uea.d_e* tine* )ft jieoo 1-Tetu

48、xn zespoher图 6.18 赛事详细信息显示核心代码6.8 查询功能模块当用户输入自己想要查找的赛事或者关键字之后,以输入“小学”为例。查找界面会显示符合查找要求的所有赛事并显示出来。查询功能界面如图 6.19 所示:竞赛簷理慕統岂贡赛事佶息名人堂 蹄请输人竹增更全国打学数学竞赛浏題:归可可:2D2Cte6月丁三WOO活車时司:2020670 11 30总奏事地鹿:理工犬孚群酒孕彌育Wl楼全国匸煌英语竞赛0測進: 幵3佰:20206J7B9:U0硒束时词:20206月7日11 30為探爭也眾:氐I2丄丈孚殊鬲芋育涓1楼图 6.19 查询功能界面查询功能核心代码如图 6.20 所示:二查

49、询Jef sea.L clilieqiieEtj :seaj:ch_ir0zi = re Quest. GE T. get C rd1*)e-nts_all_list = Eventhif&.芝ilt总土 (*-nT_u.itme_i ; =5eflick_riiD卜部分匹酉t忽昭大小写content = 0jAAAAAAAAAArconteKt = get_ev ent_G0mm.o 口 (i eque sti ev ent s_a.l l_Li st.)ant searehord1 = se-aj:li_r!ifigntMt 5eai;cli_eeuts_cQuut- = weuls_al

50、l_list. coiiut 0 eoiitcHtt Eeaieevents = event E_aLl_115t zetum 工口lex (request.search, ktml con-test.)图 6.20 查询功能核心代码6.9 报名功能模块用户报名可以点击导航条里的“名人堂”,也可以点击赛事详细信息里的“点我报 名”。用户可以帮他人报名,需要输入参赛选手的姓名、身份证号、手机号码、所在学 校及所读年级、所参加的赛事。确认信息后方可进行报名。报名界面如图 6.21 所示:图 6.21 报名界面6.2.10 名人堂模块名人堂初始的排名是所有选手依据分数进行的排名,用户可以在这里看到各

51、个选手的分数排名情况,可以选择排名方式,也可以查询选手的准考证号来查询选手的成绩。名人堂界面如图 6.22 所示:竞赛管理靠统bJ.4J=RU.b:,,B&淮垃号iiI3001uy主卧宁撤学题26DQ1137士M、三手3IHWM-DOS135全国尢学載学極4奶土3004126全国尢锵学直玄fltest3006126主国尢宁砖躲6谢ZDQ2B9士.hll三盘半r苔图 6.22 名人堂界面点击赛事名称可以下拉选择不同赛事进入对应的排名,如下图 6.23 所示全国小学数学竞赛全国中学数学竞赛 全国大学数学竟赛全国小学英语竞赛 全国中学英语竞赛全国大学英语竞卷全国中学物理竞赛全国大学物理竞赛全国中学化

52、学竞赛全国大学化学竞赛全国轮渭花桩大赛图 6.23 排名方式 对应的核心代码如图 6.24 所示:def L3.nl-_list (ieque st.):存按分数由天到小排名 lFLiil-_event_nain.e = EventIllo. ebjsets. allO = Ett enit? layer Info. bjectE. sele ct_z elat ed ( playez_s core_iiEune ) . 三i der_b y ( playei_s eore ) . a_110returiL xend ex (z eqne srfjjaul:_l i.s. ktnni ; lo

53、c als Q )图 6.24 赛事排名核心代码6.2.11 个人中心模块用户登录后通过点击用户名下拉后再点击个人中心按钮进入个人中心模块。在个人 中心中可以进行信息的查看,会显示上一次登录的时间,可以根据上一次登录的时间来 看是否自己被盗号,可以进行密码修改,报名信息修改,但是不能修改已绑定的邮箱。 如果用户自己绑定的邮箱没用了或者被盗号了可以联系管理员将其原先的邮箱号删除, 然后重新绑定邮箱号。个人中心界面如图 6.25 所示:竞赛管理系统首页赛事信息名人堂 报省谢文杰上一次登录的时问:2020-05-09 17:17:01邮箱:952284281倏玫密码條阴便g信息图6.25个人中心界面

54、6.2.12 后台管理模块后台管理只有给定权限的用户才能进去,在后台可以进行所有信息和用户的管理后台管理界面如图 6.26 所示:图 6.26 后台管理界面7 系统测试7.1测试目的系统测试是系统设计时比较重要的一部分。在竞赛管理系统开发时,人类的主观理 解不能完全符合客观现实,因此不可避免地会在系统开发的每个阶段发生错误。在每个 阶段结束之前通过简单的测试来发现更多的错误。测试的目的有以下四点:(1) 通过测试发现与用户需求之间存在的缺陷。(2) 通过测试来发现并解决这些缺陷,提高用户对产品质量的信心。(3) 通过测试来积累经验,降低该软件产品失败的风险,同样也起到一个预防作用。(4) 通过

55、测试活动了解被测对象的质量状况,为决策提供数据依据。7.2功能测试针对竞赛管理系统的各部分功能以及可靠性进行了黑盒测试,测试用例如下:1. 注册功能测试:测试用户注册填写所需要的信息错误时是否有对应的提示,注 册成功是否跳转至登录页面。测试用例表如下表 7.1所示:表 7.1 注册功能测试用例表序号功能 模块用例标题测试步骤期望结果实际结果zc_o01注册输入所有 的正确信 息,进行 注册1.打开首页2点击注册按钮,进入注册页面3.输入所有的正确信息,点击注 册按钮注册成功, 并跳转至首 页注册成功, 并跳转至 首页ZC_002注册不输入用 户名1.打开首页2点击注册按钮,进入注册页面3.不输

56、入用户名,输入其他正确 信息,点击注册按钮提示“请填 写此字段”提示“请填 写此字段”ZC_003注册输入的用 户名长度 少于2位1.打开首页2点击注册按钮,进入注册页面 3.输入用户名长度小于2位,输 入其他正确信息,点击注册按钮提示“请将 该内容增到 到2个或更 多字符”提示“请将 该内容增 到到2个或 更多字符”ZC_004注册输入已存 在的用户 名1.打开首页2点击注册按钮,进入注册页面3.输入已存在的用户名,输入其 他正确信息,点击注册按钮提示“*用户 名已存在”提示“*用 户名已存 在”ZC_005注册不输入邮箱1.打开首页2点击注册按钮,进入注册页面3.不输入用户名,输入其他正确

57、 信息,点击注册按钮提示“请填 写此字段”提示“请填 写此字段”ZC_006注册输入错误的邮箱1.打开首页2点击注册按钮,进入注册页面3.输入错误的邮箱,输入其他正 确信息,点击注册按钮提示“请在 电子邮件地 址中包括”提示“请在 电子邮件 地址中包 括 ”ZC_007注册输入已存 在的邮箱1.打开首页2点击注册按钮,进入注册页面3.输入已存在的邮箱,输入其他 正确信息,点击注册按钮提示“*邮箱 已存在”提示“*邮 箱已存在”ZC_008注册不输入验 证码1.打开首页2点击注册按钮,进入注册页面提示“ *验 证码不能为提示“*验 证码不能3.不输入用户名,输入其他正确 信息,点击注册按钮空”为

58、空”zc_o09注册输入错误 的验证码1.打开首页2点击注册按钮,进入注册页面3.输入错误的验证码,输入其他 正确信息,点击注册按钮提示“验证 码错误”无提示ZC_010注册不输入密码1.打开首页2点击注册按钮,进入注册页面3.不输入用户名,输入其他正确 信息,点击注册按钮提示“请填 写此字段”提示“请填 写此字段”ZC_011注册输入的密 码长度少 于6位1.打开首页2点击注册按钮,进入注册页面3.输入密码长度小于6位,输入 其他正确信息,点击注册按钮提示“请将 该文本增到 为6个字符 或更多”提示“请将 该文本增 到为6个字 符或更多”ZC_012注册不输入请 再输入一 次密码1.打开首页2点击注册按钮,进入注册页面3.不输入请再输入一次密码,输 入其他正确信息,点击

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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