教务管理系统毕业设计论文_第1页
教务管理系统毕业设计论文_第2页
教务管理系统毕业设计论文_第3页
教务管理系统毕业设计论文_第4页
教务管理系统毕业设计论文_第5页
已阅读5页,还剩21页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

东华理工大学毕业设计(论文) 致谢摘要随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂。如何把教务工作信息化,模块化,便捷化是现代高校发展的重点,所以迫切需要研制开发一种综合教务管理软件。教师教务管理是学校教师的教务工作的主要内容,其信息量大、信息变动频繁历来是各学校的头疼问题,随着人们对用计算机的使用越来越广泛以及互联网络普及,教师教务管理也已经基本形成了多元的网络化管理,极大的方便了广大师生,也方便了学校对教务工作的管理,大大的提高了教学质量。本系统采用Tomcat、Javascript、MyEclipse结合php的MySQL数据库进行设计,从管理和使用的角度分为两个部分:学校教务管理端和学生使用端。前者主要有系统管理员及任课教师使用,后者则是主要面对在校学生。本文首先作教师教务管理系统的功能需求分析,然后对数据库进行需求分析,再在数据库中建立相应的表,并弄清楚数据库中各个表的逻辑关系,接着编写代码,最后调试网站,直到形成用户满意的可以使用的完整系统。关键词:教师教务管理系统;Tomcat;Javascript;MyEclipse;MyEclipse;MySQLAbstractWiththecontinuousreformofeducationsystem,especiallythecreditsystem,theexpansionandin-depthelectivesystem,thedailymanagementoftheSenateincreasinglyheavyandcomplex.Informationonhowtoacademicwork,modular,convenientfocusofthedevelopmentofmodernuniversities,thereisanurgentneedforresearchanddevelopmentofanintegratededucationalmanagementsoftware.AcademicSenate,theschoolmanagementisthemaincontent,itisinformative,informationhasalwaysbeenthefrequentchangesinschoolsofheadacheproblems,aspeopleusedmoreandmoreextensiveuseofcomputersandthepopularizationoftheInternet,educationaladministrationhasbeenbasicallyformedamulti-networkmanagement,agreatconveniencetoteachersandstudents,butalsoontheSenatetofacilitatetheworkoftheschoolmanagement,greatlyincreasedthequalityofteaching.ThesystemusesaFlexBuilder,MyEclipsecombinationofMySQLdatabasedesign,fromtheperspectiveofmanagementanduseisdividedintotwoparts:SchoolofInthispaper,firstofall,makethefunctionsofeducationalmanagementsystemneedsanalysis,thenthedatabaseneedsanalysis,andtheninthedatabasecorrespondingtable,andeachdatabasetabletoclarifythelogicofrelations,andthenwritecode,debugthefinalsite,untiltheformationofcustomersatisfactionThecompletesystemcanbeused.Keywords:EducationalAdministrationsystem;Tomcat;Javascript;MyEclipser;MyEclipse;MySQL目录绪论 10.1课题研究的背景 10.2课题研究的意义和目的 11.系统的定义与简介 31.1系统定义 …………………..31.2系统开发环境简介 31.2.1MyEclipse开发工具简介 41.2.2Tomcat服务器简介 41.2.3php+MySql数据库简介 51.3系统部署环境简介 51.4系统中主要用到的技术简介 51.4.1Java技术简介 51.4.2JSP技术简介 51.4.3struts简介 61.4.4Hibernate数据库持久化技术 62.系统分析 82.1系统可行性分析 82.2系统需求分析 92.2.1系统功能需求分析 92.2.2操作流程分析 102.2.3系统性能需求 113.系统设计 83.2.1学生业务逻辑 203.3.1数据库实体联系图 243.3.2数据库关键表结构 253.3.3数据库关系结构图 27总结 35致谢 36参考文献 37绪论0.1课题的研究背景目前我国各行各业的信息化建设开展得如火如荼,这种信息化的发展已经影响到了各学校。学校在对学生进行管理时,学生学籍的管理一直都是很麻烦的事情,不仅仅管理起来不易修改和更新,而且学生需要了解本人的信息时,也需要去学校教务处找专门人员。由于这些操作的繁琐性,教务管理系统的开发成为各学校必须的事情,特别是各个高校。一个成功的教务管理系统,应该能够有效地辅助教务人员工作,提高学校学生的学籍、成绩等管理能力,并且不断完善系统,以便更好的帮助学生、教师、系统管理人员等管理成绩、课程、学籍等。然而目前许多教务管理系统在使用时,效率低下容易出错,学生、教师资料不易整理,大量丢失,这些无疑都已成为管理学生学籍、教师信息的障碍。这就要求学校能够建立高效的教务管理系统,对学生的选课、查询等操作及流程进行规范化管理,简化业务流程,提高工作效率并防止中间的漏洞;迅速、准确地捕捉用户要求,并加以高效回应。同时需要不断完善系统,增加模块,更好的满足用户需求,简化教务人员的管理工作,尽量做到一切信息化。0.2课题的研究意义和目的对于学校教务处而言,最主要的是管理学生的学籍、管理教师的课程教授。如果使用一般的方法来管理,会比较繁琐,管理起来也很有可能出错。为了方便教务人员的管理工作,提高工作效率,同时为了更好地为学生、教师提供服务,有必要开发教务管理系统,使学校的教务管理走上信息化之路,克服人为的种种弊端。教务管理系统的开发不仅可以减少人力、物力和财力资源的浪费,更重要的是有助于提高教务管理的效率。教务管理人员管理学生信息、管理教师信息教授时是一项复杂的组织工作,这种复杂性不仅仅指学生学籍变更快,变更人数众多,更突出地表现在教务管理主要对象(即学生)的数据量大,管理起来带来不便,所以开发一个实用、高效的教务1系统的定义与简介教务管理系统为教务管理人员管理日常教务工作提供了方便。学生可以使用此系统查询自己的平时成绩、查看自己的平时课堂表现信息,还可以打印自己的成绩等。学生功能:个人信息查询、修改;成绩查询;密码修改;打印成绩等。1.1系统的定义本系统是方便学校教务人员管理学生学籍、管理教师、方便教师和学生处理日常学籍工作而开发的。现今全国各学校的管理系统正逐步与网络信息技术接轨,对学校的学员信息能够更方便地进行管理,运用教务管理系统实现管理模式的科学化、现代化,大大提高学校教务管理的运行效率和管理水平。因此,在科技、信息和网络技术高速发展的带动下,教务管理系统趋向于集计算机网络技术、科学管理方法等于一体,方便处理教务工作。由于学校教务管理的特殊性,决定了教务服务的综合性较其他服务更为突出和特殊,而学校教务对用于辅助管理的管理系统要求就相对更高。对于学校教务而言,具有实用意义的管理系统,在硬件上应采用互联网、办公自动化等信息技术,在软件上应融入当代各学校最优秀的管理思想,从而更好地辅助教务人员的管理工作。本课题就基于教务管理的理念和信息技术的结合这样一个出发点而提出的需要。我国的各学校教师、学生人数众多,学校需要一个足够完善的教务管理系统来管理学生的平时表现情况、平时成绩和到课率等,所以本系统提供了对学生的信息管理、对学生的成绩、对教师的信息管理等功能,足够教务人员管理日常的教务工作。1.2系统开发环境简介1.2.1MyEclipse开发工具简介MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:1.JavaEE模型2.WEB开发工具3.EJB开发工具4.应用程序服务器的连接器5.JavaEE项目部署服务6.数据库服务7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。1.2.2Tomcat服务器简介Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。1.2.PHP是HypertextPreprocessor的缩写,PHP是一种内嵌\o"HTML"HTML的\o"脚本语言"脚本语言。目前很多网站都是基于PHP+\o"MySQL"mySQL实现的,尤其是国外的开源代码,大部分都是由PHP写成。PHP理想的运行平台是\o"Linux"Linux+\o"Apache"Apache+PHP,一般动态网站还需要数据库的支持,常用的是\o"MySQL"mySQL。也可以运行在\o"Windows"Windows平台下,可以采用\o"IIS"IIS+PHP或者\o"Apache"Apache+PHP的方式。\o"PHP"PHP是一个运用广泛、用来建造\o"Web"Web站点的\o"程序"程序语言,虽然其可以用在台式机上供个人使用,但典型运用还是用在\o"Web"web\o"服务器"服务器上和让用户通过\o"Web"web浏览器来访问它。当你用\o"浏览器"浏览器访问一个网页时,它会使你的电脑和另一台电脑间在\o"因特网"因特网上产生一个会话。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL是目前最为流行的开放源代码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典的MySQLAB公司开发、并布并支持的,于1995年建立。它的象征符号是一只名为Sakila的海豚,代表着MySQL数据库和社团的速度、能力、精神和优秀品质。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,很多公司向开放源代码的数据库系统迁移,从而降底花费成本。MySQL可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。MySQL具有功能强大、支持跨平台、运行速度快、支持面向对象、安全性高、成本低、支持

