java课程设计学籍管理系统.docx
《java课程设计学籍管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计学籍管理系统.docx(13页珍藏版)》请在冰豆网上搜索。
![java课程设计学籍管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/21/074d259c-2de3-43b2-a428-2284ea1ecc78/074d259c-2de3-43b2-a428-2284ea1ecc781.gif)
java课程设计学籍管理系统
本科生课程设计
课程名称
Java程序设计
课程编号
学号
学生姓名
所在专业
所在班级
指导教师
成绩
教师签字
年月日
课程设计时间:
2009年12月10日
至2009年12月20日
一.系统开发的目的
随着科学技术的发展,社会进步,计算机迅速的发展,仓库管理的方法也日新月异,以前全是由人管理的方法现存在很多的缺点:
管理效率低,劳动强度大,信息处理速度低而且准确率也不够令人满意。
为了提高仓库管理效率,减轻劳动强度提高,信息处理速度和准确性;为学籍信息管理员提供更方便、科学的服务项目。
为学籍信息管理员提供的一种更先进、科学的服务系统。
于是我们便选择了由计算机来设计一个学籍管理系统的方案。
让计算机对学生学籍进行自动管理,学籍信息管理员可以直接在计算机上实现对学生学籍的信息管理,并能在一定程度上实现自动化。
我们在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据
二.设计内容
设计一个java平台的学籍管理系统。
三.设计要求
要求本系统实现的功能如下:
(1)学籍管理信息的增加、删除、修改。
(2)学籍信息的查询。
四.本系统功能简介
学籍信息录入管理,录入学生学籍信息,确认信息并储存于系统。
学籍信息修改管理,填写要修改的学生编号,对相应的学生学籍进行修改管理,
学籍信息删除管理,填写要删除的学生百年好,删除对应编号的学籍信息。
学籍信息的查询管理,填写相应的学生学籍编号,查看相应学籍学生信息。
五.设计平台
本系统是在windows环境下开发的,使用的开发软件此产品包括由ApacheSoftwareFoundation开发的软件Eclipse。
六.开发情况
七.总体设计
7.1系统总体构思
在前期在系统开发目的的基础上,从信息系统的目标出发,建立系统的总体结构,确立各个模块的层次,与保证总体的目标实现,为设计良好的用户界面与安全可靠的系统打下基础。
系统采用Eclipse为开发软件。
7.1系统模块设计
依据需求分析及主要任务的表述,可对上述各项功能按照结构化程序设计的要求进行集中、分层结构化,自上而下设置得到系统功能模块结构图,系统总体模块结构如图:
7.3系统数据流程
八.具体设计
8.1运行效果与程序发布
本系统根据软件界面的友好性、便捷性机制设置了美观得体、界面友好、整齐有序的主控平台窗体。
该窗体负责调用各级子模块,使用户能方便地完成所需执行的相关功能。
(1)系统运行主界面
(2)系统录入界面
(3)系统修改界面
(4)系统删除界面
(5)系统查询界面
相应的代码如下:
packagexuezhi;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
importjava.util.*;
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();
group.add(男);
group.add(女);
Boxbox1=Box.createHorizontalBox();
box1.add(newJLabel("输入要查询的学号:
",JLabel.CENTER));
box1.add(学号);
box1.add(查询);
Boxbox2=Box.createHorizontalBox();
box2.add(newJLabel("姓名:
",JLabel.CENTER));
box2.add(姓名);
Boxbox3=Box.createHorizontalBox();
box3.add(newJLabel("性别:
",JLabel.CENTER));
box3.add(男);
box3.add(女);
Boxbox4=Box.createHorizontalBox();
box4.add(newJLabel("专业:
",JLabel.CENTER));
box4.add(专业);
Boxbox5=Box.createHorizontalBox();
box5.add(newJLabel("年级:
",JLabel.CENTER));
box5.add(年级);
Boxbox6=Box.createHorizontalBox();
box6.add(newJLabel("出生:
",JLabel.CENTER));
box6.add(出生);
BoxboxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box4);
boxH.add(box5);
boxH.add(box6);
boxH.add(Box.createVerticalGlue());
JPanelpCenter=newJPanel();
pCenter.add(boxH);
Containercon=getContentPane();
con.add(pCenter,BorderLayout.CENTER);
con.validate();
setVisible(false);
setBounds(100,200,360,270);
addWindowListener(newWindowAdapter()
{publicvoidwindowClosing(WindowEvente)
{
setVisible(false);
}
});
}
publicvoidactionPerformed(ActionEvente)
{
姓名.setText(null);
专业.setText(null);
年级.setText(null);
出生.setText(null);
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);
}
}
}
}学生对象Student代码如下
packagexuezhi;
publicclassStudentimplementsjava.io.Serializable
{
Stringnumber,name,discipling,grade,borth,sex;
publicStudent()
{
}
publicvoidsetNumber(Stringnumber)
{
this.number=number;
}
publicStringgetNumber()
{
returnnumber;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
publicStringgetName()
{
returnname;
}
publicvoidsetDiscipling(Stringdiscipling)
{
this.discipling=discipling;
}
publicStringgetDisciping()
{
returndiscipling;
}
publicvoidsetGrade(Stringgrade)
{
this.grade=grade;
}
publicStringgetGrade()
{
returngrade;
}
publicvoidsetBorth(Stringborth)
{
this.borth=borth;
}
publicStringgetBorth()
{
returnborth;
}
publicvoidsetSex(Stringsex)
{
this.sex=sex;
}
publicStringgetSex()
{
returnsex;
}
}
九.课程设计总结
这次JAVA的课程设计,使我这一学期的的学习成果的表现。
在这次课程设计过程中,遇到了一连串的问题,有时连把程序读通都碰到重重困难。
此次程序的功能比较简单。
只有增加、删除、修改、查询的基本功能。
并没对数据进行统计、分类之类等设置。
虽然此程序没有达到理想效果,但我也学到了很多java编程知识,并学会了简单的使用Eclipse来开发java程序。
因为java的算法基本上和c++相同,所以最大的收获就是学会了使用java来建立界面,但这只是学会了一点java的基本知识,还有很多东西没有学到,由于了解到java在现在的编程界是非常流行的,所以我打算抽时间来进一步的学好java,以提高自己的编程能力。