综合教务系统信息发布子系统的设计与实现.docx
- 文档编号:5987458
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:79
- 大小:824.34KB
综合教务系统信息发布子系统的设计与实现.docx
《综合教务系统信息发布子系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《综合教务系统信息发布子系统的设计与实现.docx(79页珍藏版)》请在冰豆网上搜索。
综合教务系统信息发布子系统的设计与实现
毕业设计说明书
综合教务系统信息发布子系统的设计与实现
综合教务系统信息发布子系统的设计与实现
摘 要:
近年来,随着科学技术的迅猛发展和管理水平的不断提高,计算机已经被广泛应用于日常管理之中,它的运用不断改进了管理模式,使管理日趋程序化、规范化、现代化。
高校作为培养学生的重要基地,随着计算机的日益普及,计算机在高校的大量使用,使得高校教务管理系统的开发也就顺理成章地提到日程上来,科学的高校教务管理系统将为学校实施全面质量管理提供及时、准确、可靠和一致的信息。
高等院校教务管理工作是高等教育中的一个极为重要的环节,是整个高等院校管理的核心和基础,面对种类繁多的数据和报表,以前的处理方式已经很难适应现代化管理的步伐。
近年来,随着计算机及通讯技术的飞速发展,研究人员已将这些技术应用于高等院校教务管理工作,开发了一些教务管理信息系统,代替了以前的教务管理信息系统。
关键词:
用户管理;课表管理;排课系统;授课管理
TheDesignandImplementationofComprehensiveEducationalAdministrationSystemInformationReleaseSystem
Abstract:
Inrecentyears,alongwiththerapiddevelopmentofscientifictechnologyandmanagementlevelunceasingenhancement,thecomputerhasbeenwidelyusedindailymanagementin,thattheuseofcontinuousimprovementthemanagementmodetomakemanagementprocedure,standardization,themoderndaybyday.Collegestudentsastheimportantbase,withtheincreasingpopularityofcomputer,thecomputerintheuseofcollegeeducationaladministrationmanagementsystem,makethedevelopmentalsologicaltomentiontheagenda,scientificcollegeeducationaladministrationmanagementsystemwillschoolimplementationoftotalqualitymanagementtoprovidetimely,accurate,reliableandconsistentinformation.
Highercollegeeducationaladministrationmanagementworkishighereducationofaveryimportantlinkofthewholehighercolleges,isthecoreofmanagementandbase,forvariouskindsofdataandstatements,andreportsofbeforetreatmenthasbeendifficulttoadapttothepaceofthemodernmanagement.Inrecentyears,alongwiththecomputerandcommunicationtechnologyrapiddevelopment,theresearchershaveusedininstitutionsofhigherlearningthesetechnologyacademicaffairsmanagement,developsometeachingmanagementinformationsystem,insteadofthepreviousteachingmanagementinformationsystem.
Keywords:
Usermanagement;Schedulemanagement;Arrangementsystem;Teachingmanagement
综合教务系统信息发布子系统的设计与实现
1概述
1.1课题背景与意义
1.1.1引言
随着计算机技术、网络技术的不断提高,网络管理教务信息技术的日渐成熟,使得高校已不再满足于传统的教务信息的发布,而是希望通过Internet来发布信息,并且便于被各类用户所共享。
特别是计算机被日益普及的今天,教务信息网上发布系统成为可能,教务管理员通过网上管理教务信息,免去了以前管理教务信息在特定地点,和指定时间的烦恼;而教师直接可以在网络上发布成绩查询相关信息;学生可以在网上查询自己的学习成绩等等。
特别是现在用B/S模式取代C/S模式克服了地域局限性的缺陷,使得整个校园网络,甚至是连接到Internet网上的所有主机上的所有用户都可以访问该教务管理信息发布子系统,可以在任何时间段,任意地点,以不同身份访问该系统,以其各有的权限对教务信息进行访问和管理,大大加强了数据的共享能力和信息及时的交互能力。
1.1.2研究背景
近几年来随着教学改革的不断深入,高校教务管理体制和学生培养机制的改革和不断调整,办学形式更加多样化,高校的教务部门对于教务信息的处理和分析工作越来越繁重和复杂,这使得传统的教务信息发布方式已经不在适应于高校教务管理形式的发展和需要。
对于一个学校来说有大量的信息数据要处理,如学生信息,学生成绩信息,教师信息,班级信息,考试安排信息等等都难于用传统的方式来得以更好的解决,这就需要计算机技术帮助教务人员来解决这些日常信息数据的管理,用来大大加快了教务信息管理的效率。
本系统的设计正是针对于该背景下设计的,希望加快教务信息处理和交互的效率,方便了管理员、教师和学生,大大的提高了他们之间信息交互的效率,提高了教学效率。
随着社会信息的膨胀,这种信息化使得教务信息发布系统会越来越普及的。
1.1.3研究意义
在计算机飞速发展的今天,应用数据库和计算机技术实现教务信息的管理是可行而必要的工作,实现高校教务管理信息系统,既能够提高工作效率,又可以提高工作水平。
计算机具有运算速度快、正确、能按照设计逻辑处理问题等特性,在学生信息的录入、统计中采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者数据输入不正确的情形。
作为计算机应用的一部分,使用计算机教务信息进行管理,具有手工管理所无法比拟的优点.例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高的效率,也是学校科学化、正规化管理的重要条件。
与传统教务管理系统相比,网上教务管理系统的优势主要表现在以下几个方面。
a.效率高
教学评估准确,借助数据库系统强大的智能解决方案,教务系统能准确、快速地分析、综合、解读,给出各种信息数据,大大地缩短教务管理周期,提高教学参照的有效性,及时性;
b.教务管理智能化
从学生老师方面管理到教务审核等等,考试各间断的许多环节都实现了智能化,无形中减轻了教务人员的工作强度。
1.2研究内容
基于B/S模式下的教务信息发布子系统就是在网上提供教务信息给用户管理和浏览,实现即时的教务信息管理和数据交互,处理:
通过前期的构想以及在公司实习的经验,决定使用MVC框架JSP(页面显示)+Struts2(业务处理)+Hibernate3.1(连接和操作数据库)+MySQL(数据库)+Tomcat(服务器)。
并收集了教务和信息方面的知识,详细了解教务信息发布子系统的业务逻辑,以学校的教务管理系统为经验,再加上自己对该系统的了解。
为保证系统的可靠性和安全性,决定使用用户登陆密码验证方式取得其权限。
1.3毕业设计所完成的工作
运用jsp制作网页框架,Struts2实现数据处理(主要是Action操作),Hibernate来实现与数据库有关的数据处理(连接数据库通过其配置文件,还有基本的数据查询,增删改)。
使用MySQL5.x作为存储数据的数据库。
编写代码以实现该系统的相关功能,实现类处理与页面的部分分离。
将数据库对象通过Hibernate放入Bean对象中,再用Hibernate自动生成的DAO类对数据进行处理,当然逻辑处理都是通过Struts来调用DAO来实现的,实现了逻辑和数据处理的分离,最后页面展示由jsp来实现,jsp中部分嵌入了java代码来实现数据,但更多的是通过Struts标签来实现逻辑和页面相分离的。
1.4论文结构
综合教务信息发布子系统
第一章:
概述总体阐述了本设计的研究背景、研究意义和研究内容,以及本论文研究的内容和结构。
第二章:
相关技术知识介绍主要介绍了tomcat技术,jsp技术,MySQL数据库,Struts2.x,和Hibernate3.x等技术。
第三章:
需求分析为综合教务信息发布子系统进行需求分析。
主要有用户需求分析,系统可行性研究等。
第四章:
总体设计包含了系统框架设计,数据库设计,E-R模型等等。
第五章:
详细设计包含各模块的实现和相关设计信息等。
第六章:
结束语客观的反应了到目前为止该系统还存在的不足和已经取得的成果。
2相关技术介绍
2.1浏览器/服务器模型
B/S结构,即浏览器/服务器模型,客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,最多再安装很小的支持库,如JAVA或VB的动态连接库:
中间层采用Web服务器,它接受客户端的请求,将其转换为SQL语句,通过ODBC或其他手段传给数据库服务器,并将数据库服务器返回的结果用HTML文件格式传回给客户机。
客户机实际上就是一个将标准语言转化为界面的解释器,应用程序安装在Web服务器上,其运行也是在这里进行的。
WWW是构建在浏览器/服务器(B/S)模型以及http协议的基础上的,其运作模式可以描述为:
请求>处理>应答。
从浏览器提交的请求通过Web服务器给应用程序服务器,由它调用相关的网页应用程序进行处理,处理的结果由网页交给Web服务器,Web服务器把这个网页作为对请求的应答发还给浏览器。
至于对提交的信息如何处理,就交由网站的开发人员编写相关的网页和处理应用程序来决定反馈到浏览器的内容;如果需要对数据库进行访问,开发人员还可以利用应用程序服务器所提供的接口对其进行访问。
逻辑上它分成了四个层次;客户机、WEB服务器、应用服务器、数据服务器。
客户端主要负责人机交互,包括一些与数据和应用关系的图形和界面运算;WEB服务器主要负责对客户端应用程序的集中管理;应用服务器主要负责应用逻辑的集中管理,即事务处理,应用服务器又可以根据其处理的具体业务不同而分为多个;数据服务器则主要负责数据的存储和组织、数据库的分布式管理、数据库的备份和同步等等。
2.2JSP技术介绍
2.2.1JSP技术概述
JSP是JavaServerPages的简写。
JSP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。
JSP技术是Servlet技术的扩展。
Servlet是平台无关的,纯Java的Java服务端组件。
JSP是基于Java Servlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网站。
在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。
Web服务器接收到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页,这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求很低。
在用户连接JSP网站时,用户请求网页,JSP页面独自响应请求,将用户对网页的请求转化为对数据的请求,通过JavaBean处理请求并将返回的数据封装成HTML页面返回给用户。
JSP有以下特点:
a.程序写一次,到处可以运行
JSP在设计时,充分考虑到应用平台的无关性。
依赖于Java的可移植性,JSP得到目前许多流行操作平台的支持,可在Apache、NetScape、IIS等服务器上执行;
b.执行速度快
JSP页面只需编译一次转化为Java字节代码,其后一直驻留于服务器内存中,加快了对JSP页面的响应速度。
若不考虑JSP页面第一次编译所花的时间,则JSP的响应速度要比ASP快得多。
c.Java的优势
JSP技术是用Java语言作为脚本语言的。
跨平台、成熟、健壮、易扩充的Java技术使得开发人员的工作在其他方面也变得容易和简单。
在Windows系统被怀疑可能会崩溃时,Java能有效地防止系统崩溃。
Java语言通过提供防止内存泄漏的方法,在内存管理方面大显身手。
加之,JSP为应用程序提供了更为健壮的意外事件处理机制,充分发挥了Java的优势。
2.2.2JSP环境配置方案
做本系统时,本人使用的是Myeclipse8.x+Tomcat的配置,具体步骤如下:
a.安装MyEclipse8.x
成功安装MyEclipse8.x之后,接下来安装Tomcattomcat-6.0.10(原因Tomcat要使用MyEclipse中的JDK,当然你也可以自己安装JDK)。
b.安装Tomcat
Tommcat是由JavaSoft和Apache开发团队共同提出合作计划(ApacheJakartaProject)下的产品。
Tomcat能支持Servlet和JSP并且是免费使用。
配置Tomcat的环境变量,仍然是在系统环境变量中设置。
配置好变量后要对Tomcat进行测试。
2.3MySQL介绍
2.3.1自身特性
a.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;
b.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统;
c.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;
d.支持多线程,充分利用CPU资源;
e.优化的SQL查询算法,有效地提高查询速度;
f.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名;
g.提供TCP/IP、ODBC和JDBC等多种数据库连接途径;
h.提供用于管理、检查、优化数据库操作的管理工具;
l.可以处理拥有上千万条记录的大型数据库。
2.3.2应用架构
单点(Single):
适合小规模应用;
复制(Replication):
适合中小规模应用;
集群(Cluster):
适合大规模应用。
2.4Struts2介绍
2.4.1Struts2概述
Struts2是Struts的下一代产品。
是在struts和WebWork的技术基础上进行了合并,全新的Struts2框架。
其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
因为Struts2和Struts1有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。
2.4.2Struts技术的发展概况
经过六年多的发展,Struts1已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明。
市场占有率超过20%,拥有丰富的开发人群,几乎已经成为了事实上的工业标准。
但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来,并且制约了Struts1的继续发展。
对于Struts1框架而言,由于与JSP/Servlet耦合非常紧密,因而导致了一些严重的问题。
首先,Struts1支持的表现层技术单一。
由于Struts1出现的年代比较早,那个时候没有FreeMarker、Velocity等技术,因此它不可能与这些视图层的模版技术进行整合。
其次,Struts1与ServletAPI的严重耦合,使应用难于测试。
最后,Struts1代码严重依赖于Struts1API,属于侵入性框架。
从目前的技术层面上看,出现了许多与Struts1竞争的视图层框架,比如JSF、Tapestry和SpringMVC等。
这些框架由于出现的年代比较近,应用了最新的设计理念,同时也从Struts1中吸取了经验,克服了很多不足。
这些框架的出现也促进了Struts的发展。
目前,Struts已经分化成了两个框架:
第一个是在传统的Struts1的基础上,融合了另外的一个优秀的Web框架WebWork的Struts2。
Struts2虽然是在Struts1的基础上发展起来的,但是实质上是以WebWork为核心的。
Struts2为传统的Struts1注入了WebWork的先进的设计理念,统一了Struts1和WebWork两个框架。
Struts1分化出来的另外一个框架是Shale。
这个框架远远超出了Struts1原有的设计思想,与原有的Struts1关联很少,使用了全新的设计思想。
Shale更像一个新的框架而不是Struts1的升级。
本文下面的内容将主要讨论Struts2。
2.4.3Struts2体系结构
Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。
Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与ServletAPI分离。
2.4.4Struts2框架的大概处理流程
a.加载类(FilterDispatcher);
b.读取配置(struts配置文件中的Action);
c.派发请求(客户端发送请求);
d.调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action);
e.启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证);
f.处理业务(回调Action的execute()方法);
g.返回响应(通过execute方法将信息返回到FilterDispatcher);
h.查找响应(FilterDispatcher根据配置查找响应的是什么信息如:
SUCCESS、ERROER,将跳转到哪个jsp页面);
l.响应用户(jsp--->客户浏览器端显示)。
2.4.5Struts2和Struts1的对比
通过上面对Struts2体系结构的了解,我们发现Struts2对Struts1进行了巨大的改进。
主要表现在如下几个方面:
在Action的实现方面:
Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。
线程模型方面:
Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。
Struts2的Action是一个请求对应一个实例。
没有线程安全方面的问题。
Servlet依赖方面:
Struts1的Action依赖于ServletAPI,比如Action的execute方法的参数就包括request和response对象。
这使程序难于测试。
Struts2中的Action不再依赖于ServletAPI,有利于测试,并且实现TDD。
封装请求参数:
Struts1中强制使用ActionForm对象封装请求的参数。
Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。
表达式语言方面:
Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(ObjectGraphNavigationLanguage)。
绑定值到视图技术:
Struts1使用标准的JSP,Struts2使用“ValueStack”技术。
类型转换:
Struts1中的ActionForm基本使用String类型的属性。
Struts2中使用OGNL进行转换,可以更方便的使用。
数据校验:
Struts1中支持覆盖validate方法或者使用Validator框架。
Struts2支持重写validate方法或者使用XWork的验证框架。
Action执行控制的对比:
Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。
Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。
2.4.6WebWork和Struts2的对比
从某种程度上看,Struts2是从WebWork2上升级得到的。
甚至Apache的官方文档也讲:
WebWork2到Struts2是平滑的过渡。
我们甚至也可以说Struts2就是WebWork2.3而已。
在很多方面Struts仅仅是改变了WebWork下的名称。
Struts2对应的有自己的标签,并且功能强大。
Webwork也有自己的标签。
Struts2五种默认返回类型名
ActionSupport基类中定义了五个标准的返回值,当然我们可以自己随意定义返回的名字StringSUCCESS="success";//默认是SUCCESS类型
StringNONE="none";StringERROR="error";StringINPUT="input";
StringLOGIN="login";
2.4.7Struts2原理图
原理图如2-1所示
图2-1Struts2原理图
2.5Hibernate介绍
2.5.1核心接口简介
Hibernate的核心接口一共有5个,分别为:
Session、SessionFactory、Transaction、Query和Configuration。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
下面对这五个核心接口分别加以介绍。
a.Session接口
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。
但需要注意的是Session对象是非线程安全的。
同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
b.SessionFactory接口
SessionFactory接口负责初始化Hibernat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 教务 系统 信息 发布 子系统 设计 实现