Java课程设计学生信息管理系统+代码.docx
- 文档编号:11094635
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:129
- 大小:1.04MB
Java课程设计学生信息管理系统+代码.docx
《Java课程设计学生信息管理系统+代码.docx》由会员分享,可在线阅读,更多相关《Java课程设计学生信息管理系统+代码.docx(129页珍藏版)》请在冰豆网上搜索。
Java课程设计学生信息管理系统+代码
Java课程设计报告
题目:
学生信息管理系统
2012年12月21日
一、实验目的----------------------------------------------------1
二、应用需求分析----------------------------------------------1
三、主要功能(系统流程图)-------------------------------2
四、数据库设计-------------------------------------------------5
五、系统操作----------------------------------------------------7
六、程序类的设计---------------------------------------------15
七、系统使用说明及环境配置------------------------------16
八、附录---------------------------------------------------------16
1、实验目的
掌握java编程技术、MicrosoftSQLServer2005数据库的建立使用以及java与MicrosoftSQLServer2005的连接技术。
2、应用需求分析
学生信息管理系统需要满足来自二方面的需求,这两个方面分别是学生、管理员。
学生的需求是学生信息查看、成绩信息查看、个人信息管理;管理员对学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理。
学生可以直接查看个人信息情况,学生可以根据本人学号和密码登录系统,还可以修改个人登录密码。
一般情况下,学生只应该查询和维护本人的信息情况。
若查询和修改其他学生的信息情况,就要知道其他学生的学号和密码。
这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了个人隐私。
管理员有管理员的使用权限,对系统有维护的权限。
管理员能够增加、删除、修改、查询学生信息,也能增加、删除、修改、查询课程信息,还能修改成绩、修改查询用户信息。
三、主要功能
1.学生:
学生信息查看、成绩信息查看、个人信息管理
2.管理员:
学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理
3.系统流程图
3.1总体设计
总体设计图
3.2模块详细设计
1、学生信息管理模块
学生信息管理模块包括增加、删除、修改、查询、显示全部等。
具体的结构图如图所示。
学生信息管理模块
2、课程信息管理模块
学生信息管理模块包括增加、删除、修改、查询、显示全部等。
具体的结构图如图所示。
课程信息管理模块
3、选课信息管理模块
学生信息管理模块包括增加、删除、查询、显示全部等。
具体的结构图如图所示。
选课信息管理模块
4、成绩信息管理模块
学生信息管理模块包括修改成绩、查询、显示全部等。
具体的结构图如图所示。
成绩信息管理模块
5、用户信息管理模块
学生信息管理模块包括修改、查询、显示全部等。
具体的结构图如图所示。
用户信息管理模块
四、数据库设计
1.表设计
Student(StuID,StuName,StuAge,StuSex,StuCellphone,StuDormitory,StuClass,StuDepartment)
Course(CouID,CouName)
StudentCourse(StuID,CouID,Score)
User(UserName,Password,Role)
2.在查询分析器中创建表
CREATETABLEStudent
(StuIDchar(10)notnull,
StuNamechar(20),
StuAgechar(10),
StuSexchar(10),
StuCellphonechar(20),
StuDormitorychar(10),
StuClasschar(10),
StuDepartmentchar(20),
PRIMARYKEY(StuID));
CREATETABLECourse
(CouIDchar(10)notnull,
CouNamechar(20),
Teacherchar(20),
PRIMARYKEY(CouID));
CREATETABLEStudentCourse
(StuIDchar(10)notnull,
CouIDchar(10)notnull,
Scorechar(10),
PRIMARYKEY(StuID,CouID),
FOREIGNKEY(StuID)REFERENCESStudent(StuID),
FOREIGNKEY(CouID)REFERENCESStudent(CouID));
CREATETABLEUser
(UserNamechar(10)notnull,
Passwordchar(10)notnull,
Roleintnotnull,
PRIMARYKEY(UserName));
五、系统操作
㈠、启动数据库服务并运行java程序,选择管理员或学生登陆,输入正确的用户号和密码就能进入操作主界面。
登录界面
㈡、选择进人了学生界面,可以进行学生信息查看,成绩信息查看,个人信息管理或者退出管理系统
学生主界面
1、学生信息查看
学生信息查看
2、成绩信息查看
成绩信息查看
3、个人信息管理
个人信息管理
①、修改密码:
修改密码
㈢、登入进人了管理员界面,可以进行学生信息管理,课程信息管理,选课信息管理,成绩信息管理,用户信息管理或者退出管理系统
管理员主界面
1、学生管理信息管理,可以进行添加、删除、修改、查询等操作
学生信息管理
①、添加
②、删除
选中信息,点击删除按钮即可
③、修改
④、查寻
2、课程信息管理
课程信息管理
①、添加
②、删除
选中记录,点击删除按钮即可
③、修改
④、查询
3、选课信息管理
选课信息管理
①、增加
②、删除
选中记录,点击删除按钮即可
③、查询
4、成绩信息管理
成绩信息管理
①、修改成绩
②、查询
5、用户信息管理
用户信息管理
①、修改
②、查询
6、程序类的设计
包Enter
1、StudentManagerment主类函数
2、Enter_Frame登录界面
包Manager
1、Manager_Frame管理员主界面
2、Cou_Info_Main课程信息管理界面
3、Cou_Info_Add实现课程添加
4、Cou_Info_Select实现课程查询功能
5、Score_Info_Main成绩信息管理界面
6、Score_Info_Add成绩的修改
7、Score_Info_Select实现成绩的查询
8、Stu_Cou_Info_Main选课信息管理界面
9、Stu_Cou_Info_Add实现选课信息的添加
10、Stu_Cou_Info_Select实现选课信息的查询
11、Stu_Info_Main学生信息管理界面
12、Stu_Info_Add实现学生信息的添加
13、Stu_Info_Select实现学生信息的查询
14、User_Info_Main用户信息管理界面
15、User_Info_Add实现用户信息的修改
16、User_Info_Select实现用户信息的查询
包Student
1、Student_Frame学生主界面
2、Stu_Info_Select学生信息查看
3、Stu_Score_Select学生成绩查看
4、Personal_Info_Select学生的用户名密码查看
5、Personal_Info_Add修改密码
7、系统使用说明及环境配置
学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:
TGQ密码:
TGQ登录系统后可以进行相应的操作。
学生通过以自己的学号(如:
03150101)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。
数据库:
MicrosoftSQLServer2005
连接数据库的登录名:
sa密码:
sa
8、附录
代码:
包Enter:
类StudentManagerment
packageEnter;
/**
*
*@authorTGQ
*/
publicclassStudentManagerment{
publicstaticvoidmain(String[]args){
Enter_Frameenter_Frame=newEnter_Frame();
}
}
类Enter_Frame
/*
*Tochangethistemplate,chooseTools|Templates
*andopenthetemplateintheeditor.
*/
packageEnter;
/**
*
*@authorTGQ
*/
importManager.Manager_Frame;
importStudent.Student_Frame;
importjava.awt.Color;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
publicclassEnter_FrameextendsJFrameimplementsActionListener,ItemListener{//登录界面
JLabeluserName=newJLabel("用户:
");
JTextFieldtxtUser=newJTextField();
JLabelpassword=newJLabel("密码:
");
JPasswordFieldtxtPwd=newJPasswordField(6);
JLabelrole=newJLabel("角色:
");
JComboBoxcbrole=newJComboBox();
JButtonbtnLogin=newJButton("登录");
JButtonbtncz=newJButton("重置");
JButtonbtnCancel=newJButton("取消");
JLabellabel=newJLabel();
staticintOK=1;
staticintCANCEL=0;
intactionCode=0;
Connectioncon=null;
Statementstmt=null;
ResultSetrs=null;
intqxian=0;
publicStringun=null;
Stringpw=null;
publicEnter_Frame(){//构造方法
super("登录界面");
setLayout(null);
cbrole.addItem("管理员");
cbrole.addItem("学生");
un=txtUser.getText();
ImageIconicon=newImageIcon("src/images/2.jpg");
label.setIcon(icon);
label.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());
setSize(label.getWidth(),label.getHeight());
btnLogin.setBounds(50,160,60,20);
//btnLogin.setBackground(Color.LIGHT_GRAY);
//btnLogin.setIcon(newImageIcon("src/images/2.jpg"));
btncz.setBounds(120,160,60,20);
btnCancel.setBounds(190,160,60,20);
userName.setBounds(50,35,80,25);
txtUser.setBounds(90,35,150,25);
password.setBounds(50,70,80,25);
txtPwd.setBounds(90,70,150,25);
role.setBounds(50,110,150,30);
cbrole.setBounds(90,110,70,25);
add(btnLogin);
add(btncz);
add(btnCancel);
add(userName);
add(txtUser);
add(password);
add(txtPwd);
add(role);
add(cbrole);
add(label);
setResizable(false);
setVisible(true);
setLocation(10,10);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();
btnLogin.addActionListener(this);
cbrole.addItemListener(this);
btncz.addActionListener(this);
btnCancel.addActionListener(this);
}
publicvoidconnDB(){//连接数据库
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
try{
con=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=StudentManagement","sa","sa");
stmt=con.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicvoidcloseDB()//关闭连接
{
try{
stmt.close();
con.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicvoiditemStateChanged(ItemEvente){
if(e.getStateChange()==ItemEvent.SELECTED){
JComboBoxjcb=(JComboBox)e.getSource();
qxian=jcb.getSelectedIndex();
}
}
publicvoidactionPerformed(ActionEvente){
Objectsource=e.getSource();
booleansuccess=false;//用于判断是否登录成功
un=txtUser.getText();
if(source==btnLogin){
if(txtUser.getText().equals("")||txtPwd.getText().equals("")){//判断是否输入了用户名和密码
JOptionPane.showMessageDialog(null,"登录名和密码不能为空!
");
}else{
this.connDB();
try{
rs=stmt.executeQuery("select*fromUserinfowhereRole="+qxian);
while(rs.next()){
un=rs.getString("UserName").trim();
pw=rs.getString("Password").trim();
if(txtUser.getText().equals(un)){
if(txtPwd.getText().equals(pw)){
actionCode=OK;
this.setVisible(false);
if(qxian==0){
Manager_Framemanager_Frane=newManager_Frame();//进入管理员界面
}
if(qxian==1){
Student_Framestudent_Frame=newStudent_Frame(un);//进入学生界面
}
success=true;
break;
}else{
JOptionPane.showMessageDialog(null,"密码错误!
");
txtPwd.setText("");
success=true;
}
}
}
if(!
success){
JOptionPane.showMessageDialog(null,"登录名错误!
");
txtUser.setText("");
txtPwd.setText("");
}
}catch(SQLExceptione1){
e1.printStackTrace();
}
}
}elseif(source==btnCancel){
System.exit(0);
}elseif(source==btncz){
txtUser.setText("");
txtPwd.setText("");
}
}
}
包Manager
类Manager_Frame
/*
*Tochangethistemplate,chooseTools|Templates
*andopenthetemplateintheeditor.
*/
packageManager;
/**
*
*@authorTGQ
*/
importEnter.Enter_Frame;
importjava.awt.event.*;
importjavax.swing.*;
publicclassManager_FrameextendsJFrameimplementsActionListener{//管理员界面
JMenuBarjmb=newJMenuBar();
JMenusystem=newJMenu("系统");
JMenumessage=newJMenu("信息管理");
JMenuhelp=newJMenu("帮助");
JMenuItemfh=newJMenuItem("返回");
JMenuItemtc=newJMenuItem("退出");
JMenuItemstudent=newJMenuItem("学生信息管理");
JMenuItemcourse=newJMenuItem("课程信息管理");
JMenuItemchoicecourse=newJMenuItem("选课信息管理");
JMenuItemscore=newJMenuItem("成绩信息管理");
JMenuItemuser=newJMenuItem("用户信息管理");
JMenuItemabout=newJMenuItem("软件信息");
JLabellabel=newJLabel();
publicManager_Frame(){//构造方法
super("管理员界面");
ImageIconicon=newImageIcon("src/images/1.jpg");
label.setIcon(icon);
label.setBounds(100,100,icon.getIconWidth(),icon.getIconHeight());
add(label);
setSize(label.getWidth(),label.getHeight());
this.setJMenuBar(jmb);
jmb.add(system);
jmb.add(message);
jmb.add(help);
system.add(fh);
system.add(tc);
message.add(student);
message.add(course);
message.add(choicecourse);
message.add(score);
message.add(user);
help.add(about);
fh.addActionListener(this);
tc.addActionListener(this);
student.addActionListener(this);
course.addActionListener(this);
c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 学生 信息管理 系统 代码