1、引言
在很多大学都有了自己的学生系统,成绩系统。毕业的时候需要对学分进行审查,来确认学生是否能够毕业。由于学生众多,分析与计算的工作量很大,错误也比较多,需要花大量的工作进行重复的审查核对工作。如何提高效率、如何保证正确率,减轻教师工作的强度,另外对于学生也能提前给予一些预警。
本文旨在通过对学校的毕业审查规则的分析,利用java语言进行设计开发一个自动计算的审查系统。主要内容如下:对毕业学生进行审查,得出可以毕业的学生审查通过和审查不通过的信息以及未通过原因。并对java语言和oracle技术特点进行介绍。另外对毕业审查系统结构进行说明。最后对本文做出一些结论。
2、相关技术简介
学分毕业审查系统需要对学生的信息进行维护,对学生的课程和课组信息分别做出审查。此系统使用的是软件行业比较流行的java语言进行编写,并利用sql技术进行实现,由于学籍系统使用的是oracle数据库,所以这个系统也沿用了oracle数据库。我们对此进行简单的介绍。
2.1 JAVA简介与特点
Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全陛。在全球移动互联网的技术环境下,Java更具备了明显优势和恢弘前景。
2.1.1 编写简单
Java语言是一种简单的语言。Java语言的语法与c和c++的语言很相近,有许多相同的特性,但同时也取消了C++中很少使用的、繁琐的、难以理解的、不安全的内容,如指针、重载、多继承等。它还提供了自动垃圾回收机制(gc)以及丰富的基础类库,具有大多数有经验的程序员都会容易学习和使用java。
2.1.2 面向对象
Java语言是一种面向对象的语言。面向对象的语言支持的概念包括:类与对象、继承、多态。
2.1.3 可移植
Java语言是可移植的。这种可移植性来源于体系结构中立性,Java依赖于Java虚拟机(JavaVirtualMachine,JVM)虚拟机,只要系统支持JVM虚拟机,那么Java代码就可以平滑迁移。另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
2.1.4 高效解释执行
Java为一种高效解释执行的语言。很多高级语言程序必须转换为机器语言程序才能执行,但这种语言需要在不同的计算机系统所使用的机器语言不同,所以要在不同的环境进行编译。Java为了实现“一次编译,随处运行”的目标,Java的源程序在编译时,并不直接编译成特定的机器语言程序,而是编译成与系统无关的“字节码(Byte codes)”,由Java虚拟机(JavaVirtualMachine,JVM)来执行。JVM使得Java程序可以“一次编译,随处运行”。任何系统只有安装了Java虚拟机后,才可以执行Java程序。JVM能直接在绝大多数机器上执行,为字节码提供运行环境。当JVM解释执行Java程序时,Java实时编译器(Just-In-Time,JIT)会将字节码译成目标平台对应的机器语言的指令代码。早先的许多尝试解决跨平台的方案对性能要求都很高。其他解释执行的语言系统,如BASIC、TCL、PERL都有无法克服的性能缺陷。然而,Java却可以在非常低档的CPU上顺畅运行,这是因为Java字节码是经过精心设计的,能够直接使用JIT编译技术将字节码转换成亩性能的本机代码。事实上,Java的运行速度随着JIT编译器技术的发展已接近于C++。因而“高效且跨平台”对Java来说已不再矛盾。
2.1.5 多线程
Java是支持多线程的语言。多线程是一种应用程序设计方法。线程,可以被称为轻量级进程(Lightweight Process,LWP),其是程序执行的最小工作单元。线程是进程中的一个实体,是被系统调度和分派的单位,线程本身不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程中的其它线程共享进程所拥有的全部资源。多线程使得一个程序里可同时执行多个任务。多线程带来的好处是具有更好的交互性能和实时控制性能。但采用传统的程序设计语言(如:C/C++)实现多线程程序并非易事。Java实现了多线程技术,提供了简便的实现多线程的方法,并拥有一组高复杂性的同步机制。
2.2 oracle的特点
oracle是一种关系数据库管理系统,它连接的是客户端和服务器结构,是oracle公司为支持高容量的数据而推出的。其可以在个人电脑或者大型的服务器等多个平台使用。有单机模式和集群模式。它有以下优点:
2.2.1 性能优越
oracle数据库软件在性能上有着很大的优势,大量的企业和商业应用跑在该数据库上。能达到很好的使用效果。国际上专业的测评数据显示其陛能很突出。
2.2.2 跨平台性
oracle数据库在各种平台上均可运行,数据也能完美的进行迁移。
2.2.3 扩展性强
oracle具有良好的扩展性和可靠性,它还具有开发新的因特网系统的功能,并可以直接存储XML数据,并可以奖搜索结果以XML形式输出。其RAC模式可以无限的扩展节点提升集群的性能,当然在这种模式下我们的开发也要对应进行一定的适配才能达到线性的性能提升。
2.2.4 数据容灾
oracle可以其免费软件DataGard或oracle公司的收费软件GlodenGate可以实现数据的实时复制到异地机器上,来保证数据的安全性。
3、学生毕业审查管理系统框架
学生毕业审查系统主要业务流程描述:
1.基础设置:设置一些基础信息,初始化信息。
2.数据采集:要对学籍、课程、选课、成绩、课程计划等信息进行采集。
3.审核:对专业对课程计划与考试成绩进行判断,然后计算出学生课程计划和课组计划中所有及格的课程的学分。把课组或必修课程不及格的要求的记录下来。根据学生学分进行比较,找出必修、选修、限选学分不满足要求的学生为审核不通过。
4.审核结果查询:把审核通过的学生记录下来,把审核不通过的学生以及审核不过的原因记录下来。
学生毕业审查系统主要功能是通过以下几个功能模块来实现的。具体过程如下:
1)系统管理:数据源配置、用户管理、
权限配置。实现用户管理以及权限管理,可以根据专业设置权限,保证数据的安全。数据源的配置可以界面修改数据源信息,也可以后台参数文件修改。
2)信息管理:包括学籍信息抽取、课程信息抽取、课组信息抽取、成绩信息抽取。该功能是数据的基础数据抽取部分,以便下一步进行毕业审核的计算工作。
3)信息查询:学籍信息查询:根据专业和入学年级进行查询,查询功能来确保信息采集过程的数据的信息完整和准确。审核结果查询:记录毕业审核和毕业预警审核的结果,以及审查失败的原因。
4)毕业审核管理:根据输入的选修学分、限选学分已经总学分进行毕业审核。学年的毕业审查,审查结果可以在审查结果中查看,根据专业方向确认课程课组信息,然后分析该学生的成绩是否完成了课程计划,如果未完成则审核结果为失败。然后进行学分审核工作,如果学分没达到则审核结果为失败。
5)毕业预警审核管理:根据输入的选修学分、限选学分已经总学分以及学年学期范围针对未毕业的学生提前进行毕业审核。根据选择的学年学期范围确认课程与学分,如果有无法毕业的危险给予提示。
6)定时计算:可以配置一个任务,夜间把各个院系的毕业生信息均计算出来,以备白天查询。
7)初始化工具:创建数据库表索引以及视图,并插入基本的业务数据。
4、结论
通过利用Java语言和oracle技术对大学中的学生毕业进行学分和课程课组的毕业审查内容进行逻辑计算,实现了对毕业审查的高效、精准,在上线后还对系统做了专项的性能优化系统调优,使得软件速度非常迅速,为大学毕业审查工作节省了大量的人力和物力并且提高了准确度,从功能上也达到了校方的预期的目标,得到了校方的一致好评。