《竞赛管理系统的设计与实现_定稿.docx》由会员分享,可在线阅读,更多相关《竞赛管理系统的设计与实现_定稿.docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、竞赛管理系统的设计与实现摘 要随着国家教育体制的改革,竞赛活动的举办也越来越频繁,报名参赛的学生数量也是越来越多。面对如此众多参与者信息的录入,人工采集信息的方式已经不能满足当下的需求。竞赛信息的管理又是一份繁琐的工作,参赛者的信息量很大,而且通常不允许出现错误。如果执行手工操作,则必须手动填写大量表格,这将使比赛管理工作又增加一个难度。本论文所讲述的竞赛管理系统是在PyCharm环境下用Python中的Django框架和MySQL数据库来实现的,它具有检索迅速、查找方便、可靠性高、存储量大等特点。该系统分为前端和后端两大部分,前端使用Bootstrap框架,主要实现的功能是用户的注册、登录、
2、浏览赛事、搜索赛事、各个赛事浏览统计、报名、评审打分、排名等功能;后端主要实现的是对用户信息、赛事信息、排名信息的管理。关键词:竞赛管理系统;PyCharm;Django;MySQLDesign and implementation of competition management systemAbstractWith the reform of the national education system, competitions are being held more and more frequently, and the number of students registering
3、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 very large,
4、 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 Django fram
5、ework 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, login,
6、browsing events, 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 绪论11.1本设计的目的及意义11
7、.2本设计在国内的发展概况及存在的问题11.3本设计应解决的主要问题12 需求分析22.1可行性需求分析22.1.1社会可行性22.1.2经济可行性22.2非功能性需求分析22.3功能性需求分析32.3.1竞赛信息管理功能32.3.2用户信息管理功能32.3.3参赛选手信息管理功能33运行环境33.1硬件环境33.2软件环境44开发技术及开发工具44.1开发技术介绍44.1.1B/S结构及其优势44.1.2web开发框架django54.1.3MTV设计模式64.2开发工具介绍64.2.1JetBrains PyCharm 2018.3.5 x6464.2.2MySQL5.774.2.3Nav
8、icat 12 for MySQL75系统概要设计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 报名功能模块216.2.10名人堂模块226.2.11个人中心模块236.2.12后台管理模块237系统测试247.1测试目的247.2功能测试258结论29参考文献301 绪论1.1本设计的目的及意义本设计来源于举办方对竞赛管理系统的实际需要,如果实行
9、手工操作,在参赛人数太多时往往容易出错,但是竞赛项目是要保持公正严谨,不容许有丝毫错误发生。该设计的目的是使参与者信息的输入和管理自动化,标准化和系统化,从而提高管理效率。并围绕此管理目标对系统所需要的用户信息,选手信息,赛事信息,排名信息等进行管理和维护。1.2本设计在国内的发展概况及存在的问题随着国家教育体制的改革,竞赛活动的举办也越来越频繁,报名参赛的学生数量也是越来越多。面对如此众多参与者信息的录入,通过人工采集信息的方式已经不能满足当下的需求。如何利用现代信息技术使组织者具有快速高效的信息反馈能力和高效率,是目前举办方特别关心的一个问题。建立一个功能齐全的竞赛管理系统,避免由于人工操
10、作产生的缺陷,已成为当今社会举办高校竞赛的重中之重。1.3本设计应解决的主要问题要实现竞赛管理系统代替人工来工作,主要解决的问题有以下几个:a. 报名功能的实现:用户可以在线上报名所想要参加的赛事。b. 评审打分功能的实现:评审在评审打分入口实现评分功能。c. 排名功能的实现:选手的成绩会进入排行榜内,选手可在排行榜中查询成绩,可以按照不同的排名规则进行排名。d. 评审给参赛人员打完分后,立马出成绩,排行榜实时更新。e. 数据库实时更新:在后端添加信息后,保证前端能实时更新。f. 操作简单、界面简洁、功能齐全。2 需求分析2.1可行性需求分析2.1.1社会可行性随着国家教育制度的改革,竞赛活动
11、越来越多,参赛人员也越来越多。如果一直使用人工来记录跟踪赛事,往往会有很多因素导致工作失误。人们需要用一个集合多功能的竞赛管理系统来帮助他们完成这些工作,提高工作效率,减少工作失误。2.1.2经济可行性经济可行性是软件带来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会比人工节省。当然,一场大型赛事往往会聘请很多工作人员,而竞赛管理系统往往只需要一个超级管理员即可管理,相比之下,竞赛管理系统可以节省很多费用,设计系统是经济可行的。2.2非功能性需求分析系统应当满足以下系统性能指标:a. 系统稳定性和可靠性。b. 一般查询响应时间6秒。c. 系统拓展性。d. 系统满足界面的友好性,
12、系统界面的友好性将会直接影响用户使用系统的效率,要尽可能满足用户已有的使用习惯。e. 系统应确保不间断工作。f. 系统独立性。2.3功能性需求分析2.3.1竞赛信息管理功能前端实现竞赛信息的展示,后端实现对竞赛信息的管理。竞赛信息可以自定义。1. 竞赛信息列表:对竞赛信息进行增删改查操作。2. 赛事分类:按不同评分规则分类,方便用户查找自己想要看的赛事信息。3. 赛事报名:用户如果有中意的赛事,方可进行报名。4. 热门赛事:对赛事每天的浏览量做一个统计并以表格的形式体现出来。5. 查询赛事:用户可以查询自己想要查找的赛事。2.3.2用户信息管理功能用户对自己的信息进行查询或者修改等操作。1 个
13、人中心:用户对自己的信息查看或修改。2 绑定邮箱:用户忘记密码时,可通过绑定的邮箱来找回自己的密码。2.3.3参赛选手信息管理功能参赛选手对自己的成绩进行查询,修改报名信息。1 名人堂:选手可以输入自己的准考证号进行查询,用户可以按照不同排名方式进行排名。2 修改报名信息:用户对自己的报名信息进行修改。3运行环境3.1硬件环境1 处理器:Intel(R) Core(TM) i7-6498DU CPU 2.50GHz 2.60GHz2 系统类型:64位操作系统,基于x64的处理器3 内存:4.00GB4 磁盘空间:256GB3.2软件环境1 操作系统:Windows10服务器2 框架:djang
14、o框架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架构具有以下四点优点:1. 它不需要安装任何软件即可运行,只
16、需要一台可以访问Internet的计算机,客户端实现零安装、零维护,使得系统非常容易进行拓展。这也是它最大的一个特点。2. 通过需求推动ajax技术的发展,它的程序也能在客户端电脑上进行部分处理,从而减轻服务器的负担并增加了交互性,可以进行局部实时刷新。3. B/S结构利用日益成熟的Web浏览器技术:将浏览器的多种脚本语言和ActiveX技术相结合,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能。4. 界面统一(均为浏览器模式),操作相对简单。4.1.2web开发框架djangodjango项目起源于一个在线新闻网站。它是一个用Python语言编写的开源Web开发框架,遵循MVC设计模
17、式。它强调代码重用,多个组件可以很容易以“插件”的形式服务于整个框架,django有很多强大的第三方插件,可以开发出自己的工具包。使得django具有很强的可扩展性,它还强调快速开发和DRY原则。于2005年以开源的形式展示出来,django框架的核心模块有:1. urls.py 网址入口,关联对应的 views.py 中的一个函数(或者generic类),访问网址就对应该函数。2. views.py 处理urls.py中对应的用户请求,可以通过在templates模板中呈现网页,将需要看到的内容输入到网页中。3. models.py 与数据库操作有关,它用于保存或读取数据,不需要引用数据的时
18、候可以不使用。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.3MTV设计模式django已经成为web开发者的常用框架,MTV是M
19、odel、Template、View三个单词的简写,分别代表模型、模版、视图。在django中,控制器接受用户输入的部分由框架自行处理。它们各自的职责如下表4.2所示:表4.2 MTV模式中各自的职责层次职责模型(Model),数据存取层处理与事务相关的所有事务:如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。模板(Template),表现层处理与表现相关的决定:如何在页面或其他类型文档中进行显示视图(View),业务逻辑层存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。可以看出django视图不需要处理用户的输入,只需要决定显示哪些数据给用户即可,django模板则是实现如何
20、显示django视图指定的数据。换言之, django把MVC中的视图分解为django视图和django模板这两个部分,分别决定 “显示哪些数据” 和 “如何显示”,使得django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。4.2开发工具介绍4.2.1JetBrains PyCharm 2018.3.5 x64PyCharm是Python 的一个IDE,能够帮助用户在使用Python语言进行开发时提高该效率,例如调试、项目管理、智能提示、代码的跳转、单元测试以及版本控制等等。另外,该IDE还拥有一些高级功能,它自带HTML,CSS和 JavaScript编辑器,以用于支持djan
21、go框架下的专业Web开发。4.2.2MySQL5.7MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),它有以下优点:1 适用性高,基本适用于所有平台2 开源,版本更新较快3 性能出色4 提供用于管理、检查、优化数据库操作的管理工具5 支持多线程,充分利用CPU资源4.2.3Navicat 12 for MySQLNavicat是一套快速可靠的数据库管理工具,专为简化数据库的管理及降低系统管理的成本而设。可以让你以安全并且简单的方式创建、组织、访问、共用信息。5系统概要设计5.1系统功能结构设计竞赛管理系统的功能结构图如图5.1所示:图5.1 竞赛管理功能结构图5.2数据库连接数
22、据库连接代码如下图5.2所示:图5.2 连接数据库关键代码Django很容易连接到数据库,只需要输入数据库类别、数据库名字、用户名和密码等即可进行连接。5.3数据库E-R图竞赛管理系统数据库E-R图如图5.3所示:图5.3 竞赛管理系统E-R图5.4数据表详细设计赛事信息详细设计如表5.1所示,对应的代码设计如图5.4所示:表5.1 赛事信息表字段名称数据类型字段说明event_namevarchar(32)赛事名称event_full_marksvarchar(10)赛事满分event_start_timevarchar(32)赛事开始时间event_end_timevarchar(32)赛
23、事结束时间event_placevarchar(100)赛事地点event_rulelongtext赛事规则event_typevarchar(15)赛事类型(外键)图5.4 赛事信息代码设计赛事类型详细设计如表5.2所示,对应的代码设计如图5.5所示:表5.2 赛事类型表字段名称数据类型字段说明type_namevarchar(15)类型名称type_score_rulelongtext类型对应评分规则图5.5 赛事类型代码设计选手信息详细设计如表5.3所示,对应的代码设计如图5.6所示:表5.3 选手信息表字段名称数据类型字段说明player_namevarchar(100)选手名字pla
24、yer_registration_numberint准考证号player_scoreint选手分数player_score_namevarchar(15)选手分数对应的赛事名称(外键)图5.6 选手信息代码设计报名信息详细设计如表5.4所示,对应的代码设计如图5.7所示:表5.4 报名信息表字段名称数据类型字段说明enroll_player_namevarchar(32)报名选手名字enroll_player_id_cardvarchar(18)报名选手身份证号enroll_player_phone_numvarchar(11)报名选手手机号码enroll_player_gradevarcha
25、r(10)包名选手所在年级enroll_player_event_namevarchar(32)报名选手所要参加的赛事enroll_player_schoolvarchar(30)报名选手所在学校图5.7 报名信息代码设计6系统详细设计6.1注册功能模块用户注册时需要创建用户名,然后输入自己的邮箱,输入密码,两次密码必须一致,输入完之后先点击发送验证码,发送验证码之后30s不能再次发送,用户输入的邮箱将会收到一个4位数字验证码,输入正确的验证码点击注册即可注册成功。注册界面如图6.1所示:图6.1 注册界面由于django中内置了发送邮件功能,只需要在QQ邮箱官网中点击“设置”找到账户开启IM
26、AP/SMTP服务,对应的views.py中的核心代码如图6.2所示:图6.2 views.py中发送邮件核心代码setting.py中的核心代码如下图6.3所示:图6.3 setting.py中的核心代码6.2登录功能模块用户进入首页点击“登录”即可跳转至登录页面,登录账号可以是用户名也可以是绑定的邮箱号,输入正确的账号密码方可进行登录。登录界面如图6.4所示:图6.4 登录界面在django中有一个用户认证系统auth模块,登录时只需引用即可。对应的核心代码如图6.5所示:图6.5 登录核心代码6.3忘记密码功能模块当用户忘记自己的登录密码时,可以在登录界面点击“忘记密码”进入忘记密码界面
27、,输入注册时绑定的邮箱号,然后输入自己的新密码,点击发送验证码,在自己绑定的邮箱中可以收到验证码,输入获得的验证码点击重置即可。忘记密码界面如图6.6所示:图6.6 忘记密码界面6.4 浏览赛事统计并显示用户登录后可以看到这样的一个折线图表,折线图表记录了每天的总浏览量,该图表下面的热门赛事则记录了每场赛事的浏览量并取前5场热门赛事显示出来,这个也可以作为一个因素,间接影响用户是否报名该场赛事。用户可以直接点击该热门赛事,进入赛事详细信息界面。浏览赛事统计并显示界面如图6.7所示:图6.7 浏览赛事统计并显示界面为了防止有用户恶意刷赛事的浏览次数,特意限制了一个用户在一天内用同一个浏览器看对应
28、的赛事只能增加1次的阅读次数。对应的核心代码如图6.8所示:图6.8 阅读次数核心代码6.5导航条当点击导航条里的“竞赛管理系统”或“首页”时,都会跳转至首页这个页面。导航条里还包括了“赛事信息”,“名人堂”,“报名”,“搜索”功能。当用户未登录时,导航条的右边会有登录注册按钮,当用户已登录时导航条的右边会显示用户的用户名。用户名可以下拉,包括了“个人中心”,“后台管理”,“退出”功能。用户未登录时导航条界面如图6.9所示:图6.9 用户未登录时导航条界面用户已登录时导航条界面如图6.10所示:图6.10 用户已登录时导航条界面用户名下拉的界面如图6.11所示:图6.11 用户名下拉的界面6.
29、6赛事信息赛事信息界面分为两列,左边一列是赛事列表,把所有的赛事都显示出来,并且把重要的赛事信息跟着一起显示出来,右边则是赛事类型以及各个类型的评分标准,点击类型分类中的赛事类型可以跳转至对应的页面。当赛事太多时需要分页,所以在界面的最下边设置了分页,点击页码即可跳转对应的页面,也可以点击“”,分别对应前一页和后一页,当当前页码是第一页时,系统判定“”为不可点击。以每5场赛事为一页进行分页显示,并在最下端显示出第几页。当赛事过多时,为了界面简洁,将多余的页码用省略号表示。赛事信息界面如图6.12所示:图6.12 赛事信息界面赛事分类界面如图6.13所示:图6.13 赛事分类界面赛事较少时页码如
30、图6.14所示:图6.14 分页显示赛事过多时页码如图6.15所示:图6.15 页面较多时分页显示赛事显示核心代码如图6.16所示:图6.16 赛事显示核心代码6.7赛事详细信息当用户点击赛事名称进入赛事详细信息界面,该界面包括了赛事详细信息,在信息的下端有“点我报名”跟“评审打分入口”。如果用户浏览完信息后觉得自己想报名该场赛事即可点击“点我报名”进入报名界面。在最下端还设计了一点细节,用户浏览完这场赛事信息后可以不用切换出去,点击最下端的前一场或者后一场赛事即可赛事详细信息界面如图6.17所示:图6.17 赛事详细信息界面赛事详细信息显示的核心代码如图6.18所示:图6.18 赛事详细信息
31、显示核心代码6.8 查询功能模块当用户输入自己想要查找的赛事或者关键字之后,以输入“小学”为例。查找界面会显示符合查找要求的所有赛事并显示出来。查询功能界面如图6.19所示:图6.19 查询功能界面查询功能核心代码如图6.20所示:图6.20 查询功能核心代码6.9 报名功能模块用户报名可以点击导航条里的“名人堂”,也可以点击赛事详细信息里的“点我报名”。用户可以帮他人报名,需要输入参赛选手的姓名、身份证号、手机号码、所在学校及所读年级、所参加的赛事。确认信息后方可进行报名。报名界面如图6.21所示:图6.21 报名界面6.2.10名人堂模块名人堂初始的排名是所有选手依据分数进行的排名,用户可
32、以在这里看到各个选手的分数排名情况,可以选择排名方式,也可以查询选手的准考证号来查询选手的成绩。名人堂界面如图6.22所示:图6.22 名人堂界面点击赛事名称可以下拉选择不同赛事进入对应的排名,如下图6.23所示图6.23 排名方式对应的核心代码如图6.24所示:图6.24 赛事排名核心代码6.2.11个人中心模块用户登录后通过点击用户名下拉后再点击个人中心按钮进入个人中心模块。在个人中心中可以进行信息的查看,会显示上一次登录的时间,可以根据上一次登录的时间来看是否自己被盗号,可以进行密码修改,报名信息修改,但是不能修改已绑定的邮箱。如果用户自己绑定的邮箱没用了或者被盗号了可以联系管理员将其原
33、先的邮箱号删除,然后重新绑定邮箱号。个人中心界面如图6.25所示:图6.25 个人中心界面6.2.12后台管理模块后台管理只有给定权限的用户才能进去,在后台可以进行所有信息和用户的管理。后台管理界面如图6.26所示:图6.26 后台管理界面7系统测试7.1测试目的系统测试是系统设计时比较重要的一部分。在竞赛管理系统开发时,人类的主观理解不能完全符合客观现实,因此不可避免地会在系统开发的每个阶段发生错误。在每个阶段结束之前通过简单的测试来发现更多的错误。测试的目的有以下四点:(1) 通过测试发现与用户需求之间存在的缺陷。(2) 通过测试来发现并解决这些缺陷,提高用户对产品质量的信心。(3) 通过
34、测试来积累经验,降低该软件产品失败的风险,同样也起到一个预防作用。(4) 通过测试活动了解被测对象的质量状况,为决策提供数据依据。7.2功能测试针对竞赛管理系统的各部分功能以及可靠性进行了黑盒测试,测试用例如下:1. 注册功能测试:测试用户注册填写所需要的信息错误时是否有对应的提示,注册成功是否跳转至登录页面。测试用例表如下表7.1所示:表7.1 注册功能测试用例表序号功能模块用例标题测试步骤期望结果实际结果ZC_001注册输入所有的正确信息,进行注册1. 打开首页2. 点击注册按钮,进入注册页面3. 输入所有的正确信息,点击注册按钮注册成功,并跳转至首页注册成功,并跳转至首页ZC_002注册
35、不输入用户名1. 打开首页2. 点击注册按钮,进入注册页面3. 不输入用户名,输入其他正确信息,点击注册按钮提示“请填写此字段”提示“请填写此字段”ZC_003注册输入的用户名长度少于2位1. 打开首页2. 点击注册按钮,进入注册页面3. 输入用户名长度小于2位,输入其他正确信息,点击注册按钮提示“请将该内容增到到2个或更多字符”提示“请将该内容增到到2个或更多字符”ZC_004注册输入已存在的用户名1. 打开首页2. 点击注册按钮,进入注册页面3. 输入已存在的用户名,输入其他正确信息,点击注册按钮提示“*用户名已存在”提示“*用户名已存在”ZC_005注册不输入邮箱1. 打开首页2. 点击
36、注册按钮,进入注册页面3. 不输入用户名,输入其他正确信息,点击注册按钮提示“请填写此字段”提示“请填写此字段”ZC_006注册输入错误的邮箱1. 打开首页2. 点击注册按钮,进入注册页面3. 输入错误的邮箱,输入其他正确信息,点击注册按钮提示“请在电子邮件地址中包括”提示“请在电子邮件地址中包括”ZC_007注册输入已存在的邮箱1. 打开首页2. 点击注册按钮,进入注册页面3. 输入已存在的邮箱,输入其他正确信息,点击注册按钮提示“*邮箱已存在”提示“*邮箱已存在”ZC_008注册不输入验证码1. 打开首页2. 点击注册按钮,进入注册页面3. 不输入用户名,输入其他正确信息,点击注册按钮提示
37、“* 验证码不能为空”提示“* 验证码不能为空”ZC_009注册输入错误的验证码1. 打开首页2. 点击注册按钮,进入注册页面3. 输入错误的验证码,输入其他正确信息,点击注册按钮提示“验证码错误”无提示ZC_010注册不输入密码1. 打开首页2. 点击注册按钮,进入注册页面3. 不输入用户名,输入其他正确信息,点击注册按钮提示“请填写此字段”提示“请填写此字段”ZC_011注册输入的密码长度少于6位1. 打开首页2. 点击注册按钮,进入注册页面3. 输入密码长度小于6位,输入其他正确信息,点击注册按钮提示“请将该文本增到为6个字符或更多”提示“请将该文本增到为6个字符或更多”ZC_012注册
38、不输入请再输入一次密码1. 打开首页2. 点击注册按钮,进入注册页面3. 不输入请再输入一次密码,输入其他正确信息,点击注册按钮提示“请填写此字段”提示“请填写此字段”ZC_013注册输入请再输入一次密码长度小于6位1. 打开首页2. 点击注册按钮,进入注册页面3. 输入请再输入一次密码长度小于6位,输入其他正确信息,点击注册按钮提示“请将该文本增到为6个字符或更多”提示“请将该文本增到为6个字符或更多”ZC_014注册请再输入一次密码和密码不一致1. 打开首页2. 点击注册按钮,进入注册页面3. 再输入一次密码和密码不一致,其他正确信息,点击注册按钮提示“*两次密码输入不一致”提示“*两次密
39、码输入不一致”2.登录功能测试:通过登录信息的填写,测试用户是否可以正确的登录。测试用例表如下表7.2所示:表7.2 登录功能测试用例表测试性能登录功能用例目的测试系统的登录功能前提条件必须有正确的登录信息输入期望的输出实际情况示例1:1.用户进入首页2.用户点击登录按钮,进入登录界面3.在用户名或邮箱中输入“谢文杰”或“952284281”,密码中输入“xwj12345”4.点击登录按钮示例2:同示例1,输入错误密码“xwj1234”示例1:登录成功,跳转至当时用户未登录时所在的页面示例2:登录失败,提示“用户名或密码不正确”实现系统登录功能3.忘记密码功能测试:测试是否真的可以通过邮箱接收
40、验证码来重置密码。测试用例表如下表7.3所示:表7.3 忘记密码功能测试用例表测试性能忘记密码功能用例目的测试系统是否可以通过忘记密码来重置自己的密码前提条件必须记得自己注册时绑定的邮箱输入期望的输出实际情况示例1:1.用户进入首页,并点击登录按钮,进入登录界面2.用户点击左下角的“忘记密码?”进入重置密码界面3.在邮箱中输入“952284281”,密码中输入“xwj123456”4.点击发送验证码按钮5.输入收到的验证码“5318”6.点击重置示例2:同示例1,输入错误的验证码“5317”示例1:重置成功,跳转至登录页面示例2:重置失败,提示“验证码不正确”示例1:重置成功,跳转至登录页面示
41、例2:重置失败,无提示信息4.修改密码功能测试:测试密码是否能修改正确。测试用例表如下表7.4所示:表7.4 修改密码功能测试表测试性能修改密码功能用例目的测试系统是否可以通过修改密码来修改自己的密码前提条件用户必须处于登录状态输入期望的输出实际情况示例1:1.用户登录后点击导航条里的用户名2.下拉点击个人中心,进入个人中心界面3.用户点击修改密码进入修改密码界面4.在旧密码中输入“xwj123456”,新密码中输入“xwj12345”,请再输入一次密码中输入“xwj12345”。5.点击修改按钮示例2:同示例1,在旧密码中输入错误的密码“xwj1234”示例1:修改成功,跳转至首页页面示例2
42、:修改失败,提示“*旧的密码错误”实现修改密码功能8结论PyCharm是一款用非常好用的开发工具,通过这次毕业设计,我基本掌握了用PyCharm开发工具用django框架来实现web开发。经过试运行,竞赛管理系统基本达到应用的需求,可以满足竞赛管理的大多数流程。在做竞赛管理系统这个过程中,学到了很多,真正的静下心来每天跟着视频教学一起学习,一起练习。之前总以为很多技术看起来很难实现,可是真正的去做了才发现并没有那么困难。当然,一个好的系统不仅性能、功能要完善,界面也要有足够的友好性,因为人是最终用户,眼花缭乱的界面会使得用户有不好的操作体验,影响用户操作的心情。本次毕业设计中我查阅了大量资料,
43、因为对django框架的不熟悉,所以每天都得上网查资料,看视频。当然有付出就会有收获,通过自己的努力和老师的指导,我顺利完成了此次毕业设计,希望在以后的生活中我能保持这份干劲。竞赛信息管理、选手信息管理、排名信息管理、报名信息管理等是竞赛管理系统的主要管理功能。选手可以选择自己想要参加的赛事,在时间不冲突的情况下可以一人参加多场赛事,该竞赛管理系统对报名、排名等信息进行了严格监控,保证了竞赛的公平公正性。本系统仍存在一些不足:手机号、身份证号等不能确保正确,只能规定输入的长度。报名只能个人报名,没有设计团队参赛等,这些问题都应该进行改进加强。参考文献1嵩天,礼欣,黄天羽python语言程序设计基础M北京:高等教育出版社,2017:3.2djangoDocumentationOL3python技术最差的pycharm+python+django+mysql开发的web应用OL ,2019-06-024HaddyYangdjango2.0-courseOL ,2018-10-275再敲一行代码【Django2.0教程】OL ,2017-12-056wukangkkkmusicOL. ,2019-02-217Bootstrap中文网起步OLhtt