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

该博客介绍了使用Java进行的学籍信息管理系统的设计与实现,涵盖了系统分析、设计方案、算法分析、软件实现和测试。系统包含学籍信息录入、查询、更改、删除和浏览等功能,采用try-catch处理异常,对象序列化和散列表存储数据。

一、系统分析

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

二、设计方案

1、系统框架

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


图2-1 系统结构图


学籍信息录入
该模块可以添加学生的基本信息(学号,姓名,性别,专业,班级,入学时间)。
学籍信息查询
该模块可以使用学号查询到以保存数据中某一个学生的信息。
学籍信息更改
该模块可以更改某一位学生的学号、姓名、性别、专业和入学时间。
学籍信息删除
该模块可以删除某一位学生的全部信息。
学籍信息浏览
该模块可以浏览全部学生的信息。

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

角色分析

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


图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所示。

图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.     

评论 216
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值