。MySQL是一个真正的多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点。MySQL主要目标是快速、健壮和易用。关键的是它是免费的,可以在Internet上免费下载到,并可免费使用。MySQL对于一般中小型,甚至大型应用都能够胜任。各种开发语言、数据存储量大、支持强大的内置函数等特点。Mysql有以下的特性:1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统

3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

4.支持多线程,充分利用CPU资源

5.优化的SQL查询算法,有效地提高查询速度

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径

8.提供用于管理、检查、优化数据库操作的管理工具

9.可以处理拥有上千万条记录的大型数据库与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。1.3系统部署环境简介1)开发环境:MyEclipse8.52)服务器:Tomcat6.03)Java平台:JDK6.04)php5.2.1.4系统中主要用到的技术简介1.4.1Java技术简介Java是由Sun公司于1995年5月推出的程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器显示了Java的魅力,可实现跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持JavaApplet;另一方面,Java技术也不断更新。Java语言是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。而Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。1.4.1JSP技术简介JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似\o"ASP"ASP技术,它是在传统的网页\o"HTML"HTML文件(*.htm,*.html)中插入\o"Java"Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。其在动态网页的建设中有其强大而别特的功能,现介绍如下:

JSP的优点

1,将内容的生成和显示进行分离

使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。

在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

2,生成可重用的组件

绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。3,采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。4,将内容的生成和显示进行分离

与SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println书写和修改HTML更方便。此外,你可以更明确的进行分工,WEB页面设计人员编写HTML,只需要留出地方让SERVLETS程序员插入动态部分即可。

5,由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。6作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。1.4.2struts简介Struts是\o"开源软件"开源软件。使用Struts的目的是为了帮助我们减少在运用\o"MVC"MVC设计模型来开发\o"Web"Web应用的时间和想混合使用\o"Servlets"Servlets和\o"JSP"JSP的优点来建立可扩展的应用。Struts框架的组件结构图Struts是\o"Apache"Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助\o"Java"java开发者利用\o"J2EE"J2EE开发Web应用。和其他的java架构一样,Struts也是\o"面向对象"面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于如JavaServlets,\o"JavaBeans"JavaBeans,\o"ResourceBundles(尚未撰写)"ResourceBundles与\o"XML"XML等标准技术,以及JakartaCommons的一些类库。Struts由一组相互协作的\o"类"类(组件)、Servlet以及jsptaglib组成。基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟\o"Tomcat"Tomcat、\o"Turbine"Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts是一种开源软件,它可以帮助开发人员更快更容易的开发Web程序.Struts所基于的标准技术例如JavaBeans,servlets和JSP,是大多数开发人员非常熟悉掌握的.在软件开发过程中通过使用标准组建,并用填空式的开发方法,Struts可以帮助程序员减轻每个新项目都重复进行那些既费时又繁琐的工作。Struts对于公众是免费的.使用该软件现在以及将来都不需要付出任何费用.你可以用Struts来创建一个商业项目,也不需要交付任何费用就可以毫无阻力的分发Struts的运行版本.Struts使用的是Model2体系结构。ActionServlet负责控制总流程。另外一个Action类负责存取业务逻辑类。当ActionServlet类从容器中获取一个请求时,它使用请求的URI(路径)来决定是哪一个Action来处理该请求。一个Action可以检验输入的合法性、通过业务逻辑层来读取数据库或者其他数据服务中的信息。要完成这些功能,Action需要用户提交给它处理数据。为了每一个Action都要处理从请求中提取输入数据的操作,Struts将这些输入数据绑定到JavaBean中。每一个这样的输入Bean都是Struts中ActionForm类的子类。ActionServlet通过查看请求的路径就可以决定哪一个ActionForm用来包含输入数据。这些ActionForm类都应该是org.apache.struts.action.ActionForm的子类。每一个HTTP请求都必须有一个HTTP响应。但Struts自己并不生成响应,而是将该请求转发到其他的资源上如JSP页面。Struts提供一个名为ActionForward的类来将逻辑名保存到每个页面的路径。当业务逻辑部分已经执行完成后,Action会选择一个ActionForward,并且将它返回给总控Servlet。总控Servlet会使用在该ActionForward中存储的物理路径来调用对应的页面来完成HTTP响应。Struts将所有这些方面的细节信息都定义在ActionMappping对象中。每一个ActionMapping对象都对应于一个指定的路径。当该路径被请求时,总控Servlet会获取对应的ActionMapping对象。该对象会告诉总控Servlet该使用哪些Action、ActionForm和ActionForward对象。全部有关的Action、ActionForm、ActionForward以及ActionMapping的信息和其他的配置信息都在Struts-config.xml文件中声明。ActionServlet在启动的时候会读取该文件,并且创建包含所有这些配置对象的数据库。在运行时,Struts会使用这些对象,而不是使用文件本身。一个ActionForm是继承自org.apache.struts.action.ActionForm类的一个JavaBean。该对象从输入的请求中获取输入项。当IE向服务器提出请求时,IE会根据表中每一个输入项在HTTP请求中添加一个参数对。同样,ActionForm对于HTML表中的每一个项都有一个相对应的属性。ActionServlet会将HTTP请求中的参数和ActionForm中的属性进行对不。当两者相匹配时,ActionServlet会调用相对应的setter方法来将HTTP请求中的值设置为ActionForm中的属性值。1.4.3Hibernate数据库持久化技术Hibernate是一种\o"Java"Java语言下的对象关系映射解决方案。它是使用\o"GNU"GNU宽通用公共许可证发行的自由、\o"开源"开源的\o"软件"软件。它为\o"面向对象"面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的\o"框架"框架。Hibernate对\o"JDBC"JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵\o"数据库"数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在\o"Servlet"Servlet/\o"JSP"JSP的\o"Web"Web应用中使用,最具革命意义的是,Hibernate可以在应用\o"EJB"EJB的\o"J2EE"J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的\o"SQL"SQL语句。)。但需要注意的是Session对象是非\o"线程"线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口Query和Criteria接口负责执行各种数据库查询。它可以使用\o"HQL"HQL语言或SQL语句两种表达方式。Hibernate是一个免费的开源Java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。

