课 程 设 计 说 明 文 档
学生选课管理系统的设计与实现
学校:华南理工大学广州汽车学院
系别:计算机工程系
专业班级:信息与计算科学
姓名:
学号:
一、课程设计目的
通过这次的设计,主要是做出一个小型的管理系统,来加强对 JAVA 所学知识的巩固
和融会贯通,可以说是对一个学期所学知识的一个小结,加深对 JAVA 数据库的理解。
二、需求分析
功能需求分析:
该系统具备管理学生信息、课程信息、选课信息的功能:用户通过输入账号和密码进下该
系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都
可以进行增加、修改、删除、模糊查询。
三、数据项:
1 表 admin(用户表)
Field
Type
Null
Key
Comment
Username
char(10)
——
PRI
用户名
password
char(10)
——
——
密码
Name
Char(10)
——
——
用户昵称
2 表 S(学生信息表)
Field
Type
Null
Key
Comment
Sno
nvarchar(50)
——
PRI
学号
Sname
nvarchar(50)
——
——
姓名
Sx
nvarchar(50)
——
——
系别
3 表 C(课程信息表)
Field
Type
Null
Key
Comment
Cno
nvarchar(50)
——
PRI
课号
Cname
nvarchar(50)
——
——
课名
4 表 SC(学生信息表)
Field
Type
Null
Key
Comment
Cno
nvarchar(50)
——
PRI
课号
Sno
nvarchar(50)
——
PRI
学号
C
nvarchar(50)
——
——
成绩
四、系统功能描述
该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的:
1.管理学生信息,其中包括添加,删除,修改等操作。
2.管理课程信息,其中包括添加,删除,修改等操作。
3.管理选课信息,其中包括添加,删除,修改等操作。
4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作。
学生信息管理系统
学
生
管
理
课
程
管
理
选
课
管
理
查
询
管
理
添
加
信
息
修
改
信
息
删
除
信
息
添
加
信
息
修
改
信
息
删
除
信
息
添
加
信
息
修
改
信
息
删
除
信
息
学
生
信
息
课
程
信
息
选
课
信
息
五、代码分析
连接数据库方法:
这是 java 连接数据库的驱动,有关数据库的操作都要用到他。
public static Connection CONN(){
String driverName =
"com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433;
DatabaseName=student"; //连接服务器和数据库test,此处student是数据库名
String userName = "sa"; //默认用户名
String userPwd = "mima"; //密码
Connection dbConn=null;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
//如果连接成功 控制台输出Connection Successful!
} catch (Exception e) {
e.printStackTrace();}
return dbConn;}
用户登录界面 user.java:
登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。在填写好账号
密码后,会读取数据库里 admin 表,并查询其输入是否存在,若无误,则登录到用户界
面。
public class User extends JFrame{
private JLabel use,password;
private JTextField k1;//用户名输入框
private JPasswordField k2;//密码输入框
private JButton b1,b2;
//登录窗口
public User(JFrame f){
super("系统登录");
Container c=getContentPane();
c.setLayout(new FlowLayout());
use=new JLabel("username:");
use.setFont(new Font("Serif",Font.PLAIN,20));
password=new JLabel("password:");
password.setFont(new Font("Serif",Font.PLAIN,20));
k1=new JTextField(12);
k2=new JPasswordField(12);
b1=new JButton("登录");
b2=new JButton("退出");
// 设置登录方法
BHandler b=new BHandler();
EXIT d=new EXIT();
b1.addActionListener(b);
b2.addActionListener(d);
//添加控件
c.add(use);
c.add(k1);
c.add(password);
c.add(k2);
c.add(b1);
c.add(b2);
setBounds(600,300,250,150);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}
//主函数
public static void main(String[] args) {
User f1=new User(new JFrame());}
效果图:
用户界面:Menu.java
用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、删除
数据,分别操作数据库里的S表(学生),C表(课程),SC表(选课)。查询管理则可进行三
个表的查询。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Menu extends JFrame implements ActionListener{
Addstu 增加学生界面;
Updatastu 修改学生界面;
Delstu 删除学生界面;
AddC 增加课程界面;
DelC 删除课程界面;
UpdateC 修改课程界面;
AddSC 增加选课界面;
DelSC 删除选课界面;
UpdateSC 修改选课界面;