基于数据库的学生信息管理系统.docx
《基于数据库的学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《基于数据库的学生信息管理系统.docx(36页珍藏版)》请在冰点文库上搜索。
基于数据库的学生信息管理系统
编号:
河南大学2015届本科毕业论文
基于数据库的学生信息管理系统
论文作者姓名:
作者学号:
所在学院:
物理与电子学院
所学专业:
测控技术与仪器
导师姓名职称:
耿涛(副教授)
论文完成时间:
2015年05月01日
基于数据库的学生信息管理系统
(河南大学物理与电子学院,河南开封,475004)
摘要:
随着社会快速的发展和科学技术的日益更新加速,计算机技术已经越来越成熟,它对人们的生活学习也有了越来越深入的影响,已经成为我们工作学习不可分离的一部分。
面对繁重的工作和枯燥的数据,如果人来操作,不仅浪费了精力时间,而且效率低下,容易打击人们工作的积极性。
将计算机网络和工作学习结合起来,使用现代化网络模式对大数据进行管理,更加的方便快捷,准确省时。
本学生信息管理系统是基于javaSwing技术的系统。
实现了网络教学的目的,减轻了工作压力和负担,而且高效率完成任务。
系统功能包括了管理员管理操作、教师管理操作、学生管理操作、班级管理操作、科目管理操作、课表管理操作六个模块,每一个模块都实现了增删改查的功能。
系统按照需求分析、设计、编程、测试等阶段进行,绘制E-R图,完成系统数据库表的设计。
本系统采用java面向对象的编程思想,使用Eclipse和WindowsBuilder开发工具,以MySQL作为系统数据库,其结构小,易操作,便于维护。
关键词:
学生信息管理系统,Java,C/S,MySQL
Thestudent informationmanagementsystem basedonDatabase
QiJin
(SchoolofPhysicsandElectronics,HenanUniversity,HenanKaifeng475004,China)
Abstract:
Alongwiththerapidsocialdevelopmentandtheincreasinglyupdatespeedofscienceandtechnology,computertechnologyhasmoreandmoremature,italsohasastudyonpeople'slivesmoreandmorein-depthinfluence,hasbecomeanintegralpartofourworkandstudy.Inthefaceofheavyworkandboringdata,ifthepersontooperate,notonlywastedtime,energyandlowefficiency,easytohittheenthusiasmofpeopletowork.Willstudycomputernetworkandworktogether,tousemodernnetworkmodeltomanagelargedata,moreconvenientandquick,accuratetime.
Thisstudent informationmanagementisbasedonthetechnologyofjavaSwingsystem.Realizedthepurposeofnetworkteaching,reducetheworkpressureandburden,andhighefficiencytocompletethetask.Systemfunctionsincludetheadministratormanagement,teachermanagement,studentmanagement,classmanagement,coursemanagement,schedulemanagement,
operationofsixmodules,eachmoduleimplementstheaddanddeletefunctions.Systemaccordingtotherequirementsanalysis,design,programming,testingandotherphases,drawthee-rdiagram,completedthedesignofthesystemdatabasetable.ThissystemUSESJavaobject-orientedprogrammingideas,usingEclipseandWindowsBuilderdevelopmenttoolstoMySQLasthedatabasesystem,itsstructureissmall,easytooperate,easytomaintain.
Keywords:
student informationmanagement,Java,C/S,MySQL
1绪论
1.1学生信息管理系统开发背景及必要性
随着学校项目的增加和管理难度的复杂性,单靠脑力劳动和简单的工具已经不能够满足对信息管理的操作。
而现代化的基于互联网的网络建设,正在发挥着巨大的作用。
许多的高校,都已经采用了网络系统来管理日常的教学事务,简单方便而又快捷准确的操作,使得越来越多的管理者采纳和使用。
而该学生管理系统正是按照现代教学需求而产生的,为教学管理者提供了更加好掌握,更加容易接受的管理软件。
为了减轻现代教学的管理压力和提高管理效率,结合现代应用广泛的网络技术,使用简洁方便,易于操作的界面,可以使在教学管理过程中更加轻松,减轻工作压力,节省时间,减少错误。
同时也实现了更好、更公平、更加合理的教学管理,体现了以学生和教师为中心,使学生和教师可以在一定的自由的范围内来分担部分管理功能,更加体现了教学管理的统一性和整体性,减少了教学管理的负担和复杂性,也更加有利于教学事务的发展和管理。
1.2学生信息管理系统开发的目的和意义
随着高校规模的扩大和校园网络的建成,高校各个部门都采用了计算机作为辅助的管理手段,开发了各类的管理系统作为支持。
目前校园管理信息系统的开发和应用主要集中在财务管理系统、人事管理系统、设备管理系统、科研管理系统以及学生管理系统等等。
这些系统在为学校提供信息服务的同时,也提高了管理人员的水平和管理理念。
但是高校管理信息系统的建设是一个庞大的系统工程,由于在建设初期没有IT全局战略和方向,缺乏一个标准的IT环境,所以建立起来的各个系统是分散的。
各个部门各自为政,形成了一个个信息孤岛。
比如人事管理系统负责管理有关教师的信息,但是在财务、设备、学生管理系统中同样也都需要教师的信息。
在现实世界中,各个系统都是相互交叉、相互调用的,但是在计算机软件设计实现中,由于编程语言的限制,使得各个系统无法相互直接进行调用,无法共享数据,只能通过传统的手工方式进行数据交换。
这样不但效率低下,而且各系统间的数据无法及时更新。
因此高校管理信息系统的建设的趋势是对现有的和将要开发的系统进行集成,使得各个系统能够共享数据,无缝衔接。
信息只有集中统一,才能成为资源,才能为学校各部门所共享,达到其最大的效益。
高校是以教学、科研为主,学生管理系统负责管理全校所有学生的学习情况、教师的教学情况和对教学资源使用进行配置,所以在整个校园信息化建设中,学生管理系统占着十分重要的地位。
通过学生管理系统,不仅仅对高校的整体教学资源进行了合理高效的管理,而且对学生管理的模式、管理的水平都有极大的促进作用。
将信息系统设计与开发的专业知识和学院的实际需要相结合,调研和开发一个符合本学院的个性需求,对本学院的学生、教师、党团建设以及学生会信息进行规范管理、科学统计和快速查询的综合信息管理平台,具有很强的实际意义。
可以 实现对本学院教学信息和教学资源的科学规范化管理,提升学院学生管理的水平。
简化学生管理的活动、梳理相关的业务流程,为学院学生管理工作构建一个集中高效的平台。
降低教务人员的工作压力,让辅导员将更多的精力转移到提升学生综合素质和提升管理质量的核心工作中来。
设计基于网络的学生信息管理系统,可以使学校管理者,教师,学生,可以不受时间、空间的限制,来进行操作,不仅简单方便,而且提高了工作效率,减轻了教学负担,使教学管理又迈上一个新的台阶。
2学生信息管理系统开发工具简介
该系统采用了Eclipse+WindowsBuilder+java作为开发工具,以MySQL作为后台数据库,操作系统是Windows7。
2.1java、Eclipse和WindowsBuilder简介
Java是一种面向对象的编程语言,它的可跨平台性,通用性,高效性和安全性,被现代网络编程广泛的应用。
Eclipse是一个著名的跨平台的自由集成开发环境,支持多种编程语言,本系统是采用java编程语言来开发实现。
它可以使代码更加整洁,便于查找编译错误,而且它的可以跨平台运行性,可以实时的查看代码的运行效果,及时的进行修改和调整,减轻了程序员的压力,可以方便做出更加完美的作品。
WindowsBuilder是eclipse的一个图形界面插件,通过这个插件,可以实现对界面的可视化操作,减少了手写代码的累赘,节省时间,而且也可以是界面更加整洁美观。
2.2MySQL简介
MySQL是一个关系型数据库,目前属于Oracle公司,它所使用的SQL语言是用于访问数据库的最常用标准化语言,其体积小,速度快,总体拥有成本低,尤其是开放源码这一特点,一般中小型软件开发都选择MySQL作为数据库。
允许多个用户同时访问数据,具有可伸缩性和可用性以及企业级数据库功能,易于安装、部署、和使用,完全可以满足用户的需求。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
另外,MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。
例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
MySQL 主要目标是快速、健壮和易用。
最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上
提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。
自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。
MySQL数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库可以提供如下功能:
减少记录编档的时间 、减小记录检索时间 、灵活的查找序列 、灵活的输出格式 、多个用户同时访问记录。
3学生信息管理系统需求分析
根据系统的功能模块,每个实体包含的各种信息,和实体间的相互联系,组成一个联接形成数据的流动。
通过分析,可以得出本系统有如下实体:
管理员、教师、学生、班级、科目、课表、院系、年级、成绩共九个实体。
每个实体都有自己独立的属性,根据这些实体来建立数据库和实体类。
3.1性能需求分析
3.1.1系统界面需求
a)根据现代教学的需求和工作性质,整个系统的界面整体大方简单,整洁友好,让用户一目了然的可以找到想要的东西,轻松愉快的进行管理操作。
b)后台数据库简单,条理清晰,方便管理过程中的维护,减少了后期升级改进的麻烦。
c)系统按照人性化设计,方便用户操作,不用多次的返回进行记录查看,只需进行查看,即可实现增删改查。
考虑到教师和学生的私人信息,进行了限制,不得任意修改,尤其是密码的更改,需要确认原密码,才能设置新密码。
3.1.2系统功能模块需求
学生信息管理系统主要实现的是对高校学生信息管理环节进行网络化操作。
本系统包含了信息管理中的基本环节的操作,系统设计实现了教师管理、学生管理、管理员操作、班级管理、科目管理、课表管理的各个模块功能,要求如下:
a)实现了管理员、教师和学生登录而看到的不同的界面。
b)管理员可以管理学生和教师,以及对课表、班级、科目的调整操作,并且可以修改自己的资料。
教师可以实现对学生的管理,查看自身信息和修改。
学生只能查看信息,以及修改自己的密码等基础信息。
c)实现了学生的成绩管理、信息管理。
d)实现了课表信息管理,并且可以发布新课表。
e)系统最大限度的实现了易维护性和易操作性。
3.2数据分析
根据系统设计需求,设计如下所示的数据项和数据结构:
a)管理员信息:
编号、管理员姓名、登录名、密码、性别;
b)教师信息:
编号、教师姓名、登录名、密码、性别、院系编号;
c)学生信息:
编号、班级编号、年级编号、学生姓名、登录名、密码、性别、入学时间、院系编号;
d)班级信息:
编号、班级名称、院系编号、班级人数;
e)科目信息:
编号、科目名称、科目学分、科目简介;
f)课表信息:
科目编号、科目名称、任课教师编号、上课时间、上课地点;
g)院系信息:
编系名称;
h)年级信息:
编号、年号、院级名称、院系编号;
i)成绩信息:
编号、学生编号、学生姓名、科目名称、任课教师、平时成绩、期末成绩、总成绩;
3.3实体E-R图
根据数据库表之间的操作关系,绘出总体的E-R图,如图3.1
图3.1总体E-R图
根据数据分析的数据项和数据结构信息设计出E-R图。
管理员实体包含的属性有编号、管理员姓名、登录名、密码、性别。
管理员的实体E-R图如图3.2所示。
图3.2管理员实体E-R图
根据教师信息分析出的数据项和数据结构信息设计出E-R图。
教师实体的属性有编号、教师姓名、登录名、密码、性别、院系编号。
教师实体的E-R图如图3.3所示。
图3.3教师实体E-R图
根据学生信息分析出的数据项和数据结构信息设计出E-R图。
学生实体的属性有编号、班级编号、年级编号、学生姓名、登录名、密码、性别、入学时间、院系编号。
学生实体的E-R图如图3.4所示。
图3.4学生实体E-R图
根据班级信息分析出的数据项和数据结构信息设计出E-R图。
班级实体的属性有编号、班级名称、院系编号、班级人数。
班级实体的E-R图如图3.5所示。
图3.5班级实体E-R图
根据科目信息分析出的数据项和数据结构信息设计出E-R图。
科目实体的属性有编号、科目名称、科目学分、科目简介。
科目实体的E-R图如图3.6所示。
图3.6科目实体E-R图
根据课表信息分析出的数据项和数据结构信息设计出E-R图。
课表实体的属性有科目编号、科目名称、任课教师编号、上课时间、上课地点。
课表实体的E-R图如图3.7所示。
图3.7课表实体E-R图
根据院系信息分析出的数据项和数据结构信息设计出E-R图。
院系实体的属性有编号、院系名称。
院系实体的E-R图如图3.8所示。
图3.8院系实体E-R图
根据年级信息分析出的数据项和数据结构信息设计出E-R图。
年级实体的属性有编号、年级名称、院系编号。
年级实体的E-R图如图3.9所示。
图3.9年级实体E-R图
根据成绩信息分析出的数据项和数据结构信息设计出E-R图。
成绩实体的属性有编号、学生编号、学生姓名、科目名称、任课教师、平时成绩、期末成绩、总成绩。
成绩实体的E-R图如图3.10所示。
图3.10成绩实体E-R图
3.4数据库设计
依据上面设计的E-R图,将图标信息转化为数据库中的表结构。
本系统采用的是MySQL数据库作为后台数据库,系统数据库名称为mythesis,数据库mythesis中包含了9张表。
其数据表如下:
a)t_admin(管理员表)包含管理员的所有信息,其中性别默认是男,登录名和密码默认是admin。
表结构如表3.1。
表3.1t_admin
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
8
是
否
编号
2
adName
varchar
20
否
姓名
3
sex
varchar
10
否
性别
4
loginName
varchar
50
否
登陆名
5
adPwd
varchar
20
否
密码
b)t_teacher(教师表)包含教师的所有信息,其中性别默认是男,登录名默认是1234567,密码默认是123。
表结构如表3.2。
表3.2t_teacher
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
10
是
否
编号
2
teaName
varchar
50
否
姓名
3
teaLoginName
varchar
50
否
登录名
4
teaPwd
varchar
30
否
密码
5
sex
varchar
10
否
性别
6
deptId
int
10
否
院系编号
c)t_student(学生表)包含学生的所有信息,其中密码默认是123,性别默认是男。
表结构如表3.3。
表3.3t_student
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
10
是
否
编号
2
classId
int
10
否
班级编号
3
gradeId
int
10
否
年级编号
4
studentName
varchar
100
否
姓名
5
stuloginName
varchar
50
否
登录名
6
stuPwd
varchar
30
否
密码
7
sex
varchar
10
否
性别
8
enrollingTime
varchar
20
否
入学时间
9
deptId
int
10
否
院系编号
d)t_class(班级表)包含班级的所有信息。
表结构如表3.4。
表3.4t_class
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
6
是
否
编号
2
className
varchar
30
否
班级名称
3
deptId
int
40
否
院系编号
4
numbers
int
4
是
班级人数
e)t_cource(科目表)包含了科目的所有信息。
表结构如表3.5。
表3.5t_cource
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
10
是
否
编号
2
courceName
varchar
100
否
科目名称
3
credits
float
否
科目学分
4
courceJs
varchar
500
是
课程简介
f)t_courcetime(课表表)包含了课表的所有信息。
表结构如表3.6。
表3.6t_courcetime
序号
字段名
数据类型
长度
主键
允许空值
描述
1
courceId
int
10
是
否
科目编号
2
courceName
varchar
100
否
科目名称
3
teacherId
int
10
否
教师编号
4
courceTime
varchar
60
否
上课时间
5
courcePlace
varchar
60
否
上课地点
g)t_dept(院系表)包含了院系的所有信息。
表结构如表3.7。
表3.7t_dept
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
10
是
否
编号
2
deptName
varchar
100
否
院系名称
h)t_grade(年级表)包含了年级的所有信息。
表结构如表3.8。
表3.8t_grade
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
10
是
否
编号
2
gradeName
varchar
60
否
年级名称
3
deptId
int
10
否
院系编号
i)t_scores(成绩表)包含了成绩的所有信息。
表结构如表3.9。
表3.9t_scores
序号
字段名
数据类型
长度
主键
允许空值
描述
1
id
int
10
是
否
编号
2
studentId
int
10
否
学生编号
3
studentName
varchar
50
否
学生姓名
4
courceName
varchar
100
否
科目名称
5
teacherName
varchar
100
否
任课教师
6
regularGrade
int
5
否
平时成绩
7
finalGrade
int
5
否
期末成绩
8
totalMark
int
5
否
总成绩
按照以上9张表的内容,在MySQL中的mythesis数据库中建表。
4程序功能设计与实现
4.1总体设计原则
系统由各个小的模块组成,每一个模块都有自己的功能,方便管理操作。
系统分为管理员、教师、学生三个身份登录,不同的用户登录显示的界面不同,实现了不同级别的用户进行操作的权限。
根据每张表之间的关系和每一个界面需要的信息,设计出每一个独立的模块,最后按照分类实现组合,完成整个系统的设计。
设计思想根据设计的E-R图建立表,根据表来建立对应的实体类,再通过代码实现方法,依据现代教学管理的需求设计合理的界面,按照界面来实现每一个模块的功能。
4.2总体功能
本系统的功能主要包括管理员模块、教师模块、学生模块。
4.2.1管理员功能模块
管理员可以对整个系统进行操作,可以完成的功能有:
a)对管理员自己的操作,可以添加、查找、删除、修改密码。
b)对教师的操作,可以添加教师、查找教师、删除教师、修改教师信息。
c)对学生的操作,可以添加学生、查找学生、删除学生、修改学生信息。
d)对班级、科目、课表的管理。
可以分别的实现各自的增删改查操作。
其结构图如图4.1所示: