学生信息管理系统的设计与实现_第1页
学生信息管理系统的设计与实现_第2页
学生信息管理系统的设计与实现_第3页
学生信息管理系统的设计与实现_第4页
学生信息管理系统的设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于 jdbc 的学生信息管理系统的设计 与实现 姓名 学号 专业 指导教师 摘要 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。 面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样 的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作 量。 学生信息管理系统的设计与实现包括后台数据库的建立维护和前台各种窗体展现两 方面的功能。后台数据库采用 access 数据库。数据库的建立维护要靠建立表来完成, 以此来存储与学生相关的信息。前台窗体的展现要靠在数据库中建立窗体来实现,要求 能够保护数据库的安全,提示用户如何更好地

2、使用该系统等多项功能。前台展示所需要 的信息是通过与数据库建立连接,从而对数据库中的数据表进行操作得到相关的信息。 在学生信息管理系统中是通过 jdbc 与数据库之间建立连接的。学生信息管理系统的总 目标是对学生信息进行存储、查询、修改和删除等操作。 关键词:学生信息管理系统;信息查询;jdbc abstract with the growing size of schools and the sharp increase in the number of students, students information is also doubled. faced with an enormou

3、s amount of information, information management system becomes a necessity to improve the efficiency of student management. such a system can create standardized management, scientific statistics and fast query of the information, thereby reducing the workload of management. design and implementatio

4、n of the student information management system includes two functions: the establishment and maintenance of the background database, and the various forms in front. back-end database uses access database. the establishment and maintenance of the database depends on creating table to store the inform

5、ation of students. front display of the form depends on to creating a form in the database , and requires to protect the security of the database, prompts the user how to make better use of the system and many other functions. the information of the front display requires to establish a connection w

6、ith the database, then operate datas in database to get the related information. in the student information management system establish connections between jdbc and database. the overall goal of student information management system is to store, query, modify, delete and other operations. key words:

7、 student information management system,information query,jdbc 目录 1 引言 .4 2 系统概述 .5 2.1 系统分析 .5 2.1.1 需求分析 .5 2.1.2 可行性分析 .5 2.2 系统用到的开发工具和技术介绍 .6 2.2.1 通过 swing 组件开发用户界面 .6 2.2.2 通过 jdbc 与数据库进行连接 .7 2.2.3 后台数据库 microsoftaccess2003.8 3 系统设计 .9 3.1 结构设计 .9 3.1.1 功能结构图 .9 3.1.2 功能流程及工作流描述 .10 3.2 数据库设计

8、.11 4 详细设计 .12 4.1 学生信息管理系统主界面模块 .12 4.2 学生信息管理模块 .14 4.3 课程信息管理模块 .19 4.4 成绩信息管理模块.22 4.5 信息查询模块.23 5 总 结 .26 参考文献 .27 致 谢 .28 1 引言 为了充分实现素质教育,多方面发展学生的兴趣和爱好,大部分学校都设立了全校 范围内的选修课。学生可以根据自己的兴趣和特长,选择自己喜爱的课程。由于高等学 校的迅速发展,高校规模越来越大,学生数量与课程数量都在迅速地增长,管理上的手 工操作不仅仅会耗费学生与工作人员大量的时间和精力,效率以及准确性也很低。如何 使同学们方便、快捷、准确地

9、选课,已经成为一个重要的问题。 利用计算机进行学生信息方面的管理,不仅能够保证准确、无误、快速输出,而且 还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、 保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、 修改等功能的管理信息系统是十分必要的。 学生信息管理系统的设计与实现包括后台数据库的建立维护和前台各种窗体展现两 方面的功能。后台数据库的建立维护要靠建立表来完成,以此来存储与学生相关的信息。 前台窗体的展现要靠在数据库中建立窗体来实现,要求能够保护数据库的安全,提示用 户如何更好地使用该系统等多项功能。学生信息管理系统的总目标是对学

10、生信息进行存 储、查询、修改和删除等操作。 学生信息管理系统的功能总结起来,共需要以下几个方面: 1 管理学生信息 管理所有学生的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需 要的信息。 2管理课程信息 管理所有课程的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需 要的信息。 3管理选课与成绩 根据学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。 本系统采用 java 语言作为开发语言,java 语言具有面向对象性,简单便捷性,平 台无关性,运行安全性,系统移植性,动态扩展性,程序高性能能特点。图形用户界面 是为应用程序提供一个图形化的界面,通过它

