ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:677.70KB ,
资源ID:27603886      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27603886.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(运动会成绩管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

运动会成绩管理系统.docx

1、运动会成绩管理系统运动会成绩管理系统(JAVA)(总20页)一、开发背景.3二、系统描述.3三、详细设计.5 1、模块功能.5 、系统人员管理模块.5 、运动员管理模块.6 、运动员成绩管理模块.6 2、数据库结构设计.7 3、界面及代码设计.9 、登录子系统开发.9 、系统用户管理模块.11 、运动员信息管理模块.15 、运动员成绩管理模块.17四、心得体会.20五、参考文献.21一、开发背景当前,运动会已经在全国普遍开展,许多学校每年都定期的举行不同规模的田径运动会。但是,在运动会举行过程中一直存在着参赛人数多,项目设置复杂,时间安排紧凑等问题,而且这些问题能否解决直接关系着运动会的成功与

2、否。另一方面,人们对于比赛结果的实时性、准确性、安全性、可靠性的要求也越来越高,而这些要求是人工操作很难实现的。同时竞赛组织者要尽量减少人为因素的干扰,减少赛场作弊行为的发生,还要为参赛的教练员和运动员及时准确地提供竞赛的相关信息,辅助进行竞赛的决策指导。因此,计算机技术的融入就成为一种必然,而且逐渐成为运动会信息管理的核心所在。 根据调查,现在全国已经有不少学校在田径运动会举办过程中采用了现代化的计算机技术进行运动会的系统管理,有的已经达到了一个相当高的水平。但是我们发现这些运动会管理系统的设计和实现标准不一,参差不齐,而且更多的情况下这些系统只是实现了对运动会的分数统计等功能,在提供运动会

3、的整个举办过程中的人性化、自动化服务等方面还有许多不足和欠缺。我们小组根据当前学校运动会的开展组织情况,结合运动会的组织原则和相关规定,运用现代计算机技术,以全新的模式设计开发了适合田径运动会的校级运动会管理系统。 采用了本运动会管理系统后,运动员在比赛前由院系统一输入个人信息即可,这样就方便了运动员的报名,有错误时可以及时汇报修改。裁判员单独对各自的项目进行管理,保证上了比赛的公正、公平。每个项目都有单独的帐号和密码对应,以保证成绩录入人员对自己管辖范围的唯一性和确定性。在成绩查询界面中可以准确及时的查询到各参赛队伍、各项目、各运动员的个人信息、比赛成绩、排名、和团体加分的情况。以上运动会中

4、各环节组织和编排工作的系统实现,使大量繁琐的人工组织编排任务通过简单方便的操作便可以实现,大大减轻了运动会组织人员的劳动强度,节省了大量物力、人力、财力,提高了工作效率,保证了数据的实时性、准确性、安全性、可靠性,充分体现出了现代化的计算机技术在信息采集、处理、和管理等方面的无可比拟的优越性。二、系统描述 本系统采用软件工程原理,使用面向对象的Java编程环境编写校级运动会管理系统,利用SQL Server数据库技术,对数据库进行了全面的开发。系统主要包括前台应用程序的开发以及后台数据库的建立和维护两个方面,实现了运动员成绩数据库的创建及运动员成绩的输入、统计、浏览和维护,使得系统具有界面友好

5、,功能强大,易于维护的特点。本校级运动会管理系统在功能实现方面主要分为以下几点:1)运动员个人信息管理模块。运动员管理与普通的用户管理基本类似,包括用户的添加、修改、编辑和删除功能,参赛项目的维护。例如有的运动员临时因伤不能参寒,有的又调整为可以参加某个项目(虽然严格说来,不允许运动员临时更改参赛项目,但需要在系统中留有余地)。2)运动员成绩管理模块。操作员可以对成绩进行录入,一旦提交则只能查看不能修改管理员可以查看成绩并调整成绩,因为前场工作人员可能犯错,需要管理员进行更改,但日志中要对此更改进行记录。运动员可以通过终端查看运动成绩。3)权限管理模块。管理员可以对操作人员进行信息维护,如增加

6、前场成绩录入人员,或者某位成绩录入人员调离岗位则取消其权限。对于运动员可以匿名查询某个项目的成绩。综合以上情况,设计系统体系结构如图1所示。 图1 应用层提供诸如GUI的显示、事件的处理等;代理层是分离上层和具体数据库访问层的,也可以称为业条层,这样的目的是当数据库发生变更时,可以将程序的改动缩减到最小。数据库接口层是与具体的数据库进行交互,对数据进行提取、存入操作。模块包是与数据库实体相对应的类定义,也可以说与数据库中的每条记录相对应。三、详细设计 1、模块功能 、系统人员管理模块 该模块实现系统人员的添加、修改、查询和删除,先在数据库中添加管理员帐户。管理员在用户管理方面拥有一切权限,而普

