田径运动会管理系统———详细设计说明书_第1页
田径运动会管理系统———详细设计说明书_第2页
田径运动会管理系统———详细设计说明书_第3页
田径运动会管理系统———详细设计说明书_第4页
田径运动会管理系统———详细设计说明书_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

田径运动会管理系统详细设计说明书详细设计说明书1引言11编写目的随着学校规模的不断扩大以及体育运动的不断发展,校运动会的规模也不断扩大,比赛项目和种类也日益增多,运动会所处理的数据量剧增,产生错误和时延的可能性也增大。为了能方便、及时、准确地对运动会的各种数据进行有效的管理,本系统尝试运用计算机技术加以解决。12背景说明A待开发软件系统的名称田径运动会管理系统B列出此项目的任务提出者于姝晖C开发者于姝晖,王莹D用户举行田径运动会的各大、中、小学2程序系统的结构系统框架详解1数据库类模块(CLASSDATABASE)介绍原有的ASP编程当中要在每个页面反复的创建ADO对象,并且打开与数据库的连接,代码量比较大。现在将其抽象到一个类中,使其完成与数据库的连接,查询等功能。而且类可以在组件中使用,复用程度比较高。代码实现OPTIONEXPLICIT类名数据库作用处理数据库联接方面的工作PRIVATEMADOCONNECTIONASADODBCONNECTIONPRIVATEMOBJPARENTASAPPLICATIONPUBLICPROPERTYSETPARENTPRTASAPPLICATIONSETMOBJPARENTPRTENDPROPERTYPUBLICPROPERTYGETPARENTASAPPLICATIONSETPARENTMOBJPARENTENDPROPERTY初始化类PRIVATESUBCLASS_INITIALIZESETMADOCONNECTIONNEWADODBCONNECTIONENDSUB终结类PRIVATESUBCLASS_TERMINATEONERRORRESUMENEXTMADOCONNECTIONCLOSESETMADOCONNECTIONNOTHINGONERRORGOTO0ENDSUB配置连接字符串PUBLICSUBCONFIGURECONNSTRASVARIANTMADOCONNECTIONCONNECTIONSTRINGCONNSTRENDSUB打开数据库联接,成功返回PUBLICFUNCTIONOPENCONNECTIONASBOOLEANIFMADOCONNECTIONCONNECTIONSTRING“THENOPENCONNECTIONFALSEEXITFUNCTIONENDIFONERRORRESUMENEXTIFMADOCONNECTIONSTATE0THENMADOCONNECTIONOPENONERRORGOTO0OPENCONNECTIONTRUEENDFUNCTION执行SQL语句,返回一个记录集PUBLICFUNCTIONRUNSQLSQLSTRASVARIANT,NEEDUPDATEASVARIANTASADODBRECORDSETIFNOTOPENCONNECTIONTHENEXITFUNCTIONENDIFDIMRSTTEMPASADODBRECORDSETSQLSTRMEPARENTTOOLSDFVNTTOTRIMSTRSQLSTRNEEDUPDATEMEPARENTTOOLSDFVNTTOBOOLNEEDUPDATESETRSTTEMPNEWADODBRECORDSETIFLENSQLSTR0THENIFCBOOLNEEDUPDATETHENRSTTEMPOPENSQLSTR,MADOCONNECTION,1,3ELSERSTTEMPOPENSQLSTR,MADOCONNECTION,1,1ENDIFENDIFSETRUNSQLRSTTEMPSETRSTTEMPNOTHINGENDFUNCTIONPUBLICSUBEXECUTESQLSTRASVARIANTIFNOTOPENCONNECTIONTHENEXITSUBENDIFMADOCONNECTIONEXECUTESQLSTRENDSUBPUBLICSUBBEGINTRANSMADOCONNECTIONBEGINTRANSENDSUBPUBLICSUBCOMMITTRANSMADOCONNECTIONCOMMITTRANSENDSUBPUBLICSUBROLLBACKTRANSMADOCONNECTIONROLLBACKTRANSENDSUB2工具类模块CLASSTOOLS功能将系统中用到的一些辅助功能函数封装到这个类中。代码略3界面类模块CLASSAPPLICATION功能实现ASP模块和COM组件交互的界面层,在ASP中调用组件内任何对象均通过此界面完成。比如获得运动员相关类、组相关类等。代码OPTIONEXPLICITPRIVATEMOBJDATABASEASDATABASEPRIVATEMOBJTOOLSASTOOLSPUBLICPROPERTYGETDATABASEASDATABASESETDATABASEMOBJDATABASEENDPROPERTYPRIVATESUBCLASS_INITIALIZESETMOBJDATABASENEWDATABASESETMOBJTOOLSNEWTOOLSSETMOBJDATABASEPARENTMEENDSUBPRIVATESUBCLASS_TERMINATESETMOBJDATABASENOTHINGSETMOBJTOOLSNOTHINGENDSUBPUBLICPROPERTYGETTOOLSASTOOLSSETTOOLSMOBJTOOLSENDPROPERTYPUBLICFUNCTIONGETGROUPOBJECTASGROUPDIMOBJASGROUPSETOBJNEWGROUP创建对应类的对象SETOBJPARENTME设置这个对象的父类SETOBJDATABASEMOBJDATABASE设置这个对象使用的数据库连接对象SETGETGROUPOBJECTOBJENDFUNCTION4业务层实现模块功能实现各个子模块的功能。代码每个功能模块均包含如下代码,这些是框架中必须的。OPTIONEXPLICITPRIVATEMOBJPARENTASAPPLICATIONPRIVATEMOBJDATABASEASDATABASE父类属性PUBLICPROPERTYSETPARENTPRTASAPPLICATIONSETMOBJPARENTPRTENDPROPERTY使用的数据库连接对象PUBLICPROPERTYSETDATABASEDBASDATABASESETMOBJDATABASEDBENDPROPERTY5ASP中的接口0THENCNTXADMINFILENAMECNTXFILENAMECNTXFILENAMEREPLACECNTXFILENAME,“_ADMINASP“,“ASP“ELSECNTXADMINFILENAMEREPLACECNTXFILENAME,“ASP“,“_ADMINASP“ENDIFENDSUBPUBLICPROPERTYGETFILENAMEFILENAMECNTXFILENAMEENDPROPERTYPUBLICPROPERTYGETADMINFILENAMEADMINFILENAMECNTXADMINFILENAMEENDPROPERTYENDCLASS功能模块详解1系统项目察看功能列出本系统中参赛组可选择的项目介绍由于运动会系统的项目的一些编排方式等信息是固定的,所以系统固定了实现的项目。参赛的组必须从这些项目中选择零或者多项。实现读取数据库中的表,按行显示出来。无需分页。CODE分钟2参赛组管理功能管理参加运动会的组信息介绍实现添加删除和管理组的信息。每组要实现组名称、限制每单位参赛人数、每人限报项目数量、参赛性别信息的管理。实现COM代码GROUPCLS取得指定编号的记录,默认记录为可更新如果记录编号小于0默认为新建记录PUBLICFUNCTIONGETGROUPBYIDGROUPIDASVARIANTASADODBRECORDSETDIMOBJRSTASADODBRECORDSETIFNOTMOBJDATABASEOPENCONNECTIONTHENEXITFUNCTIONENDIFIFGROUPID“METHOD“POST“NAME“EDITFORM“编辑单位小组名“SIZE“40“MAXLENGTH“50“定义要添加的组名称例如(高中男子组)。限制每单位参赛人数“SIZE“8“MAXLENGTH“8“定义要添加的组限制每单位报名人数。每人限报项目数量“默认为2参赛性别“3参赛单位管理功能实现参赛的单位的名称管理介绍实现参赛的单位的名称管理实现实现类型基本相同于参赛单位管理,代码略。4参赛组选择单位功能参赛组从未被选择的单位中选择单位介绍在这个运动会实现中,要求参赛单位可以选择参加一个或者多个组,但是仅能参加一个组一次。实现从界面中选择相应的组,根据对应的组列出已经选择和未被选择的单位。可以选择单位然后添加或者删除。COM代码PUBLICFUNCTIONGETDEPARTMENTJOINSBYIDGROUPIDASVARIANTASADODBRECORDSETSETGETDEPARTMENTJOINSBYIDMOBJDATABASERUNSQL“SELECTFROMVI_DEPARTMENTSJOINSGROUPWHEREGROUP_ID“可以添加的单位METHODPOST“METHODPOST“5参赛组选择项目功能给每个参赛组约束参加的项目介绍系统中每个参赛组选择可参加的项目,以此约束属于此组的运动员参赛选择。并且每个组选择项目后还可设置“每单位限报人员数量”。选择不同的组将显示此组选择的项目的设定,并且列出可以添加的项目。从可以添加的项目中选择项目点击添加将会把项目添加的已选择项目中。在已经选择的项目中可以设置“每单位限报人员数量”。而且在意经选择项目中列出已经报名这个组这个项目的运动员的人数。实现统计人数的代码PUBLICSUBUPDATEITEMSUMATHLETESDIMRSTTEMPASADODBRECORDSETDIMSTRSQLASSTRINGSTRSQL“MOBJDATABASEEXECUTE“UPDATECHOICEITEMSSETCHIT_SUMATHLETES0“SETRSTTEMPMOBJDATABASERUNSQL“SELECTFROMVI_CHOICEITEMSSUMATHLETES“,FALSEWHILENOTRSTTEMPEOFMOBJDATABASEEXECUTE“UPDATECHOICEITEMSSETCHIT_SUMATHLETES“RSTTEMP“ATHLETES“WHERECHIT_ID“RSTTEMP“CHIT_ID“RSTTEMPMOVENEXTWENDRSTTEMPCLOSESETRSTTEMPNOTHINGENDSUB显示未选择项目代码PUBLICFUNCTIONGETITEMNOTCHOICEBYIDGROUPIDASVARIANTASADODBRECORDSETSETGETITEMNOTCHOICEBYIDMOBJDATABASERUNSQL“SELECTFROMITEMSWHEREITEM_IDNOTINSELECTITEM_IDFROMCHOICEITEMSWHEREGROUP_ID“GROUPID“,TRUEENDFUNCTION“更新组选择的单项的代码0THENADDTOPROBLEM“在插入数据过程中出现异常,请重新尝试。“ENDIFSETOBJDATABASENOTHINGSETRSTGROUPITEMSNOTHINGONERRORGOTO0IFHASPROBLEMTHENRESPONSEPROBLEMELSEALERT_REDIRECTREFRESH“成功添加,请对新添加的项目做相应修改“,PAGEFILENAME“GROUPID“INTGROUPIDENDIFENDIF6参赛人员信息功能将现有的参赛人员的信息罗列出来。介绍按照组和单位两级目录选择,显示现有人员信息。可以修改人员的信息,删除人员。并且如果人员已经排号,则显示号码。实现略7运动员排号功能将现有的运动员排出号码簿号码介绍将现有的运动员按照参赛组,和参赛单位的顺序排出运动员号码。实现生成运动号码布INTDIGIT为生成号码布的位数,默认为4位PUBLICFUNCTIONSFBUILDNUMBEROPTIONALINTDIGITASVARIANT4ASSTRING现在仅支持按照顺序生成号码DIMRSTATHLETESASADODBRECORDSETDIMINTNUMBERASINTEGERINTDIGITCINTINTDIGITSETRSTATHLETESMOBJDATABASERUNSQL“SELECT“_“FROMATHLETESORDERBYGROUP_ID,DEPARTMENT_ID,ATHLETE_ID“,TRUEINTNUMBER1WHILENOTRSTATHLETESEOFRSTATHLETES“ATHLETE_NUMBER“FORMATINTTOSTRINTNUMBER,INTDIGITINTNUMBERINTNUMBER1RSTATHLETESUPDATERSTATHLETESMOVENEXTWENDRSTATHLETESCLOSESETRSTATHLETESNOTHINGENDFUNCTION8自动分组分道功能将现有运动员分成小组且编号介绍将现有运动员按照不同的参赛项目类别和每个项目的设定,分成小组每个运动员给配上小组内编号。实现PUBLICFUNCTIONSFGROUPINGCHITINTCHITIDASVARIANTASSTRINGSELECTFROMATHLETECHOICEITEMSWHERECHIT_IDINTCHITIDSELECTITEMSITEM_ARRANGEMENTFROMITEMSINNERJOINCHOICEITEMSONITEMSITEM_IDCHOICEITEMSITEM_IDWHERECHOICEITEMSCHIT_ID1DIMRSTTEMPASADODBRECORDSETDIMINTITEMARRANGEMENTASINTEGERDIMINTSUMATHLETESASINTEGERDIMINTGROUPINGSUMASINTEGERDIMINTFACTLIMITASINTEGER如果就按照设置的每组固定人数情况下可能出现不均衡情况,这里通过计算获得一个均衡的小组人数DIMINTLIMITASINTEGER每组运动员数量的限制DIMARRGROUPINGIDASINTEGER分组的记录IDDIMARRSERIALNUMBERASINTEGER每个组的道号DIMI循环变量DIMINTLASTATHLETESASINTEGER均衡分组人数后,最后一组的人数DIMINTTEMPASINTEGERSETRSTTEMPMOBJDATABASERUNSQL“SELECTITEMSITEM_ARRANGEMENT,CHOICEITEMSCHIT_SUMATHLETES“_“FROMITEMSINNERJOINCHOICEITEMSONITEMSITEM_IDCHOICEITEMSITEM_ID“_“WHERECHOICEITEMSCHIT_ID“INTCHITID“_,FALSEINTITEMARRANGEMENTRSTTEMP“ITEM_ARRANGEMENT“INTSUMATHLETESRSTTEMP“CHIT_SUMATHLETES“RSTTEMPCLOSESETRSTTEMPNOTHINGSELECTCASEINTITEMARRANGEMENT“直道“,“弯道“,“跨栏“,“分组不分道“,“田赛不分组“,“田赛分组“,“全能方式“,“接力“CASE1“直道“得到赛道数量,基本上是6道INTLIMIT6暂时指定INTGROUPINGSUMINTSUMATHLETESINTLIMIT1计算总共分几组计算均衡后的每组人数IFINTSUMATHLETESMODINTGROUPINGSUM0THENINTFACTLIMITINTSUMATHLETESINTGROUPINGSUM1ELSEINTFACTLIMITINTSUMATHLETESINTGROUPINGSUMENDIFREDIMARRGROUPINGIDINTGROUPINGSUM1REDIMARRSERIALNUMBERINTGROUPINGSUM1FORI0TOINTGROUPINGSUM1IFINTSUMATHLETESIINTGROUPINGSUMINTFACTLIMIT0THENARRGROUPINGIDINEWGROUPINGCINTINTCHITID,I1,INTFACTLIMITELSEARRGROUPINGIDINEWGROUPINGCINTINTCHITID,I1,INTFACTLIMIT1ENDIFARRSERIALNUMBERI1初始化每个组的道号为1NEXTSETRSTTEMPMOBJDATABASERUNSQL“SELECTFROMATHLETECHOICEITEMSWHERECHIT_ID“INTCHITID,TRUEI0清空准备再用WHILENOTRSTTEMPEOFINTTEMPIMODINTGROUPINGSUMRSTTEMP“GROUPING_ID“ARRGROUPINGIDINTTEMPRSTTEMP“ATCI_SERIALNUMBER“ARRSERIALNUMBERINTTEMPARRSERIALNUMBERINTTEMPARRSERIALNUMBERINTTEMP1RSTTEMPUPDATERSTTEMPMOVENEXTWENDCASE2“弯道“得到赛道数量,基本上是8道INTLIMIT8暂时指定INTGROUPINGSUMINTSUMATHLETESINTLIMIT1计算均衡后的每组人数IFINTSUMATHLETESMODINTGROUPINGSUM0THENINTFACTLIMITINTSUMATHLETESINTGROUPINGSUM1ELSEINTFACTLIMITINTSUMATHLETESINTGROUPINGSUMENDIFREDIMARRGROUPINGIDINTGROUPINGSUM1REDIMARRSERIALNUMBERINTGROUPINGSUM1FORI0TOINTGROUPINGSUM1IFINTSUMATHLETESIINTGROUPINGSUMINTFACTLIMIT0THENARRGROUPINGIDINEWGROUPINGCINTINTCHITID,I1,INTFACTLIMITELSEARRGROUPINGIDINEWGROUPINGCINTINTCHITID,I1,INTFACTLIMIT1ENDIFARRSERIALNUMBERI1初始化每个组的道号为1NEXTSETRSTTEMPMOBJDATABASERUNSQL“SELECTFROMATHLETECHOICEITEMSWHERECHIT_ID“INTCHITID,TRUEI0清空准备再用WHILENOTRSTTEMPEOFINTTEMPIMODINTGROUPINGSUMRSTTEMP“GROUPING_ID“ARRGROUPINGIDINTTEMPRSTTEMP“ATCI_SERIALNUMBER“ARRSERIALNUMBERINTTEMPARRSERIALNUMBERINTTEMPARRSERIALNUMBERINTTEMP1RSTTEMPUPDATERSTTEMPMOVENEXTWENDENDFUNCTION尚未解决的问题由于本组人数相对较少,加上对所使用语言掌握的不是太熟练,是在边学习边使用的过程中完成的对上述内容的编写,以及初对系统设计时考虑的不全面,致使在半途中又进行了返工,最后仅完成了整个系统一小部分功能实现。系统中的赛前编排、比赛处理、统计查询等大模块功能尚未实现。体会本次课程设计应该说从一开始做到结束都不是很顺利先是进行的分组,莫名其妙的把几个都不是很熟的同学分到了一起,而且自己头上又再次安上了组长的名。课程设计里的组长,美其名曰可以和一个公司里所谓的项目经理应该身兼的任务和责任挂钩在一起,但是在事实上,对我们这些虽然已上大三的学生,但实则和菜鸟差不多水平的人来说,实在没有能力担负起个项目经理所能和所应担负的责任,比如说在整个系统完成过程中,负责对整个系统的设计,并要合理的给每个小组成员分配模块、任务,最后再把整个系统完善起来。弄得结果就是,差不多每次课程设计,都是组长一个人完成,最后再把做好的模块分配给组员,以完成自己身为组长的责任。所以一开始就感觉心里压力很重。接着好容易几个人商讨着订了一个课题,做一个音乐网站,不过被老师否定了,可能也确实这个题目太过于商业化,且没什么技术含量,而且有点太过自我和个性,但被否定的一刻,还是感觉受到了一定的打击,致使对以后该做什么没有了信心和目标,也致使后来小组内因意见无法达成共识而分成了互补相干的两组。随后所定下来的田径运动会管理系统是从网上搜到的适合两到三人合作的一个课题,在没有对其很深刻考虑仔细的情况下,就定下了这个题目。也导致了在此后对系统进行一系列诸如需求分析、概要设计、详细设计、编码等的过程中,遇到了很多令人头疼的问题。不过在做系统之前就给自己此次课程设计定下了目标,是以学习掌握知识为主。所以在整个编码过程中,更多的是学习

温馨提示

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

评论

0/150

提交评论