jsp运动会管理系统mysql论文_第1页
jsp运动会管理系统mysql论文_第2页
jsp运动会管理系统mysql论文_第3页
jsp运动会管理系统mysql论文_第4页
jsp运动会管理系统mysql论文_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

浙江科技学院信息与电子工程学院2015届本科毕业设计(论文)PAGEPAGE1PAGE8PAGE8浙江科技学院信息与电子工程学院2014届本科毕业设计(论文)2015届毕业设计题目运动会管理系统的设计与实现学院专业班级学号学生姓名指导教师完成日期2017年3月17日二○一七年三月 摘要信息系统逐渐的应用大到人们生活工作的的每一个领域。在体育领域中,计算机在高校运动会管理的方面的应用也不断进步。现在各大高校已经很普及了,高校运动会管理系统也相继而生。高校运动会管理系统的设计与实现也必不可少。它把报名、比赛、成绩公布等结合在一起,把运动会管理推向更智能化、规范化的领域,以促成提高运动会管理的效率和质量的目的,满足各大高校的需求。

该系统采用java作为编程语言,oracle为后台数据库,css技术实现网页的制作,实现了一个界面友好,功能完善的系统。

关键词:运动会;管理系统;java;oracle ABSTRACTThedevelopmentandpopularizationof

computer

time,

computernetworkhasgradually

enteredinto

eachof

yourField.Inthefieldofsports,

thecomputer

applicationmanagement

aspectsofthe

progressive

movement

in

Collegesanduniversities.

Now

themajorcollegesanduniversities

havebecomeverypopular,

theuniversitysportsmeeting

managementsystem

havealsobeenborn.

Theuniversitysportsmeeting

managementsystemdesign

andimplementation

isalsoessential.

The

registration,

games,

andotherpublishedresults

together,the

sportsmanagement

tobemore

intelligent,

standardized,

inordertoimprovetheefficiencyandqualityof

sports

management

to

meettheneedsof

collegesanduniversities,

sothat

thecomputernetwork

ismorepopular.ThesystemusesJavaasthe

programminglanguage,

Oracleasthebackgrounddatabase,

torealizethe

Webpage

CSStechnology,

toachievetheperfect

interaction.Thesystemismainly

inordertomakethe

sports

managementinCollegesanduniversities

willbe

moreefficient;

therewillbe

a

wholemanagement

ofsports.

Alsofeaturesa

simpleandbeautiful

interface,easytooperate,

canbe

used

for

collegesanduniversities.Keywords:Sportsmeeting;Managementsystem;java;oracle目录TOC\o"1-3"\h\u32267摘要 221782Abstract 319259第1章引言 6319151.1背景 6234711.2研究内容 713855第二章平台简介 8261492.1系统架构 892832.2系统开发环境 837612.3开发工具 8299342.3.1myeclipse的简介 828182.3.2oracle的简介 9153312.3.3Java的简介 10197352.3.4J2EE架构 11303083.1系统需求分析 16190563.2系统功能需求分析 16272363.3系统业务需求分析 17211023.4系统权限设计 20117933.5系统数据流程图 20239493.6数据定义 2120186第四章数据库设计 28263364.1确定实体和联系 28229044.2E-R图 2857334.3关系模式截图 2949804.4数据库逻辑设计 29273834.4.1讲所述的E-R图转换成关系模式 29311764.4.2创建数据表的代码 2918676第五章系统设计 32300865.1用户登录模块 32150425.2基本信息模块 32324225.3管理员模块 33232645.4设计模块的设计与实现 35262275.5报名模块 35233365.6比赛进程控制模块 3636285.7比赛成绩录入模块 36315915.8查询模块 3713264第六章系统维护和改进 3944756.1数据库运维 3936346.2系统改进与提高 396037第七章结束语 406481致谢 4121196参考文献 4224251附录:源代码 43 第1章引言1.1背景伴随着计算机的不断普及和发展,各行业都需要对信息进行飞速的处理,计算机更是广泛的应用在这信息时代。计算机能够准确快速的对信息进行管理。使用计算机,能够对信息安全性、效率性大大提升。对较为繁琐的信息管理,计算机更是展现出它的优势。管理信息系统对信息进行收集,储存,运作及维护使用。根据科学的管理及科学技术而产生。伴着科学技术的提升,计算机的科学也相应的成长,强而且大的功能被人们所意识到,计算机不断的普及和发展,计算机网络也逐渐的进入到大家所在的每一个领域,计算机也越来越被重要化。使用计算机,对运动员进行报名,赛场管理员能够掌管比赛并发布成绩及记录,这些是以前现场人手管理所不能媲美的。就像迅速查询,存储信息巨大全面,保密能力高,使用长久,省时省力等优势。这些优势能很好的提升管理高校运动会的能力,更是企业式管理。研发这个高校管理系统是非常有必要的。高校运动会系统

