Java小型项目之学生管理系统需求分析文档格式.docx
《Java小型项目之学生管理系统需求分析文档格式.docx》由会员分享,可在线阅读,更多相关《Java小型项目之学生管理系统需求分析文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
![Java小型项目之学生管理系统需求分析文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/1/1832ccff-3f1b-4b6e-8ed7-9ecad9ed9abc/1832ccff-3f1b-4b6e-8ed7-9ecad9ed9abc1.gif)
并且还需要定义一个下拉列表让用户来进行身份选择,其中选项包括“学生”和“老师”。
在程序的最后还定义了两个按钮,从而让用户输入用户名和密码后进行登录。
(9)在学生界面中,学生可以对自己的信息进行查询,在第一次登录时还可以对自己的信息进行插入,并且学生能够查询自己的成绩。
(10)因为学生要完成对信息和成绩的操作,所以这里的设计是在界面中定义两个菜单,分别进行信息和成绩的操作。
因为对信息的操作包括插入和查询,所以还需要在信息菜单下定义“插入”和“查询”两个子菜单。
(11)对界面进行设计后,就可以进行程序开发。
同样首先是创建一个窗口,在窗口中要创建两个菜单,并且在信息菜单下还要创建“插入”和“查询”两个子菜单。
(12)在学生界面中单击“信息”菜单下的“插入”子菜单,就会进入学生插入界面,在该界面中学生可以输入自己的信息。
(13)学生第一次插入信息后,老师是可以对学生的信息进行修改和删除的。
除此之外,学生还可以查询自己被修改后的信息,在信息菜单下有一个查询子菜单,单击该菜单就触发事件,从而进入查询学生信息界面。
(14)在学生界面中还有一个“成绩”菜单,在学生的界面该菜单下只有一个“查询”子菜单。
单击“查询”子菜单,将触发事件,进入到查询成绩界面。
6、附录
(1)登陆界面
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclasssystemsextendsJFrameimplementsActionListener
{
staticsystemsss;
JPanelpanel=newJPanel();
JLabellabel1=newJLabel("
输入姓名:
"
);
JTextFieldname=newJTextField();
JLabellabel2=newJLabel("
密码:
JPasswordFieldpwd=newJPasswordField();
JButtonEnter=newJButton("
登录"
JButtonExit=newJButton("
退出"
Stringurl="
D:
\\Systems\\title.jpg"
;
ButtonGroupbgp=newButtonGroup();
JRadioButtonstu=newJRadioButton("
学生"
JRadioButtontch=newJRadioButton("
教师"
publicsystems()
{
super("
登录系统"
this.setResizable(false);
JLabelimg=newJLabel(newImageIcon(url));
img.setBounds(0,0,500,100);
panel.add(img);
stu.setBounds(165,210,70,20);
tch.setBounds(265,210,70,20);
bgp.add(stu);
bgp.add(tch);
panel.add(stu);
panel.add(tch);
Enter.setBounds(150,250,80,20);
Exit.setBounds(270,250,80,20);
Enter.addActionListener(this);
Exit.addActionListener(this);
panel.add(Enter);
panel.add(Exit);
panel.setLayout(null);
this.add(panel);
label1.setBounds(135,130,100,25);
panel.add(label1);
name.setBounds(265,130,100,25);
panel.add(name);
label2.setBounds(135,165,100,25);
panel.add(label2);
pwd.setBounds(265,165,100,25);
panel.add(pwd);
this.setBounds(100,100,500,350);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoidactionPerformed(ActionEvente)
if(e.getSource()==Enter)
{
Stringusername,password;
username=name.getText();
password=pwd.getText();
try
{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}
catch(ClassNotFoundExceptionce)
JOptionPane.showMessageDialog(ss,ce.getMessage());
if(stu.isSelected())
try
Connectioncon=DriverManager.getConnection("
jdbc:
odbc:
sysdb"
"
sa"
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("
select*fromSTU"
while(rs.next())
{
if((rs.getString("
ID"
).equals(username))&
&
(rs.getString("
Pwd"
).equals(password)))
{
JOptionPane.showMessageDialog(ss,"
登陆成功"
Studentsstu=newStudents();
}
else
{
JOptionPane.showMessageDialog(ss,"
登录失败"
}
rs.close();
stmt.close();
catch(SQLExceptionse)
JOptionPane.showMessageDialog(ss,se.getMessage());
elseif(tch.isSelected())
systchdb"
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("
select*fromTCH"
while(rs.next())
{
}
else
catch(SQLExceptionse)
JOptionPane.showMessageDialog(ss,se.getMessage());
}
else
System.exit(0);
publicstaticvoidmain(String[]args)
systemssys=newsystems();
}
(2)学生界面
publicclassStudentsextendsJFrameimplementsActionListener
JMenuBarjmb=newJMenuBar();
JMenuMessage=newJMenu("
信息"
JMenuScore=newJMenu("
成绩"
JMenuItemItem1=newJMenuItem("
插入"
JMenuItemItem2=newJMenuItem("
查询"
JMenuItemItem3=newJMenuItem("
publicStudents()
学生界面"
this.setSize(500,400);
this.setJMenuBar(jmb);
jmb.add(Message);
jmb.add(Score);
Message.add(Item1);
Message.add(Item2);
Score.add(Item3);
Item1.addActionListener(this);
Item2.addActionListener(this);
Item3.addActionListener(this);
if(e.getSource()==Item1)
AddMsgad=newAddMsg();
elseif(e.getSource()==Item2)
Serchser=newSerch();
Scoreso=newScore();
Studentsstu=newStudents();
(3)添加学生信息
publicclassAddMsgextendsJFrameimplementsActionListener
staticAddMsgs;
/*添加学生信息控件*/
JPaneljpl=newJPanel();
添加基本信息"
JLabel.CENTER);
学号:
JLabellabel3=newJLabel("
姓名:
JLabellabel4=newJLabel("
性别:
JLabellabel5=newJLabel("
班级:
JLabellabel6=newJLabel("
学院:
JTextFieldnum=newJTextField
(2);
JTextFieldnam=newJTextField(4);
JRadioButtonman=newJRadioButton("
男"
JRadioButtonwomen=newJRadioButton("
女"
JTextFieldclas=newJTextField();
JTextFieldscl=newJTextField();
JButtonreset=newJButton("
重置"
JButtonaddmsg=newJButton("
添加"
publicAddMsg()
添加学生信息"
this.add(jpl);
jpl.setLayout(null);
addmsg.addActionListener(this);
reset.addActionListener(this);
/*插入面板*/
label1.setBounds(100,20,300,20);
jpl.add(label1);
label2.setBounds(100,50,70,20);
jpl.add(label2);
num.setBounds(190,50,140,20);
jpl.add(num);
label3.setBounds(100,90,70,20);
jpl.add(label3);
nam.setBounds(190,90,140,20);
jpl.add(nam);
label4.setBounds(100,130,70,20);
jpl.add(label4);
man.setBounds(190,130,60,20);
women.setBounds(270,130,60,20);
jpl.add(man);
jpl.add(women);
bgp.add(man);
bgp.add(women);
label5.setBounds(100,170,70,20);
jpl.add(label5);
clas.setBounds(190,170,140,20);
jpl.add(clas);
label6.setBounds(100,210,70,20);
jpl.add(label6);
scl.setBounds(190,210,140,20);
jpl.add(scl);
reset.setBounds(120,250,90,20);
addmsg.setBounds(240,250,90,20);
jpl.add(reset);
jpl.add(addmsg);
if(e.getSource()==addmsg)
Stringsex;
if(man.isSelected())
sex="
else
JOptionPane.showMessageDialog(s,ce.getMessage());
Connectioncon=DriverManager.getConnection("
inta=stmt.executeUpdate("
insertintoSTU(ID,Pwd,Name,Sex,Class,Collage)values('
+num.getText()+"
'
'
+"
12345678'
+nam.getText()+"
+sex+"
+clas.getText()+"
+scl.getText()+"
)"
if(a==1)
JOptionPane.showMessageDialog(s,"
已成功添加"
else
添加失败"
JOptionPane.showMessageDialog(s,se.getMessage());
num.setText("
nam.setText("
clas.setText("
scl.setText("
num.requestFocus();
AddMsgamg=newAddMsg();
(4)添加学生成绩
publicclassAddscoreextendsJFrameimplementsActionListener
staticAddscoress;
JLabel[]label={newJLabel("
),newJLabel("
计算机网络:
Linux操作系统:
计算机专业英语:
计算机信息技术基础:
Java程序设计:
数据库应用实训教程:
高等数学:
XML:
)};
JTextField[]txt={newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField()};
JButtonadd=newJButton("
JLabeltitle=newJLabel("
添加学生成绩"
JLabel.CENTER);
Fontf=newFont("
黑体"
Font.BOLD,16);
ints=100;
publicAddscore()
this.setSize(500,600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this