java学籍管理系统课设报告.docx
《java学籍管理系统课设报告.docx》由会员分享,可在线阅读,更多相关《java学籍管理系统课设报告.docx(15页珍藏版)》请在冰豆网上搜索。
![java学籍管理系统课设报告.docx](https://file1.bdocx.com/fileroot1/2023-2/24/c11c3dd3-39cb-49ac-a473-439aa48d02ba/c11c3dd3-39cb-49ac-a473-439aa48d02ba1.gif)
java学籍管理系统课设报告
课程设计(论文)任务书
软件 学 院 软件工程 专 业 2 班
一、课程设计(论文)题目 学籍管理系统
二、课程设计(论文)工作自10年12月20日起至10年12月24日止。
三、课程设计(论文)地点:
软件学院实训中心
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)使学生巩固和提高Java编程技术
(2)培养学生掌握程序设计的基本思路和方法;
(3)加强学生研发、调试程序的能力;
(4)培养学生分析、解决问题的能力;
(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)任务:
(1)设计基于文件结构的学籍管理系统;
(2)录入学生基本信息的功能;
(3)修改学生基本信息的功能;
(4)查询学生基本信息的功能;
(5)删除学生基本信息的功能;
2)创新要求:
在基本要求达到后,可进行创新设计,如:
如何利用鼠标选取图形,删除。
。
3)课程设计论文编写要求
(1)课程设计任务及要求
(2)设计思路--工作原理、功能规划
(3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。
(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。
(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)
(7)报告按规定排版打印,要求装订平整,否则要求返工;
(8)课设报告的装订顺序如下:
封面---任务书---中文摘要---目录----正文---附录(代码及相关图片)
(9)严禁抄袭,如有发现,按不及格处理。
4)答辩与评分标准:
(1)考勤:
10分;
(2)程序检查:
30分;
(3)课设答辩:
20分
(3)课程设计报告:
40分;
5)参考文献:
(1)张跃平王克宏java2实用教程清华大学出版社
(2)丁振凡java语言实用教程北京邮电大学出版社
(3)XX谷歌
6)课程设计进度安排
内容天数 地点
构思及收集资料3 寝室
编码与调试3 学院实训中心
撰写课设1 学院实训中心
学生签名:
10年12月20日
课程设计(论文)评审意见
(1)考勤(10分):
优( )、良( )、中( )、一般( )、差( );
(2)程序检查(30分):
优( )、良( )、中( )、一般( )、差( );
(3)课设答辩(20分):
优( )、良( )、中( )、一般( )、差( );
(4)课设报告(40分):
优( )、良( )、中( )、一般( )、差( );
评阅人:
职称:
讲师
10年01月25日
目 录
一、课设任务及要求
课设题目:
学籍管理系统
课设要求:
1.设计基于文件结构的学籍管理系统
2.添加学生基本信息的功能
3.修改学生基本信息的功能
4.查询学生基本信息的功能
5.删除学生基本信息的功能
设计窗体:
1.主窗体的设计包括菜单栏的设计
2.添加学生基本信息窗体
3.修改学生基本信息窗体
4.查询学生基本信息窗体
5.删除学生基本信息窗体
主要任务:
1.用java语言编写相应代码
2.构造总体框架,包括GUI的各个部分
3.设计相应的GUI界面实现各项基本功能
4.调试相应的程序代码
5.对相应过程进行分析
应用工具:
Java编程软件:
Myeclipse8.6
操作系统:
Windows7
最终基本实现功能样例:
二、需求分析
基本概述:
意图:
1、为了使学籍管理系统更完善
2、方便教务人员对学生信息记性管理;
功能需求:
1、录入学生基本信息
2、修改学生基本信息
3、修改学生基本信息
4、删除学生基本信息
具体需求:
实现学生信息的读入包括学生姓名、学号、性别、年龄、专业。
以及对学生信息进行修改处理和删除处理并且能够查询学生的基本信息。
学生信息关系图:
三、设计思路
思路介绍:
第一部分:
学籍管理系统界面及总体布局
第二部分:
具体功能模块
包括:
1、添加信息模块
2、查找信息模块
3、删除信息模块
4、修改信息模块
模块要求:
更具各个模块的功能需求进行设计。
如删除学生信息模块的设计流程:
相应分析:
根据上述流程图,可以清晰的知道自己的编写目的,给自己指明了方向。
能够很容易的进行程序编写,避免了很多的错误发生。
四、详细设计
部分功能模块的实现代码:
1、学生信息的查询:
if(e.getSource()==查询||e.getSource()==学号){
Stringnumber="";number=学号.getText();
if(number.length()>0){
try{inOne=newFileInputStream(file);
inTwo=newObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();inTwo.close();}
catch(Exceptionee){}
if(基本信息表.containsKey(number){
Studentstu=(Student)基本信息表.get(number);
姓名.setText(stu.getName());专业.setText(stu.getDisciping());
年级.setText(stu.getGrade());出生.setText(stu.getBorth());
if(stu.getSex().equals("男"))
{男.setSelected(true);}else{女.setSelected(true);}}
else{Stringwarning="该学号不存在!
";
JOptionPane.showMessageDialog(this,warning,"警告
",JOptionPane.WARNING_MESSAGE);}}else{Stringwarning="必须要输入学号!
";
JOptionPane.showMessageDialog(this,warning,"警告
",JOptionPane.WARNING_MESSAGE);
2、学生信息的删除:
if(stu.getSex().equals("男")){
男.setSelected(true);}
else{
女.setSelected(true);}
Stringm="确定要删除该学号及全部信息吗?
";
intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(ok==JOptionPane.YES_OPTION){
基本信息表.remove(number);
try{
outOne=newFileOutputStream(file);
outTwo=newObjectOutputStream(outOne);
outTwo.writeObject(基本信息表);outTwo.close();
outOne.close();学号.setText(null);
姓名.setText(null);专业.setText(null);年级.setText(null);
出生.setText(null);}catch(Exceptionee){
System.out.println(ee);}}
elseif(ok==JOptionPane.NO_OPTION){
学号.setText(null);姓名.setText(null);专业.setText(null);
年级.setText(null);出生.setText(null);}}
else{Stringwarning="该学号不存在!
";
JOptionPane.showMessageDialog(this,warning,"警告
",JOptionPane.WARNING_MESSAGE);}
3、学生信息的修改:
if(基本信息表.containsKey(number)){
录入修改.setEnabled(true);
Studentstu=(Student)基本信息表.get(number);
姓名.setText(stu.getName());专业.setText(stu.getDisciping());
年级.setText(stu.getGrade());出生.setText(stu.getBorth());
if(stu.getSex().equals("男")){男.setSelected(true);}
else{女.setSelected(true);}}
else{录入修改.setEnabled(false);
Stringwarning="该学号不存在!
";
JOptionPane.showMessageDialog(this,warning,"警告
",JOptionPane.WARNING_MESSAGE);
学号.setText(null);姓名.setText(null);
专业.setText(null);年级.setText(null);出生.setText(null);}
4、学生信息的录入:
if(基本信息表.containsKey(number)){
Stringwarning="该生基本信息已存在,请到修改页面修改!
";
JOptionPane.showMessageDialog(this,warning,"警告
",JOptionPane.WARNING_MESSAGE);}
else{Stringm="基本信息将被录入!
";
intok=JOptionPane.showConfirmDialog(this,m,"确认
",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){
Stringname=姓名.getText();Stringdiscipling=专业.getText();
Stringgrade=年级.getText();Stringborth=出生.getText();
Stringsex=null;
if(男.isSelected()){sex=男.getText();
}
else{sex=女.getText();}
学生=newStudent();学生.setNumber(number);
学生.setName(name);学生.setDiscipling(discipling);
学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);
try{outOne=newFileOutputStream(file);
outTwo=newObjectOutputStream(outOne);
基本信息表.put(number,学生);outTwo.writeObject(基本信息表);
outTwo.close();outOne.close();
学号.setText(null);姓名.setText(null);专业.setText(null);
年级.setText(null);出生.setText(null);}
catch(Exceptionee)
五、运行调试与分析讨论
运行屏幕的截图:
(1)开始运行界面
(2)学生信息的录入
(3)学生信息的查询
(4)学生信息的修改
(5)学生信息的删除
运行结果分析:
该系统是用Java编写的,基本上实现了课程设计的要求。
也许在某些方面还存在着不足,但还是基本上实现了自己预想的功能。
不足的部分会在不断的调试中进行改进的,使得程序得到进一步的完善。
六、设计体会与小结
通过这次Java课程设计使我对Java有了更进一步的了解,在课设的过程中遇到了许多了问题,自己通过查阅书籍和网络资料最终使问题得到了解决。
然而在一开始选择这个题目的时候,一点设计思路都没有,只能参考下别的同学的。
然后就自己试着去编写,虽然和别的同学的区别不是很大,但是我已经尽力的去编写了。
在编写程序的过程中,使我发现自己对GUI这一部分的应用是相当欠缺的,不知道如何去使用,这方面的大部分信息都是通过同学的帮助来完成的。
当自己真正的完成了本次课设的时候,发现对该部分内容也有了一定的了解并掌握了其中的很多重要的东西,虽然这和老师的要求还有一定的差距但是我会努力的去学好该部分内容。
通过本次课程设计使自己对已学的Java的内容,不仅进行了复习而求也进行了相应的应用。
在这个过程中,还让自己找出了自己的不足,并通过实践和学习不断的去改进。
也使自己明白了,任何一门课程都不可能在短时间内完全掌握,所以要想真正的学好Java还需要在日后的学习生活中不断的努力。
在这次课程设计的过程中,自己遇到的很多困难都是通过同学的帮助得到解决的,不仅让自己知道了和同学之间的差距还让我真正体会到了取长补短的道理。
总之,本次课程设计不光使自己的Java知识得到了提升,还使自己遇到问题解决问题的能里也得到了提升。
为了能更好的提升自己的能力,在今后的学习生活中应该更努力的去学习。
七、参考文献
1、张跃平王克宏java2实用教程清华大学出版社
2、丁振凡java语言实用教程北京邮电大学出版社
3、XX谷歌