主要是为了使得管理高校运动会更有效率;对运动会有个整体的管理。还有个特色就是界面简美、易于操作,可供各大高校使用。对运动员,赛场管理员的管理有着更规范,更高效的管理。就中国而言,运用计算机网络的运动会的管理也越来越广泛,例如广东省运动会电子信息服务系统,该系统结合硬件,各种平台以及数据库等对运动会进行有效的管理。在这个统一的平台基础上,该系统实现了广东省第十一届运动会电子信息服务系统的完整的应用,即“一个网络、二个应用、三个中心、四个第一”。拥有统一平台,高可靠性,先进性,实用性,高性能,可管理性,可扩展性,安全性等特点。更分为6个子下系统。而在国外,外国由于与中国思维着重点不同,运动会管理系统显得更多样。比如本校高校生能报名去其他学校的比赛,功能和运用更为广泛。而相对于国内,国外的系统要考虑大于2个学校的学生信息管理,更具有难度,系统也在更近一步的研发。1.2研究内容设计目标:(1)学生模块:信息管理:管理自身基本信息,,根据比赛项目查询成绩及排名,根据成绩查看学院的成绩及排名赛事管理:学生报名运动会(比赛前,一人最多一项目,一学院最多一人报名该项目)(2)赛场管理员模块:信息管理:管理自身基本信息,根据比赛项目查询成绩及排名,根据成绩查看学院的成绩及排名赛事管理:给运动员录入成绩(比赛中,该项目最后一名运动员录入成绩时,学院成绩自动录入并排名,运动员成绩排名自动生成,如果破纪录自动改变纪录),比赛项目管理(比赛前,比赛项目增删改查)赛事开始:对比赛进行开始,暂停和重置操作(3)系统总管理员:人员管理:自身信息管理,学生信息管理,赛场管理员信息管理可行性分析:技术而言:操作系统可用windows,以oracle作为数据库,用IE网页即可登录进行操作。该类软件在java开发中,现在大量运用,就技术而言是可行的。经济而言:应有计算机来管理,开发的经济也是可行的。所以,该系统在技术及经济上是可行的。

第二章平台简介2.1系统架构研发用的是平常pc机,操作系统为win7操作系统,该系统是基于J2EE企业级开发,采用ssm框架,使用struts2,spring,mybatis,

采用MVC模式,分离业务逻辑层显示层模型层低耦合,结构清晰,使开发者专注于业务逻辑,还有丰富的标签库供使用,支持国际化,还有很高的重用性。因为数据量比较大,采用oracle作为数据库。页面采用jsp。2.2系统开发环境该系统使用的操作系统是win7,是微软下较为普遍的操作系统。该系统采用java语言进行编程,选用的数据库是oracle数据库,oracle还可以写一些方法比较方便。Javaweb是较为普遍的编程,不同的浏览器基本都能运行相关的程序,比较普及。Oracle数据库也是较为大众的数据库,因为学的就是这一数据库,也就选择了这个数据库。2.3开发工具我用myeclipse进行java代码的开发,myeclipse是我一直使用的编程软件,用起来也得心应手。考虑到数据有些多,我的数据库管理系统选择的是oracle,oracle是继mysql之后我接触的最多的数据库管理系统,这样的选择能很好的完成系统。2.3.1myeclipse的简介myeclipse集成的插件足够多,不用自己去挨个配置。Eclipse是一个IDE(IntegratedDevelopingEnvironment),而这个IDE是允许安装第三方开发的插件来使自身的功能得到扩展和增强的,而Myeclipse就在其中。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate[1]

。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2014版本MyEclipse2014

整合了Hibernate、Struts2和Spring等最新版本内容,MyEclipse2014界面美观,包含了一个清新的淡蓝色主题,集成了主题支持的插件EclipseColorThemes和Jeeeyul'sEclipseThemes,可以进行主题样式定制和切换。该版本于2013年12月2日发布。现在最新的是2015版本,而我是在2014年开始做的,所以还是基于2014版本进行代码的编写。2.3.2oracle的简介ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。Oracle数据库最新版本为OracleDatabase12c。Oracle数据库12c

引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如OracleMultitenant可快速整合多个数据库,而AutomaticDataOptimization和HeatMap能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c