11、用户和程序之间可以方便地进行交互,完 成应用程序使用中的数据输入与输出显示等操作任务。java 语言提供了大量支持 gui 设计的类。系统选用 microsoft access 2003 作为后台数据库。应用程序与数据库的通 信连接由 jdbc 实现。 2 系统概述 学生信息管理系统实现了对学生信息进行存储、查询、修改和删除等操作。学生信 息管理系统主要包括学生信息管理,课程信息管理,选课与成绩管理等功能。 2.12.1 系统分析系统分析 2.1.1 需求分析 1 功能需求 学生信息管理统统的功能需求共有一下几个方面: (1) 学生信息管理 管理所有学生的基本信息,包括添加、修改、删除等;可以

12、根据各种条件查询出需 要的信息。 (2)课程信息管理 管理所有课程的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需 要的信息。 (3)选课与成绩管理 根据学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。 2 性能需求 (1) 硬件环境 cpu: 1ghz 以上 内存 : 256mb 以上 硬盘空间:10gb 以上为好 (2) 软件环境 操作系统: windows 2000 或 windows xp /windows nt server 数据库:microsoft access 2003 开发工具:eclipse 2.1.2 可行性分析 学生信息管理是各大院校的管

13、理工作中尤为重要的一项工作,它一直以来是学校管 理的一项重要衡量指标。学生信息管理系统的应用,解决了学校日常学生信息管理工作 中的信息量大、数据难以统计、数据更新困难等问题。应用计算机学生信息管理系统对 日常学生信息管理工作进行管理,提高了院校学生信息管理工作的效率,更有利于学校 及时掌握学生的学习成绩、个人信息等一系列数据信息,通过这些实际的数据信息,学 校可以随时调整日常的学生管理工作。 2.22.2 系统用到的开发工具和技术介绍系统用到的开发工具和技术介绍 2.2.1 通过 swing 组件开发用户界面 本系统采用 java 语言作为开发语言,java 语言具有面向对象性,简单便捷性,平

14、 台无关性,运行安全性,系统移植性,动态扩展性,程序高性能能特点。图形用户界面 是为应用程序提供一个图形化的界面,通过它用户和程序之间可以方便地进行交互,完 成应用程序使用中的数据输入与输出显示等操作任务。java 语言提供了大量支持 gui (graphics user interface) 设计的类,如按钮、菜单、列表、文本款等组件类,通海它 还包含窗口、面板等容器类。java 的抽象工具集 awt (abstract window toolkit) 和 swing 中涵盖了很多类来支持 gui (graphics user interface) 的设计。设计和实现图形 用户界面的主要任务

15、包括:创建组成界面的各种成分和要素,指定它们的属性和位置关 系,根据具体需要布局排列,从而构成完整的图形用户界面的外观表象;定义图形用户 界面的事件和各界面元素所对不同事件的响应,从而实现图形用户界面与用户间的交互 功能。 swing 是 java 上重要的窗口工具集,它和 awt 配合,可以写出优秀的应用程序。 swing 组件大部分都是由纯 java 程序写成(只有 jframe、jdialog、jwindow、japplet 不是),因此,我们可以使用 swing 编写出跨平台的桌面程序。 1 swing 的起源 1997 年的 javaone developer conference

16、上提出的 jfc(java foundation class),目的在于为程序设计者提供图形用户接口,这其中包括:awt 组件、swing 组件、accessibility api、java 2d api,支持 drag and drop 功能等。其中 swing 占了 很大部分,并从 java2 开始,swing 成为 java 的标准包之一。 2 swing 的结构 swing 由原先的 mvc 概念衍生而来。mvc 包括 model、controller、view3 个组 件,其中 view 负责显示组件的外观;controller 负责处理用户的操作,并将改变后的数 据存储在 mode

17、l 中;model 的概念最重要且比较复杂,它主要负责存储组件内被用来 操作的、控制组件操作模式的以及组件本身的数据模式的数据。 在 swing 实现的 mvc 中,把 view 和 controller 合并在一起,叫作委托式 ui 界面 (ui-delegate)这样做可以降低设计上的难度,因此 swing 的 mvc 结构也被叫作 m-ui 结 构。 3 swing 布局管理器(layout manager) 在 swing 中,几乎所有的组件都是从 jcomponent 继承而来,只有 jframe、jdialog、jwindow、japplet 从 awt 中直接继承而来,这四个组件

