【《足球赛事管理系统设计与实现》13000字】_第1页
【《足球赛事管理系统设计与实现》13000字】_第2页
【《足球赛事管理系统设计与实现》13000字】_第3页
【《足球赛事管理系统设计与实现》13000字】_第4页
【《足球赛事管理系统设计与实现》13000字】_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

abstractI第二章理论与技术基础本足球管理系统的设计与开发中引入了B/S网络应用框架理论、Django框架理论和MySQL数据库技术等,本章对上述理论和技术进行了梳理与剖析,为足球管理系统的设计与开发提出了思路与支持。2.1B/S架构当前的网络应用已经经过了数代更迭,从集中运算的C/S框架,再到现在非常主流的B/S框架REF_Ref8249\r\h[10]。前者C/S框架是一个具备成熟技术和良好稳定性的框架模式,而后者B/S框架是由C/S框架派生出来的新一代潜在框架REF_Ref9115\r\h[11],这种B/S结构是Web出现后的一个网络结构形式REF_Ref10774\r\h[12]。B/S架构主要分为三层结构REF_Ref11629\r\h[13],如图2.1所示。图2.1B/S架构分层结构图三层结构,一般含义上的是指:表现层、业务逻辑层、信息访问层三个层次表现层:一般是指显示给使用者的页面,即使用者在使用操作系统后所能看到的网页。业务逻辑层:普遍是指针对具体问题的后端动作,也可能解析为对信息访问层的动作,对数据的逻辑管理。数据访问层:该层通过应用数据库系统,能够对数据执行增加、删减、修改、查找等功能。系统采用了最简化的B/S结构形式,以客户端-服务器-数据库的系统形式作为开发框架,如图2.2所示。图2.2B/S架构模式图2.2Django开发框架Django框架是一种Web开发框架,并且因其采用了Python程序设计语句,采用了Python程序设计语句作为主要开发语言的Web技术开发架构,还有Flask、Tornado等REF_Ref7354\r\h[15]。它由劳伦斯出版公司研发,起初的开发目的是为管理麾下以新闻内容为主的公司网站REF_Ref9940\r\h[16]。Django架构,是一种基于MVC的架构。MVC指三个词:Model、View和Controller,它们对应于模型、视图和控制器。Django同时还是一种MTV的设计模型。MTV代表模型(Model)、模板(Template)和视图(View)REF_Ref22239\r\h[17]。但是Django框架对模式、模板和视图更重视,这就是它被称为MTV模式而不是MVC模式的原因,如表2.1所示。Django框架的主要功能包含对象映射关系器、URL分配器、模板管理系统和视图系统REF_Ref17493\r\h[18],其MTV设计模式示意图如图2.3所示。它还集成了表单处理、Cache系统、session等众多优秀功能模块。表2.1DjangoMTV职责表层次职责数据访问层包括了各种和数据有关的事项:怎样访问它、怎样检测有效性、以及包括哪些行为和数据间的关联等表示层处理表现的决定:如何在页面或其他文档类型上显示业务逻辑层调用模型和模板的逻辑,两者关系连接链。图2.3MTV设计模式示意图2.3MySQL数据库MySQL是一个关系式的数据库控制系统REF_Ref18143\r\h[19],它由瑞典公司MySQLAB研发,作为Oracle的产物,是Web应用程序设计中最主流的关系数据库管理系统之中,它也是最佳的关系数据库管理系统的领域之中。MySQL的体量小,指令执行的时间快、使用成本小、使用容易、可移植性高强REF_Ref20449\r\h[20],这使得它成为本系统所使用的后台数据库的主要原因。第三章系统需求分析第三章系统需求分析3.1业务分析3.1.1存在的问题从现在的昌江县的足球比赛管理业务状况来看,在足球竞赛管理业务范围内只能进行简单的公告发布,有着较大的缺点,存在着以下几个方面的问题:1、在整个足球管理业务中,除了可以完成赛事公告的发布外,其他的业务诸如比赛结果、赛事名次等无法在网上公示。2、赛事的报名方式需要打印相关的报名表,填写完成后交到体育中心才能完成报名无法。足球管理系统无法实现线上报名。3、赛事的赛程安排、通知需要线下通知。无法在管理系统中查询赛事的赛程安排等信息。3.1.2业务流程从目前昌江县举办的赛事类型来看,大多都是小组杯赛类型的。赛事将包括分组赛和淘汰赛二阶段进行展开。小组赛阶段,全部十六支参赛队伍将被分成四大小队,各小队的前二位将进军淘汰赛。在淘汰赛期间,出线各队将根据赛程展开淘汰赛,胜者将进军下一轮,直至决出冠亚军,若打平,直接点球大战决出胜负。大赛使用国际足球联合会最新版的《足球竞赛规则》,规定一场球赛共七十分钟,上下半场各三十五分钟,不设加时赛。目前,按照设计的足球管理系统的业务框架,其基本面向赛事管理人员的业务流程包括了基础信息录入、赛事计划部署、比赛赛程安排、赛事结果信息发布等业务。整体业务流程如图3.1所示。图3.1业务管理模块流程图1、基础信息管理业务主要是录入比赛场地、裁判员等信息,具体业务流程如图3.2所示。图3.2基础信息操作流程图2、赛事计划部署管理业务具体流程如图3.3所示。图3.3赛事计划部署管理业务流程图3、比赛赛程安排管理业务具体流程如图3.4所示。4、赛事结果发布管理业务具体流程如图3.5所示。按照设计的足球管理系统的业务框架,面向赛事参赛人员的业务流程包括了球员个人信息管理、球队管理、球队赛事报名管理等业务。整体业务流程如图3.6所示。图3.4比赛赛程安排业务流程图图3.5赛事结果发布管理业务流程图图3.6球员模块流程图登录模块是足球竞赛管理人员和球队登录的接口模块,其包括了账号注册和账号登录,其流程图如图3.7所示。图3.7登录模块流程图3.2可行性分析3.2.1技术可行性近些年来微信小程序大火,覆盖了知识、教育、娱乐等各个方面,但是对于足球竞赛管理系统这类的系统web开发而然占据主流。Pythonweb开发与Javaweb开发一样都是可以使用HTML、CSS、JS等技术,并且Django框架可以使用多个第三方插件,并且本系统使用的是MySQL数据库,该数据库使用简单又加上Python语言简便易修改,所以技术方面具有可行性。3.2.2经济可行性本系统是在PyCharm平台开发的,Django框架为开源框架,在开发过程中不会产生任何经济费用,所以该系统的开发在经济上是可行的,不会产生任何费用。3.2.3操作可行性当下社会web系统、网页随处可见,上网人们熟之又熟,并且本系统操作简单、便捷完全具有操作可行性。3.2.4法律可行性该足球竞赛管理系统是由本人通过自主学习独立研发的,内容都是自己设计然后经过指导老师审批通过的前提下进行的,开发所用的工具及设计方法等都具有合法性,且不存在抄袭、侵犯版权等问题,所以不存在任何违法违规的行为。第四章系统功能设计与实现3.3系统功能需求本系统需要为用户提供足球赛事的业务管理功能、登录功能、信息查询功能和为球员提供球员竞赛管理功能。业务管理功能是基础信息管理、赛事计划部署管理、比赛赛程安排管理、赛事结果发布管理4个子功能。足球竞赛管理工作人员数量较少,事先录入工作人员账号便可。竞赛管理功能由球员个人信息管理、球队管理、球队赛事报名管理3个子功能组成。信息查询功能需求主要是足球赛事信息查询、裁判信息查询、场地信息查询、球队信息查询、球员信息查询等5个需求。登录功能需求包含了账号注册、账号登录两个功能需求。3.3.1业务模块功能需求1、基础信息管理功能需求在这个功能中需要对场地信息、裁判员信息进行管理,因此系统需要提供这些基础信息录入、修改、删除和查询的接口。2、赛事计划部署管理功能需求比赛计划部署管理系统功能包括比赛计划安排需求和比赛报名申请审批二方面。在比赛计划设置中,系统需提供比赛的基本信息设定、比赛发布等功能接口。在比赛申报审核中,系统还需提供报名审批功能的接口。3、比赛赛程安排管理功能需求比赛赛程安排管理分为参赛队伍的分组管理、赛程安排管理、比赛进球管理。其中分组管理又细分成小组赛小组分组、8强赛队伍确定及分组、4强赛队伍确定、决赛队伍确定。赛程安排管理分成比赛时间安排、比赛场地安排、比赛裁判安排、双方对阵球队等。比赛进球记录管理功能需要有比赛进球的录入、删除等功能。4、赛事结果发布管理功能需求该功能需求主要有赛事成绩队伍排名管理、成绩发布管理两方面。3.3.2球员模块功能需求1、球员个人信息管理功能需求这个功能需要友用户个人资料的填写与修改。初次登录的球员用户需要先填写个人新后才能加入球队和创建球队。2、球队管理功能需求用户球队管理功能需求包括,球队成员剔除功能、球队创建功能、球队加入功能、退出球队功能。球队成员剔除功能可以对球队的成员进行剔除操作。3、球队赛事报名管理功能需求球队赛事报名管理功能需求主要有赛事报名和取消赛事报名两方面功能。3.3.3信息查询功能需求1、足球赛事相关信息查询功能需求足球赛事相关信息查询功能需求主要包括了查询全部在系统上发布过的赛事信息、对应赛事的赛程信息、进球记录和报名信息等。2、裁判信息查询功能需求裁判信息查询功能需求主要是指对系统中录入的全部裁判信息进行查询的需求。3、场地信息查询功能需求场地信息查询功能需求主要是指对系统中录入的全部场地信息进行查询的需求。4、球员信息查询功能需求球员信息查询功能需求主要是指对已经参加过、正在进行和即将要比赛的球员的信息进行查询的需求。5、球队相关信息查询功能需求球队相关信息查询功能需求主要是指对已经参加过、正在进行和即将要比赛的球队的信息和球队成员信息进行查询的需求。3.3.4登录功能需求1、账号注册功能需求用户可以通过账号注册功能进行账号的注册。用户注册完成后,才能登录系统。2、账号登录功能需求用户登录系统后,需要完成个人信息的填写才能加入或者创建队伍。3.4系统数据需求分析球员的登录账号和密码、运动员个人资料、比赛队伍基础信息、队伍中的运动员信息、赛场信息、裁判员信息、赛事报名信息、赛事日程信息、比赛信息、比赛进球信息、小组赛分组信息、8强队伍确认信息、4强队伍确认信息、决赛队伍确认信息、赛事队伍排名信息等方面的信息数据都是系统需要处理的。1、球员的登录账号和密码信息数据:用户注册的账号就是每个人在该足球管理系统中所代表自己的一些数字。这是用户成为球员参加赛事的基础条件。2、球员基本信息数据:球员用户提交到系统的个人信息,其中包括了球员的姓名、出生日期、身高、体重、场上位置等基本的信息。3、队伍的基本信息数据:队伍是在足球赛事进行过程中的参加主体,是由足球运动员所建立的队伍,其中包含了队伍名称、队伍队长、队伍的创建时间等基本的数据。4、场馆的基本信息数据:是目前在昌江县内可以进行足球比赛的所有场馆,其包含了场馆名称、场馆位置等基础信息数据。5、裁判员信息数据:代表目前本系统中,已记录的裁判员人数等基础信息,其包含了裁判员的姓名、出生日期、裁判资质等数据。6、比赛信息数据:比赛信息数据包括了比赛的名字、比赛的类型、可以参加比赛的队伍数目、开始结束时间等众多数据。7、赛事报名申请信息数据:运动员用户创建球队后,申请报名赛事的数据信息。8、比赛日程安排信息数据:其主要收录了每场比赛的比赛赛日期和时间、双方对阵球队、赛场、裁判等的数据。9、竞赛的入球信息数据:它主要收录了每场比赛的所有入球信息。10、小组赛的分组记录统计:主要收录了比赛中所有队伍的小组赛的分组结果。11、8强队伍确认信息数据:在小组赛完成之后,进行8强队伍确认的数据。12、4强队伍确认信息数据:在8强赛完成以后,进行4强队伍确认的数据。13、决赛队伍确认信息数据:在4强赛完成以后,进行决赛队伍的确认的数据。14、赛事队伍排名信息数据:赛事赛程全部完成后,有工作人员录入的排名信息。主要包含了赛事中球队的名次数据。15、球队成员信息数据:主要是球队的球员成员数据。3.5数据流图顶层数据流图如图3.8所示。图3.8系统顶层数据流图一层数据流图如图3.9所示。图3.9一层数据流图二层“处理管理请求”DFD如图3.10所示。图3.10二层处理管理请求数据流图二层“处理查询请求”DFD如图3.11所示。图3.11二层处理查询请求数据流图第四章系统功能设计与实现4.1系统整体功能结构设计系统的功能结构如图4.1所示:图4.1系统功能结构设计图4.2系统详细功能结构设计4.2.1业务管理模块设计业务管理功能包括四个子功能:基本信息管理功能,赛事日程安排管理功能,比赛日程管理功能和赛事结果发布管理功能。如图4.2所示:图4.2业务功能模块结构图1、基础信息管理功能设计在这个模块里提供工作人员提供比赛裁判、比赛赛场信息的管理功能。其结构图如图4.3所示:2、赛事部署管理功能设计赛事规划部署与管理模块,包括了比赛规划配置和报名审批二个子功能。其结构图如图4.4所示:图4.3基础信息管理功能结构图图4.4赛事部署管理功能结构图3、竞赛比赛计划管理功能的设计在比赛计划安排的管理功能模块中主要涉及了比赛赛程、小组赛分组、8强队伍确定、4强队伍确定、决赛队伍确定、进球录入6个子功能,是在比赛消息公布和报名审批完成以后,对比赛的每场赛事做出确定。比赛赛程功能可以对每场比赛进行比赛时间、比赛球队、裁判以及比赛地点等信息的设置。其结构图如图4.5所示:4、赛事结果发布管理功能设计赛事结果发布管理功能模块实现了足球比赛结束之后的赛事队伍成绩排名和结果的发布二方面,赛事队伍成绩排名是按照比赛进球记录、晋级结果进行队伍排名,结果公布将入球记录汇总后和队伍排名一并发布管理。其结构图如图4.6所示。图4.5比赛赛程安排管理功能结构图图4.6赛事结果发布管理功能结构图4.2.2球员模块设计球员模块一共包括了球员个人信息管理功能、球队管理功能、球队赛事报名管理功能3个子功能,如图4.7所示。图4.7球员模块结构图1、球员个人信息管理功能设计此功能为用户信息的填写、修改提供的接口,如图4.8所示。2、球队管理功能设计功能设计如图4.9所示。3、球队赛事报名管理功能设计功能设计具体如图4.10所示。图4.8球员个人信息管理功能结构图图4.9球队管理功能结构图图4.10球队赛事报名管理功能结构图4.2.3信息查询模块设计其具体功能结构图如图4.11所示。图4.11信息查询模块结构图4.2.4登录模块设计其具体功能结构图如图4.12所示。图4.12登录模块结构图4.3系统数据库设计4.3.1数据库逻辑设计从数据需求分析工作中得知,系统运行所需的数据主要包括球员登录账号和密码、运动员个人资料,足球队伍基础信息,球队成员信息,场地信息,裁判员基础信息和赛事信息、比赛报名审批信息、赛事赛程计划信息、比赛入球信息、小组赛信息、8强队伍确认信息、4强队伍确认信息、决赛队伍确认信息、赛事队伍排名信息等。通过对这些信息的内在联系,得到系统数据库的逻辑视图,并且使用E-R图进行结构化的表示。其具体的结果如图4.13所示:图4.13数据库E-R图4.3.2数据库物理设计本系统所使用的数据库系统为MySQL数据库。数据库系统物理设计工作,一般是指对系统的数据库表的结构的设计工作,其物理结构设计如下文所示。1、登录账号信息数据表结构设计登录账号信息数据表的表名设计为“t_users”,其中包含的数据属性为用户id、用户账号、用户密码。具体如表4.1所示。表4.1登录账号信息数据表属性名数据结构(长度)条件备注user_idBIGINTPrimarykey用户idusers_nameVARCHAR(11)NotnullUniqueindex用户账号users_passwordVARCHAR(20)Notnull用户密码2、运动员个人资料数据表结构设计表名设计为“t_player”,具体如表4.2所示。表4.2球员个人信息数据表属性名数据结构(长度)条件备注player_idBIGINTPrimarykey球员idplayer_nameVARCHAR(20)Notnull球员姓名player_sexVARCHAR(2)Notnull球员性别player_heightINTNotnull球员身高player_weightINTNotnull球员体重player_addressLONGTEXTNotnull球员住址player_positionVARCHAR(10)Notnull球员场上位置player_feetVARCHAR(2)Notnull常用脚3、球队信息数据表结构设计表名设计为“t_team”,具体如表4.3所示。表4.3球队信息数据表属性名数据结构(长度)条件备注team_idBIGINTPrimarykey球队idteam_nameVARCHAR(25)Notnull球队名称team_manageVARCHAR(10)Notnull球队负责人team_telVARCHAR(15)Notnull球队负责人联系方式team_registration_timeDATETIME(6)Notnull球队创建时间team_captainBIGINTNotnull队长id4、球队队员信息数据表结构设计表名设计为“t_btp”,具体如表4.4所示。表4.4球队成员信息数据表属性名数据结构(长度)条件备注player_idBIGINTNotnull球员idteam_idBIGINTNotnull球队id5、球队赛事报名信息数据表结构设计表名设计为“t_rf”,具体如表4.5所示。表4.5球队赛事报名信息数据表属性名数据结构(长度)条件备注register_idBIGINTPrimarykey报名idregister_timeDATETIME(6)Notnull报名时间match_idBIGINTNotnull赛事idteam_idBIGINTNotnull球队idverifyINTNotnull审核状态6、裁判信息数据表结构设计表名设计为“t_referee”,具体如表4.6所示。表4.6裁判信息数据表属性名数据结构(长度)条件备注referee_idBIGINTPrimarykey裁判idreferee_nameVARCHAR(10)Notnull裁判姓名referee_ageDATENotnull裁判出生日期referee_aptitudeINTNotnull裁判资质referee_registration_timeDATETIME(6)Notnull注册时间7、比赛场地信息数据表结构设计表名设计为“t_place”,具体如表4.7所示。表4.7比赛场地信息数据表属性名数据结构(长度)条件备注place_idBIGINTPrimarykey场地idplace_nameVARCHAR(50)Notnull场地名称place_addressVARCHAR(100)Notnull场地地址8、赛事信息数据表结构设计表名设计为“t_competition”,具体如表4.8所示。表4.8赛事信息数据表属性名数据结构(长度)条件备注match_idBIGINTPrimarykey赛事idmatch_nameVARCHAR(30)Notnull赛事名称match_typeINTNotnull赛事类型match_time_beginDATENotnull赛事开始时间match_time_finishDATENotnull赛事结束时间match_team_countINTNotnull参赛球队数量9、赛事赛程信息数据表结构设计表名设计为“t_gpis”,具体如表4.9所示。表4.9赛事赛程信息数据表属性名数据结构(长度)条件备注idBIGINTPrimarykeyAutoincrement赛程idmatch_idBIGINTNotnull赛事idnumber_idVenue_nameNotnull场次idVenue_nameVARCHAR(50)Notnull场地idmatch_timeDATETIME(6)Notnull比赛时间team1_idBIGINTNotnull比赛队伍1的idteam2_idBIGINTNotnull比赛队伍2的idreferee1_idBIGINTNotnull主裁判idreferee2_idBIGINTNotnull边裁1的idreferee3_idBIGINTNotnull边裁2的idreferee4_idBIGINTNotnull第4裁判id10、小组赛分组信息数据表结构设计表名设计为“t_group”,具体如表4.10所示。表4.10小组赛分组信息数据表属性名数据结构(长度)条件备注match_idBIGINTNotnull赛事idteam_idBIGINTNotnull球队idgroup_idBIGINTNotnull小组编号11、8强赛队伍信息数据表结构设计表名设计为“t_top8”,具体如表4.11所示。表4.118强赛队伍信息数据表属性名数据结构(长度)条件备注match_idBIGINTNotnull赛事idteam_idBIGINTNotnull球队idtop8_groupBIGINTNotnull8强上下区分区号12、4强赛队伍信息数据表结构设计表名设计为“t_top4”,具体如表4.12所示。表4.124强赛队伍信息数据表属性名数据结构(长度)条件备注match_idBIGINTNotnull赛事idteam_idBIGINTNotnull球队idtop4_groupBIGINTNotnull4强上下区分区号13、决赛队伍信息数据表结构设计表名设计为“t_top2”,具体如表4.13所示。表4.13决赛队伍信息数据表属性名数据结构(长度)条件备注match_idBIGINTNotnull赛事idteam_idBIGINTNotnull球队idtop2_groupBIGINTNotnull上下半区胜者标记14、进球信息数据表结构设计表名设计为“t_gt”,具体如表4.14所示。表4.14进球信息数据表属性名数据结构(长度)条件备注goal_idBIGINTPrimarykey进球idmatch_idBIGINTNotnull赛事idnumber_idBIGINTNotnull场次idgoal_timeDATETIME(6)Notnull进球时间player_idBIGINTNotnull进球球员idteam_idBIGINTNotnull所在球队idown_goalINTNotnull是否乌龙球15、赛事队伍排名信息数据表结构设计表名设计为“t_matchrank”,具体如表4.15所示。表4.15赛事队伍排名信息数据表属性名数据结构(长度)条件备注match_idBIGINTNotnull赛事idteam_idBIGINTNotnull球队idrankBIGINTNotnull队伍名次16、工作人员账号信息数据表结构设计表名设计为“t_operator”,具体如表4.16所示。表4.16工作人员账号信息数据表属性名数据结构(长度)条件备注operator_nameVARCHAR(11)Primarykey账号operator_passwordVARCHAR(20)Notnull密码4.4系统功能实现通过对系统功能设计工作和数据库设计工作的结果进行分析,将系统功能中需要处理的数据实体转化成Django框架中models的类。在通过views进行数据的逻辑处理,采用ORM映射的方式通过models的类进行数据库的操作。4.4.1业务管理功能实现1、基础信息管理功能实现基础信息管理通过Web网页servicePlaceAdd.html、serviceRefereeAdd.html来提供接口。基础信息中的场地信息、裁判信息需要通过应用ServiceAPP中的models中的类Place、类Referee来实现操作,而后端的这些信息数据处理逻辑需要通过,Django框架的应用ServiceAPP中的views来实现。数据库的相关操作则需要在views中通过类Place、类Referee来进行ORM映射操作。例如通过Place.objects.create()进行数据库表t_place中数据的插入操作。场地管理和裁判管理实现类似,在此展示场地的管理实现为例。如图4.14所示为新增场地页面、4.15所示为录入的实现代码、4.16所示为场地信息修改页面、4.17所示为场地信息修改代码、4.18所示为场地删除代码。图4.14场地信息录入页面图4.15场地信息录入后台代码图4.16场地信息修改页面图4.17场地信息修改代码图4.18场地删除代码2、赛事计划部署管理功能实现赛事计划部署管理功能通过Web网页serviceMatchAdd.html来提供接口。在具体的管理过程中,在ServiceAPP中的views里进行Match类的实例化,在通过实例化的对象进行ORM映射,实现赛事信息管理和部署。如图4.19、4.20、4.21、4.22、4.23所示。图4.19赛事信息设置和部署页面图4.20赛事信息设置和部署代码图4.21赛事信息修改页面图4.22赛事信息修改代码图4.23赛事删除代码报名审核,其基本逻辑为通过ORM映射将t_rf数据库表中的verify属性由1变成2,代表着通过球队的报名,如图4.24、4.25所示。图4.24报名审核页面图4.25报名审核代码3、比赛赛程安排管理功能实现该功能主要是比赛赛程计划管理、小组赛分组、8强队伍确定管理、4强队伍确定管理、决赛队伍确定管理、进球录入。比赛计划安排管理功能,通过GPIS类实例化通过orm映射对数据库的表进行相关操作时,需要先确定场次,通过GPIS.objects.filter().count()得到最新一次的场次,加1后便是这次赛程安排的场次数,在设置其他的赛程信息就实现了赛程安排。在此举小组赛安排为例,如图4.26、4.27所示。图4.26赛程安排页面图4.27小组赛赛程安排代码小组赛分组、8强队伍确定管理、4强队伍确定管理、决赛队伍确定功能实现,在views中通过RF类的实例化后使用filter().count()进行通过报名审核的数量判断,如果这个数量等于Match类中的match_team_count则可以进行小组赛分组。在通过GT类的实例化进行小组赛赛程的进球数判断,如果进球数大于0表示该场次的结果已记录则,可以进行8强队伍的确定。同理4强、决赛的实现是类似的。在此举小组赛分组为例,如图4.28、4.29所示。图4.28小组赛分组页面图4.29小组赛分组代码进球录入只需要实例化GT类在通过orm映射实现数据库表的数据插入便可。如图4.30、4.31所示。图4.30进球录入页面图4.31进球录入代码4、赛事结果发布管理功能实现赛事结果发布管理功能分为赛事队伍成绩排名和结果发布管理2个子功能。赛事队伍成绩排名通过在ServiceAPP中的views里进行MatchRank类的实例化,在通过对象的create()进行排名信息的数据库数据插入操作,由此完成成绩排名。如图4.32、4.33所示:图4.32赛事队伍排名代码图4.33赛事结果发布页面4.4.2球员模块功能实现1、球员模块功能包括了运动员个人资料管理、所属球队管理、球队的竞赛报名管理。球员个人信息管理中个人信息的填写是通过它的实例化对象的create()进行操作,修改则需要通过Player.objects.filter().update()进行数据库数据的更新操作。如图4.34、4.35、4.36所示:图4.34个人资料管理图4.35所属球队管理图4.36球队的竞赛报名管理球队管理功能中的创建球队是通过Team.objects.create()对数据库表t_team进行数据的插入操作,同时由于球队创建者将成为球队的队长,因此在创建完队伍后将自动加入队伍,加入队伍功能是通过BTP.objects.create()进行数据库表t_btp数据插入操作来实现。如图4.37所示:图4.37创建球队球队赛事报名管理是通过报名类RF类进行create()操作。如图4.38所示:图4.38赛事报名代码4.4.3信息查询功能信息查询功能中的竞赛赛事查询、裁判查询、场地查询、球员信息查询、球队成员查询、球队信息查询等功能都是通过对应的Match类、Referee类、Place类、Player类、BTP类、Team类实例化后objects.filter()进行相关数据库表的数据查询操作。这类操作都是相似的在此局球队的查询为例,如图4.39、4.40所示:图4.39全部球队信息查询页面当按钮为‘招募中’便可点击加入球队图4.40球队详细信息查询页面4.4.4登录功能登录功能分为账号注册、账号登录2个方面。账号注册方面球员用户通过web网页registration.html提供的接口进行注册,在后端的views中实例化Users类,通过Users.objects.create()进行数据库表t_users的数据库的数据插入操作。账号登录则分成了球员登录、足球管理工作人员登录,球员登录使用web网页login.html提供的接口,在后端的views中实例化Users类,通过Users.objects.filter()进行数据库查询操作。而工作人员登录使用web网页serviceLogin.html提供的接口在后端的views中实例化Operator类再通过Operator.objects.filter()进行数据库数据查询操作。如图4.41、4.42所示:图4.41登录代码图4.41注册代码参考文献第五章系统测试5.1功能测试使用黑盒子测试进行功能测试,通过编制测试用例完成相关功能的测试。需要测试的模块主要涵盖了业务模块、球员模块、信息查看模块、登录模块。5.2.1登录功能模块测试用例具体登录功能模块测试用例设计如表5.1所示。表5.1登录测试用例表功能路径登录功能测试人员球员、足球管理人员、前置条件已有球员成功注册过账号、系统中已录入足球管理人员账号测试流程进入球员账号注册界面注册账号进入球员登录界面输入球员账号和密码球员退出登录进入足球管理人员登录界面输入足球管理人员账号和密码足球管理人员退出登录预期结果球员登录页面进入成功如果账号已被注册将提示账号已经被注册,否则系统提示注册成功球员登录页面进入成功账号密码验证失败则提示登录失败,否则进入个人主页退出系统成功足球管理人员登录页面进入成功账号密码验证失败则提示登录失败,否则进入业务管理中心退出系统成功5.2.2信息查询功能模块测试用例信息查询功能模块测试用例设计如表5.2所示。表5.2信息查询功能模块测试用例表功能路径账号注册功能测试人员系统全部用户前置条件无测试流程进入需要查询的信息的查询界面查询信息预期结果进入需要查询的信息的查询界面成功页面输出查询结果5.2.3球员模块测试用例球员模块测试用例设计如表5.3所示。表5.3球员模块测试用例表功能路径竞赛管理功能测试人员球员前置条件球员已经登录,已有发布的赛事测试流程进入个人中心管理页面填写个人信息修改个人信息加入球队退出球队创建球队报名赛事取消报名解散球队预期结果进入进入个人中心管理页面成功系统提示填写个人资料成功系统提示修改个人资料成功如果球员无所属队伍,系统提示加入成功。否则将提示已有队伍。系统提示退出成功系统提示创建成功如果球员是队长则系统提示报名成功正在审核,否则提示球员不是队长无法报名系统提示取消成功系统提示解散成功5.2.4业务管理功能模块测试用例业务管理功能模块测试用例设计如表5.4所示。表5.4业务管理功能模块测试用例表功能路径业务管理功能测试人员足球竞赛管理人员前置条件管理人员已经登录测试流程进入基础信息管理页面录入场地、裁判信息进入赛事管理页面设置赛事信息并发布进入报名审核页面通过报名进行小组分组、8强球队确定、4强队伍确定、决赛队伍确定、赛程安排、进球录入、队伍成绩排名等一系列操作预期结果进入基础信息管理页面成功提示录入成功,刷新页面后可以见相关基础信息进入赛事管理页面成功提示设置赛事信息并发布成功,刷新页面后显示赛事信息进入报名报名审核页面成功提示审核通过成功,再次进入该页面可以看见全部的审批结果系统提示对应操作结果5.2功能测试结果分析通过三十多个轮次的试验,结果显示全部的工作都顺利进行,达到预想的试验结果。在测试过程中有发生了严重的漏洞,目前也都全部解决。如下图图5.5:表5.5测试结果表漏洞的类别数量结果普通的漏洞50已全部解决一般的漏洞17已全部解决严重的漏洞2已全部解决第六章总结和展望本次毕业设计到这里基本上已经完成,通过这次毕业设计我学到了很多关于pythonweb开发的新知识。之所以选择用python语言来做毕业设计,是因为我们在大四这年刚好学习了python语言编程,但这并不能做到真正的实践系统

温馨提示

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

最新文档

评论

0/150

提交评论