成为私有云和公有云部署的理想平台。我使用PL/SQLDeveloper进行对oracle数据库的操作。OracleDatabase的特点:(1)完整的数据管理功能:数据的共享性;数据的大量性;数据的保存的持久性;数据的可靠性(2)完备关系的产品:视图更新准则只要形成视图的表中的数据变化了,相应的视图中的数据同时变化;保证访问的准则;数据物理性和逻辑性独立准则;信息准则关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示。(3)分布式的处理功能:ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。(4)用ORACLE能轻松的实现数据仓库的操作。2.3.3Java的简介Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的静态语言。那么java语言的特点如下(1)Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。(2)Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。西安达内交大java培训讲师表示,Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。(3)Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。(4)Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。(5)Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。西安达内交大java培训讲师表示,除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。(6)Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。(7)Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。(8)Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。(9)Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。(10)Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。(11)Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。2.3.4J2EE架构J2EE是sun公司开发的一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。J2EE开发框架主要有Hibernate,Spring,Struts2,EXTJS,Json。(1)Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。SessionSession接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。SessionFactorySessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。ConfigurationConfiguration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。TransactionTransaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。QueryCriteriaQuery和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。(2)Spring\o"编辑本段"编辑Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate[1]

和其他O/Rmapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。(3)Struts2\o"编辑本段"编辑相对Struts1而言,Struts2号称是一个全新的框架。Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个框架:WebWork基础上发展起来的,Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势。ApacheStruts2是一个优雅的,可扩展的JAVAEEweb框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。(4)EXTJS\o"编辑本段"编辑Ext最初是YUI的一个扩展,也可以扩展自JQuery和Prototype。自1.1版开始,Ext已经可以独立运行,不需要依赖于那些外部库。从Ext2.0版可以使用许多不同的基础库,例如YUI、JQuery和Prototype,或者是可以独立的运行。ExtJS是一个非常棒的Ajax框架,可以用来开发富有华丽外观的富客户端应用,能使b/s应用更加具有活力。ExtJS是一个用javascript编写,与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用程序中。注:YUI(Yahoo!UILibrary)是一个开源的JavaScript库,与Ajax、DHTML和DOM等技术一起使用可以用于创建富有交互性的Web应用,它还包含丰富的CSS资源。(5)Json\o"编辑本段"编辑JSON(JavaScriptObjectNotation)[1]

