大家好,又见面了,我是你们的朋友全栈君。
学生的学籍信息是记录学生的重要信息档案,如何以电子文档形式记录下学生的学籍信息是每个学校必须做的事情,该学生学籍信息管理系统就是为了方便学校记录下每一个学生的基本信息,生成电子数据库,并且能够做到查询、更改、删除、浏览等功能操作,让学籍信息的管理更加方便快捷。
学籍信息管理系统是集学籍信息录入,学籍信息查询,学籍信息更改,学籍信息删除,学籍信息浏览这些功能模块于一体的信息管理系统。首先,需要管理员登陆到该系统,当用户名和密码均正确时方可进入系统。图2-1给出了学籍信息管理系统的系统结构图。
图2-1 系统结构图
学籍信息录入
该模块可以添加学生的基本信息(学号,姓名,性别,专业,班级,入学时间)。
学籍信息查询
该模块可以使用学号查询到以保存数据中某一个学生的信息。
学籍信息更改
该模块可以更改某一位学生的学号、姓名、性别、专业和入学时间。
学籍信息删除
该模块可以删除某一位学生的全部信息。
学籍信息浏览
该模块可以浏览全部学生的信息。
其中,学籍更改和浏览模块将另外生成两个新窗口,其他模块均在原有窗口上操作进行。
角色分析
学生类(Student)记录了学生的基本信息,该类的设计由图2-2所示,类的介绍如表2-1所示。
图2-2 学生的基本信息
表2-1 学生(Student.java)类的介绍
Java通过5个关键字来控制异常处理,通常在出现错误时用try来执行代码,系统引发(throws)一个异常后,可以根据异常的类型由catch来捕获,或者用finally调用缺省异常处理。
在执行过程中,由try所指定的代码中的语句会生成异常对象并抛出。catch语句的参数类似于方法的声明,包括一个异常类型和异常对象。
在Java.io包中,提供了ObjectInputStream和ObjectOutputStream,将数据流功能扩展至可读写对象。在ObjectInputStream中用readObject()方法可以直接读取一个对象,在ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。
散列表根据关键码直接访问表,把关键码映射到表中的记录来访问记录,这个过程成为散列,散列方法不同于顺序查找、二分查找。它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,无须任何比较就可以找到待查关键字,查找的期望时间为O(1)。
散列表上的运算有查找、插入和删除。其中主要是查找,这是因为散列表的目的主要是用于快速查找,且插入和删除均要用到查找操作。
本系统由8个Java类、2张图片文件组成,其中,src存放了8个Java类,res存放的是管理员登陆时的图片(login.jpg)和主框架的图片(home.jpg)。类之间的关系如图4-1所示。
图4-1 该系统类关系图
各类的主要功能如表4-1所示。
表4-1 类功能介绍表
成员变量
1. 管理员登陆窗口(StudentLogin.java)如表4-2所示。
表4-2 管理员登陆窗口类成员变量表
2. 学籍管理系统主框架(StudentFrame.java) 如表4-3所示。
表4-3 学籍管理系统主框架类成员变量表
3. 学籍信息录入(StudentInput.java) 如表4-4所示。
表4-4 学籍信息录入类成员变量表
4. 学籍信息查询(StudentIquire.java)如表4-5所示。
表4-5 学籍信息查询类成员变量表
5.学籍信息更改(StudentChange.java)如表4-6所示。
表4-6 学籍信息更改类成员变量表
6.学籍信息删除(StudentDelete.java)如表4-7所示。
表4-7 学籍信息删除类成员变量表
7.学籍信息浏览(StudentTable.java)如表4-8所示。
表4-8 学籍信息浏览类成员变量表
主要方法
学生类(Student.java)如表4-9所示。

表4-9 学生类介绍表
其他类如表4-10所示。
表4-10 其他类介绍表
图5-1管理员登陆界面 图5-2管理员登陆界面
图5-3系统主框架
图5-4菜单栏
图5-5录入界面
图5-6 提示页面
图5-7更改界面
图5-8 提示界面
图5-9查询界面
图5-10删除界面
图5-11 提示界面
图5-12浏览界面
《Introduction to java programming》 作者:Y.Daniel Liang 机械工业出版社
《java程序设计经典课堂》 作者:金松河、王捷、黄永丽 清华大学出版社
这是一个花了将近一周的时间才完成的项目,很惭愧的是平时不像大一那样每天都会写些代码所以导致对于Java显得那么的陌生。开始看了老师发给我们的视频,看完之后只有一个感觉,难!平时三星题做了三道了,按照老师的说法是在做两道就可以将三星题当成课程设计了,后来还是想自我挑战一下没有继续验收三星题,当我真的开始做项目的时候,才发现自己还是想的太简单了。平时练得少,程序算法先不说,光是一堆堆的类及其功能就不得而知,看了老师的视频,从网上找了一些源代码,他们都是使用了数据库和网络知识。然而我对数据库只是略懂一二,根本看不懂他们在写的是什么,随后,我还是下定决心自己写一份简单的吧。
从图书馆接了一本书(参考文献的第二本),基本的控制台还能够运行,但是GUI的就不顺畅了,从布局开始开始根据想要的功能进行慢慢的累加,就这样,懂得了几种布局方式,BorderLayout,GridLayout,CardLayout,Box等等,并一一进行了使用,后来知道了一种Eclipse的插件—Windows Builder,这种插件可以让java的GUI设计和VB相似,方便了很多。
过程中最大的困难是数据的存储和读取,大部分的程序都是使用的数据库,然而我的电脑都没有配置数据库环境,所以放弃了数据库的是使用。后来从网上找个了一种方式,利用散列表来进行存储,利用类的子对象containsKey(number)进行直接查找。经测试这种方式还不错,所以就采用了这种方式。每一个类中进行读取,查找。
后来就是功能的设计了,本程序一共5个子模块,尽管很简单,但还是费了一番周折,可见对于java我还是不熟练。经过这次课程设计,使我受益匪浅,感觉这一周的练习比一个学期掌握的知识还要多。并且及时的复习和稳固的这一学期所学的知识,也让课本的只是做到了融会贯通,看来理论和实践结合的方式才是学习最有效的方法,只有这样才能提高自己的编程技巧。
部分源代码
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125812.html原文链接:https://javaforall.cn

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/148045.html