教室管理系统设计与实现
第1部分 设计的内容要求
给出设计的内容与要求
1.1
1、在MySQL中创建数据库ClassRoom,并创建表教室rooms表结构如下:
字段名 |
类型 |
长度 |
备注 |
id |
int |
10 |
主键,自增 |
no |
varchar |
30 |
教室编号,如X7508 |
location |
varchar |
32 |
位置,如9号楼 |
capacity |
int |
10 |
教室容量,如,90,可坐90人 |
busy |
varchar |
2 |
是否空闲:是否有课 |
表2.1
2、在ClassRoom数据库创建user表结构如下:
字段名 |
类型 |
长度 |
备注 |
id |
int |
10 |
主键,自增 |
name |
varchar |
30 |
用户名 |
pw |
varchar |
32 |
密码 |
varchar |
32 |
||
tel |
varchar |
15 |
电话 |
表2.2
3、
[1] 登录与注册:凭用户名与密码登录;
[2] 管理:用户管理、教室借用管理;
[3] 统计与查询:教室信息查询与统计、用户信息查询与统计等 .
1.2 功能要求
[1] 登录模块功能:验证用户名和密码。
[2] 管理功能:
① 用户注册与管理功能: 注册、用户增删改查;
② 教室借用管理功能:完成教室的借用与归还,教室被借用,教室为非空闲,归还后为空闲。
③ 教室查询与统计功能对教室、用户、借用情况的查询
第1部分 设计思想
根据你系统的实现,给出系统实现主要思想,算法,采用的技术。
1.1 主要思想
主要还是基于界面的开发与设计,将整个功能分配到多个界面进行实现,比如第一个界面处理登录,第二个处理功能选择。同时将信息储存到数据库中,实现数据库后台和界面前台的相互连通。
1.2 算法和采用的技术
(1) 数据库连接技术
配置好mysql之后将数据库和eclipse进行连接。导入sql包,创建connection,statement,resulset等对象实现对数据库的操作和查询。
(2) 页面跳转技术
实现多页面的切换,这里是简单的在页面切换时将当前页面的visible设置为false,同时新建一个新页面,最后整个程序关闭时通过调用system.exit(0)将整个程序退出。
第2部分 详细设计
给出系统的详细设计。各个功能的详细实现过程,必须给出主要算法和重要函数的的流程图,流程图必须是正确的
2.1
界面的init函数流程图 数据库操作函数流程图
流程图2.1
流程图2.2
第3部分 运行效果图
必须给出系统的运行效果图,和主要功能界面图。并对系统操作进行说明与介绍
登录:输入用户名和密码,用户名和密码必须和数据库内记录的内容想匹配,否则弹窗提示密码和用户名不匹配。根据用户名确定该用户是管理员还是用户,决定功能选择界面是否显示用户操作。
图2.1
功能选择:选择要进一步对教室进行管理还是用户进行管理。如果登录的是用户,则只能进行教室管理。
图2.2
查询空教室:显示空闲教室
图2.3
借教室:借下方教室号对应的教室,如教室不可借,则提示当前不可借。否则空教室列表更新。
图2.4
还教室:输入教室号对应的教室被归还,状态改为空闲并显示在空教室列表中。
图2.5
查询用户信息:显示当前数据库内所有用户信息
图2.6
删除用户:删除用户号对应的用户,并更新用户列表
图2.7
新增用户:弹出窗口输入新用户的信息,如果不符合要求,会有弹窗提示
图2.8
修改用户:弹出窗口,默认内容为用户号对应的用户的信息,可以进行修改,修改后点击提交,用户列表进行更新。
图2.9
第4部分 心得与体会
给出你在学习Java课程中,做本设计的收获与体会。该部分,不得抄袭,如果发现有复制粘贴的抄袭,扣分。
在本次课程设计中巩固了java的界面设计,窗口切换和面向对象的设计思想。将整个系统拆分成多个界面类分别实现对应功能。同时还学会了如何在java程序中连接数据库,如何将sql指令传入数据库有如何将查询到的结果传回java程序。Java对于连接数据库的设计要比C#方便很多。通过已有的resultset类可以方便的读取每一行的信息,同时resultset的next方法可以简单判断结果是否是否读到最后一行,为编程提供了很多的方便。
此外此次通过此次课设体会到很多真实设计中要考虑的问题,比如新用户输入的信息是否合格,多次操作是否存在问题比如连续借教室,以及对于用户已经有借教室是否应该对其借教室的权利进行限制这种细节都需要自己在设计中进行考虑。所以,真正的系统是有很多一开始意想不到的问题的,这也从侧面体现出测试的重要性。
教室管理系统设计与实现
packagejavaproject2;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
import java.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.*;
class userdet2extends JFrame{
String getinfo=new String();
public void init()
{
JFrame f=new JFrame("用户详情");
f.setLay