jsp校园一卡通信息服务系统mysql论文_第1页
jsp校园一卡通信息服务系统mysql论文_第2页
jsp校园一卡通信息服务系统mysql论文_第3页
jsp校园一卡通信息服务系统mysql论文_第4页
jsp校园一卡通信息服务系统mysql论文_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

导论1.1研究背景随着学校规模在不断的扩大以及在校学生人数的扩大,一卡通系统也得到飞速的发展,与学生相关的一卡通信息量也就出现了成倍的增长,对于一卡通信息的日常查询工作自然而然也就变的不那么容易了。以往一卡通查询系统对于信息的查询都是有很多局限之处,各个子系统负责管理各自的信息查询,这就导致了一卡通查询信息的不集中。而且,一卡通查询的各种信息也存放在各种不同的文档里面。对于查找和统计只能依靠手工的收集所有信息,并手工进行统计。这不但耗时而且也不精确。往往导致许多错误的出现。现在,随着各种终端在校园里的普及,一卡通查询系统都会使用各种辅助软件来管理自己的信息查询工作,但是对于整个学校来说,一卡通查询信息分散于各个子系统手中,对于统一的一卡通查询信息系统已成为学校信息化建设的一大障碍。现今,随着计算机软硬件技术的不断发展,对于集中处理大量信息已不再困难。对于高校规模的不断扩大所带来的信息大量增长,有必要开发一套一卡通查询信息查询系统,以方便、快捷、高效的处理一卡通数据信息。1.2研究意义“一卡通信息查询系统”可以合理的整合本校学校的各项一卡通信息,方便学生和管理者及时对信息信息进行必要的增、删、改、查工作,打开对学生一卡通信息管理的通道,大幅提高工作效率。而且,系统完成之后,可以方便的与其它系统如:教职工信息管理系统,成绩管理系统,学生选课系统,奖学金管理系统等进行有效的集成,对学校信息化建设具有重要意义。1.2.1理论意义虽然国内很多高校都推出了自己的一卡通信息查询系统,但是,由于不同院校的管理模式并不相同,使得这些系统不能够在其它院校通用。所以,为了能够方便的管理和查询本校学生的各项一卡通信息,就需要针对本校的具体情况,开发出具有本校特色,适合本校使用的“一卡通信息查询系统”。1.2.2实践意义随着计算机技术和网络技术的迅速发展,人类科学正进入信息时代,信息技术本身正对教育的改革产生深远的影响。现代化的学校少不了现代化的教学设施、设备的武装。建设“校园一卡通信息服务”,为学校的教师、学生和教学管理人员提供具有开放性、灵活性、面向学校应用服务的管理平台、是教学管理科学化的必要前提和基本途径,所以,“校园一卡通信息服务”的建设势在必行。而随着社会的进步与变革,各学校原有的消费和管理模式已不能适应新的发展要求,基于目前现状“一卡通信息服务”应运而生。所谓“一卡通信息服务”即在学校内,凡有现金、票证或需要识别身份的场合均可以通过终端查询。此种管理模式代替了传统的消费管理模式,为学校的管理带来了高效、方便与安全。建立先进的信息管理查询系统是实现高等教育现代化的必由之路,而智能卡技术的推广运用,则是推进高校信息化管理的重要举措之一。校园智能卡可供学生用于校园内部处理杂务,购买食品、饮料、书本,借阅图书,查资料,洗澡等。1.3研究目的我们的目的在于做好“一卡通信息查询系统”的开发,重点在于,理清一卡通信息查询系统的操作流程,以及如何通过编程使得系统能够实现这样的流程,这其实也就是系统的需要分析。众所周知,需要分析是系统设计中最重要的一个环节,只有在清楚需要的情况下,才能开展后续工作。也只有在清楚需要的情况下,才能开发出适合本校使用的一卡通信息查询系统。在项目的实施过程中,我们发现,系统不仅要处理大量的一卡通信息,还要处理上万条的基础数据。作为一个应用型系统,基础信息的完整性是必不可少的,所以,这些数据的收集整理也成了系统设计的重点也是难点。开发过程中的一些需求变动,也使得整个项目的进度和流程受到了很大的影响。因为对学校日常一卡通查询系统运作的方式和流程的不熟悉,导致了需求变动的高频出现,这便成为了系统设计的又一难点。另外,因为项目为团队开发,实施过程中人员的变动比较大,使得项目开发的连续性受到很大影响,做好系统开发的同时还要做好人员的分配,这也是系统设计的一个难点。1.4国内外研究综述1.4.1我国数字化校园的发展历程在上个世纪末,国家教育部就制订了“中国教育信息化九五规划和2000年发展纲要”(草案),提出了我国教育系统信息化建设的指导方针和发展战略,并开始“中国教育科研网”(CERNET)的建设工作。其后又启动了“现代远程教育工程”,积极开展利用现代信息通讯技术来进行远程教育方面的试点工作。此外,教育部批准的67所现代远程教育试点高校也相继建立了网络教育学院,现已招收学生160多万人。在大学信息化基础建设方面,20世纪90年代初期,国内大学建成了校园网并通过CERNET与国际互联网连接的大学总数不过10所左右,计算机网络用户仅数万名。但是到了90年代末期,CERNET已经建成与国际互联网相连的包括全国主干网、地区网和校园网在内的三级层次结构的网络。与此同时,中国国内各大学的校园网建设也在迅速发展,到1999年已经有500余所大学建设了结构先进、功能完备的校园网络并通过CERNET接入国际互联网。2002年,国内1071所各类型全日制高校中,已有900所左右成为中国教育科研计算机网络的用户。这为我国数字化校园的建设打下坚实的基础。近年来,国内高校的数字化校园建设取得了很大进展,在硬件方面:90%以上的普通高校建设了自己的校园网;在软件方面:一些有实力的高校通过自主开发,研发出了教务管理、办公、人事管理、学生管理、数字图书馆、远程教学等多种应用系统,网络在高校的教学、科研、管理中的应用取得了很大进步,到目前为止,绝大多数高校都建设了一些网络应用软件系统。在高校自主开发的同时,一些有远见和实力的软件公司也纷纷加入到了数字化校园建设的行业,研发出了功能完善的数字化校园软件系统,对高校的数字化校园建设起到了推动作用。1.4.2国外数字化校园建设现状1990年美国克莱蒙特大学教授凯尼斯.格林(KennethGreen)发起并主持的一项大型科研项目“信息化校园计划”(TheCampusComputingProject),是数字化校园的概念最早出现。1998年1月31日,美国前副总统戈尔(ALGORE)在美国加利福尼亚科学中心发表了题为“数字地球:二十一世纪认识地球的方式(TheDigitalEarth:Understandingourplanetinthe21stCentury)”的演讲,最先提出“数字地球”概念,全世界普遍接受数字化概念,引出“数字城市”、“数字校园”等各种概念。新世纪以来,西方发达国家大部分高校均成功地完成了数字化校园建设工作。目前西方国家的信息数字化工作也进入一个全新发展时期,特别是高校的信息化建设已进入了全面的发展阶段,诸多高西方校充分地认识到,信息化建设己经成为了高校提高自身管理水平、提升综合竞争实力的重要手段。1.5研究设计与分析思路本“一卡通信息查询系统”采用的是C/S,即ClienttoServer结构,中文全称客户端服务器结构。这里提到的客户端和服务器都是指通信中的两个应用软件。操作计算机的人是系统的用户(User)而不是客户(Client)。它具有可以充分利用两个端的硬件资源的优势,能将任务合理地分配到Client端和Server端来协同实现相应的功能,降低了系统的通信开销。目前,大多数的应用型软件系统都采用的是Client/Server结构。考虑到学校的信息化的实际情况,本“一卡通信息查询系统”选用了胖客户端思想,把用户界面展示和业务逻辑实现放到了客户端来实现。这样可以充分发挥客户端计算机机的处理能力,很多工作可以在客户端处理完成后再提交到服务器端,缓解了服务器端在多用户并发访问的时候的处理压力和通信压力。客户端软件是使用JAVA编写的桌面应用程序对数据进行加工处理并显示,服务器端是采用MySQL提供数据库支持。1.5.1基本概念界定校园一卡通信息服务系统最根本的立足点是“信息共享、集中控制”,因此系统的设计不应是各单个功能的简单组合,从统一网络平台、统一数据库、统一的身份认证体系、数据传输安全、各类管理系统接口、异常处理等软件总体设计思路的技术实现考虑,使各管理系统,各读卡终端设备综合性能的智能化达到最佳系统设计。在上述基础上,我们设计基于此的信息查询系统,系统统应设计尽可能详尽的故障处理方案,保证系统的高质量、稳定、可靠。采用冗余技术保证数据可靠存储。并采用容错性设计(系统的容错性设计是指设计软件时能够保证用户输入的正确性和对系统非法的或破坏性的输入有很强的容错能力),避免造成系统的死机和瘫痪,提高系统的可靠性。在系统使用过程中,由于硬件出现故障或其它原因造成系统暂时性的中断后系统重新启动时,能够保证系统将原有的数据快速恢复,使其继续运行下去。在系统正常运行时,定期地将数据库中的数据备份,也保证了数据的安全。1.5.2研究方法我们的课题研究方法如下:1、调查法首先对校园数字化相关现状进行调查、采访和咨询,整理相关的信息和资料,通过这些数据和材料,调查企业存在的问题和不足,为实施信息查询系统,建立实施计划提供实际的数据支持。2、文献法大量阅读关于信息查询系统实施方面的文献,归纳、整理和比较相关不同的研究方法和实施方式,寻找实施信息查询系统的理论依据,分析当前校园信息查询系统管理软件的系统架构的优点和不足,借鉴其理论精华,为撰写论文提供足够的资料。3、比较法对其他学校的一卡通信息查询系统实施的基本情况进行比较研究,寻找它们的相似之处和不同之处,得到我们学校实施信息查询系统的具体方案。4、分析法分析当前企业管理系统的现状以及存在的问题和不足,提出实信息查询系统的想法与建议。1.5.3研究路线根据论文要解决的问题,通过实证研究与案例分析相结合的方法,查阅了大量有关信息查询系统及其在数字化校园中应用的资料,借鉴己有的研究成果,提出自己的研究结论和创新看法,在研究过程中注重实际应用。具体方法如下:一、文献资料:根据已掌握的文献,查找相关书籍,利用图书馆文献资料库查询各类期刊,学术报告,学术会议论文,学位论文等,了解一卡通信息查询的概念和理论知识,了解数字化校园的现状和实施应用过程中的问题,系统地掌握数字化校园的知识。二、比较分析法:对企业调研,了解数字化校园管理的程度、现状和存在的问题。比较实施数字化校园解决方案在各方面的变化改进,从而对实施效果进行评价。三、人员访谈:根据本研究内容,深入学校数字化项目一线人员进行面谈,获取第一手的详实资料;通过有关专家的书籍来了解他们在一些问题上的想法,也可在相关网上留言,寻求专家解答。1.5.4研究的可能创新之处在目前高校普遍重视数字化校园的今天,各种应用软件系统层出不穷。但仍存在许多问题,如:功能单一,系统孤立,在软件使用上系统存在可扩充请和灵活性差,无法不断完善系统来适应学校的发展需要等。而国外的开发技术较国内的相对来说比较成熟,在开发过程中遵循了可扩展性和包容性,使得系统能接纳已有的数据结构,扩展时有效地保护了已有资源,能方便的调整结构,易于扩充,升级方便。基于JAVA的开发技术,有利于将原有的一卡通信息查询系统进一步优化。使用更少的系统资源,获得更有效率的管理。在系统检索迅速、查找方便、可靠性高,储存量大、保密性好、寿命长、成本低等方面更可以有所创新2数字化校园概述2.1数字化校园的概念数字化校园是以网络为基础,利用先进的信息化手段和工具—计算机技术、网络技术、通讯技术,实现对学校与教学、科研、管理和生活服务有关的所有信息资源进行全面的数字化;并用科学规范的管理对这些信息资源进行整合和集成,以构成统一的用户管理、统一的资源管理和统一的权限控制;把学校建设成面向校园内,也面向社会的一个超越时间、超越空间的虚拟大学,提升传统校园的效率,扩展传统校园的功能,最终实现教育过程的全面信息化。从而达到提高教育管理水平和效率的目的。2.2数字化校园的结构2.2.1网络基础层网络基础层是系统对数据提供支撑的层面,虽然不是解决实际问题的层面,但是却为解决系统数据和系统中的核心部分提供支持,也是设计和编码的重点。我们把系统的各项需要都放到到了这一层进行支撑,并预留出了网络基本服务的接口。这样,当需求发生变动的时候,我们也只需要根据这些接口开发新的业务逻辑,同样不会对其它层产生影响。2.2.2网络基本服务层网络基本服务层在本系统的体系结构中起着非常关键的作用,困为它处于表示层和数据访问层的中间,起着数据交换中的承上启下的作用。层是一种弱耦合的结构,层与层之间的依赖关系是自上而下的,底层对于上层来说是“未知”的,改变上层的设计,对于其调用的底层来说是没有影响的。如果在分层设计的时候,完全遵循了面向接口程序设计的思想,那么,这种向下的依赖关系就应该是一种弱依赖关系。因而,在保持接口定义不变的前提下,理想的分层式结构设计,应该是支持可抽取,且可替换的“抽屉”式结构。也正因为如此,网络基本服务层的设计在一个支持可扩展的结构中尤为关键。因为,它同时扮演了两个不同的角色。对于数据访问角度来说,它是调用者;而对于表示的角度来说,它却成了被调用者。依赖与被依赖的关系都同时作用在网络基本服务层之上,如何做到依赖关系的解耦,则成为了设计师们实现网络基本服务之外的重要任务。2.2.3应用支撑层本层主要包括支撑信息查询工作流擎台。需要支持跨平台的分布式异构数据访问,从而向应用信息服务层提供统一的数据服务。基于信息服务系统通过数据在信息服务层的各应用之间流转,以便根据分工、合理、高效和完整地分配信息。通过上层的面向信息领域的应用框架,框架也可以看作一种半成品,它可以根据需求定制,可快速生成各种具体的信息服务应用,并可根据需要进行动态扩充。2.2.4信息服务层信息服务层是系统与用户直接打交道的层面,也就是用户在使用系统的时候直接见到的层面。在设计这一层的时候,我们严格按照Windows应用程序的用户界面设计准则,在满足用户使用需求的前提下,最大限度的优化了显示效果。表现层直接相关的只是应用支撑层,与网络基本服务层并没有直接联系。在应用支撑层中向表现层中提供了相应的接口,因此,如果在后续开发中如果需要替换用户界面,就只需要将这一层替换掉,而不影响其它层面。2.3数字化校园建设模式分析及其特点“数字化校园"是以校园网为背景而建构的集教学、管理、娱乐为一体的新型数字化的工作、学习和生活环境,是在传统校园的基础上,利用先进的信息化手段和工具,将现实校园的各项资源数字化,形成的一个数字空间,使现实的校园环境在时间和空间上得到延伸。”数字化校园“旨在用层次化、整体性的观点来实施校园信息化建设,将校园网上信息更好地组织分类,让用户在网上快速发现自己需求地信息,并为师生提供网上信息交流环境,同时也可以让管理人员科学、规范地管理自己地数据,并将这些信息快捷地发布出去。”“数字化校园”以网络为基础,在将教学环境、教学资源以及教学管理活动全部数字化后,通过应用系统的紧密联结实现校园的信息传递和信息服务,从而提高教学质量、科研水平和管理水平。也就是说他是以数字化信息为依托,利用计算机技术、网络技术、通讯技术支持学校教学和管理信息流实现教育、教学、科研、管理、技术服务等校园信息的收集、处理、整合、存储、传输、应用,使教学资源得到充分优化利用的一种虚拟教育环境。简单来说就是实现学校、老师、家长之间三者沟通的数字化平台2.4数字化校园的发展趋势我国的数字化校园起源于大学的一卡通建设,“校园一卡通”的功能和用途主要体现在校园消费、管理和金融应用(银行)两方面,实现了“一卡在手,走遍校园,一卡通用,一卡多用”。校园卡具有借书卡、上机卡、就餐卡、医疗收费卡、洗澡卡、购物卡、门禁卡、存车卡、乘车卡等多种功能,以后还会逐步扩充功能。随着教育现代化和信息化步伐日益加快,越来越多的中小学校也开始重视基于网络的数字化校园建设。数字化校园的价值在于创造网络文化氛围,增强教育的开放性、灵活性、普遍性和共享性,促进教育的民主化、平等化和个性化,探索在网络环境下的学习、教学、管理和科研的新模式,培养具有创新精神、实践能力的一代新人。因此,数字化校园是数字时代学校的必然发展目标,是校园文化发展的必然。3开发环境为了能够高效、高质量的完成本次项目开发,我们选用的开发平台和开发工具都是比较先进的。如:用于支撑整个项目开发和运行的系统框架NETFramework2.0,用于整个项目开发的程序设计语言JAVA,用于编码和调试的集成开发环境Eclipse,用于管理源代码的VisualSourceSafe2005,用于管理数据库的MySQL等。这些工具的使用,使得我们能在既定时间完成这个数据量极大的项目的开发、测试及部署。3.1NETFramework2.0.NetFramework是用于生成、部署和运行应用程序以及XMLWebServices的多语言环境。它由三个主要部分组成:3.2公有语言运行库运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化:由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的COM相比。特别是反射等功能显著减少了开发人员为将业务逻辑转变为可重用组件而必须编写的代码量。3.3统一编程类该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集(API)。目前,Java开发人员使用Windows基础类。该框架统一了这些完全不同的模型,还为JAVA和JAVA+=程序员提供了对类库的访问。通过创建跨所有编程语言的公共API集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从JAVA到JAVA++的所有编程语言具有对框架的相似访问,开发人员可以自由选择要使用的开发环境。3.4Eclipse集成开发环境Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。3.4.1Eclipse特点在Eclipse中注入多种语言和代码编辑器功能,这些功能将为JAVA开发人员提供“专注于代码的RAD”,从而提高创建业务框架和可重用的面向对象组件的工作效率。这些功能包括泛型、迭代器、匿名方法、不完全类型以及重构。随着项目的复杂性不断提高,程序员经常需要一种方式来更好地重用和自定义现有的基于组件的软件。为了达到这样一种高级代码重用,程序员通常利用一种称为泛型的功能。在Eclipse中,CLR包含一个类型安全、高性能、编译时验证版本的泛型,与JAVA中的模板以及为Java语言提供的泛型相比,该泛型的语法稍有不同,而实现则有很大区别。泛型使开发人员能一次性地创作、测试和部署代码,然后将这些代码重用于多种不同的数据类型,而性能影响可忽略不计。与其他强类型实现相比,CLR的泛型实现还将减小代码膨胀,从而使源代码更加易于阅读和维护。除通过泛型提高代码重用性以外Eclipse还将提供对迭代器的支持,以便消除与实现枚举数模式相关联的、频繁重复的事务性工作。基于研究型语言(如CLU、Sather和Icon)中的类似功能,迭代器使类型易于声明foreach语句对其元素进行迭代的方式。JAVA编译器会自动将迭代器代码转换为适当的类,而无需创建类和生成状态机,以便手动实现枚举数模式。匿名方法是实用的语言构造,让使用Eclipse的程序员能够创建可封装在委托中且后期执行的代码块。它们基于称为λ函数这一语言概念,类似于Lisp和Python中对应的语言概念。匿名方法在其使用时动态定义,而不是作为特定类的命名方法预定义。匿名方法使某些类型的操作更加方便,尤其是方法签名或方法体在运行时需要更改的情况。通过匿名,JAVA开发人员可在编写代码以后改进代码的设计和效率。Eclipse包含下列重构类型:重命名、封装字段、更改方法签名、提取方法和提取接口。3.4.2Tomcat特点与优势Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。[2]Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场ApacheTomcat合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。3.5基于Windows的WEB程序设计特点Windows设计方法使开发人员能够具备Windows客户端PC的全部强大功能。在.NETFramework2.0中,Windows类将得到增强,以便包含改进的应用程序部署模型、提高的开发人员的工作效率和简化的数据访问。.NETFramework2.0还将包含对Windows客户端应用程序性能和安全性的显著增强。.NETFramework2.0非接触部署策略通过引入“ClickOnce”(一种将Web应用程序部署的简易性和安全性带给Windows客户端应用程序的新技术)进而得到改进。建立在自说明性程序集、组件清单和并排组件安装的特征基础之上,ClickOnce使开发人员能够发布、安装和维护Windows客户端应用程序,而无需害怕破坏客户端操作系统上的现有功能。尽管传统的部署会生成可能要求对系统注册表和到共享系统文件夹的安装进行修改的MSI软件包,但ClickOnce发布被定制为安装独立的、无需注册的程序集。开发人员可选择最适合其Windows客户端应用程序的模型:ClickOnce发布、MSI部署或者两者的组合。使用ClickOnce安装的Windows客户端应用程序新功能包括:对脱机运行应用程序的支持,回滚到以前版本的应用程序,在Windows“开始”菜单中列出应用程序,以及控制面板中的“删除程序”目录。此外,.NETFramework2.0中的ClickOnce部署使开发人员能够用Windows客户端应用程序分发.NETFramework。为进一步支持该部署模型,在代码访问安全方面进行大量的投入,以便控制从远程Web服务器部署的应用程序的功能,从而防止用户受到恶意代码的攻击。在.NETFramework2.0中,授权操作(可以由已部署的应用程序安全地执行)的范围将得到扩展。此外,对.NETFramework进行的增强将使系统管理员更容易安全地产生对代码访问安全策略的更新。其次,Windows窗体将包含能够提高开发人员工作效率的功能和控件。这些功能和控件包括:用于承载Office文档的活动文档容器、MicrosoftOffice样式工具栏、直观的拆分器控件、可以在不完全信任模式下运行的声音组件、可以通过托管代码安全访问的Web浏览器控件,以及随屏幕分辨率或窗体大小的更改而自动调整窗体上控件位置和大小的布局控件。此外,通过在Windows窗体异步编程模型方面的大规模投入,多线程应用程序的实现将得到简化。很多Windows窗体控件将具有异步属性,并且将由一个能管理异步任务的新的、直观的BackgroundWorker组件加以补充。这些新的控件和组件将使用为Windows窗体设计器计划的增强功能,包括智能标记、视图轮廓线、数据预览等。使用智能标记,Windows客户端应用程序开发人员可通过单击鼠标方便地自定义数据绑定控件的外观和行为;视图轮廓线将简化窗体内控件组的布局,而数据预览将使开发人员能够在设计时查看填充的数据绑定控件。3.6MySQL数据库MySQL数据库是一个客户机/服务器关系数据库系统,它使用Transact-SQL语言在客户机与MySQL数据库服务器之间发送请求。MySQL是一个全新的数据库服务器产品,是一个企业级的网络关系型数据库管理系统,该产品拥有的种种新特性使它成为数据库服务器产品中的佼佼者,并且越来越得到广大用户的青睐。SQL全称是“结构化查询语言(StructuredQueryLanguage)”,它的前身是SQUARE语言。SQL语言结构简单、功能强大、简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQLSever这些大型的数据库管理系统,还像VisualFoxpro等计算机上常用的数据库开发系统,都支持SQL数据查询语言。SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。MySQL的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。MySQL相比其SQLServer有很大优势,新增加或改进了了一些很实用的功能。如:SQLServer2000中的Top表达式,是一个固定值,MySQL改为可用参数;新增加了简单的分页算法;可以直接发布WebService等。3.7系统安全3.7.1网络信息安全为了避免系统中敏感信息在网络上传输时的泄露,系统将会对数据进行加密后再传输。为了进一步保障系统数据的安全,我们可以对访问系统的IP段进行隔离,让学校办公室所使用的网段能顺利登录系统,使用系统的所有资源,而其它网段则不能够登录到系统当中。3.7.2数据库安全SQL注入式攻击是黑客常用的对数据库攻击手段之一。一般情况下,SQL注入攻击都是通过恶意的构造SQL语句,骗取系统的登录验证来获得系统的访问权限。这种攻击可能造成的后果是无法想象的。通过SQL注入式攻击可以获得超出系统用户最高权限的权限级别,可以修改数据库中的数据,甚至可以删除数据库的数据。为了防止SQL注入式攻击,最佳的解决方安就是使用存储过程。因为,存储过程都是通过其名字调用的,不涉及具体的SQL语句,传递进去的参数都需要经过MySQL服务器的审核才能够正常使用。而且,具体的SQL语句都存储在MySQL服务器中,攻击者无法再通过构造恶意SQL语句来对系统数据进行破坏。为了避免用户无意中删除数据库中的表影响到数据的完整性,我们在数据库服务器中定义了不同的角色,并将用户加入到不同的角色里,实现了不同用户具有不同数据库操作权限的划分。3.7.3用户安全在前一小节中有提到数据库的用户划分了不同权限,但仅仅这样还不够,还需要在应用程序级建立不同的角色,划分不同的权限。通过验证登录和基于角色的授权,保证通过验证的用户才能访问本系统,并且,只是属于某一角色的用户,才能获得相应的许可,对系统中的数据进行更改。角色的思想方便了对系统用户的管理。对任何一个应用软件来说,日志记录都是非常重要的,通过对日志的分析,管理员可以很快了解到系统中做了哪些更改,并从中找到合理的和不合理的改动,定位到相关责任人,并阻止错误的扩大化,及时修复已经发生的错误。3.7.4数据备份机制由于是学校信息查询类实际应用软件,对系统中数据的安全性要求非常高,数据的丢失若不能被快速的恢复,就意味着系统是失败的。所以,数据库的备份就显得非常有必要。数据库的备份操作能使一卡通数据意外丢失的可能性降至最低。即使数据库服务器发生意外,学生数据丢失,我们也能尽快的回复丢失的数据。随时保持数据的完整性、一致性。MySQL服务器提供了非常杰出的数据自动备份功能,这当然给我们带来了极大的便利。不过,考虑到学生数据的重要性。我们建议每隔一段时间,管理员自己手动备份一次。而且数据备份要放到其他机器上,避免和数据库服务器在同一机上。这样如果数据库服务器被Down机,我们仍有备份数据可以使用,可以随时准备恢复使用。3.8信息注销机制考虑到随着学校办学时间的延续,学生的数量会不断增长,数据库中的数据行也会随着增多,而学校日常管理对已经毕业的学生的一卡通信息的需求并不多,所以,系统对学生的毕业状态加了标识,查询的时候可以根据需要选择是否包含毕业的学生。系统中要有设置毕业的功能,当一届学生毕业之后,由管理员将所有毕业学生的标识设置为已经毕业。设置为毕业过后,毕业学生的所有数据都将成为不能更改的数据。3.9日常管理机制系统要能够记录所有用户的登录和修改操作。登录日志需要记录登录者及登录时间。操作日志则需要记录用户对系统内信息所做的任何改动。如,修改学生的一卡通号码,记录时需要将原一卡通号码和新一卡通号码同时保存,以备不慎错改时的恢复。3.10意见和建议的提出用户可以在对系统的使用过程中提出自己的意见或改进建议,系统要能对用户提出的意见或改进建议进行保存,管理员能够查看系统中保存的意见或改进建议,并在处理之后做出回应3.11系统的部署环境服务器端硬件:CPU2GHz以上,内存1G以上,磁盘剩余空间10G以上,10/100M自适应网卡。服务器端软件:WindowsServer2003+InternetInformationSystem6.0以上,SQLServer2005,.NetFramework2.0以上,MicrosoftOffice2000以上。客户端硬件:CPU1GHz以上,内存512M以上,磁盘剩余空间10G以上,10/100M自适应网卡。客户端软件:WindowsXP,InternetExplorer6.0以上,.NetFramework2.0以上,MicrosoftOffice2000以上。3.12系统的可靠性系统统应设计尽可能详尽的故障处理方案,保证系统的高质量、稳定、可靠。采用冗余技术保证数据可靠存储。并采用容错性设计(系统的容错性设计是指设计软件时能够保证用户输入的正确性和对系统非法的或破坏性的输入有很强的容错能力),避免造成系统的死机和瘫痪,提高系统的可靠性。在系统使用过程中,由于硬件出现故障或其它原因造成系统暂时性的中断后系统重新启动时,能够保证系统将原有的数据快速恢复,使其继续运行下去。在系统正常运行时,定期地将数据库中的数据备份,也保证了数据的安全。4系统实现功能复杂的系统都是由一系列不同的层级组合起来的,各层级是否能良好的发挥自己的作用,是否能顺利的合作关系到系统的可用性和完整性。接下来将对系统主要层级的实现做详细的说明。4.1数据库系统的实现数据库是一个应用软件系统的基础,所以,数据库设计是否优良会直接影响到整个系统的开发和使用。4.1.1数据表的设计关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库。目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。范式可以避免数据冗余,减少数据库的空间,减轻维护数据完整性的麻烦,但是操作困难,因为需要联系多个表才能得到所需要数据,而且范式越高性能就会越差。要权衡是否使用更高范式是比较麻烦的,一般在项目中,用得最多的也就是第三范式,我认为使用到第三范式也就足够了,性能好而且方便管理数据。因此,要建立一个良好的数据库,应首先考虑遵循第三范式,但是范式的应用不是死板的,在实际应用中,有时候会为了从系统整体上考虑,使得部分数据表不满足第三范式。本系统建立的数据表如下:1、accesscontrolinfo表名称类型cardNovarcharinTimedatatimeoutTimedatatimeplacevarcharmoneydoubleidintborrowbookinfo表idintcardNovarcharbookNamevarcharbeginTimedatatimeendTimedatatimefinedouble3、consumeinfo表idintcardNovarcharconsumePlacevarcharconsumeTypevarcharconsumeTimevarcharmoneydouble4、machineroom表idintnamevarcharindentifyvarchardepartmentvarcharcardNovarcharcardTypevarcharcardstatevarcharmoneydoublepasswardvarchar5、userinfo表idintnamevarcharindentifyvarchardepartmentvarcharcardNovarcharcardTypevarcharcardstatevarcharmoneydoublepasswardvarchar4.1.2数据存储过程的设计SQL语句执行的时候要先编译,然后执行。存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程是利用MySQL所提供的Tranact-SQL语言所编写的程序。Tranact-SQL语言是MySQLr提供专为设计数据库应用程序的语言,它是应用程序和MySQL数据库间的主要程序式设计界面。它好比Oracle数据库系统中的Pro-SQL和Informix的数据库系统能够中的Informix-4GL语言一样。存储过程具有以下优点:#存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

