java学籍管理系统报告Word文档下载推荐.docx
《java学籍管理系统报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java学籍管理系统报告Word文档下载推荐.docx(55页珍藏版)》请在冰点文库上搜索。
摘要Ⅰ
目录Ⅱ
1设计目的与内容
课程设计目的
通过设计图形用户界面的学籍管理系统,提高学生Java语言的综合运用。
Java语言是从事软件开发的一门必修的专业基础课,这次的课程设计目的将Java的知识点系统的结合起来,理解并加深对教师所授内容的理解和掌握,掌握其开发技巧,为以后从事Java程序开发打下基础。
课程设计内容
“录入学生基本信息功能的界面。
用户可以通过菜单选项让程序呈现“录入学生基本信息”功能的界面,通过该界面可以录入学生的学号、姓名、性别、出生日期、专业和照片等信息。
修改学生基本信息功能的界面。
用户可以通过菜单选项让程序呈现“修改学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行修改。
查询学生基本信息功能的界面。
用户可以通过菜单选项让程序呈现“查询与打印学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行查询。
删除学生基本信息功能的界面。
用户可以通过菜单选项让程序呈现“删除学生基本信息”功能的界面,通过该界面可以删除已录入的学生信息。
2具体要求
设计要求
要求设计出图形用户界面学籍管理系统,实现学生信息的录入、查询、修改、删除等。
界面要求:
a.尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
b.若无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
其他要求:
a.标识符命名遵循Windows命名规范。
b.能够注意各种异常处理,注重提高程序运行效率。
开发环境
NetBeansIDE并装有Jdk的计算机。
3总体设计思路
系统的功能模块划分
通过“publicclassStudentManagerextendsJFrameimplementsActionListener”此类来生成学籍管理系统的主界面再通过函数publicvoidactionPerformed(ActionEvente)来实现对各个类得调用。
如:
调用StudentSituation类来完成对基本信息录入;
调用ModifySituation类来完成对学生基本信息修改;
调用Inquest类来完成对学生基本信息查询;
调用Delete类来完成对学生基本信息删除。
系统总体功能框图
3-1学籍管理系统功能总框图
4详细设计
程序流程图如下
主界面函数的设计
主界面主要是用来调用程序中的给个类来实现对学生信息的管理和一个欢迎界面的设计以及菜单项的内容。
主界面主要是通过()函数来实现一个欢迎界面和菜单选项(包括录入学生基本信息、修改学生基本信息、查询学生基本信息、删除学生基本信息),然后再通过(ActionEvent)函数来实现对各个类得调用从而实现对信息的录入、修改、查询、删除等事件的处理。
录入界面设计
录入信息的界面主要是通过StudentSituation类来实现的。
其中通过函数(File)来实现界面的内容。
通过函数(ActionEvent)来实现具体内容的录入。
具体设计如下:
publicvoidactionPerformed(ActionEvente)
{
if()==录入)
Stringnumber="
"
;
number=学号.getText();
if()>
0)
try{
inOne=newFileInputStream(file);
inTwo=newObjectInputStream(inOne);
基本信息表=(Hashtable)();
();
}
catch(Exceptionee)
if(基本信息表.containsKey(number))
Stringwarning="
该生基本信息已存在,请到修改页面修改!
(this,warning,"
警告"
;
else
Stringm="
基本信息将被录入!
intok=(this,m,"
确认"
,
;
if(ok==
Stringname=姓名.getText();
Stringdiscipling=专业.getText();
Stringgrade=年级.getText();
Stringborth=出生.getText();
Stringsex=null;
if(男.isSelected())
sex=男.getText();
sex=女.getText();
学生=newStudent();
学生.setNumber(number);
学生.setName(name);
学生.setDiscipling(discipling);
学生.setGrade(grade);
学生.setBorth(borth);
学生.setSex(sex);
try{
outOne=newFileOutputStream(file);
outTwo=newObjectOutputStream(outOne);
基本信息表.put(number,学生);
(基本信息表);
学号.setText(null);
姓名.setText(null);
专业.setText(null);
年级.setText(null);
出生.setText(null);
}}
必须要输入学号!
if()==重置)
}
查询界面函数的设计
查询信息的界面主要是通过Inquest类来实现的。
其中通过函数(JFrame,File)来实现界面的设计和外观。
通过函数(ActionEvent)来实现具体信息的输出。
输出信息具体设计如下:
publicvoidactionPerformed(ActionEvente)
if()==查询||()==学号)
Studentstu=(Student)基本信息表.get(number);
姓名.setText());
专业.setText());
年级.setText());
出生.setText());
if().equals("
男"
))
男.setSelected(true);
女.setSelected(true);
该学号不存在!
修改界面和函数的设计
修改信息的界面主要是通过ModifySituation类来实现的。
其中通过函数(File)来实现界面的设计和外观。
通过函数(ActionEvent)来实现具体信息的修改和保存。
信息修改的具体设计如下:
if()==开始修改||()==学号)
录入修改.setEnabled(true);
录入修改.setEnabled(false);
elseif()==录入修改)
Stringquestion="
该生基本信息已存在,您想修改他(她)的基本信息吗?
(this,question,"
基本信息将被修改!
Student学生=newStudent();
try
elseif(ok==
该学号没有基本信息,不能修改!
删除界面和函数的设计
删除信息的界面主要是通过Delete类来实现的。
通过函数(ActionEvent)来实现具体数据的删除和管理。
信息删除的具体设计如下:
if()==删除||()==学号)
确定要删除该学号及全部信息吗?
基本信息表.remove(number);
5功能调试与测试
主界面和函数的测试:
图主界面函数
学生信息的录入测试:
图录入学生信息
学生信息的查询测试:
图查询信息
修改学生信息的测试:
图修改信息
删除学生信息的测试:
图删除信息
6总结
这次的课程设计主要有以下几点心得
(1)确定课题后,先将熟悉该课程主要设计的主要目的,熟读设计要求。
(2)编写程序之前首先要进行总体设计,确定该设计需要由哪几部分组成,并确定各部分的功能,确定主类。
(3)分析完成之后画出程序流程图,并开始编写程序。
在编写程序的过程中要注意不能将关键字打错,这样的错误不容易查出。
(4)在程序打包时要先给电脑安装Jdk,若不安装,则在Dos环境下会出现找不到源文件的提示。
这次的课程设计不仅仅巩固了java的知识,也让我对编程的步骤有了新的理解,以前总是先看程序,再理清各部分之间的关系,最后才会画出程序流程图,这次的课程设计纠正了以前的错误,也为以后编写java程序奠定了一定的基础。
致谢
首先要感谢同学的帮忙,在他们的帮助下我才能完成这次课程设计。
在这次课程设计中我遇到了很多困难,在遇到这些困难的时候,我觉得很烦,有点想放弃。
但我们宿舍的人安慰我说:
“加油,努力就一定能完成的。
”在他们的鼓励下,我又重新鼓起勇气,继续做下去,所以我要感谢我们宿舍的舍友。
在完成程序的过程中难免会出现好多问题,俗话说:
“当局者迷,旁观者清”。
我总是发现不了自己的错误,然后我就会让同学帮我看看。
最后在同学的帮助下终于把程序做出来了。
我对他们深表感谢。
我要感谢我们指导老师,他给我提出了许多宝贵的指导。
在他的帮助下我可以把它搞得更加完美。
在这里我感谢每一个帮助过我的人,感谢他们对我的帮助。
同时我还要感谢学校给我们提供优良的上机环境,让我们能够在良好的环境下完成本次课程设计。
参考文献
[1]耿祥义,张跃平.Java2实用教程(第三版)[M].北京:
清华大学出版社,2006
[2]耿祥义.Java课程设计(第二版)[M].北京:
清华大学出版社,2004
[3]张跃平.Java2实用教程实验指导与习题解答(第二版)[M].北京:
附源程序
/*主界面的设计*/
import.*;
importclassStudentManagerextendsJFrameimplementsActionListener
{
StudentSituation基本信息录入=null;
ModifySituation基本信息修改=null;
Inquest基本信息查询=null;
Delete基本信息删除=null;
JMenuBarbar;
JMenufileMenu;
JMenuItem录入,修改,查询,删除;
Containercon=null;
Hashtable基本信息=null;
Filefile=null;
CardLayoutcard=null;
JLabellabel=null;
JPanelpCenter;
publicStudentManager()
setTitle("
学籍管理系统"
);
录入=newJMenuItem("
录入学生基本信息"
修改=newJMenuItem("
修改学生基本信息"
查询=newJMenuItem("
查询学生基本信息"
删除=newJMenuItem("
删除学生基本信息"
bar=newJMenuBar();
fileMenu=newJMenu("
菜单选项"
(录入);
(修改);
(查询);
(删除);
(fileMenu);
setJMenuBar(bar);
label=newJLabel("
欢迎使用学籍管理系统"
(newFont("
TimesRoman"
,24));
基本信息=newHashtable();
录入.addActionListener(this);
修改.addActionListener(this);
查询.addActionListener(this);
删除.addActionListener(this);
card=newCardLayout();
con=getContentPane();
pCenter=newJPanel(