java课程设计--学籍管理系统.doc_第1页
java课程设计--学籍管理系统.doc_第2页
java课程设计--学籍管理系统.doc_第3页
java课程设计--学籍管理系统.doc_第4页
java课程设计--学籍管理系统.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java程序设计与应用开发Java课程设计报告书题目: 学籍管理系统 班级: 数媒 学号: 姓名: 教师: 2012年 12 月 24 日11学籍管理系统1、 课程设计的目的与要求: (一)课程设计目的与任务随着社会的发展,及互联网的不断兴起,面向互联网的应用软件己经成为人们社会生活的不可缺少的部分,人们通过使用这样应用软件提高自己工作效率,进行相互交流,使工作成果更加突出。作为当代大学生,要充分掌握网络应用软件的开发技术,能够通过这些软件开发技术设计出对社会生活有价值的应用软件。Java语言是由SUN公司倡导开发的一种程序设计语言,该语言以其独特的特点,高效率的开发,得到广泛的应用,基于该语言一些相关技术的应用,如JSP,Servlet技术的应用,使其应用更加广泛。本次课程设计就是利用Java语言及其相关技术,设计一些应用软件,达到掌握使用Java语言进行程序设计的目的。(二)题目要求设计实现一个某学校学籍管理系统,主要包括学籍的录入,查询,修改,学籍删除等功能。查询方式主要是支持学号查询,例如:输入“0305100410”,则显示该学生的信息。基于文件流的插入与读取。2、 设计正文: 1 系统分析学籍管理系统从理解上来看,是指某个学籍的管理,用户通过一些相关的操作对学籍进行管理,学籍管理系统要求以管理为中心,可实现对学籍的录入,查询,修改,学籍删除等功能,学籍管理是一个比较灵活的系统,通过这个简单的系统,就可以做到对学籍的各种操作有据可循,每个操作都被系统有效地记录,也不会遗忘一些细节,学籍管理的信息也透明化。这种信息的透明化,对学籍管理是十分重要的,这也是学籍管理系统的重要功能。 2 主要功能逻辑过程用户看到的第一页面就能看到学籍管理功能,你可以选择“学籍录入操作”“学籍添加操作”“学籍查询操作”“学籍删除操作”。学籍添加操作可以实现学籍信息的添加,而且所有的记录不能为空。学籍录入可以进行录入学籍操作,查询可以通过编号Id查询学籍信息详情,删除可以直接删除学籍记录。 学籍管理系统学籍信息查询学籍信息删除学籍信息修改学籍信息录入 本学生学籍管理系统最主要的的是在于对于输入,修改,查找,删除功能的编写。关于输入功能主要是学生学籍信息的存入,以及存储文档的建立。本系统建立了一个TXT文档来存储学生的学籍信息。需要实现的是如何把信息存入文档里。使用FileInputStream进行文件输入,使用FileOutputStream进行文件输出数据写入,使用ObjectInputStream对学生对象信息输入,使用ObjectOutputStream进行信息输出,并与存储学生信息的文档关联。修改功能需要实现的是用现有数据覆盖文档存储的学生学籍信息。首先应该考虑是否原本文档里含有输入的学号的信息,如果有,则输入其修改信息替换掉原来的学籍信息给予保存文档。查找功能其实就是修改功能的一部分,不过当读取到对应的学生学籍信息之后,要进行对象输出,显示在界面里。删除功能中是查找功能的延续,读取到学籍信息,给予制空,对应的文档里的学生学籍信息全部为null。所有的功能中都需要考虑到异常情况。比如,当进行输入功能时,填写人员没有填写学号而直接经行数据输入,应当给予警告。对于界面布局方面,应当多次调试,已获得更好的显示效果。界面也应该做到简洁明了,虽然使用者不明白此系统构造,但是仍然能够很轻松的使用本系统。主界面中菜单栏的建立和录入内容用来连接学籍管理系统的功能而进行操作。三、详细设计: 主界面 录入=new JMenuItem(录入学生基本信息); 修改=new JMenuItem(修改学生基本信息); 查询=new JMenuItem(查询学生基本信息); 删除=new JMenuItem(删除学生基本信息); bar=new JMenuBar(); fileMenu=new JMenu(菜单选项); fileMenu.add(录入); fileMenu.add(修改); fileMenu.add(查询); fileMenu.add(删除); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel(欢迎使用学生基本信息管理系统,JLabel.CENTER); label.setFont(new Font(TimesRoman,Font.BOLD,24); label.setForeground(Color.red); 基本信息=new Hashtable(); 录入.addActionListener(this); 修改.addActionListener(this); 查询.addActionListener(this); 删除.addActionListener(this);主界面主要就是建立一个窗口,在窗口中插入一个JBar菜单条,并将其设置为建立窗口的菜单条,用来储存功能。添加完菜单条后在其添加菜单menuj。接下来在菜单中添加内容,本系统只添加了input,change,search,delete四项内容用来建立功能。建立一个TXT文档用来存放string的学生各项数据,使其能实现功能。 输入功能 confirm = new JButton(录入);reset = new JButton(重置);ha1 = new Hashtable();confirm.addActionListener(this);reset.addActionListener(this);Box box1 = Box.createHorizontalBox();box1.add(new JLabel(学号:, JLabel.CENTER);box1.add(number);Box box2 = Box.createHorizontalBox();box2.add(new JLabel(姓名:, JLabel.CENTER);box2.add(name);Box box3 = Box.createHorizontalBox();box3.add(new JLabel(性别:, JLabel.CENTER);box3.add(male);box3.add(female);Box box4 = Box.createHorizontalBox();box4.add(new JLabel(专业:, JLabel.CENTER);box4.add(department);Box box5 = Box.createHorizontalBox();box5.add(new JLabel(年级:, JLabel.CENTER);box5.add(grade);Box box6 = Box.createHorizontalBox();box6.add(new JLabel(出生:, JLabel.CENTER);box6.add(birth); StudentSituation类 学生.setNumber(number); 学生.setName(name); 学生.setDiscipling(discipling); 学生.setGrade(grade); 学生.setBorth(borth); 学生.setSex(sex);建立一个Student类用于存放学生的name,number,sex等数据,方便的被其他功能调用,被其他功能读取或者修改。 修改功能 if (ha1.containsKey(nu) confirm.setEnabled(true);Stu = (Student) ha1.get(nu);name.setText(Stu.getname();birth.setText(Stu.getbirth();department.setText(Stu.getdepartment();grade.setText(Stu.getgrade();if (Stu.getsex().equals(男) male.setSelected(true); else female.setSelected(true); else String warning = 没有该学生的信息;JOptionPane.showMessageDialog(this, warning, 出错了, JOptionPane.WARNING_MESSAGE);number.setText(null);name.setText(null);birth.setText(null);department.setText(null);grade.setText(null);else String warning = 必须输入学号;JOptionPane.showMessageDialog(this, warning, 出错了,视图和输入界面类似,建立盒子模型用于存放新的学生学籍信息覆盖原来的学生学籍信息。对于没有输入学生学号而进行修改信息的情况,给予“必须输入学号”的警告,如果输入的学号查找成功,文件读取数据输出,是新的信息覆盖。如果没有此学生信息也必须给出警告。 查找功能 if(基本信息表.containsKey(number) 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 String warning=该学号不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String warning=必须要输入学号!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 关于查找功能,主要就是文件数据输入和输出,读取File中的学生学籍的信息,对于异常情况的警告,则和其它情况类似。 删除功能 if(基本信息表.containsKey(number) 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); String m=确定要删除该学号及全部信息吗?; int ok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);对于删除功能使用FileInputStream fin: 文件输入流;FileOutputStream fou: 文件输出流写入数据;ObjectInputStream oin: 对象输入流;ObjectOutputStream oou: 对象输出流。使得对应学号的File中的的学生学籍信息制空。如果查找不到对应学号或没有输入学号则输出警告。四、设计体会与小结:1、课程设计过程中出现的技术难点和解决方法:此次课程设计一开始好多东西都弄不明白,在网上查阅好多类型的资料,刚开始时决定做的是基于数据库实现的学籍管理系统,后来由于时间紧迫自己没能理解数据库部分的设计,后又选择基于文件结构的学籍管理系统。本次课程设计的框架源于百度文库中的材料,其中的具体算法综合比较了好多具体的实例,最终实现了比较简单而又实用的功能。同时界面设计方面采用了老师给的选题中的样式,简约而美观。实现了基本的学籍信息录入,修改,查询,删除的功能。还有一本份有待改进,其实在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论