18、统称为上层 (top-level)组件,其他 swing 组件必须依附于它们才能显示。同时这四个组件都实现了 rootpanecontainer 接口。rootpanecontainer 定义了各种容器取得和设置的方法,它 包括了 jrootpane、glasspane、layeredpane、contentpane,其中 jrootpane 不 是真正的容器,它包含 jcontentpane 和 jlayeredpane,可以在它们中加入其他组件。 比如:frame.getcontentpane().add(button)。 jlayeredpane 是一个可重叠组件的面板,本身是一个容器,

19、有很多层, contentpane 是最常用的容器,常用到的版面管理器一般有 borderlayout、flowlayout、gridlayout、gridbaglayout、cardlayout 和 boxlayout,使用的时候直接设置就行了。当然也可以不用,那样显示出来的组件就不 会自动调整了。 4 swing 事件处理 构造好一个界面后,还要让界面合理的响应用户的动作,比如鼠标的单击 或键盘 按键等。对于事件的处理,首先要知道是什么组件将被处理,比如,是 jbutton 还是 jcheckbox;其次是什么样的事件被处理,比如是键盘还是鼠标事件;最后,捕获事件 后怎样处理,即处理事件的

20、代码怎么撰写。 实现事件处理方式有很多种,一般常用的有:实现事件处理的接口(xxxlistener); 继承事件处理的 adapter 类(xxxadapter);分离实现,把事件处理单独实现,然后加入 监听;使用适配器模式等。 2.2.2 通过 jdbc 与数据库进行连接 学生信息管理系统使用 jdbc 实现应用程序和数据库的通信连接。jdbc(java database connectivity) 是 java 与数据库的接口规范,jdbc 定义了一个支持标准 sql 功能的通用底层的应用程序编程接口(api),它由 java 语言编写的类和接口组成,旨 在让各数据库开发商为 java 程

21、序员提供标准的数据库 api。jdbc 的接口分为两大类型, 一个是面向程序开发人员的 jdbc api ,另外一个是基础设计的 jdbc driver api 。本 系统应用的是基础设计的 jdbc dreiver api 接口。jdbc 可实现应用程序与数据库的 通信连接,实现与数据源连接就需要所连数据源的驱动程序。jdbc 驱动程序有四种类 型:jdbc-odbc 桥接驱动程序、本地 api java 驱动程序、网络协议 java 驱动程序、 原生协议完整 java 驱动程序。由于该系统是单击版,要求代码安装在每台客户机上所 以采用的是 jdbc-odbc 桥接驱动程序。 jdbc 是一

22、种可用于执行 sql 语句的 java api(application programming interface, 应用程序设计接口)。它由一些用 java 语言写的类和界面组成。jdbc 给数据库应用开 发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人与可 以用纯 java 语言编写完整的数据库应用程序。通过使用 jdbc,开发人员可以很方便 地将 sql 语句传送给几乎任何一种数据库。用 jdbc 写的程序能够自动地将 sql 语句 传送给相应的数据库管理系统(dbms)。不但如此,使用 java 编写的应用程序无需 改写即可在任何支持 java 的平台上运行。j

23、ava 应用同各种各样的数据库连接,jdbc 正是实现这种连接的关键。jdbc 访问数据库的过程是:首先与数据库建立连接。通过 drivermanager 类建立起与数据库的连接,这个连接将作为一个数据操作的起点,同时 也是连接会话事务操作的基础。其次向数据库发送 sql 命令。通过 statement 或者 preparedstatement 类向数据源发送 sql 命令。在发送了 sql 命令后,调用类中相应 的 execute 方法来执行 sql 命令。最后处理数据库返回的结果。数据库处理了提交的 sql 命令后,将返回处理结果。据此,可以知道操作了多少条数据;对于查询等操作 将返回 r

24、esultset 结果集获得所需要的查询结果。 2.2.3 后台数据库 microsoft access 2003 学生信息管理系统是单击版的系统,不能实现局域网上共享同一数据库,所以采用 access 作为后台数据库。access 是一种桌面数据库,只适合数据量少的应用,在处理 少量数据和单机访问的数据库时是很好的,效率也很高。同时 access 是一种关系型数 据库,支持标准的 sql 语句。l access 是微软公司推出的基于 windows 的桌面关系数据库管理系统(rdbms), 是 office 系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块 7 种用 来建立数据库