7、通用户只有修改个人密码、查询个人信息、运动会比赛信息、比赛成绩及获奖情况的权限。如图2所示。 图2 、运动员管理模块 该模块由管理员对运动员个人信息的录入、修改及删除功能。普通用户可以实现对运动员个人信息的查询功能。其功能层次如图3所示。 图3 、运动员成绩管理模块 该模块实现管理员录入运动员的成绩、查询成绩、修改成绩删除查询到的成绩信息以及普通用户查询成绩。其功能层次图如图4所示。 图42、数据库结构设计 表1 运动会项目表(SportItems)列名数据类型可否为空说明ItemIdVARCHAR(20)NOT NULL体育项目编号ItemNameVARCHAR(50)NOT NULL项目名

8、称ItemTypeVARCHAR(50)所属的运动类别voidVARCHAR(1)是否有效 表2 运动员参赛项目表(ItemAttend)列名数据类型可否为空说明SportorIdVARCHAR(20)NOT NULL运动员编号ItemIdVARCHAR(20)NOT NULL体育项目编号ScoreVARCHAR(50)成绩voidVARCHAR(1)本条记录是否有效表3 运动员个人信息表(Sportor)列名数据类型可否为空说明SportorIdVARCHAR(20)NOT NULL运动员编号NameVARCHAR(50)NOT NULL运动员名称GenderVARCHAR(1)性别。M男,

9、F女WeightFLOAT体重,单位KgHeigthFLOAT身高,单位cmAgeINT年龄GradeINT等级voidVARCHAR(1)是否参赛标志。Y为无效,已经被删除。N为有效,参加本次比赛表4 系统用户信息(SysUser)列名数据类型可否为空说明SysUserIdVARCHAR(20)NOT NULL系统用户的编号NameVARCHAR(20)NOT NULL姓名PasswordVARCHAR(50)NOT NULL密码GenderVARCHAR(1)性别RoleIdVARCHAR(20)所属于的角色voidVARCHAR(1)用户是否有效表5 系统用户角色(Roles)列名数据类

10、型可否为空说明RoleIdVARCHAR(20)NOT NULL角色编号RoleNameVARCHAR(50)角色名称voidVARCHAR(1)是否生效 3、界面及代码设计 、登录子系统开发 由于每个系统中都涉及登录子系统,因此在这里并不进行过多介绍,只提供一个登录子系统的框架,登录成功后程序的流程应根据登录用户的身份来区别对待。登录系统的界面如图5所示。 图5主要代码如下: public static void main(String args) rim(); String Password = ().toString(); EnumRole role = ( ().toString().

11、trim() ); UserName: + UserName + Password: + Password + + Role : + role); if( role = ) (null,用户角色未设定,请单击匿名登录访问系统!,错误,; return; else if( role = ) (null,用户角色不支持,请联系管理员!,错误,; return; else if( role = ) etName() + + (SysUser)(i).getSysUserId(); /*为控件注册事件*/ new ListItemChange() ); UserOperAction btnEvtHan

12、dle = new UserOperAction(); class ListItemChange implements ItemListener public void itemStateChanged(ItemEvent e) lstCtrl = String str = (); if( str = null | str = ) return; String result = (s); quals( M) ) (0); else if( ().equals(F) (1); ( () ); ( () ); if( ().equals ) (0); else if().equals ) (1);

