版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第1章引言51.1选题的目的和现实意义51.2国内外设计现状61.3技术路线61.4本文组织结构7第2章技术概括82.1PHP技术简介82.2MySQL技术简介82.3B/S结构介绍92.4技术方案9第3章系统分析与设计103.1需求分析103.1.1功能需求103.1.2数据库需求103.2功能设计113.3数据库设计113.4推荐算法设计13第4章系统实现与展示144.1数据库实现144.2功能实现164.3部分后端代码实现和算法实现184.4主要功能的测试用例及结果22第5章总结与展望255.1设计总结255.2未来展望25致谢26参考文献27基于兴趣的微赛事社交平台的设计与实现摘要:目前国内大学生能接触到的各类比赛,通常分为国赛、省赛和校赛。而国内高校大学生比赛有75%的技术性竞赛在参赛人数上都会设置一定的限制,如名额的限制、作品申报的限制以及获奖比例等。从大学生的全国基数来看,仍然只有少部分的高校生有机会参与到各种竞赛当中。微赛事社交平台是一个社区类Web平台,将比赛和兴趣融合在一起,让学生可以根据自身的能力选择合适自己的比赛,找到竞赛的乐趣。本平台基于Windows系统,以PHP为后台脚本语言,利用MySQL作为关系型数据库使PHP脚本技术的优势最大,Apache为Web服务器,设计实现了微赛事社交平台的用户端和后台两个平台。系统拥有兴趣赛事推荐,新建赛事提交等功能。本文分析了微赛事社交平台的功能等方面的需求,重点对系统的前端功能和后台功能、数据库设计、推荐算法进行了设计,并展示出该平台主要功能的实现方法,展示了具体效果。关键词:赛事;PHP;Web;MySQL
DesignandimplementationofsocialplatformformicroeventsbasedoninterestAbstract:Atpresent,variouscompetitionsaccessibletodomesticcollegestudents,usuallydividedintonationalcompetitions,provincialcompetitionsandschoolcompetitions.And75%ofthetechnicalcompetitionsofdomesticcollegestudentscompetitionswillsetcertainlimitsonthenumberofparticipants,suchasrestrictionsonquotas,restrictionsonthedeclarationofworksandtheproportionofawards,etc.Judgingfromthenationalbaseofcollegestudents,onlyasmallnumberofcollegestudentshavetheopportunitytoparticipateinvariouscompetitions.Micro-eventsocialplatformisacommunitywebplatform,whichcanintegratethegameandinteresttogether.Studentscanchoosetheirowncompetitionaccordingtotheirownabilitiesandfindthefunofthecompetition.ThisplatformisbasedontheWindowssystem,usesPHPastheback-endscriptinglanguage,andusesMySQLastherelationaldatabasetomaximizetheadvantagesofPHPscriptingtechnology.Apacheisthewebserver,andimplementedtheuserplatformandthebackstageplatformofthemicro-eventsocialplatform.Theplatfromhasthefunctionsofrecommendinginterestingeventsandsubmittingnewevents.Thispaperanalyzestheneedsofthemicro-eventssocialplatformfunctionsandotheraspects,focusingonthedesignofthesystem'sfront-endandback-endfunctions,databasedesign,recommendationalgorithm,andshowstheimplementationofthemainfunctionsoftheplatformandthespecificeffects.Keywords:Event;PHP;Web;MySQL引言选题的目的和现实意义随着社会和教育的不断进步和发展,在当代大学生教育中,大学生竞赛俨然成为教育的重要组成部分,并同时也是高校培养创新性人才的重要途径之一。但现如今国内大学生虽然可以通过学校或者网上的一些途径接触到各类比赛,但从各类比赛的角度来看,由于各类比赛对于参赛名额、作品申报、获奖比例、缺少关注等因素的限制,大学生在各种竞赛中的参与程度非常低。以湘潭大学原信息工程学院“信息文化节之创意网页与软件设计大赛”为例,据统计参与人数只有109人,并且无其他院系学生,而原信息工程学院的学生人数超过3000。由此可见学生的参与程度只有仅仅的3%。从可参赛的大学生的角度来看,由一项关于大学生参与学科竞赛的调查问卷分析文章[1]中可得知,影响学生参加竞赛的主要因素就是大部分学生们会受到自身性格因素或是参赛信息的缺失等这样内在和外在的阻碍。为了提高学生参与比赛的积极性,为学生创造更多的比赛机会。设计并实现这个基于WEB的微赛事社交平台,将比赛和社交融合在一起,为比赛增添趣味性,吸引更多的人参与到比赛当中是很有必要的。同时也区别于以往的赛事标准,降低门槛,小到班级内部的竞争,大到国家级比赛,都可以在网站中找到并根据自身条件和兴趣选择性参加。而当学生们体会到参与比赛的兴趣所在以及参与其中的良好体验之后,大多数学生们都会进一步去了解更深层次的高校赛事领域,开拓眼界、提升能力。对于学生来说,有更多的自由来选择自己感兴趣的赛事,有了发挥个性,寻求创新的空间。无论是能力很强的优秀学生还是刚刚入门的初学者,都可以找到适合自己的比赛。特别是拥有小众爱好的人,极其需要一个官方平台以承载群体的交流。以豆瓣网为例,豆瓣网独特的“圈子”文化,以传播“小众文化”为特色,建立了“豆瓣小组”这一概念。而微赛事平台区别于普通的社交平台的地方就在于它的竞赛元素,通过竞赛的方法,促进用户的交流,快速地为参与赛事的普通学生们建立起一个社交圈。对于赛事主办方来说,低门槛的规则为普通人创造了更多的便利,创办一个比赛不再繁琐,无论是几个人,一个部门,一个院系,都可以在网站中发布讯息,创建比赛。而微赛事这样一个平台,也是宣传和管理赛事的一个天然平台,完全能够摒弃以往小型赛事的筹办弊端,想要参赛的人只需要点击比赛链接就可以浏览赛事,报名参加,并接收参与赛事的各项通知。在这样一个机遇和挑战并存的时代,信息化、数字化建设,无疑是每一个时代弄潮儿需要拥有的眼界和勇气。国内外设计现状目前在国内很少见到微型比赛资讯网站,而如“赛氪网”、“我爱竞赛网”等大学生专用比赛网站,都是汇聚了各个高校的顶尖赛事,参与门槛高,学生兴趣较低。虽然在其中也有创建赛事的功能,但这些功能的权限都集于各个高校的管理人员,要想基于学生的个人身份去创建兴趣赛事是不能够做到的。且网站定位单一,咨询更新需要管理员更新,比赛信息不完善,浏览赛事不够快捷,只能通过推荐栏获得不同类型的比赛信息,否则需要自己通过搜索关键词的功能自行查看。而网站提供的大部分比赛也是国家级或者各大企业的大型赛事,对于参赛人员的要求较高。而高等院校的小型赛事还停留在依靠主办方工作人员下寝、摆点宣传的低效率阶段。日常生活中能够获取比赛信息的途径通常是:赛事主办方宣传、网络上自行搜索、老师朋友告知。这些消息途径都存在着许多的缺点,例如:不够方便,不够全面,缺少时效性等。微赛事社交平台,它能很好的解决上述的问题,改变传统的比赛宣传与参与的方式,采用信息化的方式,便捷了学生和指导老师,提高了工作效率。总的来说,开发这样一个赛事网站,是十分必要的。技术路线设计初对整个网站的功能规划进行制定,采用传统的基于三层的B/S结构[2];图SEQ图\*ARABIC1.1技术路线图接着在整体功能规划的基础上,对网站用户进行需求分析;接着在功能规划和用户需求分析的基础上,依靠php技术以及MySQL技术,对整个系统进行设计,包括前端界面设计、功能模块、数据库设计,最后是系统的实现,实现完成后就是对系统的测试。本文组织结构首先为本文的中英文摘要部分,概括了设计主题、目的、实现方法等内容;第一章为本设计说明书的引言部分,主要交代了本系统设计的选题目的与意义和国内外设计现状及技术路线;第二章为技术概述,介绍相关的技术背景和开发环境及使用的脚本语言,即对整个系统的技术进行概述;第三章为系统的分析与设计,主要介绍系统的功能及定位,对系统数据库结构进行了设计,推荐算法的设计;第四章为系统实现,主要介绍了有关数据库的实现、前台后端的功能的实现,还介绍了推荐算法的实现,展示了主要功能的测试效果;第五章为总结部分,总结所做的所有工作和其中的不足之处。技术概括PHP技术简介PHP,是英文超级文本预处理语言(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP和微软的ASP有些相似,都嵌入于HTML文档,且都是可以在服务器端执行的的脚本语言[16,17]。PHP作为脚本语言,主要应用在Web开发领域,且在动态网页开发中占优势,因为PHP的特点是简易、高性能、面向对象、可移植、动态[3,8-12]。简易是指PHP语言非常便捷,比较基础,利于开发,易上手,可以直接将代码嵌入HTML中来实现动态网站的开发;高性能是指其消耗的系统资源相对而言比较少;而且面向对象的思想可以运用于PHP,而其面向对象的改进可以适应大型网站的需求;可移植指它的运行可以在不同平台上满足,如Windows、Linux。PHP现在支持兼容基本上所有的数据库,所有的主流服务器如MySQL、SQLServe、Oracle等。和Java不同的是,用户可以在Web上直接使用命令代码,不需要另外使用虚拟机和运行库[13,14]。MySQL技术简介MySQL作为目前最流行的开放源码数据库服务器之一,具有真正多用户、多线程的特点MySQL开放源码、简单易用,广泛被广大用户采用。进一步了解MySQL,总结其特性为:第一,由C/C++开发,支持GCC、CC、aCC等多种编译器;第二,对于内存管理,尤其是内存泄漏具备良好的管理机制;第三,支持Solaris、FreeBSD、HP、Tru64、Windows、SGI等多种平台;第四,提供API的形式多种多样,便于选择开发工具;第五,采用多线程技术,能够充分发挥系统的优势,避免出现仅有单CPU运行的情况;第六,采用B树加密和索引的磁盘表管理技术,便于快速访问数据;第七,临时表在内存中以哈希表实现;第八,提供多种数据类型,如signed、unsignedinteger、double、blob等;第九,支持定长记录和变长记录;第十,提供保存默认值的功能,便于记忆默认信息;第十一,完备灵活的权限系统,密码加密传送,并且允许主机端验证密码;第十二,提供Windows端的ODBC连接;第十三,完全支持多种字符集。MySQL功能全面,性能优异,而且免费,适合很多的中小需求的应用。尤其是中小型企业的需求,其成本低廉,性能优越,是一款可行的数据支撑系统。B/S结构介绍B/S(Browser/Server)就是浏览器和服务器结构,是目前主流的一种网络结构模式,它由C/S(Client/Server)结构变化改进而来。在这种结构下,由于用户界面大多通过浏览器在Browser实现事务逻辑,其他的都在Server实现,形成所谓三层3-tier结构[4],所以开发和管理都集中于服务器,这样就可以减轻一些在维护方面的工作量,也可以方便用户使用。软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。可以采用数据库存储服务器,以防万一。技术方案由于Windows是自己较为熟悉的操作系统,再加上PHP语言因为其跨平台性而对操作系统没有特殊的要求,所以采用了Windows10系统。PHPMyAdmin是一个使用PHP开发,基于Web的图形界面的MySQL数据库管理工具。由于基于Web,因此安装简单,操作容易,是最常用的MySQL管理工具[5]。最常见的PHP运行环境是LAMP。LAMP由Linux操作系统、Apache服务器、MySQL数据库和PHP组成,被称为Web建设的黄金组合,是最常用的PHP运行环境。WampServer(Apache+MySQL+PHP)是一款ApacheWeb服务器、PHP解释器以及MySQL数据库的整合软件包。免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发。它可以在Windows、Linux、Solaris三种操作系统下安装使用,该软件对于搭建LAMP很方便。综合以上本系统是在Windows10操作系统下,使用WampServer集成开发环境开发的系统程序,使用PHPMyAdmin4.8.4数据库管理工具管理MySQL数据库,使用DreamweaverCS5设计页面模板。整个系统在WAMP(Windows10+Apache2.4.37+MySQL5.7.24+PHP7.2.14)环境下调试[6,15]。系统分析与设计需求分析功能需求前台功能:微赛事平台作为一款可以实现低门槛创建与参与赛事的平台,需要前台具有普通咨询网站的大致功能。首页信息展示:信息通过首页展示,首页汇聚了网站中正在进行的各项赛事,可跳转至比赛详情页面。赛事页面:分为两部分,一部分微兴趣相关赛事,一部分为网站自动推荐赛事。已登录用户可以在此浏览自己兴趣相关的赛事和网站推荐赛事;未登录用户可以在此浏览网站推荐赛事,若想浏览兴趣相关赛事则需要登录填写兴趣标签。创建赛事页面:已登录用户可以填写赛事基本信息包括赛事名称、比赛开始结束时间、赛事相关描述和赛事相关标签等信息;未登录用户则需要先登录或是注册登录。个人界面:只面向登录用户,未登录用户则需要先注册登录。已登录用户可以在此了解到自己正参与的赛事,以及发布的赛事和参加过的赛事。后台功能:包括用户模块管理,用户登录等后台操作。用户登录注册:主要运用PHP连接MySQL数据库实现登录注册功能并将用户登录日志写入数据库,登录-即为对数据库中的内容给予查询,并验证html中的信息与数据库是否匹配;注册-即为对数据库中的内容进行插入,注册帐号与密码;修改密码-即为对数据库中的内容进行修改。兴趣赛事推荐:通过赛事标签和用户兴趣标签给用户进行符合用户兴趣的赛事推荐。赛事信息提交:主要运用PHP连接MySQL数据库实现,最后返给赛事举办个人单位,对参赛报名信息进行处理。数据库需求用户表:主要存放用户信息;赛事表:主要存放赛事相关信息;赛事主办方表:存放赛事主办人的信息;兴趣标签表:主要存放赛事和用户所需要的标签;参赛用户表:是用户表与赛事表的联立,存放参加赛事用户的信息;用户兴趣标签map表:用于联立用户信息和兴趣标签;赛事兴趣标签map表:用于联立赛事信息和兴趣标签。功能设计图3.1前后端设计架构基于3.1.1的功能需求,为微赛事社交平台的前后端设计架构如图3.1图3.1前后端设计架构 概括起来,总共功能分为两大类,一类为赛事推荐,一类为赛事参加,操作主要是注册登录,发布赛事、参与赛事等。数据库设计本文为微赛事社交平台设计了七个二维表,各表的结构如下:User表(用户表)表3.SEQ表\*ARABIC1User表的结构与说明列名称用途User_id用户ID(主键)Username用户名Password密码Realname真实姓名Phonenumber手机号码Event表(赛事表)表3.SEQ表\*ARABIC2Event表的结构与说明列名称用途Event_id赛事ID(主键)Eve_name赛事名Evedetail赛事详情Host_id主办方IDHostdetail表(赛事主办方表)表3.SEQ表\*ARABIC3Hostdetail表的结构与说明列名称用途Host_id主办方ID(主键)Host_name主办方名Host_email主办方邮箱Tag表(兴趣标签表)表3.SEQ表\*ARABIC4Tag表的结构与说明列名称用途Tag_id标签ID(主键)Tag_name标签名Player表(参赛用户表)表3.SEQ表\*ARABIC5Player表的结构与说明列名称用途Eve_id赛事ID(主键)User_id用户IDUsertag_map表(用户兴趣标签map表)表3.SEQ表\*ARABIC6Usertag_map表的结构与说明列名称用途Id1ID(主键)User_id用户IDTag_id标签IDEvetag_map表(赛事兴趣标签map表)列名称用途Id2ID(主键)Eve_id赛事IDTag_id标签ID推荐算法设计在用户完成登录后,可以查看有关自己兴趣标签的赛事推荐,而此推荐是基于Tag的相似匹配来进行推荐,如果用户兴趣Tag与赛事Tag比较相似,即可推荐用户最感兴趣的赛事,这里使用Jaccard相似度[3]的最基本应用来计算它们的相似度。jaccard相似度:给定两个集合A,B,Jaccard系数定义为A与B交集的大小与A与B并集的大小的比值[7],定义如下:J假设用户A的兴趣Tags为[A,B,C,D,E];赛事B的兴趣Tags为[A,D,E,G,I];赛事C的兴趣Tags为[C,K,M,N,Y,];通过计算可得JA,B=0.429,JA,C=0.111,这样就可以知道用户对于赛事系统实现与展示数据库实现MySQL提供了创建数据库和二维表的方法,比较常用的有输入SQL语句和用可视化工具这两种,本文使用的是可视化工具Navicat,Navicat是香港卓软数码科技有限公司生产的系列MySQL、MariaDB、MongoDB、Oracle、SQLite、PostgreSQL及MicrosoftSQLServer的图形化数据库管理及发展软件。它有一个类似浏览器的图形使用者界面,支援多重连线到本地和远端数据库。它的设计合乎各种使用者的需求,从数据库管理员、程序员到各种为客户服务并与合作伙伴共享信息的不同企业或公司。首先利用创建Database的功能创建了数据库,命名为eve_all,再利用Navicat创建表的功能创建各个表。创建User的SQL脚本CREATETABLE`user`(`user_id`int(8)NOTNULLAUTO_INCREMENT,`username`varchar(30)NOTNULL,`password`varchar(20)NOTNULL,`realname`varchar(30)DEFAULTNULL,`phonenumber`int(20)DEFAULTNULL,PRIMARYKEY(`user_id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;创建Event的SQL脚本CREATETABLE`event`(`eve_id`int(8)NOTNULLAUTO_INCREMENT,`eve_name`varchar(100)DEFAULTNULL,`evedetail`varchar(255)DEFAULTNULL,`host_id`int(8)DEFAULTNULL,PRIMARYKEY(`eve_id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;创建Hostdetail的SQL脚本CREATETABLE`hostdetail`(`host_id`int(8)NOTNULLAUTO_INCREMENT,`host_name`varchar(100)DEFAULTNULL,`host_email`varchar(100)DEFAULTNULL,PRIMARYKEY(`host_id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;创建Tag的SQL脚本CREATETABLE`tag`(`tag_id`int(8)NOTNULLAUTO_INCREMENT,`tagname`varchar(100)DEFAULTNULL,PRIMARYKEY(`tag_id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;创建Player的SQL脚本CREATETABLE`player`(`user_id`int(8)NOTNULL,`eve_id`int(8)NOTNULLAUTO_INCREMENT,PRIMARYKEY(`player_id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;创建Usertag_map的SQL脚本CREATETABLE`usertag_map`(`id1`int(8)NOTNULLAUTO_INCREMENT,`tag_id`int(8)DEFAULTNULL,`user_id`int(8)DEFAULTNULL,PRIMARYKEY(`id1`))ENGINE=MyISAMDEFAULTCHARSET=utf8;创建Evetag_map的SQL脚本CREATETABLE`evetag_map`(`id2`int(8)NOTNULLAUTO_INCREMENT,`tag_id`int(8)DEFAULTNULL,`eve_id`int(8)DEFAULTNULL,PRIMARYKEY(`id2`))ENGINE=MyISAMDEFAULTCHARSET=utf8;功能实现本小节选出一些具有代表性的页面截图与源码来体现微赛事平台的实现效果。网站首页,在首页可以浏览大致赛事信息,如图4.1所示。图图4.1首页实现效果图图4.2赛事详情效果图赛事详情界面,在此页面可以浏览赛事的详细信息,如图4.2图4.2赛事详情效果图图4.3赛事推荐界面实现效果图赛事推荐界面,在此界面可以浏览官方推荐赛事,如图4.3图4.3赛事推荐界面实现效果图图4.4创建赛事界面实现效果图创建赛事界面,在此界面可以创建自己的赛事,如图4.4图4.4创建赛事界面实现效果图登录注册界面,如图4.5、4.6所示。图4.5登录界面实现效果图图4.6注册界面实现效果图部分后端代码实现和算法实现登录代码实现$username=isset($_POST['username'])?$_POST['username']:"";$password=isset($_POST['password'])?$_POST['password']:"";$remember=isset($_POST['remember'])?$_POST['remember']:"";//判断用户名和密码是否为空if(!empty($username)&&!empty($password)){//建立连接$conn=mysqli_connect('localhost:3307','root','970224','userdb');$conn=mysqli_connect('localhost:3306','root','970224','eve_all');//准备SQL语句$sql_select="SELECTusername,passwordFROMUserWHEREusername='$username'ANDpassword='$password'";//执行SQL语句$ret=mysqli_query($conn,$sql_select);$row=mysqli_fetch_array($ret);//判断用户名或密码是否正确if($username==$row['username']&&$password==$row['password']){//选中“记住我”if($remember=="on"){//创建cookiesetcookie("cy",$username,time()+7*24*3600);}//开启sessionsession_start();//创建session$_SESSION['user']=$username;//写入日志$ip=$_SERVER['REMOTE_ADDR'];$date=date('Y-m-dH:m:s');$info=sprintf("当前访问用户:%s,IP地址:%s,时间:%s\n",$username,$ip,$date);$sql_logs="INSERTINTOLogs(username,ip,date)VALUES('$username','$ip','$date')";fwrite($f,$info);fclose($f);//跳转到index页面header("Location:index.html");//关闭数据库mysqli_close($conn);}else{//用户名或密码错误,赋值err为1header("Location:login.php?err=1");}}else{//用户名或密码为空,赋值err为2header("Location:login.php?err=2");}注册代码实现<?php$username=$_POST['username'];$password=$_POST['pass'];$realname=$_POST['realname'];$phonenumber=$_POST['phonenumber'];$link=mysqli_connect('localhost:3306','eve_all','root','970224');if($_POST['submit']){if(mysqli_query($link,"insertintouser(username,password,realname,phonenumber)values('$username','$password','$realname','$phonenumber')")){setcookie("uname",$username,time()+7200);echo"<script>alert('successfully');window.location='index.html';</script>";}else{echo"<script>alert('failed');history.go(-1)</script>";}}include('register.html');?>推荐算法实现publicfunctiongetAllGroupByEveId(){//缓存查询数据if($cache=CacheHelper::getCache()){return$cache;}$query_result=$this->query('selectEve_id,GROUP_CONCAT(tag_id)astagsfromevetag_mapGROUPBYeve_id');$result=[];foreach($query_resultas$key=>$value){//用eve_id做key,值是该id下的所有tagID数组。$result[$value['eveid']]=explode(",",$value['tags']);}CacheHelper::setCache($result,86400);return$result;}functiongeteveRecommend($eve_id,$top=5){if($cache=CacheHelper::getCache()){return$cache;}try{$eveid=intval($eve_id);$m=newTagMapModel();$all_tags=$m->getAllGroupByeve_Id();//调用上面的函数返回所有比赛的tags$finded=$all_tags[$eveid];unset($all_tags[$eve_id]);//把当前比赛从数组中删除$jaccard_arr=[];//用于存相似度foreach($all_tagsas$key=>$value){$intersect=array_intersect($finded,$value);//计算交集$union=array_unique(array_merge($finded,$value));//计算并集$jaccard_arr[$key]=(float)(count($intersect)/count($union));}arsort($jaccard_arr);//按相似度排序,最相似的排最前面$jaccard_keys=array_keys($jaccard_arr);array_splice($jaccard_keys,$top);//获取前N条推荐//查询$eveModels=new\Api\Model\eveModel();$recommendeves=$eveModels->getRecommendByTag($jaccard_keys);CacheHelper::setCache($recommendeves,604800);return$recommendeves;}catch(\Exception$e){thrownew\Exception("error");}}主要功能的测试用例及结果本平台测试是基于WAMP的服务器软件环境,chrome浏览器作为前后台环境进行样例测试,主要包括用户的登陆注册,注销;赛事详情,赛事参加,赛事创建的功能,测试用例及结果如表4.1、4.2所示。表4.1Login测试用例及结果用例编号Login功能描述用户输入正确的用户名、密码,登录系统用例目的检查系统登录功能是否完善,能不能判断出不合规范的登录名或密码不输入用户名点击登录提示“用户名密码不能为空”不输入密码点击登录提示“用户名密码不能为空”用户名密码都不输入点击登录提示“用户名密码不能为空”输入错误用户名点击登录提示“用户名或密码错误”输入错误密码输入正确用户名点击登录提示“用户名或密码错误”输入错误密码输入错误用户名点击登录提示“用户名或密码错误”输入正确密码输入正确用户名点击登录成功登陆系统输入正确密码表4.2Register测试用例及结果用例编号Register功能描述用户注册输入正确样例用例目的检查系统注册功能是否完善全部不输入点击注册提示“用户名不合法!请输入6-16位用户名”输入用户名,其他不输入点击注册提示“密码不合法!请输入6-16位密码”输入用户名和手机号码,不输入密码和确认密码、真实姓名输入用户名和手机号码、真实姓名,不输入密码和确认密码除了密码其他都输入输入用户名密码,但确认密码与密码不同,其他都输入点击注册提示“两次输入的密码不一致!”输入用户名、密码、真实姓名,但确认密码与密码不同,输入用户名、密码、真实姓名、手机号码,但确认密码与密码不同,输入用户名密码,确认密码,不输入真实姓名点击注册提示“请输入真实姓名”全都输入,不输入手机号码点击注册提示“手机号码不合法!请输入11位手机号”以上为部分具体测试样例及方法,下面简单介绍几个测试用例及结果。创建赛事功能预期结果:点击创建赛事button,进入创建赛事页面,在创建赛事界面输入赛事名称,赛事描述,比赛开始时间,比赛兴趣标签,赛事举办方姓名,赛事方邮箱信息后,完成赛事的创建,并在自己的个人界面中可见。测试结果:与预期一致,成功跳转到创建赛事界面,完成赛事创建。参加赛事功能预期结果:点击我要报名button,进入赛事参加界面,在参加界面中输入自己的基本个人信息和联系方式,完成赛事的报名,并在自己的个人界面中可见,赛事方可以在“发布赛事”中查看报名者信息。测试结果:与预期一致,成功跳转到赛事报名页面,并填写信息后完成赛事的报名操作,如图4.7所示。图4.7报名测试图总结与展望设计总结本项目通过Web平台的前台和后台的管理,和前台后台数据调用、相互链接。通过参赛报名或是浏览使用该平台的各单位个人组织所创办的微赛事,可以让高校学生或是学习组织单位更自由地选择自己感兴趣的赛事,不仅可以锻炼自身能力,还可借其平台实现兴趣交友的目的。在网站搭建过程中,对网站进行了深入的需求分析与设计,构建了分析设计模型,并一步步完成了系统前台界面的设计开发和后台数据库的建立,最终设计了一个基于兴趣的微赛事社交平台。未来展望由于对部分相关技术还是第一次学习,并首次应用于搭建网站,因此对一些技术的掌握还不够深入,尤其对于层叠样式表、数据库搭建的了解依然较为肤浅,因此在系统前台界面的设计布局方面,感觉还不够美观大方,后端与前端的数据交互不够完善;今后还应进一步对PHP,数据库原理等相关技术的高级原理进行学习和研究。通过这次毕业设计,我从中学到了许多新的知识,而且通过这次毕业设计,培养了我综合多门学科中的知识、迅速规划并开发出目标系统的能力,以及编程能力也有了很大的提高。另外也有许多心得体会,所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园安全联席工作制度
- 幼儿园工会主席工作制度
- 幼儿园志愿服务工作制度
- 幼儿园教委工作制度汇编
- 幼儿园新闻报道工作制度
- 幼儿园楼道消毒工作制度
- 幼儿园班级保健工作制度
- 幼儿园突发事件工作制度
- 幼儿园舆情管理工作制度
- 幼儿园食堂消毒工作制度
- (12)普通高中技术与工程课程标准日常修订版(2017年版2025年修订)
- 污水处理设备安装与调试施工方案
- 2025年矿山生态修复工程实施方案编写提纲、图件编制要求
- 2025版中国阿尔茨海默病痴呆诊疗指南(全文)
- 4.5 整式的加减(1)教学设计 浙教版(2024)七年级数学上册
- 导热油炉安全操作规程
- 果树修剪培训课件
- 精神科叙事护理案例分享
- 2025版幼儿园章程幼儿园办园章程
- 《物流经济地理》课件(共十二章)-下
- 《大学英语》课程说课说课
评论
0/150
提交评论