25、系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、 界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也 使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 access 是一种关系型数据库管理系统,其主要特点如下: 1存储方式单一 access 管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在 后缀为(.mdb)的数据库文件种,便于用户的操作和管理。 2面向对象 access 是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种 功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由 一系列对象组

26、成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国, 用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和 管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发 应用程序更为简便。 3界面友好、易操作 access 是一个可视化工具,是风格与 windows 完全一样,用户想要生成对象并应 用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、 报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操 作简便,容易使用和掌握。 4集成环境、处理多种数据信息 access 基于 window

27、s 操作系统下的集成开发环境,该环境集成了各种向导和生成 器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、 设计数据查询、报表打印等可以方便有序地进行。 5access 支持 odbc(开发数据库互连,open data base connectivity),利用 access 强大的 dde(动态数据交换)和 ole(对象的联接和嵌入)特性,可以在一个 数据表中嵌入位图、声音、excel 表格、word 文档,还可以建立动态的数据库报表和 窗体等。access 还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据 库访问页对象生成 html 文件,轻松构

28、建 internet/intranet 的应用。 3 系统设计 3.13.1 结构设计结构设计 根据对系统进行的需求分析,本系统将分为 4 个模块: 1 学生管理 管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。 2 课程管理 管理课程的基本信息,包括课程信息的添加、修改和删除。 3 成绩管理 管理学生选课的成绩信息,包括成绩的登记与修改。 4 信息查询 查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。 3.1.1 功能结构图 系统功能结构如图 3-1 所示。 学生管 理系统 学生管理 课程管理 成绩管理 信息查询 增加 修改 删除 学生选课 增加 修

29、改 删除 增加 修改 学生查询 课程查询 成绩查询 按学号查询 按姓名查询 按性别查询 按专业查询 按学院查询 按课程名称查询 按授课教师查询 查询所有科目成绩 图 3-1 学生信息管理系统功能结构图 3.1.2 功能流程及工作流描述 1 增加学生信息 系统操作人员打开学生信息增加界面,输入相关信息(姓名、民族、籍贯、出生日 期、入学年份、专业和学院等),在数据库中添加相关数据。 2修改学生信息 根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。 3删除学生信息 根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。 4 学生选课 根据学生学号与需要选择的课程,

30、确认无误后保存,数据库中将自动添加新的选课 记录。 5 增加课程信息 系统操作人员根据打开的课程信息增加界面,输入相关信息(课程名称、授课教师、 上课时间、上课地点和课程类型等),在数据库中添加相关数据。 6 修改课程信息 根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。 7 删除课程信息 根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。 8 登记成绩 根据学号以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记 9 修改成绩 对已登记的成绩进行修改。 10 学生查询 可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生 信息进行

31、查询,所有符合条件的学生信息都将会被显示出来。 11 课程查询 可以按照课程名称和授课教师的姓名对课程详细信息进行查询,所有符合查询条件 的课程信息都将会被显示出来。 12 成绩查询 根据学生的学号来查询该学生所有选课的成绩。 3.23.2 数据库设计数据库设计 数据库中应包含 3 个表,即学生信息表(student)、课程信息表(course)和学生选 课表(sc),设计要求如表 3-13-3 所示。 表 3-1 学生信息表(student) 名称字段名称数据类型主键非空 学号 snumchar(10)yesyes 姓名 snamevvarchar2noyes 性别 ssexchar(2)n

32、ono 民族 sethnicchar(2)nono 籍贯 shomevarchar2nono 入学年份 syearchar(4)nono 专业 smajorvarchar2nono 学院 scollegevarchar2nono 出生日期 sbirthchar(8)nono 表 3-2 课程信息表(course) 名称字段名称数据类型主键非空 课程编码cnumchar(4)yesyes 课程名称cnamevarchar2noyes 授课教师cteachervarchar2nono 上课地点cplacevarchar2nono 上课时间ctypechar(1)nono 表 3-3 学生选课表(s

33、c) 名称字段名称数据类型主键非空 学号snumchar(10)yesyes 课程编码cnumchar(4)yesyes 成绩gradenumber(4,1)nono 4 详细设计 该系统由 6 个模块构成,包括学生管理系统主界面模块、学生信息管理模块、课程 信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。 4.14.1 学生管理系统主界面模块学生管理系统主界面模块 学生管理系统主界面模块包括 stums.java 和 stumain.java 两个文件。stums 是学 生信息管理系统的主运行类,其中有运行整个程序的 main 方法,该文件生成了 stumain 类的一个实例,

