JAVA课程设计论文学生成绩管理系统.docx
《JAVA课程设计论文学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计论文学生成绩管理系统.docx(44页珍藏版)》请在冰豆网上搜索。
JAVA课程设计论文学生成绩管理系统
1需求分析.................................................................................................2
5参考文献.................................................18
1需求分析
1.1系统功能要求分析:
(1)具有新用户注册功能。
(2)具有注册用户登录功能。
(3)具有学生成绩的录入功能,要求只录入各科成绩,自动计算每个学生的总成绩。
(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。
(5)具有按条件删除数据功能。
具体功能的详细描述如下
1.1.1选择[学生基本维护]菜单命令,即可进入[学生基本维护]功能窗体,在其中输入学生的相关信息,如果需要添加或修改学生信息,则单击相应的按纽,输入新信息后单击[添加]就可以了。
需要删除一条信息,则只要选择这条信息再点击[删除]。
在搜索条件中输入相关的条件,单击[查询]就可查找信息。
1.1.2选择[学生信息查询]菜单命令,即可进入[学生信息查询]功能窗体,在其中的下拉列表中选择你要看的信息,则在下面的表格中显示你要的信息。
1.1.3选择[成绩管理][添加成绩]菜单命令,即可进入[添加成绩]功能窗体,此功能权限只有管理员和教师。
1.1.4选择[成绩管理][输入成绩]菜单命令,即可进入[输入成绩]功能窗体,
此功能权限只有管理员和教师。
1.1.5选择[成绩管理][修改成绩]界面,此功能规管理员所有。
1.1.6选择[成绩管理][查询成绩]界面此界面对学生也是可见的,它的权限规所有用户所有。
1.1.7选择[登陆][重新登陆]则会返回登陆界面,为用户提供方便。
1.1.8选择[退出]将退出整个系统。
1.2其它要求分析:
(1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。
(2)程序必须与数据库进行通信。
(3)系统必须是图形用户界面的形式并连接数据库。
(4)学生可根据自身情况酌情增加新功能(视情况可另外加分)。
(5)独立完成课程设计,并完成课程设计报告,报告应记录设计的过程,尤其是分析/设计/实现过程中的决策。
1.3数据库需求分析
在系统中功能模块主要牵涉到的信息包括:
是学生信息(Student)、课程信息(Course)、成绩表(SC).
学生信息:
包含学号(STNO)、姓名(SNAME)、年龄(SAGE)、性别(SSEX)、系别(SDEPT)
课程信息:
包括课程编号(Cno)、课程名称(Cname)、先行课(Cpno)
成绩表;学号(STNO)、课程号(Cno)、成绩(Grade)
2概要结构设计
2.1系统功能结构设计
根据需求分析阶段得到的功能需求,管理员、学生和教师用户通过输入口令号和密码进下该系统后,可以进行一些学生基础信息查询(学生信息查询、班级信息查询、课程信息查询)、学生信息维护、成绩管理(成绩查询、计算平均分)重新登陆系统、退出。
模块功能大概可以分为如下4个方面:
这几个模块学生基础维护、成绩管理、登陆、退出。
其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。
成绩管理包括成绩查询、添加成绩、成绩输入等。
综上所述,得到客户端功能模块图如下2.1所示。
2.2概要结构
E-R图:
3详细设计及实现
3.1用户登陆模块
3.1.1代码实现
packagecom.mkx;
importjava.awt.*;
import;
importjavax.swing.*;
publicclassLoginextendsJFrame{
TextFieldf1;
TextFieldf2;//文本域
JButtonb1;
JButtonb2;
JButtonb3;
Stringpower;//表示权限
Login(){
Containercp=getContentPane();
cp.setLayout(newGridLayout(4,1));
Labell1=newLabel("用户名");//设置标签名
Labell2=newLabel("密码");
Panelp1=newPanel();//添加面板
Panelp2=newPanel();
Panelp3=newPanel();
f1=newTextField(10);
f2=newTextField(10);
f2.setEchoChar('*');
b1=newJButton("登录");
b2=newJButton("重置");
b3=newJButton("退出");
p1.add(l1);
p1.add(f1);
p2.add(l2);
p2.add(f2);
p3.add(b1);
p3.add(b2);
p3.add(b3);
cp.add(p1);
cp.add(p2);
cp.add(p3);
b1.addActionListener(newEnter());
b2.addActionListener(newReWrite());
b3.addActionListener(newClose());
}
publicstaticvoidmain(String[]args){
Loginlog=newLogin();
log.setTitle("系统登录");
log.setBounds(200,200,300,300);
log.setBackground(Color.blue);
log.setVisible(true);
}
classEnterimplementsActionListener{//对登陆具体进行处理
publicvoidactionPerformed(ActionEvente)
{
if((f1.getText()).equals("1100")&&(f2.getText()).equals("mkx"))
{
JOptionPane.showMessageDialog(null,"登录成功!
用户权限是管理员");
power="管理员";
XueShengframe1=newXueSheng();
frame1.setVisible(true);
}
elseif((f1.getText()).equals("abc")&&(f2.getText()).equals("123456"))
{
JOptionPane.showMessageDialog(null,"登录成功!
用户权限是学生");
power="学生";
Findf2=newFind();
f2.setVisible(true);
}
elseJOptionPane.showMessageDialog(null,"登录失败,请重新登录!
");
}
}
classReWriteimplementsActionListener{
publicvoidactionPerformed(ActionEvente)
{
f1.setText("");
f2.setText("");
f1.requestFocus();
}
}
classCloseimplementsActionListener{
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==b3)
System.exit(0);
}
}
}
3.2管理员界面
3.2.1代码实现:
packagecom.mkx;
importjava.awt.*;
import;
importjavax.swing.*;
import;
publicclassXueShengextendsJFrameimplementsActionListener{
JButtoncx,zj,tc,sc;
XueSheng(){
setBounds(100,100,600,600);
JPanelpanel2=newJPanel();//创建新面板
setContentPane(panel2);
panel2.setLayout(null);//设计布局为空
JLabellabel1=newJLabel("欢迎进入学生信息管理界面");//创建标签
label1.setFont(newFont("BOLD",Font.BOLD,28));//设计字体颜色大小
panel2.add(label1);
label1.setBounds(50,20,400,100);
cx=newJButton("查询");
panel2.add(cx);
cx.setBounds(50,200,80,50);
zj=newJButton("增加");
panel2.add(zj);ian
zj.setBounds(150,200,80,50);
sc=newJButton("删除");
panel2.add(sc);
sc.setBounds(250,200,80,50);
tc=newJButton("退出");
panel2.add(tc);
tc.setBounds(350,200,80,50);
cx.addActionListener(this);//添加监听
zj.addActionListener(this);
sc.addActionListener(this);
tc.addActionListener(this);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
//对监听具体处理方法
if(e.getSource()==cx){
Findf=newFind();
}
if(e.getSource()==zj){
AddFIf=newAddFI();
}
if(e.getSource()==sc){
Deletd=newDelet();
}
if(e.getSource()==tc){
shutDown();
}
}
privatevoidshutDown(){
this.dispose();
}
}
3.3用户界面
3.3.1代码实现:
packagecom.mkx;
importjava.awt.*;
import;
import;
import;
import;
import;
import;
importjavax.swing.*;
publicclassFindextendsJFrameimplementsActi