【VC++开源代码栏目提醒】:网学会员鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“新型学籍信息管理系统研究 - 硕士论文”一文,供大家参考学习
厦门大学 硕士学位
论文新型学籍信息管理系统研究 级别:硕士 专业:计算机应用 指导教师:李翠华 20090501 新型学籍信息管理系统研究between 1:1 model and 1:N model is that:there is 110 need for user to declare hisidentity witll 1:N model but if the amount of the fingerprint sample is too large theefficiency will be very low.And 011 the other hand,with 1:1 model,USerS need todeclare their identity while the efficiency will not be influenced by the amount offingerprint sample observably.Thus,we concluded that the 1:1 model is moreappropriate for the management system of students’status.Key Words:Student Status Information Management System;SSH(Stmts,Spring,Hibernate)Framework; Fingerprint Identification 厦门大学学位
论文原创性声明 本人呈交的学位
论文是本人在导师指导下,独立完成的研究成果。
本人在
论文写作中参考其他个人或集体已经发表的研究成果,均在文中以适当方式明确标明,并符合法律规范和《厦门大学研究生学术活动规范(试行)》。
另外,该学位
论文为( )课题(组)的研究成果,获得( )课题(组)经费或实验室的资助,在( )实验室完成。
(请在以上括号内填写课题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特别声明。
) j】日 猁 明人 @ ●● 岫 d 名叩 X/年 ‘亡 詹“ 铿M 兰舻 厦门大学学位
论文著作权使用声明 本人同意厦门大学根据《中华人民共和国学位条例暂行实施办法》等规定保留和使用此学位
论文,并向主管部门或其指定机构送交学位
论文(包括纸质版和电子版),允许学位
论文进入厦门大学图书馆及其数据库被查阅、借阅。
本人同意厦门大学将学位
论文加入全国博士、硕士学位
论文共建单位数据库进行检索,将学位
论文的标题和摘要汇编出版,采用影印、缩印或者其它方式合理复制学位
论文。
本学位
论文属于: ( )1.经厦门大学保密委员会审查核定的保密学位
论文,于 年 月 日解密,解密后适用上述授权。
1. ( )2.不保密,适用上述授权。
(请在以上相应括号内打“√”或填上相应内容。
保密学位
论文应是已经厦门大学保密委员会审定过的学位
论文,未经厦门大学保密委员会审定的学位
论文均为公开学位
论文。
此声明栏不填写的,默认为公开学位
论文,均适用上述授权。
) 声明人c签名,:詹金之 圳7年 易月争日 第一章绪论 第一章绪论 1.1研究背景、意义及现状
计算机科学技术已经渗透到人类社会的各个领域并发挥着越来越重要的作用。
可以说,整个世界掀起了一场由互联网带来的“数字化时代”。
随着信息管理系统构建技术的发展与成熟,在各类教育机构里有关教学的信息管理系统也走向了信息化与网络化,且大多系统都是根据特定对象的应用实际来做需求分析,因此需求分析与应用实际的相结合性较好【1’6,71。
尤其是在一些大中专院校,几乎都在使用信息管理系统。
有些信息管理系统还提供远程访问功能,支持用户在多地域、任意时间段以不同身份来访问教务系统中的数据,大大加强了系统数据共享的能力和智能管理能力,提高了学校的管理效率【21。
教务管理的水平和能力,是衡量一所学校教学管理水平高低的重要部分。
随着计算机技术和网络技术的发展,教务管理工作对自动化、信息化、
网络化的要求越来越高。
高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心和基础【3一。
因此,教务管理系统的开发成为高校教务管理工作最迫切的需求。
传统的信息管理主要是以手工方式进行的,存在工作量大、事务琐碎等弊端,人力、物力耗费大,效率较低,管理水平很难提高。
针对此问题,很多学校开发出自己的学籍信息管理系统,但大多都存在通病:1)功能要求跟不上形势发展的变化;2)系统的通用性、扩展性、交互友好性都不令人满意。
长期以来,大量的信息管理系统是基于客户机朋艮务器结构的。
在两层C/S结构系统中,客户端包含了大量的数据处理逻辑,几乎所有的应用逻辑都在客户端实现,导致客户端的应用程序越来越复杂,给开发人员带来了大量的移植工作,同时维护更是一件庞杂的
工作【引。
学籍信息管理是高校教育管理的重要组成部分,学籍信息管理的好坏直接影响教学质量的提高及学生综合素质的培养。
采用先进的设计技术和开发模式,构建安全高效的学籍信息管理系统己成当务之急。
学生学籍信息管理是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学籍信息管理应该能够提供充足的 1 新型学籍信息管理系统研究信息和快捷的查询手段。
本学籍信息管理系统的开发是为了满足我校信息化的要求,适应教学改革的需要,进一步推动教育资源的建设,促进教育整体质量和办学效率的提高。
满足学分制教学改革及其管理的需要,融入先进的管理理念,优化教学资源,全面提高教学管理水平和教学质量【9’101。
同时,充分体现 以人为本,在教学上以学生为中心,完成个性化培养。
同时,针对旧系统有些功能已经不能满足当前需要,存在较多的操作及性能、数据库设计等问题,新系统都做了很好的改善,并且还实现了很多现有系统所没有的功能,较好地符合了当前我校校园信息化的需求,同时也有很好的扩展性。
当前,由于学校学籍信息管理上存在差异,特别是针对不同阶段学生的信息特点,例如研究生、大学生、高中生等,信息管理内容相差甚远,再加上当前众多的软件开发技术或开发模式,使得学籍信息管理系统功能上千差万别。
当前高校里面用得最多的应该是清华大学开发的学籍信息管理系统,当然还有北京大学、武汉大学、天津大学等高校也具有自己的学籍信息管理系统。
根据学籍信息的管理内容,作者将学籍管理系统分为简单学籍信息管理系统,复杂学籍信息
管理系统和复合学籍信息管理系统。
简单学籍信息管理系统是针对小学、初高中、以及早期的高校学籍管理系统,这类系统具有管理信息少,系统简单,功能少,技术落后等特点。
复杂学籍信息管理系统是针对当前高校学生信息,尤其伴随着校园扩招和学校改革,导致学校学生人数剧增,个人信息增加,迫使传统的学籍信息管理系统无法在功能和性能上满足学校的要求。
复合型学籍信息管理系统不仅仅功能强大,系统复杂,更主要的是可以通过微小变化即可以满足大中小学校的需求,系统部署冗余较多。
厦门大学新的学籍信息管理系统属于第二种,复杂学籍信息管理系统。
1.2文章结构 整篇文章被分为七个章节。
文章的相关研究背景、意义和现状在本章中已经介绍。
作为一个大型软件,软件开发技术、模式、方法的选择是至关重要的,它甚至可以决定项目最终的成败。
为了让读者清晰的认识到厦门大学学籍信息管理
系统的优势,第二章中,作者就厦门大学学籍信息管理系统采用的先进SSH框架进行相关介绍。
2 第一章绪论 通过对厦门大学当前学籍信息管理现状的调查和研究,采用面向对象的技术,作者在第三章中给出了厦门大学学籍信息管理系统的分析结果和设计特点。
在第四章,作者依据系统的分析和
设计结果,采用多种网络编程语言,对系统模块进行了实现,并采用相应的软件工程测试手段,对系统进行了模块测试和集成测试。
数据库的构建和测试也是在第四章中介绍的。
指纹识别技术已经在政府,军队,金融,电信等多个领域中得到广泛应用,但是在这些领域的应用主要都是出于安全性考虑,而在学籍信息管理系统中,作者尝试性的引入指纹识别技术,.该技术的目标不仅仅是可以建立具有生物特征的安全访问信息系统,而且还具有考勤功能。
第五章将详细介绍指纹识别技术在学籍信息管理系统中的设计、实现和测试。
鉴于文章的工程化味道较浓,作者在第六章对文章特色和系统的创新点进行了归纳和解释,进一步提高读者对文章的理解。
第七章是作者对整篇文章的总结,再一次简单地阐述了文章的优势和不足。
3 第二章系统框架介绍 第二章系统框架介绍2.1 J2EE多层架构 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关 的复杂问题的体系结构,是当今可用于企业
软件开发的最佳平台【11’14】。
目前,J2EE多层架构上已经开发出了很多框架,这大大减轻了开发人员的负担,开发者可以将不同层上的框架整合到一起,从而能够从繁杂的底层编码中解脱出来。
在构建Web应用时,用户请求的处理、业务逻辑处理以及数据的持久化是必须仔细考虑的因素,而且也是大部分应用必须具备且较为复杂的功能【l 51。
因此目前针对这三方面人们开发了很多框架。
伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,且经过良好测试的软件组件,越来越为人们所青睐。
这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用,而非繁杂的
代码工程。
于是人们将相同类型
问题的解决途径进行抽象,抽取成一个应用框架。
其中比较典型的有Struts,Spring和Hibernate。
传统开发模式中,所有的视图和业务逻辑都会混杂在一起,很难维护,例如可能用大量的JSP来写页面,里面嵌套很多的Java业务
代码,也可能用很多的JavaBean来做业务,但是这些业务和页面是紧紧连接在一起的,往往修改视图或者业务逻辑都会造成另外一个部分的更改。
在采用了Struts之后,视图、模型和控制器三个部分得到了彻底的分离。
但是Struts架构只解决了视图层、业务层和控制层的分离,并没有对复杂业务的业务逻辑和持续层提供灵活的架构支持,而Spring则提供了强大的业务逻辑支持,Hibernate架构则提供了灵活的持续层支持,但对应用的整体架构却没有帮助,因此通过将这三个架构整合起来,可以得到一个迅速地开发灵活、低耦合及易于维护的信息系统的完整解决方案。
在采甩Hibernate之后,需要的SQL语句就很少了,所以无论是开发还是维护都轻松了。
在Spring框架中,用DAO模式来把Spring和Hibernate架构无缝集成起来,让它们优势互补,使得系统的业务流程控制与业务逻辑开发都得到了满意的解决
方案,使得系统的开发工作量减小,系统的可维护性、灵活性和健壮性都得到了提高【阍。
5 新型学籍信息管理系统研究 在本系统中,采用Struts+Spring+Hibernate的J2EE轻量级架构:下面将 分别介绍Struts、Spnng、Hibernate以及这三种的整合框架。
2.2表示层框架Struts Struts是Apache基金会Jakarta项目组的一个
开源项目,它采用MVC模式, 主要由一组相互协作的类、Servlet和JSP组成。
Struts按照MVC模式的思想, 提供了一种创建Web应用程序的框架,对应用程序的界面表示和数据的后端逻 辑处理
代码进行了抽象,整合了Servlet和JSP在Web应用开发上的优势以建 立灵活、扩展性强、利用程度高的应用系统。
它的目的是为了减少运用MVC 设计模式来开发Web应用所花费的时间。
随着Struts技术的版本升级,技术不 断完善和可扩展性增强等,使其功能越来越强大。
Struts技术现已成为基于MVC模式的Web应用最经典框架。
. Struts包含很多组件,这些组件是Struts框架实现的关键【17-1引。
Struts的组件结构如2.1图所示: 图2-1 Struts框架的组件结构图 其中,ActionServlet是该MVC实现的控制部分,它是这一框架的核心【191。
Action类是业务逻辑的一个包装,它们负责处理请求。
ActionForm维护Web应用程序的会话状态。
ActionForm是一个抽象类,必须为每个输入表单创建该类的子类才能应用它的实例【20-22〕。
ActionMapping就是Action映射对象,包含有关特定事件如何映射到特定Action的信息。
ActionForward类的作用是控制 6 第二章系统框架介绍 器将Action类的处理结果转发至目的地。
Action类对用户的请求创建一个响应, 然后使用ActionForward类将响应转发到另一个资源。
ActionForward类的逻辑 名称是由配置文件中的<forward>元素来定义。
对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化 ActionScrvlct,ActionScrvlct从struts.config.xml文件中读取配置信息,把它们 存放到各种配置对象中。
当ActionScrvlct接收到一个客户请求时,执行以下流程【23.241,如图2.2所示。
I氐.‘蛔∞h口k 图2-2 Struts的工作流程图2.3业务逻辑层Spring框架 Spring Framework是轻量级的J2EE应用程式框架,旨在简化J2EE的开发,降低J2EE项目实施的难度。
Spring Framework的贡献包括两个部分,首先是为J2EE应用提供了一个优雅的基础结构;另外它还提供了许多旨在帮助开发人员更好的使用J2EE相关技术的工具性支持。
spring Framework是组件化的,它允 7 新型学籍信息管理系统研究 许开发人员可以任意选择适合系统应用的模块并忽略其它的模块;同时,Spnng 是无侵入性的,意味着根据实际使用的范围,应用对框架的依赖几乎没有,例 如,在前台表示层可以使用Struts,也可以无缝的使用Spring MVC实现【25。
27】。
Spring的总体结构如图2.3所示: 图2-3 Spring的总体结构图 控制反转是Spring提供的非常重要的一个功能,Spring实现中的核心部分 都是基于依赖注入的。
控制反转IoC(Inversion of Contr01)或依赖注入DI(Dependcncy Injcction)的核心思想在于提供一个更加简单的机制来规定组件之间的依赖关系(一般涉及到对象间的合作),并且在它们生命周期中对依赖关系进行管理。
通过Spring提供的依赖注入机制可以大大减少应用组件之间通常无法避免的关联性
代码。
除此之外,在spring提供的组件依赖关系可配置化的解决方案中,源于spring使用的依赖注入机制,可将依赖定位信息从组件本身中抽离,同时以非常简单的方式为组件提供依赖关系的构建机制,从而大大降低了组件之间的耦合,实现了真正意义上的即插即用(PlugandPlay:PIlP),这也是Spring最具价值的特性之一【281。
Spring的另一个核心机制是AOP(Aspect·oriented Programming)。
AOP(Aspect-oriented Programming)是面向对象编程OOP(Object—OrientedProgramming)的延续,AOP的出现并非是对传统编程技术的否定,而是在其基础上的扩展,它从另一个角度来考虑程序结构以完善面向对象编程。
它与传统编程技术的不同之处在于AOP专注于解决某些系统属性横切(cross cutting)基本 第二章系统框架介绍 功能时所产生的问题,它是软件规模不断扩大和复杂度不断提高的必然结果。
在实际编程过程中发现,如果完全依靠OOP,一些具有横切性的
代码将会毫无 规律的散布在整个应用系统的对象模型中,造成无法避免的
代码重复,而AOP 则致力于将这些
代码规整起来,将用于解决每个横切问题的
代码放入一个独立 的模块陋常称为通知Advice)中。
由此可见,AOP是对OOP的补充,而不是 其竞争对手,它同时还解放了开发人员和架构师的思维,使得生产出来的企业 应用更加健壮【291。
2.4数据持久层Hibernate框架 Hibernate是一个面向Java环境的对象/关系数据库映射工具,这种映射技 术可以把对象模型表示的对象映射到基于SQL的关系模型结构中去。
Hibernate 不仅管理Java类到数据库表的映射,还提供数据
查询和获取数据的方法,减少开发人员的编成任务。
Hibernate处于数据库与应用
程序之间,为应用程序提供将对象持久化到数据库的服务。
它具有清晰的体系结构和良好的可扩展性f301。
其轻量级的体系结构如图2-4所示。
图2-4 Hibernate体系结构图 从图中可以看出,Hibernate使用数据库和配置文件来为应用程序提供持久化服务。
Hibernate自身使用Hibernate.properties和XML.Mapping两类配置文件把普通Java对象映射成关系数据库中的表。
从而,Application可以通过持久化的对象类直接访问数据库,而不是必须使用JDBC和SQL进行数据的操作。
它 9 新型学籍信息管理系统研究 的事务交由底层的数据库连接管理,因此对于事务处理Hibernate具有很大的灵 活性,可以使用JDBC,也可以使用JTA(Java事务处理API)和JNDI来管理自 己的事务。
在使用Hibernate时,首先需要创建与数据库中的表对应的持久化对象,然 后再通过映射文件将持久化对象中的属性与数据库表中的字段对应起来。
这样 才能通过持久化对象完成对数据库表中的数据的增加、修改、查询和删除操作 【311。
2.5 SSH框架2.5.1传统框架的缺陷 Struts框架有成熟的标签库,所以由Struts框架实现Web层;而Spring框架可以与Struts框架能够完美的结合,并且在事务管理和依赖注射方面有着独到之处,因此主要用于业务逻辑层;在数据持久层方面主要采用Hibernate。
Struts框架主要是针对表示层设计的,对于逻辑层的支持不是很强,Struts在模型部分,它仅仅提供一个Action类,让这个类来“瘦包装”所有的后台业务逻辑,因此struts对模型部分的支持还有所欠缺,比如对数据层的封装以及事务的管理,这些都需要开发人员在开发过程中进行复杂的处理,并且ActionForm使用不便,无法进行单元测试〔32,33】。
因此有必要对Struts框架进行研究改进,弥补它在逻辑层方面功能的不足,降低开发人员在编码上的复杂程度,使他们能专心于应用程序的逻辑。
Spring框架是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用哪个框架取决于开发者的需要。
Spring的框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员使用其中一部分的模块进行开发。
比如:开发者可以使用Bean容器加之Web层的Struts框架进行工作,也可以只使用Hibernate集成框架或JDBC抽象层进行工作。
就Hibernate来说,它只提供模型部分支持,如果仅仅采用Hibernate架构开发应用系统,系统只会在业务模型部分有所改善,但是系统的逻辑处理、流 lO 第二章系统框架介绍 程控制与视图并没有得到有效分离,因此系统的耦合性还是太高,不易于维护。
2.5.2 SSIt框架 虽然Struts、Spring、Hibernate各有优缺点,但是将这三者有效地整合起来, 就可以发挥它们各自最大的优势。
集成这三种框架的方法是利用Struts架构作为系统的整体基础架构,它负 责MVC的分离,而在Struts架构的模型部分,利用Hibernate架构来提供持久层支持,业务层用Spring支持。
具体做法是:用面向对象的分析方法根据需求来提出一个模型,将这些模型采用Java语言实现出基本的Java对象,然后写 出基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,然后由Spring来完成业务逻辑例。
SSH组合系统框架图如图2.5所示: 业务逻辑暖 ,Application Spring DAa Context7 Classes 言群 ■物管理. Hibernate的 一 一~ 一溉—舭 Sess:i 013管理 业务逻辑类 管理 图2-5 SSH组合系统框架图 Struts负责降低系统总架构的耦合性,Spring负责复杂的业务逻辑处理,Hibernate负责降低业务模型部分的开发难度。
整合之后得到的好处是采用这个集成架构开发出来的信息系统无论是在整体架构上还是在局部的复杂业务模型中都有了更低的耦合性,它们的灵活性与可维护性也得到了提高,从而消除了单独使用这些架构开发系统的不足。
新型学籍信息管理系统研究 图2-6 SSH框架工作流程.