题目: JAVA学籍管理系统
姓 名: 凌明 学 号: 1220140247 班 级: 网络1202 日 期: 2014年01月3日
第 1 页
目 录
一、课设任务及要求 ...................................................................... 3 二、需求分析 ............................................................................................... 4 三、设计思路 ............................................................................................... 5 四、详细设计 ............................................................................................... 6 五、设计体会与小结 ...................................................................... 9 六、参考文献 ............................................................................................. 10
第 2 页
一、 课设任务及要求
课设题目:
学籍管理系统 课设要求:
1. 设计基于文件结构的学籍管理系统 2. 添加学生基本信息的功能 3. 修改学生基本信息的功能 4. 查询学生基本信息的功能 5. 删除学生基本信息的功能 主要任务:
1. 用java语言编写相应代码
2. 构造总体框架,包括GUI的各个部分 3. 设计相应的GUI界面实现各项基本功能 4. 调试相应的程序代码 5. 对相应过程进行分析 应用工具:
Java 编程软件:Myeclipse 8.6 操作系统: Windows 7
第 3 页
二、需求分析
基本概述:
意图:
1、 为了使学籍管理系统更完善
2、 方便教务人员对学生信息记性管理; 功能需求:
1、 录入学生基本信息 2、 修改学生基本信息 3、 修改学生基本信息 4、 删除学生基本信息
具体需求:
实现学生信息的读入包括学生姓名、学号、性别、年龄、专业。以及对学生信息进行修改处理和删除处理并且能够查询学生的基本信息。
学生信息关系图:
第 4 页
三、设计思路
该系统中的信息存储在数据库中,并实现以下各功能:
管理员登录:管理员帐号admin,密码:12345,进行增删查改。 添加功能:添加数据信息,当有新同学进入是可以添加该同学的信息。通过文本框读入添加信息,连接数据库后储存数据。
精确查询:输入要查询同学的学号,显示出该同学的信息。通过文本框读入要查找的信息,用SQL语句在数据库中进行查找。
删除功能:该功能和精确查询功能在同一功能模块中实现,有于删除同学信息并更新数据库信息。
修改功能:当同学的信息改变时,用此功能更新同学信息。通过对数据库信息的更新保存最新信息。
每种功能通过一个类来实现:类分分为主类、精确查询类、修改类、添加类、增加类。主类(Info_manager)实现系统主界面以及和各功能界面的连接;精确查询类(SearchStudent)实现对数据库中数据的精确查询;修改类(MdifyStudent)实现对数据的修改更新;添加类(AddStudent)向数据库中添加新数据;删除类(DeleteStudent)实现对数据的删除。
该系统需要用数据库来实现对信息的存储,每次对信息的操作都要访问数据库,并对数据库的信息作相应的读入和取出。该系统流程图如下:
第 5 页
增加信息 系统管理员 删除信息 查询信息 修改信息 关于系统 退出
图 1 系统流程图
四、详细设计
部分功能模块的实现代码:
1、学生信息的查询:
if(e.getSource()==查询||e.getSource()==学号){
String number=\"\";number=学号.getText(); if(number.length()>0){
try {inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close();inTwo.close();} catch(Exception ee){}
if(基本信息表.containsKey(number){
Student stu=(Student)基本信息表.get(number);
第 6 页
姓名.setText(stu.getName());专业.setText(stu.getDisciping()); 年级.setText(stu.getGrade());出生.setText(stu.getBorth()); if(stu.getSex().equals(\"男\"))
{男.setSelected(true);} else{女.setSelected(true);}} else{ String warning=\"该学号不存在!\";
JOptionPane.showMessageDialog(this,warning,\"警告
\",JOptionPane.WARNING_MESSAGE);}}else{ String warning=\"必须要输入学号!\";
JOptionPane.showMessageDialog(this,warning,\"警告
\",JOptionPane.WARNING_MESSAGE);
2、学生信息的删除:
if(stu.getSex().equals(\"男\")){ 男.setSelected(true);} else{
女.setSelected(true);}
String m=\"确定要删除该学号及全部信息吗?\";
int ok=JOptionPane.showConfirmDialog(this,m,\"确认\",JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE); if(ok==JOptionPane.YES_OPTION){ 基本信息表.remove(number); try{
outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); outTwo.writeObject(基本信息表);outTwo.close(); outOne.close();学号.setText(null);
姓名.setText(null);专业.setText(null);年级.setText(null); 出生.setText(null);}catch(Exception ee){ System.out.println(ee);}}
else if(ok==JOptionPane.NO_OPTION){
学号.setText(null);姓名.setText(null);专业.setText(null); 年级.setText(null);出生.setText(null);}} else{ String warning=\"该学号不存在!\";
JOptionPane.showMessageDialog(this,warning,\"警告 \",JOptionPane.WARNING_MESSAGE);} 3、学生信息的修改:
if(基本信息表.containsKey(number)) {
第 7 页
录入修改.setEnabled(true);
Student stu=(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); String warning=\"该学号不存在!\";
JOptionPane.showMessageDialog(this,warning,\"警告 \",JOptionPane.WARNING_MESSAGE); 学号.setText(null);姓名.setText(null);
专业.setText(null);年级.setText(null);出生.setText(null);}
4、学生信息的录入:
if(基本信息表.containsKey(number)){
String warning=\"该生基本信息已存在,请到修改页面修改!\"; JOptionPane.showMessageDialog(this,warning,\"警告 \",JOptionPane.WARNING_MESSAGE);} else{String m=\"基本信息将被录入!\";
int ok=JOptionPane.showConfirmDialog(this,m,\"确认
\",JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if(ok==JOptionPane.YES_OPTION){
String name=姓名.getText();String discipling=专业.getText(); String grade=年级.getText();String borth=出生.getText(); String sex=null;
if(男.isSelected()){sex=男.getText(); } else{sex=女.getText();}
学生=new Student();学生.setNumber(number);
学生.setName(name);学生.setDiscipling(discipling);
学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex); try{outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne);
基本信息表.put(number,学生);outTwo.writeObject(基本信息表); outTwo.close();outOne.close();
学号.setText(null);姓名.setText(null);专业.setText(null); 年级.setText(null);出生.setText(null);} catch(Exception ee)
第 8 页
五、设计体会与小结
通过这次Java课程设计使我对Java有了更进一步的了解,在课设的过
程中遇到了许多了问题,自己通过查阅书籍和网络资料最终使问题得到了解决。然而在一开始选择这个题目的时候,一点设计思路都没有,只能参考下别的同学的。然后就自己试着去编写,虽然和别的同学的区别不是很大,但是我已经尽力的去编写了。
在编写程序的过程中,使我发现自己对GUI这一部分的应用是相当欠缺的,不知道如何去使用,这方面的大部分信息都是通过同学的帮助来完成的。当自己真正的完成了本次课设的时候,发现对该部分内容也有了一定的了解并掌握了其中的很多重要的东西,虽然这和老师的要求还有一定的差距但是我会努力的去学好该部分内容。
通过本次课程设计使自己对已学的Java的内容,不仅进行了复习而求也进行了相应的应用。在这个过程中,还让自己找出了自己的不足,并通过实践和学习不断的去改进。也使自己明白了,任何一门课程都不可能在短时间内完全掌握,所以要想真正的学好Java还需要在日后的学习生活中不断的努力。在这次课程设计的过程中,自己遇到的很多困难都是通过同学的帮助得到解决的,不仅让自己知道了和同学之间的差距还让我真正体会到了取长补短的道理。
总之,本次课程设计不光使自己的Java知识得到了提升,还使自己遇到问题解决问题的能里也得到了提升。为了能更好的提升自己的能力,在今后的学习生活中应该更努力的去学习。
第 9 页
六、参考文献
1、 张跃平 王克宏 java2 实用教程 清华大学出版社 2、 丁振凡 java语言实用教程 北京邮电大学出版社 百度 谷歌
第 10 页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务