学生 信息 管理系统Word格式.docx
- 文档编号:18747550
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:22
- 大小:297.95KB
学生 信息 管理系统Word格式.docx
《学生 信息 管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《学生 信息 管理系统Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
参考文献24
学生信息管理系统设计与实现
前言
为了充分实现素质教育,多方面发展学生的兴趣和爱好,大部分学校都设立了全校范围内的选修课。
学生可以根据自己的兴趣和特长,选择自己喜爱的课程。
由于高等学校的迅速发展,高校规模越来越大,学生数量与课程数量都在迅速地增长,管理上的手工操作不仅仅会耗费学生与工作人员大量的时间和精力,效率以及准确性也很低。
如何使同学们方便、快捷、准确地选课,已经成为一个重要的问题。
利用计算机进行学生信息方面的管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。
要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的管理信息系统是十分必要的。
学生信息管理系统的设计与实现包括后台数据库的建立维护和前台各种窗体展现两方面的功能。
后台数据库的建立维护要靠建立表来完成,以此来存储与学生相关的信息。
前台窗体的展现要靠在数据库中建立窗体来实现,要求能够保护数据库的安全,提示用户如何更好地使用该系统等多项功能。
学生信息管理系统的总目标是对学生信息进行存储、查询、修改和删除等操作。
本系统采用Java语言作为开发语言,Java语言具有面向对象性,简单便捷性,平台无关性,运行安全性,系统移植性,动态扩展性,程序高性能能特点。
图形用户界面是为应用程序提供一个图形化的界面,通过它用户和程序之间可以方便地进行交互,完成应用程序使用中的数据输入与输出显示等操作任务。
Java语言提供了大量支持GUI设计的类。
系统选用MySQL作为后台数据库。
应用程序与数据库的通信连接由JDBC实现。
1系统介绍
1.1学生信息管理系统功能需求
以下部分阐述了学生信息管理系统的各部分基本功能和要求。
1.1.1用户登录
学生信息管理系统采用用户名及密码验证模式,进入学生信息管理系统前,用户必须在登录页面输入用户名及密码,只有验证通过的用户方可进入学生信息管理系统操作主页面。
1.1.2学生信息管理
包含的功能模块有:
学生个人信息的添加、学生信息的查询以及学生信息的修改与删除。
1.1.3课程信息管理
包括以下功能模块:
课程基本信息添加与删除处理、与学生信息结合实现学生选课处理、学生退选课程处理以及学生选课信息的查询处理。
1.1.4成绩管理模块
学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块设置了成绩添加、成绩浏览、成绩查询等功能模块。
1.2性能需求
1.2.1硬件环境
CPU:
1GHZ以上
内存:
256MB以上
硬盘空间:
10GB以上
1.2.2软件环境
操作系统:
Windows2003或WindowsXP
数据库:
MySQL
开发工具:
Eclipse
1.3可行性分析
学生信息管理是各大院校的管理工作中尤为重要的一项工作,它一直以来是学校管理的一项重要衡量指标。
学生信息管理系统的应用,解决了学校日常学生信息管理工作中的信息量大、数据难以统计、数据更新困难等问题。
应用计算机学生信息管理系统对日常学生信息管理工作进行管理,提高了院校学生信息管理工作的效率,更有利于学校及时掌握学生的学习成绩、个人信息等一系列数据信息,通过这些实际的数据信息,学校可以随时调整日常的学生管理工作。
1.4开发工具和技术介绍
1.4.1通过Swing组件开发用户界面
Java语言提供了大量支持GUI(GraphicsUserInterface)设计的类,如按钮、菜单、列表、文本款等组件类,通海它还包含窗口、面板等容器类。
Java的抽象工具集AWT(AbstractWindowToolkit)和Swing中涵盖了很多类来支持GUI(GraphicsUserInterface)的设计。
设计和实现图形用户界面的主要任务包括:
创建组成界面的各种成分和要素,指定它们的属性和位置关系,根据具体需要布局排列,从而构成完整的图形用户界面的外观表象;
定义图形用户界面的事件和各界面元素所对不同事件的响应,从而实现图形用户界面与用户间的交互功能。
Swing是Java上重要的窗口工具集,它和AWT配合,可以写出优秀的应用程序。
Swing组件大部分都是由纯Java程序写成,因此,我们可以使用Swing编写出跨平台的桌面程序。
1997年的JavaONEdeveloperconference上提出的JFC(JavaFoundationClass),目的在于为程序设计者提供图形用户接口,这其中包括:
AWT组件、Swing组件、MySQLibilityAPI、Java2DAPI,支持DragandDrop功能等。
其中Swing占了很大部分,并从Java2开始,Swing成为Java的标准包之一。
Swing由原先的MVC概念衍生而来。
MVC包括model、controller、view3个组件,其中view负责显示组件的外观;
controller负责处理用户的操作,并将改变后的数据存储在model中;
model的概念最重要且比较复杂,它主要负责存储组件内被用来操作的、控制组件操作模式的以及组件本身的数据模式的数据。
在Swing实现的mvc中,把view和controller合并在一起,叫作委托式UI界面(UI-delegate)这样做可以降低设计上的难度,因此Swing的mvc结构也被叫作M-UI结构。
在Swing中,几乎所有的组件都是从Jcomponent继承而来,只有Jframe、Jdialog、Jwindow、Japplet从AWT中直接继承而来,这四个组件统称为上层(Top-level)组件,其他Swing组件必须依附于它们才能显示。
同时这四个组件都实现了RootPaneContainer接口。
RootPaneContainer定义了各种容器取得和设置的方法,它包括了JRootPane、GlassPane、LayeredPane、ContentPane,其中JRootPane不是真正的容器,它包含JContentPane和JLayeredPane,可以在它们中加入其他组件。
比如:
frame.getContentPane().add(button)。
JLayeredPane是一个可重叠组件的面板,本身是一个容器,有很多层,ContentPane是最常用的容器,常用到的版面管理器一般有BorderLayout、FlowLayout、GridLayout、GridBagLayout、CardLayout和BoxLayout,使用的时候直接设置就行了。
当然也可以不用,那样显示出来的组件就不会自动调整了。
构造好一个界面后,还要让界面合理的响应用户的动作,比如鼠标的单击或键盘按键等。
对于事件的处理,首先要知道是什么组件将被处理,比如,是JButton还是JCheckBox;
其次是什么样的事件被处理,比如是键盘还是鼠标事件;
最后,捕获事件后怎样处理,即处理事件的代码怎么撰写。
实现事件处理方式有很多种,一般常用的有:
实现事件处理的接口(xxxListener);
继承事件处理的Adapter类(xxxAdapter);
分离实现,把事件处理单独实现,然后加入监听;
使用适配器模式等。
1.4.2通过JDBC与数据库进行连接
学生信息管理系统使用JDBC实现应用程序和数据库的通信连接。
JDBC(JavaDataBaseConnectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用底层的应用程序编程接口(API),它由Java语言编写的类和接口组成,旨在让各数据库开发商为Java程序员提供标准的数据库API。
JDBC的接口分为两大类型,一个是面向程序开发人员的JDBCAPI,另外一个是基础设计的JDBCDriverAPI。
本系统应用的是基础设计的JDBCDreiverAPI接口。
JDBC可实现应用程序与数据库的通信连接,实现与数据源连接就需要所连数据源的驱动程序。
JDBC驱动程序有四种类型:
JDBC-ODBC桥接驱动程序、本地APIJava驱动程序、网络协议Java驱动程序、原生协议完整Java驱动程序。
由于该系统是单击版,要求代码安装在每台客户机上所以采用的是JDBC-ODBC桥接驱动程序。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。
它由一些用Java语言写的类和界面组成。
JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人与可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。
用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。
不但如此,使用Java编写的应用程序无需改写即可在任何支持Java的平台上运行。
Java应用同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC访问数据库的过程是:
首先与数据库建立连接。
通过DriverManager类建立起与数据库的连接,这个连接将作为一个数据操作的起点,同时也是连接会话事务操作的基础。
其次向数据库发送SQL命令。
通过Statement或者PreparedStatement类向数据源发送SQL命令。
在发送了SQL命令后,调用类中相应的Execute方法来执行SQL命令。
最后处理数据库返回的结果。
数据库处理了提交的SQL命令后,将返回处理结果。
据此,可以知道操作了多少条数据;
对于查询等操作将返回ResultSet结果集获得所需要的查询结果。
1.4.3后台数据库MySQL
学生信息管理系统是单击版的系统,不能实现局域网上共享同一数据库,所以采用MySQL作为后台数据库。
MySQL是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。
同时MySQL是一种关系型数据库,支持标准的SQL语句。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;
提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;
为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
2系统设计
2.1结构设计[1]、[2]
根据对系统进行的需求分析,整个学生信息管理系统由用户登录、学生基本信息管理、课程信息管理、成绩信息管理、四个子功能模块构成,这些不同的模块分别实现了不同的功能。
其中用户登录模块要求用户必须在登录页面输入用户名及密码,只有验证通过的用户方可进入学生信息管理系统进行操作;
而学生信息管理模块中涉及的功能信息包括学生记录的查询、添加、删除、修改;
同样,学生课程信息管理模块也实现了类似的功能即课程记录的增加、删除、修改、查询;
同样的是学生成绩管理模块。
所有的模块都不同程度的涉及到了记录的添加、查询、删除、修改,因此根据这样的关系,可以概括出本系统的结构大致如图2.1-1所示。
图2.1-1学生信息管理系统功能结构图
2.1.1功能流程及工作流描述
增加学生信息:
系统操作人员打开学生信息增加界面,输入相关信息(姓名、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。
修改学生信息:
根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。
删除学生信息:
根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。
学生选课信息:
根据学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。
增加课程信息:
系统操作人员根据打开的课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。
修改课程信息:
根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。
删除课程信息:
根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。
登记成绩:
根据学号以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记
修改成绩:
对已登记的成绩进行修改。
学生查询:
可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合条件的学生信息都将会被显示出来。
课程查询:
可以按照课程名称和授课教师的姓名对课程详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。
成绩查询:
根据学生的学号来查询该学生所有选课的成绩。
2.2数据库设计[3]、[4]
数据库中应包含3个表,即学生信息表(Student)、课程信息表(Course)和学生选课表(SC),设计要求如表2.2-1、2.2-2及2.2-3所示。
表2.2-1学生信息表(Student)
名称
字段名称
数据类型
主键
非空
学号
SNUM
CHAR(10)
YES
姓名
SNAME
VVARCHAR2
NO
性别
SSEX
CHAR
(2)
民族
SETHNIC
籍贯
SHOME
VARCHAR2
入学年份
SYEAR
CHAR(4)
专业
SMAJOR
学院
SCOLLEGE
出生日期
SBIRTH
CHAR(8)
表2.2-2课程信息表(Course)
课程编码
CNUM
课程名称
CNAME
授课教师
CTEACHER
上课地点
CPLACE
上课时间
CTYPE
CHAR
(1)
表2.2-3学生选课表(SC)
成绩
GRADE
NUMBER(4,1)
3详细功能模块设计
该系统由5个模块构成,包括学生管理系统登录模块、登录后主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块。
3.1登录模块[5]
当用户输入用户名和密码登录时,系统会判断用户的和法性与相应的级别:
普通用户或管理员用户,从而分配不同的权限让用户登录系统。
如图3.1-1所示。
图3.1-1系统登录模块图
3.2系统主界面模块[5]、[6]
学生管理系统主界面模块包括StuMS.java和StuMain.java两个文件。
StuMS是学生信息管理系统的主运行类,其中有运行整个程序的main方法,该文件生成了StuMain类的一个实例,从而生成了学生信息管理系统的界面,StuMain类继承自JFrame类,实现了时间侦听的接口,它还有一个不带参数的构造函数StuMain(),用来生成StuMain的实例。
StuMain类将所有的功能集中到菜单栏中,并通过调用其他模块来实现学生信息管理系统的各个功能。
其登录后主界面如图3.2-1所示。
图3.2-1学生信息管理系统主界面
3.3学生信息管理模块
学生信息管理模块主要由StuInfo.java、AddStuInfo.java、EditStuInfo.java、DelStuInfo.java、SelectCourse.java和StuInfoSnum.java共计6个文件组成,其构成关系如图3.3-1所示。
图3.3-1学生信息管理模块关系图
学生信息管理模块中的4类文件组成了主界面中【学生信息管理】菜单的内容,其中包括添加、修改、删除和查询学生基本信息的功能,如图3.3-2所示。
图3.3-2学生信息管理模块的运行界面
StuInfo.java类是AddStuInfo、EditStuInfo和DelStuInfo这3个类的超类,由于AddStuInfo、EditStuInfo和DelStuInfo的界面显示有共同之处,所以编写包含共有界面的StuInfo类,可以快速实现其3个子类的界面显示。
AddStuInfo.java类是添加学生信息的类,它继承自StuInfo类,主要实现学生信息添加的功能。
当调用添加学生信息功能时,其运行界面如图3.3-3所示。
图3.3-3添加学生信息的运行界面
EditStuInfo.java类是修改学生信息的类,它继承自StuInfo类,主要实现学生信息修改的功能。
当需要对某位学生的信息进行修改时,首先根据学号选择出该学生的相关信息,同时程序会将查询出的学生信息结果显示在界面上,用户可以做相应的修改。
该系统将修改所填写的信息自动在相应表记录中进行修改填写,并做相应的保存。
其运行界面如图3.3-4所示。
图3.3-4修改学生信息的运行界面
DelStuInfo.java类是删除学生信息的类,它继承自StuInfo类。
当需要删除某位学生的信息时,首先根据学号选择出该学生的信息,用户可以根据返回的结果确定是否删除该学生的信息。
其运行的界面如图3.3-5所示。
图3.3-5删除学生信息的运行界面
StuInfoSearchSnum.java类是根据学号查询相关学生基本信息的类,其运行界面如图3.3-6所示。
图3.3-6根据学号查询学生信息的运行界面
3.4课程信息管理模块
课程信息管理模块主要由CourseInfo.javaAddInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java、CourseInfoSearchCnum.java这5个文件组成,其构成关系如图3.4-1所示。
图3.4-1课程信息管理模块功能结构图
课程信息管理模块中的3个类文件组成了主界面中【学生课程管理】菜单的内容,其中包括课程的添加、修改和删除功能,如图3.4-2所示。
图3.4-2课程信息管理模块运行界面
CourseInfo.java类是AddCourseInfo、EditCourseInfo和DelCourseInfo这3个类的超类,由于AddCourseInfo、EditCourseInfo和DelCourseInfo的界面显示有共同之处,所以编写包含共有界面的CourseInfo类,可以快速实现其3个子类的界面显示。
AddCourseInfo.java类是添加课程信息的类,它继承自CourseInfo类,主要实现课程信息添加的功能。
功能界面如图3.4-3所示。
图3.4-3课程信息添加运行界面
DelCourseInfo.java类是删除课程信息的类。
当需要删除某个课程信息时,首先根据课程号选择出该课程,用户可以根据返回的信息决定是否删除该课程信息。
运行界面如图3.4-4所示。
图3.4-4删除课程信息的运行界面
CourseInfoSearchCnum.java类是选择课程号的类,它利用getCnum()方法将选择出学号并返回给调用它的类。
调用它的类包括EditCourseInfo类和DelCourseInfo。
其运行界面如图3.4-5所示。
图3.4-5选择课程号的运行界面
3.5成绩信息管理模块
成绩信息管理模块主要由GradeInfo.java、AddGradeInfo.java、EditGradeInfo.java这3个文件组成,其构成关系如图3.5-1所示。
图3.5-1成绩信息管理模块功能结构图
成绩信息管理模块中的3个文件组成了主界面中【成绩管理】菜单的内容,其中包括增加和修改功能,其运行界面如图3.5-2所示。
图3.5-2成绩信息管理模块的运行界面
GradeInfo.java类是AddGradeInfo、EditGradeInfo两个类的超类,由于两个子类的界面显示有共同处,所以编写包含共有界面的类可快速实现其两个子类的界面显示。
AddGradeInfo.java类是添加成绩信息的类,它继承自GradeInfo类,主要实现成绩信息的添加功能。
运行界面如图3.5-3所示。
图3.5-3添加成绩信息的运行界面
EditGradeInfo.java类是修改成绩信息的类,它继承自GradeInfo类,主要实现成绩信息修改的功能。
当需要对某个学生的某个课程成绩进行修改时,首先选择学号,同时程序将会查询出该学生选择的课程名称,用户可以修改相应的成绩。
其代码实现与增加课程信息的代码实现相同。
4结束语
学生信息管理系统是实现了对学生信息、课程信息以及成绩信息的管理和查询等操作。
其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是学生信息管理系统所必需的。
但该系统不能实现在局域网内共享同一数据库,只适用于单机操作,每个客户机都需要安装运行程序。
另外对学生管理的需求只是最基本的信息管理,还缺乏比较全面的需求分析。
尽管该系统存在着很多需要改进的地方,但学生信息管理系统的出现对提高学校对学生信息管理工作的工作效率,减轻学校管理学生的工作负担都有很大的帮助。
在该系统的开发过程中我进一步巩固和学习了项目开发的过程,对应用Java进行程序开发有了更深的认识和提高。
能够独立完成基本的应用程序开发,同时也深刻体会到了合作精神的内涵。
5致谢
在论文即将完成之际,回顾紧张但又充实的学习班和开发过程,我在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。
在本次毕业设计中,我从指导老师---张笑老师,身上学到了很多东西。
他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。
他无论在理论上给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。
在撰写论文阶段,张老师几次审阅我们的论文,提出了许多宝贵意见,没有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息 管理系统 管理 系统