大多数应用程序都需要处理数据。Java应用程序运行时,往往把数据封装为相互连接的对象网络,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法。有时候,甚至在编写应用程序之前,数据就已经存在了,所以需要有读入它们和将其表示为对象的方法。手动编写代码来执行这些任务不仅单调乏味、易于出错,而且会占用整个应用程序的很大一部分开发工作量。

优秀的面向对象开发人员厌倦了这种重复性的劳动,他们开始采用通常的“积极”偷懒做法,即,创建工具,使整个过程自动化。对于关系数据库来说,这种努力的最大成果就是对象/关系映射(ORM)工具。

这类工具有很多,从昂贵的商业产品到内置于J2EE中的EJB标准。然而,在很多情况下,这些工具具有自身的复杂性,使得开发人员必须学习使用它们的详细规则,并修改组成应用程序的类以满足映射系统的需要。由于这些工具为应付更加严格和复杂的企业需求而不断发展,于是在比较简单和常见的场景中,使用它们所面临的复杂性反而盖过了所能获得的好处。这引起了一场革命,促进了轻量级解决方案的出现,而Hibernate就是这样的一个例子。

HibernateAPI学习起来很简单,而且它与程序流的交互相当自然。在适当的位置调用它,就可以达成目的。它带来了很多自动化和代码节省方面的好处,所以花一点时间学习它是值得的。而且还可以获得另一个好处,即代码不用关心要使用的数据库种类(否则的话甚至必须知道)。我所在的公司就曾有过在开发过程后期被迫更换数据库厂商的经历。这会造成巨大的灾难,但是借助于Hibernate,只需要简单地修改Hibernate配置文件即可。

这里的讨论假定您已经通过创建Hibernate映射文档,建立了一个关系数据库,并且拥有要映射的Java类。有一个Hibernate“工具集”可在编译时使用,以支持不同的工作流。例如,如果您已经拥有Java类和映射文档,Hibernate可以为您创建(或更新)必需的数据库表。或者,仅仅从映射文档开始,Hibernate也能够生成数据类。或者,它可以反向设计您的数据库和类,从而拟定映射文档。还有一些用于Eclipse的alpha插件,它们可以在IDE中提供智能的编辑支持以及对这些工具的图形访问。

Hibernate的优点主要有:

1、Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和AppServer,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。从这个意义上来说,Hibernate和EB不是一个范畴的东西,也不存在非此即彼的关系。

2、Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和AppServer没有任何关系,也不存在兼容性问题。

3、Hibernate不能用来直接和EntityBean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是EntityBean的替代者出现的。2.1系统可行性分析在系统的开发前对系统进行可行性分析是十分必要的一个环节,这对于保证资源的合理使用,避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。“可行性”是指在当前情况下,企业研制这个信息系统是否有必要,是否具备必要的条件。可行性的含义不仅包括可能性,还包括必要性,合理性。可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究是系统分析阶段的主要活动。此活动的主要目标是:进一步明确系统的目标,规模与功能,对系统开发背景、必要性和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性研究是对系统进行全面、概要的分析。通过调查分析,系统的设计方案有以下四个可行性:管理可行性:信息化的教师教务管理在如金的信息时代是大势所趋,而且随着现代管理理念、方法和途径的法杖。教务信息化管理手段日趋成熟,也必定会突飞猛进,所以从长远利益出发,主管领导对该项目的开发与实施会大力支持。技术可行性:本系统采用windowsXP作为操作平台。数据库选用mysql,该数据库管理系统在windowsXP环境下可以连接php运行,其体积小、速度快、总体拥有成本低,提高数据的可用性。本系统的应用软件开发平台也选用myeclipse。经济可行性:采用教师教务管理系统可取代原系统的单据手工传递工作,减少人工开支,节省资金、并且可大大提高信息量的取得,缩短信息处理周期,规划教学质量,提高学生信息,及时反馈学生的平时表现和成绩,反馈教学信息的利用率,是教学质量更上一个台阶。营运可行性:本系统操作简单,易于理解,只需通过简单熟悉,上手脚快,教师学生都可以进行操作,营运环境要求低。面对系统设计还应该以“标准性、安全性、兼容性、高效性、保密性、可维护性”为标准,在赵岩与当前使用基础上,为将来系统的扩张,升级留有余地。软件的开发应能在较长时间内满足学校的发展需要。通过可行性分析研究,认为新系统的开发方案切实可行,可进行开发。2.2系统需求分析2.2.1系统功能需求分析教务信息系统需要满足来自三方面的需求,这三方面分别是学生、教师和寡李元,所以他的教务业务流程以这三方面为主,本人主要是负责学生这一块的,以下是对该模块业务流程进行大致介绍:学生首先登录系统,然后再对自己的成绩进行查询,还可以打印自己的成绩,如需修改密码的话,还可以进行修改。学生学生查询成绩登录系统打印成绩退出系统修改密码2.2.2操作流程分析登录登录登录查询成绩修改密码打印成绩退出系统用户名密码是否正确是否修改密码是否是2.2.3系统性能需求(1)可操作性:学生可以对自己的成绩进行查询和打印,操作起来简单快速。(2)实用性:从学生的实际需要出发进行系统开发,不不盲目追求高性能。(3)可靠性:确保数据的一致性和正确性。(4)数据的完整性,准确性。3系统的整体设计3.1开发和运行环境选择3.1.1开发工具选择用Tomcat作Web服务器,利用MyEclipse设计代码,使用MySQL建立数据库。3.1.2运行环境要求1)硬件需求:处理器IntelPentiumIII内存128M硬盘2)软件需求:Windows98MicrosoftInternetExplorer4.01JDK1.53.2设计思想开发及运行思路如下:在MyEclipse下使用Hibernate插件实现web应用程序的布置以及jsp文件的开发,然后单独在tomcat中部署web应用程序,之后再IE浏览器或myeclipse的浏览器中访问jsp文件。3.2.1开发过程:在mysQL数据库中创建数据库pro,并在表中创建kq,score,users.创建web工程,命名为jx。在该工程中逃入MySQL数据库的连接驱动程序。在src目录中建立包,用来存放pojo.再右击工程名,利用MyEclipse的AddHibernatecapabilities在工程中加入Hibernate,包括Hibernate库文件包、平日系何人念及hibernate.cfg.xml.在包下采用DAO模式,创建系统中用道德一系列接口和类,并把对数据库的操作全部封装在里面。修gia配置文件hibernate。Cfg.xml,.8)在本工程中web发布目录webroot下编写JSP文件。如图所示:9)启动tomcat,在ie浏览器中利用tomcat的管理工具发布webroot目录。姜M有SQL数据库的连接驱动程序复制到tomcat的公共库中火WebRoot目录下。10)在ie浏览器或是MyEclipse的浏览器中访问本网站。访问方式如下:localhost

