Java课程设计学生信息管理系统+代码.docx

上传人:b****7 文档编号:11094635 上传时间:2023-02-25 格式:DOCX 页数:129 大小:1.04MB
下载 相关 举报
Java课程设计学生信息管理系统+代码.docx_第1页
第1页 / 共129页
Java课程设计学生信息管理系统+代码.docx_第2页
第2页 / 共129页
Java课程设计学生信息管理系统+代码.docx_第3页
第3页 / 共129页
Java课程设计学生信息管理系统+代码.docx_第4页
第4页 / 共129页
Java课程设计学生信息管理系统+代码.docx_第5页
第5页 / 共129页
点击查看更多>>
下载资源
资源描述

Java课程设计学生信息管理系统+代码.docx

《Java课程设计学生信息管理系统+代码.docx》由会员分享,可在线阅读,更多相关《Java课程设计学生信息管理系统+代码.docx(129页珍藏版)》请在冰豆网上搜索。

Java课程设计学生信息管理系统+代码.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1