是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。JSON的具体形式:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,以“}”结束。每个“名称”后跟一个“:”,“‘名称/值’对”之间使用“,”分隔。数组是值(value)的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。值(value)可以是双引号括起来的字符串(String)、数值(number)、true、false、null、对象(object)或者数组(array)。这些结构可以嵌套。字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜体转义。一个字符(character)即一个单独的字符串(characeterstring).第三章系统分析与设计3.1系统需求分析现在处于信息社会,科技更高效率更高效益更高成为追求的目标,计算机也因此遍及到各大领域。在计算机越来越融入人们生活的同时,也有一部分人嫌弃计算机的不够便捷而更多的选择用人力。社会的节奏在不断的加快,学校管理系统,图书管理系统,购票系统等为人们提供了众多便捷。而我做的这个高校运动会管理系统,实现的语言是普遍的汉语,功能则是由源代码实现。看过使用说明书,开启该系统的人能清晰的了解该系统的功能。只要输入相应的汉字或数字,就能得到相应的效果。需求分析为软件的定义的重要环节。他是为了指出“系统必须做什么”,是对其指出完整,精确,清楚及具体的需求。开发基础条件就是需求分析得到的结果,这更是关系到工程成功与失败,产品质量的高与低。所以,一定要采用更有效的方法对需求实行严格的审验。3.2系统功能需求分析整个系统分为三大部分:赛前准备,赛中管理,赛后处理。高校运动会管理系统赛后处理赛中管理赛前准备高校运动会管理系统赛后处理赛中管理赛前准备赛场管理员选定比赛项目运动员报名信息管理院系排名团队总得分项目名次排名破纪录情况各院系分数运动员成绩统计赛场管理员选定比赛项目运动员报名信息管理院系排名团队总得分项目名次排名破纪录情况各院系分数运动员成绩统计记录表修改名次判定成绩录入记录表修改名次判定成绩录入3-1系统功能模块表赛前准备:对赛场管理员以及学生进行信息的注册管理,只有有赛场管理员权限的人才能管理赛事,只有有学生权限的人才能进行报名等操作。赛场管理员对比赛项目进行管理,学生根据所在学院还可以报什么项目进行项目的报名。赛中管理:赛场管理员有控制比赛开始的权限。根据比赛结果,赛场管理员对运动员成绩进行录入和处理,从而判定出各个比赛项目的名次,团队总分也做相应的调整,实现智能化成绩处理。赛后处理:有进入系统权限的人能根据项目名称进行项目排名查询,学院根据自己学院运动员的表现,各学院总分相应增加,学院排名可见。如果有人破了纪录,那么该项目的记录表也会相应的更新数据。需求分析的过程是整一个系统的开发最为重要的步骤,这更是关系到工程成功与失败,产品质量的高与低,关乎着系统的功能的完善以及稳定。在这一个阶段下,相关人员需要明确产品的全部的功能和要求,要把现实中的事务抽象的做成对象并且需要建模。3.3系统业务需求分析经过分析,该高校运动会管理系统的目的是为了让运动会的实现更全面更规范更自动更高效更具有流程性,使各信息都能得到管理。所以,根据相应的业务的需求,高校运动会管理系统应该满足下面的这些需求:(1)该系统是高校运动会期间的信息化系统,只有有权限的人才能进入操作,而总管理员则负责增删改查有权限的学生或者赛场管理员(2)提供报名功能。学生进行运动会报名是运动会关键的步骤,所以,这里提供了便捷的方式进行相应的报名操作。运动会进行的时候,要实行比赛成绩,成绩排名等信息的录入和发布。比赛结束了之后,要提供按照比赛项目进行信息查询的功能,提供院系排名查询的功能,以及破纪录的化要对纪录进行修改。开始开始运动员报名运动员报名运动员管理运动员管理比赛开始比赛开始是否破纪录是否破纪录修改纪录信息修改纪录信息成绩排名成绩排名院系排名结束结束3-2系统业务流程图赛前准备系统其基本功能包括以下几个方面(1)赛场管理员的设定(赛场管理员是拥有运动会比赛的基本管理操作,对赛场管理员的增设,修改,删除,查询是必要的环节)(2)有权限使用该系统的学生的设定(有权限的学生是能报名比赛的必要条件,对有权限的学生的增设,修改,删除,查询是必要的环节)(3)比赛项目(比赛项目的查询,修改,新设和删除,该比赛项目记录的检查)(4)学生报名(5)赛场管理员管理比赛进程(赛场管理员能开始比赛)(6)比赛基本信息生成系统管理员系统管理员管理赛场管理员管理赛场管理员管理赛场管理员管理赛场管理员比赛基本信息报名比赛项目比赛基本信息报名比赛项目有权限的学生赛场管理员有权限的学生赛场管理员比赛项目管理比赛项目管理比赛项目比赛项目3-3赛前准备业务流程图赛中管理系统其基本功能包括以下几个方面(1)赛场管理员输入各个比赛项目的比赛成绩信息(2)根据赛中输入的成绩,发布比赛成绩及排名生成名次输入比赛项目(3)发布院系分数排名生成名次输入比赛项目生成院系排名赛场管理员赛会成绩报名该比赛的学生信息生成院系排名赛场管理员赛会成绩报名该比赛的学生信息3-4赛中准备业务流程图赛后处理系统该过程具有如下功能(1)比赛名次和院系排名的公布(2)项目记录的修改校验3.4系统权限设计为了保证系统的安全和性能,用户都有自己不一样的权限,权限的不同决定他们操作的不同。操作系统的人分为三类:总管理员,赛场管理员,学生。1.学生:信息管理:管理自身基本信息,,根据比赛项目查询成绩及排名,根据成绩查看学院的成绩及排名赛事管理:学生报名运动会(比赛前,一人最多一项目,一学院最多一人报名该项目)2.赛场管理员:信息管理:管理自身基本信息,根据比赛项目查询成绩及排名,根据成绩查看学院的成绩及排名赛事管理:给运动员录入成绩(比赛中,该项目最后一名运动员录入成绩时,学院成绩自动录入并排名,运动员成绩排名自动生成,如果破纪录自动改变纪录),比赛项目管理(比赛前,比赛项目增删改查)赛事开始:对比赛进行开始,暂停和重置操作3.系统总管理员:人员管理:自身信息管理,学生信息管理,赛场管理员信息管理3.5系统数据流程图系统数据流程图是为了让系统逻辑模型更图形化的工具,描绘出信息在这个系统里的处理的情况。数据流图则是用户与该软件设计的工作人员间交流的工具。高校运动会管理系统的管理的过程所要处理很多的数据,已经精准迅速的处理结果。第一,系统总管理员赋予裁判赛场管理员权限,学生报名查询等使用权限。第二,拥有赛场管理员权限的人能对比赛项目进行修改,拥有权限的学生能进行报名操作。第三,赛场管理员决定比赛开始。第四,赛场管理员根据学生的比赛成绩进行录入。第五,学生成绩及排名显示,学院分数和排名显示,如果有破纪录则刷新记录成绩登记报名登记报名运动员项目表运动员项目表院系成绩名次成绩名次名单运动员参赛表报名信息项目信息院系成绩名次成绩名次名单运动员参赛表赛前管理系统赛前管理系统赛中管理系统赛中管理系统输出比赛成绩输出比赛成绩输出成绩信息输出成绩信息3-5运动会数据流处理的流程图3.6数据定义表4-1所有表统计数据结构编号数据结构名含义说明组成01系统管理员表记录系统管理员信息编号,姓名,密码,操作等级=002赛场管理员表记录赛场管理员信息编号,姓名、密码,性别、年龄、联系电话,操作等级=1,比赛进程03学生表记录学生信息情况学号,密码,姓名、性别、年龄、联系电话、参赛项目,项目成绩、所在学院,所在班级,操作等级=3,项目计数单位04学校表记录学校信息学校编号,学校名,学校描述05学院表记录各学院信息学院编号,学院名字,所属学校,学院信息,比赛总分06项目表记录各个比赛项目信息项目名字,项目记录,项目描述,项目要求性别对上述6张表数据定义如下:表4-2系统管理员表系统管理员数据项编号数据项名含义说明别名数据类型数据长度取值范围01编号系统管理员唯一标识,用于登录adminIdint20数字02姓名系统管理员的姓名namevarchar20任意字符03密码系统管理员登录密码passwordvarchar20任意字符04操作等级记录操作者的权限等级gradeint5数字表4-3赛场管理员表赛场管理员数据项编号数据项名含义说明别名数据类型数据长度取值范围01编号赛场管理员唯一标识,用于登录sportsadminidint20数字02姓名赛场管理员的姓名sportsadminnamevarchar20任意字符03密码赛场管理员登录密码passwordvarchar20任意字符04性别赛场管理员性别sexvarchar5汉字05年龄赛场管理员年龄ageint5数字06联系电话赛场管理员联系方式telnumber11数字07操作等级记录操作者的权限等级gradeint5数字08比赛进程管理比赛进程isbeginint5数字表4-4学生表学生数据项编号数据项名含义说明别名数据类型数据长度取值范围01编号学生唯一标识,用于登录studnetIdint20数字02姓名学生的姓名studnetnamevarchar20任意字符03密码学生登录密码passwordvarchar20任意字符04性别学生性别sexvarchar5汉字05年龄学生年龄ageint5数字06联系电话学生联系方式telnumber11数字07项目记录报名项目itemvarchar30汉字08项目成绩记录项目成绩itemscocenumber4数字09项目计数单位项目计数单位descriptionvarchar20任意字符10所属学院记录所属的学院编号departmentidint20数字11班级名字记录班级名字classnamevarchar20汉字12操作等级记录操作者的权限等级gradeint5数字表4-5学校表学校数据项编号数据项名含义说明别名数据类型数据长度取值范围01编号学校唯一标识schoolidint20数字02学校名字学校的姓名schoolnamevarchar50任意字符03学校描述学校的描述descriptionvarchar50任意字符表4-6学院表学院数据项编号数据项名含义说明别名数据类型数据长度取值范围01编号学院唯一标识departmentidint20数字02学院名字学院的姓名departmentnamevarchar50任意字符03所含班级数班级编号schoolidint20数字04学院描述学院的描述descriptionvarchar50任意字符05学院总分记录学院所获总分alltotalint20数字表4-7项目表项目数据项编号数据项名含义说明别名数据类型数据长度取值范围01项目名称项目名称唯一标识itemvarchar30任意字符02项目记录记录该项目最高成绩记录itemscorenumber4数字03项目计数单位项目的计数单位descriptionvarchar20任意字符04项目要求性别项目要求性别sexvarchar20汉字

