Java课程设计学生学籍管理系统.docx
- 文档编号:26859382
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:16
- 大小:93.05KB
Java课程设计学生学籍管理系统.docx
《Java课程设计学生学籍管理系统.docx》由会员分享,可在线阅读,更多相关《Java课程设计学生学籍管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
Java课程设计学生学籍管理系统
设计报告
课题名称:
学生学籍管理系统
学院:
专业班级:
计算机应用技术091
学号:
学生:
指导教师:
2011年7月7日
学生
指导教师
课题名称
学生学籍管理系统
设计时间
2011.6.27-2011.7.8
设计地点
图书馆506
设计目的
(1)加深对运用JAVA编程的方法、原理及过程
(2)熟练对流程图的绘制
(3)增强上机调试程序,善于发现问题并解决问题
(4)学习用文档书写程序设计说明
(5)让同学们初步了解对小程序的开发过程
一.需求分析
学生信息的管理是学校日常工作中的重要组成部分。
高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。
在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。
当前学校对学生信息的管理不规范,不详细,而且管理信息费时费力浪费大量的人力物力。
不利于节省资源。
本程序就是为了快速便捷的存储,查找,修改,删除学生信息的。
二.设计目的
(1)加深对运用JAVA编程的方法、原理及过程
(2)熟练对流程图的绘制
(3)增强上机调试程序,善于发现问题并解决问题
(4)学习用文档书写程序设计说明
(5)让同学们初步了解对小程序的开发过程
三.函数作用及各类的关系
1.StudentManager.java
该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。
2.Inquest.java
该类创建的对象是StudentManager类的重要成员之一,负责提供录入学生基本信息的界面。
3.ModifySituation.java
该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。
4.Delete.java
该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。
5.Student.java
该类创建的对象是StudentManager类的重要成员之一,是学生基本信息的界面。
6.StudentSituation.java
该类创建的对象是StudentManager类的重要成员之一,提供录入学生基本信息的界面。
系统中各类的关系:
StudentManager
StudentSituation
ModifySituation
Student
Inquest
Delete
方法见表2-1
表2-1主要方法
方法名称
返回类型
功能
备注
StundentManager
无类型
创建窗口
构造方法
actionPerformed
无类型
处理响应事件
继承自父类抽象方法
main
无类型
执行程序
程序的主函数
成员变量见表2-2
表2-2主要成员变量(属性)
成员变量描述
变量类型
名称
面板
Inquest
ins
面板
ModifySituation
mos
面板
Delete
des
面板
StudentSituation
qus
菜单栏
JButtonbar
bar
菜单组
JMenu
menuSystemmenuStu
菜单项
JMenuItem
itemWelitemExititemSearchitemAdditemEdititemDelete
布局管理器
CardLayout
card
成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
StuBean对象类型
Inquest
addStu
文本域
JTextField
SnumSnameSgradeSbirth
组合框
JComboBox
Smajor
单选框
ButtonGroup
boy,girl
按钮多斥作用域
ButtonGroup
group
按钮
JButton
Entryreset
4.解题步骤略解
1.打开JAVA-Ecilpse软件,点击
按钮中的,New键中的JavaProject新建“学籍管理系统”。
2.点击
中的New键中的Class新建六种类。
3.本程序需要建六个类。
如图所示:
4.在各类中编辑代码,完成编译。
5.具体功能模块的实现和解决代码
1.准备模块:
建立所需的六个类。
2.程序的使用:
2.1程序的欢迎页面:
(图2-1)
图2-1
实现的主要代码:
publicStudentManager()
{
录入=newJMenuItem("录入学生基本信息");
修改=newJMenuItem("修改学生基本信息");
查询=newJMenuItem("查询学生基本信息");
删除=newJMenuItem("删除学生基本信息");
bar=newJMenuBar();
fileMenu=newJMenu("菜单选项");
fileMenu.add(录入);
fileMenu.add(修改);
fileMenu.add(查询);
fileMenu.add(删除);
bar.add(fileMenu);
setJMenuBar(bar);
label=newJLabel("欢迎使用学生基本信息管理系统",JLabel.CENTER);
label.setFont(newFont("TimesRoman",Font.BOLD,24));
label.setForeground(Color.red);
基本信息=newHashtable();
录入.addActionListener(this);
修改.addActionListener(this);
查询.addActionListener(this);
删除.addActionListener(this);
card=newCardLayout();
con=getContentPane();
pCenter=newJPanel();
pCenter.setLayout(card);
file=newFile("基本信息.txt");
2.2学生信息的录入界面:
可以把学生信息输入(图2-2)
图2-2
实现的主要代码:
publicclassStudentSituationextendsJPanelimplementsActionListener
{
Hashtable基本信息表=null;
JTextField学号,姓名,专业,年级,出生;
JRadioButton男,女;
Student学生=null;
ButtonGroupgroup=null;
JButton录入,重置;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
Filefile=null;
2.3学生信息的查询界面:
可以查找学生信息(图2-3)
图2-3
实现的主要代码:
publicclassInquestextendsJDialogimplementsActionListener
{
Hashtable基本信息表=null;
JTextField学号,姓名,专业,年级,出生;
JRadioButton男,女;
JButton查询;
ButtonGroupgroup=null;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
Filefile=null;
publicInquest(JFramef,Filefile)
{
super(f,"查询对话框",false);
this.file=file;
学号=newJTextField(10);
查询=newJButton("查询");
学号.addActionListener(this);
查询.addActionListener(this);
姓名=newJTextField(10);
姓名.setEditable(false);
专业=newJTextField(10);
专业.setEditable(false);
年级=newJTextField(10);
年级.setEditable(false);
出生=newJTextField(10);
出生.setEditable(false);
男=newJRadioButton("男",false);
女=newJRadioButton("女",false);
group=newButtonGroup();
2.4学生信息的修改界面:
可以对学生信息进行修改(图2-4)
图2-4
实现的主要代码:
publicclassModifySituationextendsJPanelimplementsActionListener
{
Hashtable基本信息表=null;
JTextField学号,姓名,专业,年级,出生;
JRadioButton男,女;
ButtonGroupgroup=null;
JButton开始修改,录入修改,重置;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
Filefile=null;
2.5学生信息的删除界面:
可以对学生信息进行删除(图2-5)
图2-5
实现的主要代码:
publicclassDeleteextendsJPanelimplementsActionListener
{
Hashtable基本信息表=null;
JTextField学号,姓名,专业,年级,出生;
JRadioButton男,女;
JButton删除;
ButtonGroupgroup=null;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
Filefile=null;
3.程序的核心部分代码:
publicclassStudentManagerextendsJFrameimplementsActionListener
{
StudentSituation基本信息录入=null;
ModifySituation基本信息修改=null;
Inquest基本信息查询=null;
Delete基本信息删除=null;
JMenuBarbar;
JMenufileMenu;
JMenuItem录入,修改,查询,删除;
Containercon=null;
Hashtable基本信息=null;
Filefile=null;
CardLayoutcard=null;
JLabellabel=null;
JPanelpCenter;
publicStudentManager()
{
录入=newJMenuItem("录入学生基本信息");
修改=newJMenuItem("修改学生基本信息");
查询=newJMenuItem("查询学生基本信息");
删除=newJMenuItem("删除学生基本信息");
bar=newJMenuBar();
fileMenu=newJMenu("菜单选项");
fileMenu.add(录入);
fileMenu.add(修改);
fileMenu.add(查询);
fileMenu.add(删除);
bar.add(fileMenu);
setJMenuBar(bar);
label=newJLabel("欢迎使用学生基本信息管理系统",JLabel.CENTER);
label.setFont(newFont("TimesRoman",Font.BOLD,24));
label.setForeground(Color.red);
基本信息=newHashtable();
录入.addActionListener(this);
修改.addActionListener(this);
查询.addActionListener(this);
删除.addActionListener(this);
card=newCardLayout();
con=getContentPane();
pCenter=newJPanel();
pCenter.setLayout(card);
file=newFile("基本信息.txt");
if(!
file.exists())
{
try{
FileOutputStreamout=newFileOutputStream(file);
ObjectOutputStreamobjectOut=newObjectOutputStream(out);
objectOut.writeObject(基本信息);
objectOut.close();
out.close();
}
catch(IOExceptione)
{
}
}
基本信息录入=newStudentSituation(file);
基本信息修改=newModifySituation(file);
基本信息查询=newInquest(this,file);
基本信息删除=newDelete(file);
pCenter.add("欢迎语界面",label);
pCenter.add("录入界面",基本信息录入);
pCenter.add("修改界面",基本信息修改);
pCenter.add("删除界面",基本信息删除);
con.add(pCenter,BorderLayout.CENTER);
con.validate();
addWindowListener(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,420,380);
validate();
}
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==录入)
{
card.show(pCenter,"录入界面");
}
elseif(e.getSource()==修改)
{
card.show(pCenter,"修改界面");
}
elseif(e.getSource()==查询)
{
基本信息查询.setVisible(true);
}
elseif(e.getSource()==删除)
{
card.show(pCenter,"删除界面");
}
}
publicstaticvoidmain(Stringargs[])
{
newStudentManager();
}
}
6.总结
通过这次课程设计,我锻炼了自己的动手能力,巩固了对面向对象程序设计概念的理解和JAVA的运用,初步掌握JAVA开发应用程序的基本方法,学习了对数据库的基本操作,能够对MicrosoftAcess的表做基本处理,提高了自己综合运用所学知识的能力。
深刻认识到了基本知识的重要性。
现在我知道了,不知道函数怎么来的,根本什么也做不了。
除非照抄别人的代码,那样也根本不可能知道功能是如何实现的。
现在很有必要加强基本语法知识的学习了。
JAVA应用性很强,只有老师的讲解不行,只看也不中,只有自己动手去做才会发现自己确实有太多的不足,许多程序看似简单,真正去做才知道知识并没有自
己想象的那样扎实。
从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
其中对JAVA图像用户界面、JAVA数据库JDBC的运用、内部匿名类等JAVA知识有了更深的理解与应用。
树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
提高了学习计算机的兴趣,增强了信心。
在本次课程设计中,我遇到了很多的困难,这些困难搞得我焦头烂额,几度试图放弃,但最终坚持着一一把困难克服掉了。
每当克服一个困难,都非常的兴奋,这些都是自己努力的结果。
现在,我有信心面对接下来的挑战,在不断的实践中锻炼自己,提高自己!
8.致谢
此次的课程设计,我又学到了很多JAVA知识。
首先我很感谢这次辛勤辅导我们的代老师,在一周的时间中给我们提供了丰富的知识。
对于我不懂的问题及程序中的不足给出了正确的指导和良好的建议。
同时感谢学校为我们提供了这么一个学习机会和良好的学习环境。
我最后还要感谢和我一起奋斗的同学们,对于我们一个团体来说,如果没有一个团结的意识,那么我们根本就无法完成本次程序的制作,所以虽然我们大家讨论的时候可能会闹一些小小的矛盾,但是回想起来还是蛮有收获的。
回顾起此次JAVA课程设计,我仍感慨颇多,学到了很多的东西。
同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。
在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。
一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。
九.参考文献
[1]耿祥义,张跃平.Java2实用教程(第三版)[M].北京:
清华大学出版社,2006
[2](美)霍斯特曼(Horstmann C.S.)&nbs.Java2核心技术(卷Ⅱ高级特性原书第7版)/Sun公司核心技术丛书[M].机械工业出版社,2006
[3]耿祥义,编著.Java课程设计[M].北京:
清华大学出版社
指导师评语
系部教研室
意见
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 学生 学籍 管理 系统