#可保证数据的安全性和完整性。

#通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。

#通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。

#在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。

#可以降低网络的通信量。

#使体现企业规则的运算程序放入数据库服务器中,以便:集中控制。

#当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。如果把体现企业规则的运算放入存储过程中,则当企业规则发生变化时,只要修改存储过程就可以了,应用程序无须任何变化。下图既是存储过程文件:图4.1存储过程文件4.2数据库的操作系统的中对数据库操作的类都集中存放在文件中,包含的方法都是静态方法,使用时无需实例化,直接调用就可以完成对数据库的直接操作。例如要执行一个数据读取器查询,可以直接调用ExecuteReader方法,具体操作:ExecuteReadersdr=SqlHelper.ExecuteReader(OperateSeverStudent.selectOperateByDynamic,CommandType.StoredProcedure,"Student",OperateSeverStudent.selectParameter);本系统主要设计的数据库操作主要包括:参数传递、返回数据集、返回数据读取器、返回单个值和无返回值部分;详细的JAVA数据库操作代码如下:4.2.1参数传递privatestaticvoidPrepareCommand(SqlConnectionconn,SqlCommandcmd,CommandTypecmdType,stringcmdText,SqlParameter[]cmdParms){cmd.Connection=conn;cmd.CommandText=cmdText;cmd.CommandType=cmdType;if(cmdParms!=null){foreach(SqlParameterparmincmdParms){cmd.Parameters.Add(parm);}}}4.2.2返回数据集publicstaticDataSetExecuteDataset(stringcmdText,CommandTypecmdType,stringTableName,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlDataAdapteradapter=newSqlDataAdapter();SqlCommandcmd=newSqlCommand();adapter.SelectCommand=cmd;PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);DataSetds=newDataSet();try{conn.Open();adapter.Fill(ds);conn.Close();cmd.Parameters.Clear();returnds;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}}4.3.3返回数据读取器publicstaticSqlDataReaderExecuteReader(stringcmdText,CommandTypecmdType,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);try{conn.Open();SqlDataReaderreader=cmd.ExecuteReader(CommandBehavior.CloseConnection);cmd.Parameters.Clear();returnreader;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}4.3.4返回单个值publicstaticobjectExecuteScalar(stringcmdText,CommandTypecmdType,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);try{conn.Open();objectval=cmd.ExecuteScalar();conn.Close();cmd.Parameters.Clear();returnval;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}}4.3.5无返回值publicstaticintExecuteNonQuery(stringcmdText,CommandTypecmdType,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);try{conn.Open();intval=cmd.ExecuteNonQuery();conn.Close();cmd.Parameters.Clear();returnval;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}}4.3系统功能与结构详述用户信息服务是本系统的主要研究内容,包括用户基本信息查询、消费信息查询、门禁信息查询、图书借阅信息查询、机房上机情况查询、领导统计查询六个部分。4.3.1用户基本信息查询模块本模块主要实现持卡人基本信息的查询,包括用户姓名、身份、部门、卡类型、卡状态等,详细查询情况如下:图4.3.1用户基本信息查询模块4.3.2用户消费信息查询模块主要实现对持卡人与卡片金额变动有关的所有消费明细进行查询,(消费地点:各食堂,超市,水房,电子阅览室,洗浴中心、电费处等)a)按照交易类型进行查询,交易类型包括消费、充值、补助、罚款等;b)按消费场所查询,主要包括:饮食中心(第六食堂、第七食堂等),超市(济大超市、荷园超市等),水电中心(水房、电费处),机房管理中心,图书馆(超期书籍、电子阅览室),医院等;c)按照交易时间查询,用户既可以选择固定时间段(如“今天”,“最近一周”,“最近一月”等)查询,也可以根据需求,输入开始日期和终止日期进行查询;图4.3.2消费查询模块的界面设计4.3.3消费系统模块的架构设计4.3.3门禁信息查询模块门禁管理模块主要由校园一卡通、计算机、门禁管理软件、门禁读卡器、门禁控制器和电子门锁等几部分组成。根据具体应用,还可外接开门按钮、门磁开关、报警器、发卡器等辅助装置。能够快速的发现自己进出宿舍或教学楼的流水情况,机房上课情况,及时发现是否被别人使用的情况。同样包含以下几种查询功能:按照时间查询,用户可以查询指定时间段其进行学校各个具有门禁系统的场所的相关记录;按照场所查询,用户可以查询其进出指定场所的相关记录图4.3.4门禁系统查询界面4.3.5门禁子系统功能架构图4.3.4图书借阅信息查询模块本模块主要为了方便广大师生查阅自己的图书借阅情况,是否超期以及已借多少本图书,更好的把握自己借阅和归还图书的时间;主要包括以下两个功能:按照科室查询,用户可以查询已经借阅的图书、借阅时间、到期时间、超期罚款额等信息;按照时间查询,用户可以通过该系统自助实现图书的续借和图书预约等。(5)机房情况查询:按照姓名和时间查询;有,校园卡号,姓名,上机时间下机时间,消费金额4.3.6图书借阅模块架构图4.3.7图书信息查询流程图4.3.5机房上机情况查询模块本模块主要能按照姓名和时

温馨提示

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

评论

0/150

提交评论