34、从而生成了学生信息管理系统的界面,如图 4-1 所示。 stumain 类继承自 jframe 类,实现了时间侦听的接口,它还有一个不带参数的构造函 数 stumain(),用来生成 stumain 的实例。stumain 类将所有的功能集中到菜单栏中, 并通过调用其他模块来实现学生信息管理系统的各个功能。 图 4-1 学生信息管理系统主界面 1stums.java stums 类是学生信息管理系统的主运行类。该类中包含有名为 stums 的构造函数, 负责定义程序运行的位置等功能。main 方法是程序的运行函数。该类的代码如下: import java.awt.dimension; impo

35、rt java.awt.toolkit; import javax.swing.uimanager; /* * 学生管理系统运行主类 */ public class stums boolean packframe = false; /* * 构造函数 */ public stums() stumain frame = new stumain(); if (packframe) frame.pack(); else frame.validate(); / 设置运行时窗口的位置 dimension screensize = toolkit.getdefaulttoolkit().getscreen

36、size(); dimension framesize = frame.getsize(); if (framesize.height screensize.height) framesize.height = screensize.height; if (framesize.width screensize.width) framesize.width = screensize.width; frame.setlocation(screensize.width - framesize.width) / 2, (screensize.height - framesize.height) / 2

37、); frame.setvisible(true); public static void main(string args) / 设置运行风格 try uimanager.setlookandfeel(uimanager .getcrossplatformlookandfeelclassname(); catch (exception e) e.printstacktrace(); new stums(); 4.24.2 学生信息管理模块学生信息管理模块 学生信息管理模块主要由 stuinfo.java、addstuinfo.java、editstuinfo.java、delstuinfo.

38、java、selectcour se.java 和 stuinfosnum.java 共计 6 个文件组成,其构成关系如图 4-2 所示。 学生信息超类 stuinfo.java 增加学生信息 addstuinfo.java 修改学生信息 editstuinfo.java 删除学生信息 delstuinfo.java 学生选课 selectcourse.java 按学号查询 stuinfosearchsnum.java 按学号查询 stuinfosearchsnum.java 图 4-2 学生信息管理模块功能结构图 学生信息管理模块中的 6 个类文件组成了主界面中【学生管理】菜单的内容,其 中

39、包括增加、修改、删除和学生选课功能,如图 4-3 所示。 图 4-3 学生信息管理模块的运行界面 1stuinfo.java 该类是 addstuinfo、editstuinfo 和 delstuinfo 这 3 个类的超类,由于 addstuinfo、editstuinfo 和 delstuinfo 的界面显示有共同之处,所以编写包含共有界 面的 stuinfo 类,可以快速实现其 3 个子类的界面显示。其代码如下: 2addstuinfo.java 该类是添加学生信息的类,它继承自 stuinfo 类,主要实现学生信息添加的功能。 当调用添加学生信息功能时,其运行界面如图 4-4 所示。

40、图 4-4 添加学生信息的运行界面 3 editstuinfo.java 该类是修改学生信息的类,它继承自 stuinfo 类,主要实现学生信息修改的功能。 当需要对某位学生的信息进行修改时,首先根据学号选择出该学生的相关信息,同时程 序会将查询出的学生信息结果显示在界面上,用户可以做相应的修改。其运行界面如图 4-5 所示。 图 4-5 修改学生信息的运行界面 4 delstuinfo.java 该类是删除学生信息的类,它继承自 stuinfo 类。当需要删除某位学生的信息时, 首先根据学号选择出该学生的信息,用户可以根据返回的结果确定是否删除该学生的信 息。其运行的界面如图 4-6 所示。

41、 图 4-6 删除学生信息的运行界面 5 stuinfosearchsnum.java 该类是选择学号的类,其运行界面如图 4-7 所示。 图 4-7 选择学号的运行界面 该类利用 getsnum()方法将选择出的学号返回给调用它的类。调用它的类包括 editstuinfo 类和 delstuinfo 类。该类的代码实现如下: import java.awt.*; import javax.swing.*; /* * 根据学号查询学生信息 */ public class stuinfosearchsnum extends jdialog implements actionlistener co

42、ntainer contentpane; string s; / 框架的大小 dimension facesize = new dimension(300, 100); jlabel jlabel1 = new jlabel(); jcombobox selectsnum; jbutton searchinfo = new jbutton(); public stuinfosearchsnum(jframe frame) super(frame, true); this.settitle(学号查询); this.setresizable(false); try init(); catch (e

43、xception e) e.printstacktrace(); / 设置运行位置,使对话框居中 dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); this.setlocation(int) (screensize.width - 400) / 2, (int) (screensize.height - 300) / 2 + 45); private void init() throws exception this.setsize(facesize); contentpane = this.getconte