第四章数据库设计数据库的设计的重中之重是概念设计,它对每个用户的需求实施总合,归纳分类以及抽象,使他成为一个独立于DBMS概念的模型。数据库的设计关键,设计的时候,要先按照系统要求,画出能够反映每一个应用的需求的E-R图,包含了确定实体属性和联系的各个类型。其次要向初始的E-R图进行一系列的优化,消除存在的冗余以及可能会存在的矛盾。概念模型的设计为用户的需求的客观的反应,不包含具体化的软件硬件。所以,在此我们需要集中精力致力于如何表达用户对于系统的各需求,不思考具体实现的问题。4.1确定实体和联系实体为:比赛项目:项目名称,项目记录,项目计数单位,项目要求的性别系统管理员:编号,姓名运动员:运动员编号,姓名,性别,年龄,联系方式,项目,项目成绩,计数单位,院系编号赛场管理员:赛场管理员编号,姓名,性别,年龄,联系方式,比赛进程成绩:排名,成绩报名:比赛项目,人数限制裁决:裁决的人处理:处理的人4.2E-R图系统管理员管理管理11系统管理员管理管理赛场管理员NN赛场管理员处理查询成绩裁决报名制定比赛项目学生NMNMN处理查询成绩裁决报名制定比赛项目学生NMMMNNNNMM4.3关系模式截图4.4数据库逻辑设计4.4.1讲所述的E-R图转换成关系模式比赛项目:(项目名称,项目记录,项目计数单位,项目要求的性别)系统管理员:(编号,姓名)运动员:(运动员编号,姓名,性别,年龄,联系方式,项目,项目成绩,计数单位,院系编号)赛场管理员:(赛场管理员编号,姓名,性别,年龄,联系方式,比赛进程)成绩:(排名,成绩,运动员名字)报名:(比赛项目,人数限制)裁决:(裁决人的名字)处理:(处理的人的名字)4.4.2创建数据表的代码/*总管理员表*/createtableadmin(adminidint,namevarchar(20),passwordvarchar(20),gradeint)altertableadminaddprimarykey(adminid);/*学校表*/createtableschool(schoolidint,schoolnamevarchar(50),descriptionvarchar(50))altertableschooladdprimarykey(schoolid);/*学院表*/createtabledepartment(departmentidint,departmentnamevarchar(50),schoolidint,descriptionvarchar(50),alltotalint)altertabledepartmentaddprimarykey(departmentid);/*项目表*/createtableitem(itemvarchar(30),itemscoreNUMBER(4,2),descriptionvarchar(20),sexvarchar(20))altertableitemaddprimarykey(item);/*学生表*/createtablestudent(studentidint,passwordvarchar(20),studentnamevarchar(20),sexvarchar(5),ageint,telnumber(11),itemvarchar(30),itemscocenumber(4,2),departmentidint,classnamevarchar(20),gradeint)altertablestudentaddprimarykey(studentid);/*赛场管理员表*/createtablesportsadmin(sportsadminidintprimarykeynotnull,sportsadminnamevarchar(50),passwordvarchar(20),sexvarchar(5),ageint,telnumber(11),gradeint,isbeginint)第五章系统设计5.1用户登录模块.根据个人的需求,分为总管理员,赛场管理员,学生登录三种身份选择。而不同类型的人都有自己对应的账号密码,信息等。5.2基本信息模块登录成功之后,进入各自的操作界面。.学生,赛场管理员,总管理员都有自己信息管理的界面,只需轻轻修改,点下提交修改,即可修改自己的信息。5.3管理员模块登录成功之后,进入各自的操作界面。总管理员除了有修改自身信息的能力,还有对赛场管理员,有权限学生进行信息增加,修改,删除,查询的功能。5.4设计模块的设计与实现在比赛之前,赛场管理员有着对项目的增删改查操作,对项目进行整改。在对项目进行整改时,需要先把运动会状态改为暂停,防止学生报名。5.5报名模块在比赛之前,项目设定好之后,有权限的学生拥有报名比赛的权利。限定:每个学院同个项目只能一人报名,一个人只能报名1个项目。5.6比赛进程控制模块赛场管理员有着控制比赛进度的权限,能进行比赛开始,暂停,放弃比赛的权利。5.7比赛成绩录入模块比赛中,赛场管理员有着可以根据学生的比赛成绩,进行录入成绩的功能,并加以校验,如果录入错误及时修改。成绩录入完全之后,自动排序,学院相应的进行分数统计,排名统计。5.8查询模块赛场管理员,有权限的学生都能通过登录系统,查看项目排名,以及学院排名。第六章系统维护和改进6.1数据库运维完成了数据库的物理设计,设计人员需要对数据的定义的语言以及其他试用的程序来使数据库的逻辑设计与物理设计进行描述,编写正确的源代码,其次进过各种调试而产生出目标模式。然后按部就班的入口,建立真正的数据库。同时,在数据库的基本基础上开发各式各样的应用,创建规范的管理,让数据库系统能够正常运转。系统运行的环境的不断变化,数据库也应该进行不断的维护。在不断的运行过程中,相应的代码更是要不断的维护更新。6.2系统改进与提高该系统目前尚有一些不足之处,比如多个学校进行联谊比赛的情况还未实现。在以后的运维中,系统将不断的更新改进,以求能做的更好。第七章结束语致谢我用了很长时间终于写完了这篇论文,在这个过程中,我收益了很多。我遇到过许多困难,是同学和老师的帮助让我解决了困难。我曾在图书馆借阅资料,图书馆的人对我提供许多方面的支持,在这里我由衷的感谢我论文指导老师:王建芬,如果没有她的指导,为了我的论文进行改进,我将无法最终完成论文。在这里,我要向指导过帮助过我完成论文的老师们表示由衷的感谢。当然,我也感激这个论文所引用的各位学者专著,正是这些前辈们的研究成果对我产生了引导作用。我也要感谢帮助过我的同学和朋友,他们为我提供了各种技术指导,素材引用等。他们也在为论文的撰写提供了帮助。我非常感谢他们。由于我的水平不好,难免论文有些不好的地方,恳请各位老师批评以及指正。

参考文献

[1]NicholasC.Zakas.ProfessionalAjax.2ndEdition[M].WroxPress,2012.

[2]WilliamSanders.ASP.NET3.5:ABeginner'sGuide(2edition)[M].McGraw-HillOsborneMedia,2013.

[3]萨师渲,王珊.数据库系统概论[M].高等教育出版社.2000

[4]陆惠恩,陆培恩.软件工程[M].电子工业出版社.第二版.2000

[5]吴中福.软件工程[M].重庆大学出版社.2003

[6]花名拔赤.WEB前端技术[J].程序员.2012年12月期.12月8日.[7]尤雨溪.开源前端框架纵横谈[J].程序员.2013年3月期.3月13日

[8]baiyuzhong.《程序员》封面报道:大数据[J].程序员.2013年2月期,2月29日[9]MartinKlubeck.教你真正读懂技术[J].程序员.2013年4月期,4月7日[10][美]巴克,译者:缪纶//王志璋《JavaScript性能优化(度量监控与可视化)》,机械工业出版社,2014,4[11][美]AiBoWang,

HongTaoMa,

XunLi:AppliedMechanicsandMaterials

(380-384卷),2013,8附录:源代码privateSportsadminServicesportsadminService; privateStudentServicestudentService; privateDepartmentServicedepartmentService; Stringd1; inttobegin; inttoreset; inttosuspend; intsportsadminid; Stringsportsadminname; Stringpassword; Stringsex; intage; longtel; intgrade; intisbegin; publicDepartmentServicegetDepartmentService(){ returndepartmentService; } publicvoidsetDepartmentService(DepartmentServicedepartmentService){ this.departmentService=departmentService; } publicStudentServicegetStudentService(){ returnstudentService; } publicvoidsetStudentService(StudentServicestudentService){ this.studentService=studentService; } publicintgetTobegin(){ returntobegin; } publicvoidsetTobegin(inttobegin){ this.tobegin=tobegin; } publicintgetToreset(){ returntoreset; } publicvoidsetToreset(inttoreset){ this.toreset=toreset; } publicintgetTosuspend(){ returntosuspend; } publicvoidsetTosuspend(inttosuspend){ this.tosuspend=tosuspend; } publicStringgetD1(){ returnd1; } publicvoidsetD1(Stringd1){ this.d1=d1; } publicSportsadminServicegetSportsadminService(){ returnsportsadminService; } publicvoidsetSportsadminService(SportsadminServicesportsadminService){ this.sportsadminService=sportsadminService; } publicintgetSportsadminid(){ returnsportsadminid; } publicvoidsetSportsadminid(intsportsadminid){ this.sportsadminid=sportsadminid; } publicStringgetSportsadminname(){ returnsportsadminname; } publicvoidsetSportsadminname(Stringsportsadminname){ this.sportsadminname=sportsadminname; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicStringgetSex(){ returnsex; } publicvoidsetSex(Stringsex){ this.sex=sex; } publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; } publiclonggetTel(){ returntel; } publicvoidsetTel(longtel){ this.tel=tel; } publicintgetGrade(){ returngrade; } publicvoidsetGrade(intgrade){ this.grade=grade; } publicintgetIsbegin(){ returnisbegin; } publicvoidsetIsbegin(intisbegin){ this.isbegin=isbegin; } //赛场管理员添加 publicStringAddsportsadminAction(){ List<Sportsadmin>list=sportsadminService.getSportsadminall(); intii=1; isbegin=0; grade=1; for(intj=0;j<list.size();j++){ if(list.get(j).getSportsadminid()==ii){ ii=ii+1; }else{ break; } } for(inti=0;i<list.size();i++){ if(list.get(i).getIsbegin()==1){ isbegin=1; } } Sportsadminsportsadmin=newSportsadmin(ii,sportsadminname,password,sex,age,tel,grade,isbegin); sportsadminService.Addsportsadmin(sportsadmin); return"success"; } //查询赛场管理员 publicStringSelectsportsadminAction()throwsException{ List<Sportsadmin>list=sportsadminService.getSportsadminall(); Map<String,Object>request=(Map<String,Object>)ActionContext.getContext().get("request"); request.put("sportsadminList",list); return"success"; } //删除赛场管理员 publicStringDeletesportsadminAction()throwsException{ Sportsadminsportsadmin=newSportsadmin(); sportsadminid=Integer.parseInt(d1); sportsadmin.setSportsadminid(sportsadminid); sportsadminService.Deletesportsadmin(sportsadmin); return"success"; } //赛场管理员修改信息 publicStringUpdatesportsadminAction()throwsException{ Sportsadminsportsadmin=newSportsadmin(sportsadminid,sportsadminname,password,sex,age,tel); sportsadminService.Updatesportsadmin(sportsadmin); return"success"; } publicStringUpdatesportsadmin2Action()throwsException{ Sportsadminsportsadmin=newSportsadmin(sportsadminid,sportsadminname,password,sex,age,tel); Map<String,Object>session=(Map<String,Object>)ActionContext.getContext().getSession(); session.put("sportsadminid",sportsadminid); session.put("sportsadminname",sportsadminname); session.put("password",password); session.put("sex",sex); session.put("age",age); session.put("tel",tel); sportsadminService.Updatesportsadmin(sportsadmin); return"success"; } publicStringCheckSportsstartAction()throwsException{ Map<String,Object>session=(Map<String,Object>)ActionContext.getContext().getSession(); if(tobegin==1){ tobegin=0; sportsadminService.CheckSportsstart(1); session.put("sportsisbegin","比赛已开始"); }elseif(toreset==1){ toreset=0; //如果重置比赛,那么成绩全部清0:运动员和学院总分 studentService.resetStudentScore(); departmentService.ResetDepartmentscore(); sportsadminService.CheckSportsstart(0); session.put("sportsisbegin","比赛未进行"); }elseif(tosuspend==-1){ tosuspend=0; sportsadminService.CheckSportsstart(-1); session.put("sportsisbegin","比赛已暂停"); } return"success"; } publicStringSelectSportsstartAction()throwsException{ List<Sportsadmin>list=sportsadminService.getSportsadminall(); inta=0; intb=0; intc=0; //如果比赛没开始,-1暂停,0未开始,1开始 for(inti=0;i<list.size();i++){ if(list.get(i).getIsbegin()==-1){ a++; } if(list.get(i).getIsbegin()==0){ b++; } if(list.get(i).getIsbegin()==1){ c++; } } Map<String,Object>session=(Map<String,Object>)ActionContext.getContext().getSession(); if(a>b&&a>c){ session.put("sportsisbegin","比赛已暂停"); } if(b>a&&b>c){ session.put("sportsisbegin","比赛未进行"); } if(c>a&&c>b){ session.put("sportsisbegin","比赛已开始"); } return"success"; }privateStringusername; privateintd1; privateintstudentid; privateStringpassword; privateStringstudentname; privateStringsex; privateintage; privatelongtel; privateStringitem; privatefloatitemscoce; privateintdepartmentid; privateStringclassname; privateintgrade; privateStringitemname; staticintstudent2id; staticintdepartment2id; staticStringsex2; Stringitemm; privateStudentServicestudentService; privateDepartmentServicedepartmentService; privateSportsadminServicesportsadminService; privateItemServiceitemService; privateStringsportsisbegin; publicStringgetItemm(){ returnitemm; } publicvoidsetItemm(Stringitemm){ this.itemm=itemm; } publicStringgetUsername(){ returnusername; } publicvoidsetUsername(Stringusername){ this.username=username; } publicItemServicegetItemService(){ returnitemService; } publicvoidsetItemService(ItemServiceitemService){ this.itemService=itemService; } publicSportsadminServicegetSportsadminService(){ returnsportsadminService; } publicvoidsetSportsadminService(SportsadminServicesportsadminService){ this.sportsadminService=sportsadminService; } publicDepartmentServicegetDepartmentService(){ returndepartmentService; } publicvoidsetDepartmentService(DepartmentServicedepartmentService){ this.departmentService=departmentService; } publicStringgetItemname(){ returnitemname; } publicvoidsetItemname(Stringi

温馨提示

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

评论

0/150

提交评论