java 学籍管理系统课程设计_Java课程设计-学籍信息管理系统

一、系统分析

学生的学籍信息是记录学生的重要信息档案,如何以电子文档形式记录下学生的学籍信息是每个学校必须做的事情,该学生学籍信息管理系统就是为了方便学校记录下每一个学生的基本信息,生成电子数据库,并且能够做到查询、更改、删除、浏览等功能操作,让学籍信息的管理更加方便快捷。

二、设计方案

1、系统框架

学籍信息管理系统是集学籍信息录入,学籍信息查询,学籍信息更改,学籍信息删除,学籍信息浏览这些功能模块于一体的信息管理系统。首先,需要管理员登陆到该系统,当用户名和密码均正确时方可进入系统。图2-1给出了学籍信息管理系统的系统结构图。

java 学籍管理系统课程设计_Java课程设计-学籍信息管理系统_第1张图片

图2-1 系统结构图

学籍信息录入

该模块可以添加学生的基本信息(学号,姓名,性别,专业,班级,入学时间)。

学籍信息查询

该模块可以使用学号查询到以保存数据中某一个学生的信息。

学籍信息更改

该模块可以更改某一位学生的学号、姓名、性别、专业和入学时间。

学籍信息删除

该模块可以删除某一位学生的全部信息。

学籍信息浏览

该模块可以浏览全部学生的信息。

其中,学籍更改和浏览模块将另外生成两个新窗口,其他模块均在原有窗口上操作进行。

角色分析

学生类(Student)记录了学生的基本信息,该类的设计由图2-2所示,类的介绍如表2-1所示。

java 学籍管理系统课程设计_Java课程设计-学籍信息管理系统_第2张图片

图2-2 学生的基本信息

表2-1 学生(Student.java)类的介绍

变量名称

类型

描述

number

String

学号

name

String

姓名

sex

String

性别

discipling

String

专业

grade

String

年级

borth

String

入学时间

三、算法分析

1、使用try和catch捕捉异常处理

Java通过5个关键字来控制异常处理,通常在出现错误时用try来执行代码,系统引发(throws)一个异常后,可以根据异常的类型由catch来捕获,或者用finally调用缺省异常处理。

在执行过程中,由try所指定的代码中的语句会生成异常对象并抛出。catch语句的参数类似于方法的声明,包括一个异常类型和异常对象。

try {

inOne = new FileInputStream(file);

inTwo = new ObjectInputStream(inOne);

StudentDB = (Hashtable) inTwo.readObject();

inOne.close();

inTwo.close();

} catch (Exception ee) {

}

2、对象序列化

在Java.io包中,提供了ObjectInputStream和ObjectOutputStream,将数据流功能扩展至可读写对象。在ObjectInputStream中用readObject()方法可以直接读取一个对象,在ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。

inOne = new FileInputStream(file);

inTwo = new ObjectInputStream(inOne);

outOne = new FileOutputStream(file);

outTwo = new ObjectOutputStream(outOne);

3、数据存储使用散列表

散列表根据关键码直接访问表,把关键码映射到表中的记录来访问记录,这个过程成为散列,散列方法不同于顺序查找、二分查找。它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,无须任何比较就可以找到待查关键字,查找的期望时间为O(1)。

散列表上的运算有查找、插入和删除。其中主要是查找,这是因为散列表的目的主要是用于快速查找,且插入和删除均要用到查找操作。

Hashtable StudentDB = null;

StudentDB = (Hashtable) inTwo.readObject();

Student stu = (Student) StudentDB.get(number);

四、软件实现

1、代码组织

本系统由8个Java类、2张图片文件组成,其中,src存放了8个Java类,res存放的是管理员登陆时的图片(login.jpg)和主框架的图片(home.jpg)。类之间的关系如图4-1所示。

java 学籍管理系统课程设计_Java课程设计-学籍信息管理系统_第3张图片

图4-1 该系统类关系图

各类的主要功能如表4-1所示。

表4-1 类功能介绍表

序号

类名

功能描述

1

Student.java

创建并存放学生类的对象

2

StudentInput.java

新学籍信息的录入

3

StudentInquire.java

学籍信息的查询界面

4

StudentChange.java

学籍信息的更改

5

StudentDelete.java

学籍信息的删除

6

StudentLogin.java

管理员登陆窗口,包含main函数

7

StudentTable.java

浏览全部的学籍信息

8

StudentFrame.java

学籍信息管理系统的主框架

2、详细设计

成员变量

1.      管理员登陆窗口(StudentLogin.java)如表4-2所示。

表4-2 管理员登陆窗口类成员变量表

变量名称

变量类型

描述

login,reset

JButton

登录、重置按钮

Username,password

JTextField

用户名、密码输入框

a,b

JLabel

提示语

word

JLabel

图片显示

2.      学籍管理系统主框架(StudentFrame.java) 如表4-3所示。

表4-3 学籍管理系统主框架类成员变量表

变量名称

变量类型

描述

input

StudentInput

构建学籍录入界面

change

StudenChange

构建学籍信息更改界面

inquire

StudentInquire

构建学籍信息查询界面

delete

StudentDelete

构建学籍信息删除界面

table

StudentTable

构建学籍信息浏览界面

bar

JMenuBar

创建一个菜单栏

fileMenu,editMenu,helpMenu

JMenu

创建一级菜单

input_1,change_1,inquire_1,

delete_1,about_1,exit_1,

table_1

JMenuItem

创建录入,更改,查询,删除,浏览,关于,退出子菜单

StudentDB

Hashtable

存放学生信息的散列表

file

File

存放学生信息的散列表文件

3.      学籍信息录入(StudentInput.java) 如表4-4所示。

表4-4 学籍信息录入类成员变量表

变量名称

变量类型

描述

StudentDB

Hashtable

存放学生信息的散列表

Snumber,Sname,Sspec,

Sclass,Sborth

JTxetField

学号,姓名,专业,班级,入学时间输入框

Sinput,Sreset

JButton

录入,重置按钮

Sman,Swomen

JRadioBut

你可能感兴趣的:(java,学籍管理系统课程设计)