13、 else (2); if( ().equals(Y) (true); else (false); try (); catch(SQLException ex) class UserOperAction implements ActionListener public void actionPerformed(ActionEvent e) if( () = (JButton)btnDelSysUser ) oString().equals(男) Gender = M; else Gender = F; String Pass; if( ().equals() ) Pass = (); else

14、 (null,密码不匹配,错误,; return; String userRole; if( ().toString().equals(系统管理员) userRole = ; else if().toString().equals(系统操作员) ) userRole = ; else userRole = ; String Void; if( () = true) Void = Y; else Void = N; String finalSql = UPDATE SYSUSER SET NAME= + userName + , + PASSWORD = + Pass + , GENDER= +

15、 Gender + , + ROLEID= + userRole + , VOID= + Void + WHERE + SYSUSERID= + userId + ; SysUserProxy sysUserProxy = new SysUserProxy(); (finalSql); (null,更新成功!,成功,; 单击“更新用户”按妞,则触发相应事件,调用SysUserProxy类实现更新操作。与登录子系统中的RoleAccessProxy类相类似,SysUserProxy也是对数据访问进行了封包,使上层应用无须与底层直接接。这样增强了系统的可移植性和可扩展性。关于SysUserProx

16、y类的代码在此处省略。、运动员信息管理模块 运动员信息管理模块主要实现对人员个人信息的维护,其界面布局与系统用户管理模块类似,如图7所示。 图7实现此模块的主要代码如下:class UserOperAction implements ActionListener public void actionPerformed(ActionEvent e) if( () = (JButton)btnAddUser ) oString().equals(男) Gender = M; else Gender = F; float weight = ; if( () != null & () != ) wei

17、ght = (); float height = ; if( () != null & () != ) height = ( () ); int age = 0; if( () != null & () != ) age = ( () ); int grade = 0; if( () != null & () != ) grade = ( () ); String Void; if( () = true) Void = Y; else Void = N; String finalSql = ; finalSql = UPDATE sportor + SET NAME= + userName +

18、,GENDER=+Gender + , + WEIGHT= + weight + , HEIGHT = + height + , + AGE = + age +, + GRADE = + grade + ,VOID= + Void + + WHERE SPORTORID=+ userId + ; SportorProxy UserProxy = new SportorProxy(); UserProxy .UpdateUserById(finalSql); (null,更新成功!,成功,; return; else if() = (JButton)btnDelUser) String user

19、Id = (); String finalSql = DELETEFROM sportor WHERE SPORTORID=+userId+; SportorProxy UserProxy = new SportorProxy(); (finalSql); (); InitCtlData(); (null,删除成功!,成功,; return; 、运动员成绩管理模块 这一功能模块在结构上采用三级连动方式,即一级菜单的动作触发二级菜单的响应,二级菜单的动作影响三级菜单的显示。基于这个依据,设计界面如图8所示。 图8主要代码如下:class ListItemChange implements Ite

20、mListener public void itemStateChanged(ItemEvent e) if( () = ) etName() + + (SportsMan)(i).getSportorId(); try (); catch(SQLException sqlEx) else if( () = ) quals(Y) ) (true); else (false); String scores = ().split(s); switch case 1: ( scores0 ); break; case 3: ( scores0 ); ( scores2 ); break; case

21、5: ( scores0 ); ( scores2 ); ( scores4 ); break; case 7: ( scores0 ); ( scores2 ); ( scores4 ); ( scores6 ); break; case 9: ( scores0 ); ( scores2 ); ( scores4 ); ( scores6 ); ( scores8 ); break; case 11: ( scores0 ); ( scores2 ); ( scores4 ); ( scores6 ); ( scores8 ); ( scores10 ); break; 仔细阅读前面的代码

22、,其实逻辑并不复杂,主要是当鼠标选中左边的一项时,会触发相应的事件,从数据库中提取相应的数据填充中间的列表框,当中间的列表框有数据被选中时,则将相关的数据显示在最右边的面板上。另外,在这个系统的各个层次中,需要使用到一些输助类,这些类与具体的对象相关联。例如表示运动员实体的类SportsMan,其与数据库的记录一一对应。这样便于在类与数据之间实现自由转换。有关于这些辅助类的代码就不一一列出了! 四、心得体会这次课程设计经过亲身的实践操作,学到很多东西,自己的管理系统基本上实现了一些功能。通过这次设计,感到随着科技的发展,管理系统在进行数据管理时起到的作用越来越大。 就运动会管理系统而言,此系统

23、是针对一般的小型运动会中成绩的记录仍需要手动处理和排序、个人的成绩往往会在处理中丢失或者不准确、比赛排名出来慢等现象而设计的,通过这个小型的运动会管理系统,展现如何设计这样一个复杂的系统。本系统从数据库层的设计、业条的处理及java界面实现,都需要详细地设计与规化。在设计此系统的过程中,我们遇到许多问题,但是经过我们的不懈努力,还是想办法解决了问题!比如,我们在刚开始调试程序的时候就发现了一个问题,关于SQL Server的驱动程序不能装载成功。我们立即分析问题,查找根源并在网上寻求解决方法。但是我们足足找了整整一天,也分析了一天,依旧没能找出这个问题的根源。最后 ,我们只能绕过SQL Server的驱动,决定从数据源ODBC建桥试试。结果成功的绕过了SQL Server驱动。我们还发现,对数据库进行连接时,SQL Ser

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1