就是指本地的网页服务器(对应的IP地址为),8080是tomcat服务器的默认端口号。3.2.2本工程中的hibernate。Cfg.xmlde内容如下:3.3系统功能分析教务系统主要具有以下功能要求:学生功能:个人成绩查询;密码修改等教师功能:点名功能;查看点名信息;编辑点名信息;密码修改等管理员功能:教师信息修改、管理员信息修改、添加用户等3.4界面设计1)在文件style.css中定义一个全局的样式,激活的、已访问的、未访问的或者当有鼠标悬停在其上的链接,它们会在支持CSS的浏览器中以不同的方式显示出来:2)在left.jsp中,定义页面功能菜单,显示在页面左边。如下图:当单击用户信息时,触发onClick()事件,交给UsersDao.java文件中的getlist()方法进行处理。当点击教师点名时,触发活动,转交给当单击点名信息时,触发onClick()事件,交给UsersDao.java文件中的getlist()方法进行处理。当单击打印成绩时,触发onClick()事件,交给UsersDao.java文件中的getlist()方法进行处理。当单击成绩查询时,触发onClick()事件,交给UsersDao.java文件中的getlist()方法进行处理。当单击修改密码时,触发onClick()事件,超链接到userspwd.jsp进行处理。当单击退出系统时,触发onClick()事件,超链接到logout.jsp进行处理。3)在top.html中,定义了系统界面的顶部显示样式。4)在bottom.html中定义了界面底部的样式。3.5数据库设计数据库是信息管理系统的基础,数据库的结构直接关系到各种功能的实现和程序运行的效率。而本人不是负责这一块,只做简单介绍。在本系统的数据库中主要用到三个表,kq表、score表、和users表。1)kq(考勤)表:主要是用来记录学生的考勤信息,即当老师点名时,就将点名的数据记录到该表。有id,ktime(考勤时间),usersname(点到的学生),还有ext(考)勤的老师组成。数据库中如下:2)sorce表:主要有id,username(学生的学号),question(学生回答问题),swork(学生作业情况),还有k1、k2、k3(各期成绩),ps(平时成绩)组成。用来记录学生的一些成绩,当学生进行查询时,亦可从该表中找到相应信息。数据库中如下:3)users表:主要有id,username(用户名),pwd(密码),role(角色)组成。主要记录使用该系统的用户信息。4系统功能模块详细设计4.1用户登录时的界面:无论是学生还是老师管理员用户,其登录都采用了数据库技术和jsp的session技术。所有的用户均采用一个页面登陆。此页面的主要功能是对使用本系统的用户进行用户名、密码、用户身份的验证,只有合法的用户才能使用本系统。对于初次使用本系统的用户,首先必须是在此系统中存在的学生、教师或是管理员,而且教务人员已经将学生、教师、管理员信息写入数据库之后才能访问登录用户界面,此系统不支持陌生人注册。在登录界面中设置了身份列表下拉框,方便用户进行身份选择、登录。登录成功则进入系统,而失败则转回主页面。登录时的主界面如图4-1:图4-1:用户登录界面4.2学生登录模块:此教务管理系统的用户有三种身份,即学生、教师和系统管理员,以学生为例,首先学生输入学号和密码(用户名为07110902,密码为2),从数据库中检索到如果是合法用户,就建立session,并设置盖session的有效期(一般为30min),然后进入学生模块。登录后进入的主页面如图4.2所示:图4.2:学生登录界面登陆后,学生可在此页面进行操作。4.3学生成绩查询模块:学生成绩查询页面如图4.8所示,在此页面中已经登录系统的学生用户可以对自己的成绩进行查询。4.4学生成绩打印模块:学生还可以打印出成绩,打印成绩如下所示:4.5学生修改密码模块:管理员、教师、学生都有修改密码的功能,学生密码修改页面如图4.8所示,在此页面中已经登录系统的学生用户可以对自己的登录密码进行修改。修改密码前07110902的密码为2,数据库中显示如下:将用户07110902的密码改成22后数据库变化如下:4.6退出系统模块:当不需要操作时,可单击左边功能菜单的退出系统,即回到了主界面。5总结与展望5.1系统总结及不足之处本系统具有以下优点:1、由于系统采用myeclipse这一先进平台作为开发平台,使得界面绚丽度和功能可操作性提高到了前所未有的高度,使本系统的构建思想更为可行。整个系统基于先进的Java环境而开发,使应用程序的发布更为容易,使系统具有更好

温馨提示

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

评论

0/150

提交评论