44、ntpane(); contentpane.setlayout(new flowlayout(); jlabel1.settext(请输入或者选择学号:); jlabel1.setfont(new font(dialog, 0, 12); contentpane.add(jlabel1); stubean getid = new stubean(); s = getid.getallid(); selectsnum = new jcombobox(s); selectsnum.seteditable(true); selectsnum.setfont(new font(dialog, 0, 1

45、2); contentpane.add(selectsnum); searchinfo.settext(查询); searchinfo.setfont(new font(dialog, 0, 12); contentpane.add(searchinfo); searchinfo.addactionlistener(this); /* * 事件处理 */ public void actionperformed(actionevent e) object obj = e.getsource(); if (obj = selectsnum) this.dispose(); else if (obj

46、 = searchinfo) this.dispose(); /* * 返回选择的学号 */ public string getsnum() return (string) this.selectsnum.getselecteditem(); 6 selectcourse.java 该类是负责学生选课的类,学生可以自由地选择所有已经开设的课程,其运行界 面如图4-8所示。 图 4-8 学生选课的运行界面 4.34.3 课程信息管理模块课程信息管理模块 图 课程信息超类 courseinfo.java 增加课程信息 addcourseinfo.java 修改课程信息 editcourseinfo

47、.java 删除课程信息 delcourseinfo.java 按课程号查询 courseinfosearchcnum.java 按课程号查询 courseinfosearchcnum.java 4-9 课程信息管理模块功能结构图 课程信息管理模块主要由 courseinfo.java、addinfo.java、addcourseinfo.java、editcoursein fo.java、delcourseinfo.java、courseinfosearchcnum.java这5个文件组 成,其构成关系如图4-9所示。 课程信息管理模块中的5个类文件组成了主界面中【课程管理】菜单的内容,其中

48、 包括增加、修改和删除功能,如图4-10所示。 图 4-10 课程信息管理模块运行界面 1 courseinfo.java 该类是addcourseinfo、editcourseinfo和delcourseinfo这3个类的超类, 由于addcourseinfo、editcourseinfo和delcourseinfo的界面显示有共同之 处,所以编写包含共有界面的courseinfo类,可以快速实现其3个子类的界面显示。 2 addcourseinfo.java 该类是添加课程信息的类,它继承自courseinfo类,主要实现课程信息添加的 功能。功能界面如图4-11所示。 图 4-11 课程

49、信息添加运行界面 该类的代码实现如下: import java.awt.*; /* *添加新的课程信息 */ public class addcourseinfo extends courseinfo crsbean getcnum = new crsbean(); public addcourseinfo() this.settitle(添加课程信息); this.setresizable(false); cnum.seteditable(false); cnum.settext( + getcnum.getcrsid(); cname.seteditable(true); cteacher

50、.seteditable(true); ctype.seteditable(true); ctime.seteditable(true); cplace.seteditable(true); / 设置运行时窗口的位置 dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); this.setlocation(screensize.width - 400) / 2, (screensize.height - 300) / 2 + 45); public void downinit() addinfo.settext(增

51、加); addinfo.setfont(new font(dialog, 0, 12); downpanel.add(addinfo); clearinfo.settext(清空); clearinfo.setfont(new font(dialog, 0, 12); downpanel.add(clearinfo); exitinfo.settext(退出); exitinfo.setfont(new font(dialog, 0, 12); downpanel.add(exitinfo); contentpane.add(downpanel, borderlayout.south); /

52、添加事件侦听 addinfo.addactionlistener(this); clearinfo.addactionlistener(this); exitinfo.addactionlistener(this); public void actionperformed(actionevent e) object obj = e.getsource(); if (obj = exitinfo) this.dispose(); else if (obj = addinfo) cnum.setenabled(false); cname.seteditable(false); cteacher.s

53、eteditable(false); ctype.seteditable(false); ctime.seteditable(false); cplace.seteditable(false); addinfo.setenabled(false); clearinfo.setenabled(false); exitinfo.setenabled(false); crsbean addcrs = new crsbean(); addcrs.crsadd(cnum.gettext(),cname.gettext(), cteacher.gettext(),cplace.gettext(), cty

54、pe.gettext(), ctime.gettext(); this.dispose(); addcourseinfo aci = new addcourseinfo(); aci.downinit(); aci.pack(); aci.setvisible(true); this.dispose(); else if (obj = clearinfo) setnull(); cnum.settext( + getcnum.getcrsid(); 3 editcourseinfo.java 该类是修改课程信息的类,它继承自courseinfo类,主要实现课程信息修改的 功能。当需要对某个课程

55、信息进行修改时,首先根据课程号选择出该课程,同时程序 会将查询的课程信息结果显示在界面上,用户可以做相应的修改。运行界面如图4-12 所示。 图 4-12 修改课程信息的运行界面 4 delcourseinfo.java 该类是删除课程信息的类。当需要删除某个课程信息时,首先根据课程号选择出 该课程,用户可以根据返回的信息决定是否删除该课程信息。运行界面如图4-13所示。 图 4-13 删除课程信息的运行界面 5 courseinfosearchcnum.java 该类是选择课程号的类,其运行界面如图4-14所示。 图 4-14 选择课程号的运行界面 该类利用getcnum()方法将选择出的学

56、号返回给调用它的类。调用它的类包括 editcourseinfo类和delcourseinfo类。 4.44.4 成绩信息管理模块成绩信息管理模块 成绩信息管理模块主要由 gradeinfo.java、addgradeinfo.java、editgradeinfo.java 这 3 个文件组成,其构成 关系如图 4-15 所示。 成绩管理超类 gradeinfo.java 增加成绩信息 addgradeinfo.java 修改成绩信息 editgradeinfo.java 图 4-15 成绩信息管理模块功能结构图 成绩信息管理模块中的3个文件组成了主界面中【成绩管理】菜单的内容,其中包 括增加

57、和修改功能,如图4-16所示。 图 4-16 成绩信息管理模块的运行界面 1 gradeinfo.java 该类是addgradeinfo、editgradeinfo这两个类的超类,由于其两个子类的 界面显示有共同之处,所以编写包含共有界面的类可以快速实现其两个子类的界面显 示。 2 addgradeinfo.java 该类是添加成绩信息的类,它继承自gradeinfo类,主要实现成绩信息的添加功 能。运行界面如图4-17所示。 图 4-17 添加成绩信息的运行界面 3 editgradeinfo.java 该类是修改成绩信息的类,它继承自gradeinfo类,主要实现成绩信息修改的功 能。当

58、需要对某个学生的某个课程成绩进行修改时,首先选择学号,同时程序将会查 询出该学生选择的课程名称,用户可以修改相应的成绩。其代码实现与增加课程信息 的代码实现相同。 4.54.5 信息查询模块信息查询模块 信息查询模块主要包括学生查询、课程查询和成绩查询 3 个部分。信息查询的运行 主界面如图 4-18 所示。 图 4-18 信息查询模块的运行界面 学生查询由 stusearchsnum.java、stusearchsname.java、stusearchssex.java、stusearchscolle ge.java、stusearchsmajor.java 和 resultstudent.

59、java 这 6 个人文件组成,包括:按 照学号查询、按照学生姓名查询、按照性别查询、按照学院查询与按照专业查询。 学生信息查询的结果如图 4-19 所示。 图 4-19 学生信息查询结果的界面 课程信息查询由 coursesearchcname.java、coursesearchcteacher.java和 resultcourse.java这3个文件组成,包括:按照课程名称查询、按照授课教师查询。 如果不输入信息,系统将会搜索所有的课程信息。 课程信息查询的结果如图4-20所示。 图 4-20 课程信息查询结果界面 成绩查询由grdsearchallgrade.java和resultgra

60、de.java两个文件组成, 按照学生学号查询其所有的课程成绩。查询结果的界面如图4-21所示。 图 4-21 成绩查询结果界面 5 总结 学生信息管理系统是实现了对学生信息、课程信息以及成绩信息的管理和查询等操 作。其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、 安全性好等优点是学生信息管理系统所必需的。但该系统不能实现在局域网内共享同一 数据库,只适用于单机操作,每个客户机都需要安装运行程序。另外对学生管理的需求 只是最基本的信息管理,还缺乏比较全面的需求分析。 尽管该系统存在着很多需要改进的地方,但学生信息管理系统的出现对提高学校对 学生信息管理工作的工作效率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论