基于Oracle数据库的学生信息管理系统.docx
《基于Oracle数据库的学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《基于Oracle数据库的学生信息管理系统.docx(32页珍藏版)》请在冰豆网上搜索。
基于Oracle数据库的学生信息管理系统
1引言
1.1课题来源及意义
21世纪是信息化的时代,信息化以更快捷更为方便为目标来融入各行各业。
学校也不能例外。
当前,我国的学校正在加紧实施信息化建设,其中学生信息管理是相当重要的一部分。
目前社会上信息管理系统发展飞快,各个事业单位都引入了信息管理系统来管理自己日益增长的各类信息,学生信息管理系统也是有了很大的发展,商业化的学生信息管理系统也不少。
但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作[1]。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都是至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段[2]。
但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
在各大高校,用计算机管理学校的信息已经越来越普遍了。
用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。
提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
1.2研究内容与目标
本文主要工作包括:
(1)新系统在原有系统的基础上加入新的数据库的支持,使用了现金的数据库技术与数据管理技术,是数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
(2)利用虚拟机的运行环境与Oracle数据库相结合实现了主要原型系统。
(3)设计了基于三层结构的设计思想。
(4)尽量达到人力与设备费用的节省,并且是软件处理数据的速度提高,系统的整个设计过程必须通过生产能力的提高,系统的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等是软件开发成本最小化,实现保证软件质量的前提下的资金投入最小化[3]。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案进行管理,具有手工管理所无法比拟的优点,例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。
这些优点能够用极大地提高的效率,也是学校科学化、正规化管理的重要条件[4]。
1.3本文的内容结构
第一部分述了项目的来源和意义、课题的研究目标及本论文所做的主要工作。
第二部分总述了对学生管理系统的需求分析,介绍本系统的开发环境和所用到的开发工具。
第三部分是对系统的总体设计。
包括系统功能设计、系统模块划分、系统数据库设计等。
第四部分介绍了系统详细设计,介绍了各个页面实现的具体功能。
第五部分介绍了系统的运行效果。
最后总结了本文的主要工作,指出本文的主要贡献和不足,以及进一步的研究工作。
本文的论文结构图如图1.1所示:
图1.1本文内容结构图
1.4本章小结
本章简要的概括了项目的来源和意义。
教育是科学之本,随着我国教育的普及和当前全球范围的知识的突飞猛进,一套高质量高效率的学生信息管理系统更是必不可少的,当前不仅是我国还是海外其他国家,均把学校教育放在战略地位,投入巨大的人力物力研制各种教育模式,其中,学生管理信息系统的开发首当其冲。
一套号的管理系统是良好学习环境的组织者[5]。
由于信息系统数据量大,传统观的人工操作不仅效率低,准确性不高,而且其完整性、保密性均得不到保证[6]。
信息管理系统,是一种利用计算机软硬件资源以及数据库的人机系统。
本学生信息管理系统是建立在Oracle数据库基础上的应用系统,此信息管理系统可以实现学生信息的高效查询、修改、删除等操作,是使学生信息关系系统化,规范化和自动化。
2需求分析
需求分析是一个渐进的过程,通过开发人员和用户的不断交流,逐步加深对系统功能和性能的认识,并且加以细化、分解软件需求。
需求分析是软件开发过程中系统的推理过程,涉及到领域内问题及其组成部分,目的在于理解需要什么和必须做什么,并将用户的需求用书面形式表达出来[7]。
21世纪以来,人类经济高速发展,人们社会发生了日新月异的变化,特别是计算机的应用及到经济和社会生活的各个领域。
使原本的旧的管理办法越来越不适应现在社会的发展。
许多人还停留在以前的手工操作。
这大大地阻碍了人类经济的发展。
为了适应现代社会人们高度强烈的时间观念,学校信息管理系统为学校办公室带来了极大的方便。
开发的这个系统所采用的是当前较为流行的编程语言Java作为主要工具,以Oracle数据库作为系统的后台操作,其功能在系统内部有源代码直接完成。
我们只需按系统要求输入即可操作。
2.1系统功能需求
学生信息管理系统在管理学生中占有重要的地位,它关系着学生信息的基本信息,其中包括学生信息,班级信息,学生成绩信息等。
对于学校来讲,学生信息管理系统是不可缺少的组成部分,它有效地管理学生信息,对学校学生的变动和统计起着重要的管理作用[8]。
本系统根据学校管理的实际要求,结合学生信息管理的实际流程要求,需实现以下功能:
1、能够对学生的有关信息进行输入、查询、修改、删除。
2、能够对学校提供强大的查询功能,以便管理人员了解和掌握学生的具体情况。
3、能够对数据进行导入和导出。
4、可以对用户进行修改密码,新增用户。
2.2系统的性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,学生信息管理系统应该满足以下的性能需求:
1、系统处理的准确性与及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求[9]。
2、系统对开放性和系统的可扩充性
学生信息管理系统在开发过程中,应该充分考虑以后的可扩充性。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补替换完成系统的升级和更新换代。
3、系统的易用性和易维护性
学生信息管理系统使用人员往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面:
针对用户可能出现的使用问题,要提供足够的帮助,缩短用户对系统熟悉的过程[10]。
2.3系统数据要求
学生信息管理系统的数据需求包括如下几点:
1、数据录入和处理的准确性
数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而是系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,从而降低出错概率。
2、数据的一致性与完整性
学生信息管理系统对数据的处理有很高的要求,因为对学生信息的处理非常频繁,所以要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要求其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据[11]。
3、数据的独立性
学生信息的管理对学校来说是非常重要的一个部分,不可能让每一个人都对其进行操作,应该有特定的人员对学生信息管理系统进行管理,对系统进行独立操作。
2.4功能需求分析
权限功能:
系统具有动态的权限分配功能,可按用户权限对用户进行分组。
可分为管理员和学生用户。
学生用户只能修改自己的个人信息,修改密码,以及查询班级成绩和个人成绩。
而管理员则有以下功能:
录入功能:
管理员用户提供对所有信息的录入功能。
查询功能:
管理员提供查询的功能,可查询允许范围内的所有信息,以及学生用户可以查询班级成绩。
维护功能:
管理员用户提供对所有信息的修改删除功能。
退出功能:
结束并关闭系统。
本系统性能力求易于使用,具体有较高的扩展性和可维护性。
2.5可行性分析
2.5.1经济可行性
随着社会的发展及经济的发展,知识经济已成趋势并在某些方面尤其突出,各大高校都随之扩招。
学生也日趋增多,这个给学籍管理带来了沉重的压力,使用人力来管理已经不可能了,一个好的有规模的信息管理系统已经迫在眉睫了,所以在经济上是十分可行的[12]。
2.5.2技术可行性
系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心。
之前学习的数据库原理,Oracle数据库及有关数据库建设,前台程序与后台数据库的连接,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵。
2.6本章小结
需求分析是软件开发过程的初始阶段,是一个系统的推理过程,涉及到领域问题及其组成部分,目的在于理解需要什么和必须做什么,并将用户的需求用书面形式表达出来。
软件产品的质量,正在很大程度上取决于时候进行过系统的需求分析,并是否取得正确、一致和比较完全的需求文档。
通过需求分析解释信息的流程和结构,为软件设计提供基础,通过表示接口细节提供一个深入的功能说明来描述软件,并确定约束条件和定义软件的有效性[13]。
3系统概要设计
3.1系统功能设计
学生信息管理系统是一个完整的信息管理系统,在本系统中主要包括用户和管理员登录功能、用户和角色管理功能、班级信息管理功能、学生成绩管理功能、学生信息管理功能等。
它们的具体描述如下:
3.1.1用户登录
登录功能主要包括的功能如下:
(1)用户登录:
验证用户的信息是否合法,以及验证用户是否为系统的合法用户。
(2)对于非正确用户用不对应的身份登录进行阻止。
3.1.2普通用户
学生用户:
学生用户只能查询自己的个人信息,修改密码,以及查询个人成绩和班级成绩。
3.1.3系统管理员
a、学生信息管理功能
学生信息管理功能主要对学生信息的管理,如学生信息的添加,修改和删除等。
在系统中主要包括:
查询新的学生信息、添加新的学生信息、修改学生信息、删除学生信息。
b、班级信息管理功能
班级信息管理功能主要实现班级的信息管理功能,如班级人数、班级学年平均成绩和所获集体荣誉的添加、修改和删除。
c、学生成绩管理功能
学生成绩管理功能主要对学生成绩的管理,如学生成绩的添加、修改和删除等。
其中学习成绩主要包括所学课程、成绩、学分和是否有挂科。
3.2系统功能设计
按系统功能设计,可以把学生信息管理系统划分为用户登录模块、用户和角色管理模块、教师信息管理模块、班级和管理模块、课程信息管理模块、学生信息管理模块、学生成绩管理模块。
它们之间的关系如同3.1所示。
系统结构图
3.3程序逻辑
3.3.1查询模块
当登录用户需要对查询时,要先输入查找关键字,看是否符合条件要求,当符合条件要求时在数据库中的数据表进行查询调用并显示在前台界面上供用户查看,如果不符合条件则直接退出。
查询模块程序流程图如图3.2所示:
YN
N
Y
Y
3.3.2用户/管理员登入系统设计
本系统用户角色主要有两类:
系统管理员与学生用户。
其中系统管理员可进行学生档案管理。
当用户正确的输入用户名及密码时会直接转到对应用户类型的主页面上,如果登录失败则重新返回登陆主页面请重新登录。
如果是系统管理员登录就会进入系统进行信息管理的各模块的操作,如果是学生登录就会进入学生管理模块,此模块只可以对自己的信息进行查询及对修改自己的登录密码。
登入系统的程序流程图如图3.3所示:
N
Y
N
YN
N
YY
3.4构建开发环境和开发工具的介绍
在开发学生信息管理系统时,需要具备以下的软件环境:
a.虚拟机:
VirtualBox
b.开发工具:
Netbeans
c.数据库:
Oracle10g
3.4.2开发工具的介绍
a.VirtualBox
VirtualBox是一款开源虚拟机软件。
VirtualBox是由德国Innotek公司开发,由SunMicrosystems公司出品的软件,在Sun被Oracle收购后正式更名成OracleVMVirtualBox。
Innotek以GNUGeneralPublicLicense(GPL)释出VirtualBox,并提供二进制版本及OSE版本的代码。
使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2Warp、BSD等系统作为客户端操作系统。
VirtualBox它不仅具有丰富的特色,而且性能也很优异。
它简单易用,可虚拟的系统包括Windows(从Windows3.1到Windows8、Windows2012为止所有的Windows系统都支持)、MacOSX(32bit和64bit都支持)、Linux(2.4和2.6)、OpenBSD、Solaris、IBMOS2甚至系统等操作系统!
使用者可以在VirtualBox上安装并且运行上述的这些操作系统。
b.Netbeans
NetBeans由Sun公司在2000年创立,它是开放源运动以及开发人员和客户社区的家园,旨在构建世界级的JavaIDE。
NetBeans当前可以在Solaris、Windows、Linux和MacintoshOSX平台上进行开发,并在SPL(Sun公用许可)范围内使用。
NetBeansIDE是一个屡获殊荣的集成开发环境,可以方便的在Windows,Mac,Linux和Solaris中运行。
NetBeans包括开源的开发环境和应用平台,NetBeansIDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeansIDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C/C++等开发语言。
NetBeans项目由一个活跃的开发社区提供支持,NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。
NetBeans是开源软件开发集成环境,是一个开放框架,可扩展的开发平台,可以用于Java、C/C++,PHP等语言的开发,本身是一个开发平台,可以通过扩展插件来扩展功能。
在NetBeansPlatform平台中,应用软体是用一系列的软体模组(ModularSoftwareComponents)建构出来。
而这些模组是一个jar档(JavaArchiveFile)它包含了一组Java程式的类别而它们实作全依据依NetBeans定义了的公开介面以及一系列用来区分不同模组的定义描述档(ManifestFile)。
有赖于模组化带来的好处,用模组来建构的应用程式可只要加上新的模组就能进一步扩充。
由于模组可以独立地进行开发,所以由NetBeans平台开发出来的应用程式就能利用着第三方软件,非常容易及有效率地进行扩充。
c.Oracle10g
Oracle在其技术白皮书上阐明,Oracle10g数据库关键目标有二:
1降低管理开销,2提高性能。
Oracle10g的增强有对高可用性的增强、新的Flashback能力、支持回滚更新操作;对安全性的增强,便于管理大量的用户;BI方面的增强,包括改进的SQL能力、分析功能、OLAP、数据挖掘的能力等;对非关系型数据存储的能力得到了改进;XML的能力;对开发能力支持的加强,对生物信息学(Bioinformatics)的支持。
:
对Intel64位平台的支持。
支持infiniband。
极大地改进了多层开发架构下的性能和可扩展能力。
新的版本也借用了Windows操作系统对Fiber支持的优势。
:
在这个版本中,一个新类型的表对象被引入。
该表结构对大量插入和解析数据很有益处。
这个表结构对FIFO的数据处理应用有着很好的支持。
这样的应用在电信、生产应用中常常能够用到。
通过使用这种优化的表结构能够对电信级的应用起到巨大的性能改进作用。
3.RACworkload管理:
一个新的服务框架。
使得管理员作为服务来设置、管理监视应用负载。
4.针对OLAP的分区:
通过对哈希分区的全局索引的支持可以提供大量的并发插入的能力
5.新的改进的调度器(Scheduler):
引入了一个新的数据库调度器,提供企业级调度功能。
这个调度器可以使得管理员有能力在特定日期、特定时间调度Job。
还有能力创建调度对象的库能够和既有的对象被其他的用户共享。
这个版本的Oracle的一个引人注目之处就是管理上的极大简化。
大量复杂的配置和部署设置被取消或者简化。
常见的操作过程被自动化。
对不同区域的大多数调整和管理操作的到简化。
:
提供了预升级检查能力,有效地减少升级错误。
去除了了很多和数据库配置有关的任务或者对其加以自动化。
在初始安装的时候,所有数据库都被预配置包括在OEM环境中而无需建立一个
2.自动存储管理:
新版本的数据库能够配置成使用Oracle提供的存储虚拟层(StorageVirtualizationLayer)。
自动并简化数据库的存储。
管理员现在可以管理少数的磁盘组而无需管理数千个文件--自动存储管理功能可以自动配置磁盘组,提供数据冗余和数据的优化分配。
:
10G也极大的简化了备份与恢复操作。
这个改进被称作DiskbasedRecoveryArea,可以被一个联机DiskCache用来进行备份与恢复操作。
备份可以调度成自动化操作,自动化优化调整。
备份失败的时候,可以自动重启,以确保Oracle能够有一个一致的环境使用。
:
以前的版本中,DBA更多时候要手工对SQL语句进行优化调整。
这里引入了一些新的工具,从此DBA无需手工做这些累人的事情。
(这样的说法似乎有些太绝对)
4系统总体设计
4.1系统功能设计
学生信息管理系统是一个完整的学校学生信息管理系统。
在本系统中主要包括用户登录和注册功能、用户和角色管理功能、班级信息管理功能、学生成绩管理功能、学生信息管理功能等。
它们的具体描述如下:
1、用户登录和退出的功能
登录功能主要包括的功能如下:
(1)配置数据库:
灵活的配置数据库以保证在不同的电脑上使用系统。
(2)用户登录:
验证用户的信息是否合法,以及验证用户是否为系统的额合法用户。
退出功能主要包括的功能如下:
(1)退出系统。
(2)切换用户。
2、用户和角色管理功能
系统管理员:
(1)对学生的添加及对用户的修改及查询;
(2)对学生所应该上的课程的开设和修改管理;
(3)对成绩的输入、修改、汇总;对学生成绩等信息的查询,查询方式为模糊,且具有多条件组合查询功能;
(4)统计本科的总分,平均分等信息。
学生用户:
学生用户只能修改自己的个人信息,修改密码,以及查询班级成绩和个人成绩。
3、学生信息管理功能
学生信息管理功能主要对学生信息的管理,如学生信息的添加,修改和删除等。
在系统中主要包括:
查询新的学生信息、添加新的学生信息、修改学生信息、删除学生信息。
4、班级信息管理功能
班级信息管理功能主要实现班级的信息管理功能,如班级人数、班级学年平均成绩和所获集体荣誉的添加、修改和删除。
5学生成绩管理功能
学生成绩管理功能主要对学生成绩的管理,如学生成绩的添加、修改和删除等。
其中学习成绩主要包括所学课程、成绩、学分和是否有挂科。
4.2数据库表结构设计
4.2.1数据库表介绍
在数据库中首先要创建表空间,在putty中输入创建表空间
指令:
“createtablespacetest_biyeshejidatafile
'/u01/app/oracle/oradata/db1/test_tbs.dbf'size10m;”,在创建表空间成功后,再创建表:
“createtablett(numnumber)tablespacetest_tbs;”。
本系统定义的数据库中包含以下几个表:
学生个人信息表user_base,用户信息表user_login,学业信息表object_relative,课程信息表object_base,班级信息表class_base等5个表。
下面介绍这些表的结构:
学生个人信息表user_base:
用于保存学生的学号,姓名,性别,年龄,所在学院,班级号,入学年份等信息;
用户信息表user_login表:
用于保存系统用户组信息,权限,用户ID等信息;
学业信息表object_relative:
用于保存学生成绩信息,包括学号,课程号,学分,成绩等字段;
班级信息表class_base:
用于保存班级基本信息.包括班级号,班级人数,学年成绩,所获荣誉等;
课程信息表object_base:
用户保存课程信息,包括课程名,课程号。
4.2.2数据库表结构及设计
数据库中的主要表结构设计如下:
user_login
用户表
字段名
类型
含义
属性
userid
varchar2(20)
用户ID
P,N
password
varchar2(20)
密码
N
usertype
varchar2(10)
用户类型
N
class_base
班级基本信息
字段名
类型
含义
属性
classid
varchar2(20)
班级id
N,P
classname
varchar2(20)
班级名称
N
credit
varchar2(50)
所获荣誉
N
user_base
用户基本信息
字段名
类型
含义
属性
userid
varchar2(20)
关联用户ID
N
studentid
varchar2(20)
学号
P,N
name
varchar2(20)
姓名
N
age
varchar2(5)
年龄
N
sex
varchar2(5)
性别
N
college
varchar2(30)
学院
N
subject
varchar2(20)
专业
N
year
varchar2(20)
入学年份
N
classid
varchar2(20)
班级号
N
object_relative
学业关联信息
字段名
类型
含义
属性
objectid
varchar2(20)
课程ID
N
studentid
varchar2(20)
学号
N
result
varchar2(20)
成绩
N
score
varchar2(5)
学分
N
nopass
varchar2(5)
是否挂科
N
object_base
学业基本信息
字段名
类型
含义
属性
objectid
varchar2(20)
课程ID
P,N
objectname
varchar2(20)
课程名
N
5主要程序设计说明
系统首页是很重要的,用户打开网站首先进入登录界面,所以界面一定要简洁、直观,操作简单。
系统登录用户分系统管理员与学生用户,选择管理员或者用户登录,正确的输入用户名及密码点击确定即可进入系统。
登录模块图示如图:
图5.1登录首页
管理员登录后界面如图:
图5.2管理员登录页面
用户登录后界面如图:
图5.3用户登录页面
5.2用户功能模块
普通用户在登陆成功后,进入用户页面,有个人信息、成绩信息、班级信息和修改自己的用户密码等几个主要功能。
5.2.1用户个人信息查询
点击个人信