查看代码请点击:click me
一、 需求描述
项目背景:KTV是一个人员密集的场所,逢年过节会出现一些拥堵状况,本系统全过程实现科学的信息化管理,提高了KTV的管理效率和管理质量。根据KTV的需求将以往的人工操作业务变成现在的无对接式的管理模式,大大提高了用户与管理员的可操作性。
本软件的开发过程采用Eclipse开发工具,以Java作为开发平台,使用Java作为开发语言。使用sql server 数据库进行后台的数据库管理。
用户:管理员用户和顾客用户。
业务功能:
管理员功能:对顾客需求信息、寄存信息、点餐信息、订单信息、店面信息、会员信息和员工信息的增删改查;对评论、房间信息的查看;注销账号;注册新的管理员;对系统的维护。
顾客功能:注册;修改密码;注销账号;充值;结账;对需求和评论的增删改查;添加点餐;对订单信息、房间信息、寄存信息、店面信息的查询。
二、项目设计
表2.1 main包中的类说明
类名 | 属性/方法 | 描述 |
---|---|---|
Test_ktv_Manager | main() | 主函数,调出登陆界面 |
表2.2 util包中的类说明
类名 | 属性/方法 | 描述 |
---|---|---|
DBUtil | connection(String database) | 定义一个连接,并返回连接。 |
test() | 测试数据库是否连接成功。 | |
NumLimit | caretUpdate(CareEvent e) | 限制只能输入数字。 |
表2.3 manner包中的类说明
类名 | 属性/方法 | 描述 |
---|---|---|
Login | static String Username | 账号 |
JLabel jlUsername | 账号标签 | |
JLabel jlPwd | 密码标签 | |
JLabel jlUserType | 用户类别标签 | |
JTextField jtUsername | 账号文本框 | |
JPasswordField jtPwd | 密码框 | |
JComboBox |
用户类别 | |
JButton jbOK | 登录按钮 | |
JButton jbCancel | 退出按钮 | |
JButton jbRegister | 注册按钮 | |
Login() | 构造方法 | |
getUsername() | 获取账号方法 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
Register | JTextField jtaUserName | 账号文本框 |
JPasswordField jpfPwd | 密码框 | |
JPasswordField jpfIdentify | 确认密码框 | |
JTextField jtbalance | 存入余额 | |
JLabel jlUserName | 账号标签 | |
JLabel jlPwd | 密码标签 | |
JLabel jlIdentify | 确认密码标签 | |
JLabel jlbalance | 余额标签 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCancel | 返回按钮 | |
Register() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 |
表2.4 实体登陆表
表名 | 属性 | 描述 |
---|---|---|
manager | managerID | 管理员登陆账号 |
managerPwd | 管理员登录密码 | |
users | userID | 用户登陆账号 |
userPwd | 用户登陆密码 |
表2.5 实体表
表名 | 属性 | 描述 |
---|---|---|
Comment | EID | 评论序号 |
Etime | 评论时间 | |
Econtent | 评论内容 | |
EuserID | 评论用户 | |
Customer | CID | 需求编号 |
CuserID | 需求用户 | |
Ctype | 需求类型 | |
Deposit | DID | 寄存编号 |
Deposit | 寄存柜号 | |
Dtelephone | 寄存电话 | |
DuserID | 寄存用户 | |
Food | FID | 点餐编号 |
Fproduce | 食品生产日期 | |
Fprice | 食品价格 | |
Fname | 食品名称 | |
Famount | 食品数量 | |
FuserID | 点餐用户 | |
Orders | OID | 订单编号 |
Omoney | 订单金额 | |
OuserID | 所属用户 | |
Room | RID | 房间编号 |
Rprice | 房间金额 | |
Rtype | 房间类型 | |
Store | SID | 店面id |
Scontact | 联系方式 | |
Sposition | 地理位置 | |
Sname | 店面名称 | |
Vip | MID | 会员编号 |
Mtime | 办理时间 | |
Mbalance | 余额 | |
MuserID | 会员id | |
Worker | WID | 员工编号 |
Wname | 员工姓名 | |
Wage | 员工年龄 | |
Wsex | 员工性别 |
表2.6 manager包中类描述
类名 | 属性/方法 | 描述 |
---|---|---|
KTVManager | JMenuBar jmb | 菜单栏 |
JMenu jmSystem | 系统菜单 | |
JMenu jmAccount | 账户菜单 | |
JMenu jmOption | 需求管理菜单 | |
JMenu jmDeposit | 寄存管理菜单 | |
JMenu jmFood | 点餐管理菜单 | |
JMenu jmOrder | 订单管理菜单 | |
JMenu jmRoom | 房间管理菜单 | |
JMenu jmStore | 店面管理菜单 | |
JMenu jmVip | 会员管理菜单 | |
JMenu jmWorker | 员工管理菜单 | |
JMenu jmComment | 评论查看菜单 | |
JMenu jmSafe | 安全与维护菜单 | |
JMenuItem jmiReLog | 重新登陆菜单项 | |
JMenuItem jmiExit | 退出菜单项 | |
JMenuItem jmiDelete | 注销用户菜单项 | |
JMenuItem jmiNewManager | 添加管理员菜单项 | |
JMenuItem jmiSelectCustomer | 查询需求菜单项 | |
JMenuItem jmiSelectDeposit | 查询寄存菜单项 | |
JMenuItem jmiSelectFood | 查询点餐菜单项 | |
JMenuItem jmiSelectOrder | 查询订单菜单项 | |
JMenuItem jmiSelectRoom | 查询房间菜单项 | |
JMenuItem jmiSelectStore | 查询店面菜单项 | |
JMenuItem jmiSelectVip | 查询会员菜单项 | |
JMenuItem jmiSelectWorker | 查询员工菜单项 | |
JMenuItem jmiSelectComment | 查询评论菜单项 | |
JMenuItem jmiBackup | 备份菜单项 | |
JMenuItem jmiRestore | 还原菜单项 | |
ImageIcon img | 添加图片 | |
JLabel jlimg | 添加图片标签 | |
KTVManager() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
UserManager | JMenuBar jmb | 菜单栏 |
JMenu jmSystem | 系统菜单 | |
JMenu jmAccount | 账户菜单 | |
JMenu jmOption | 需求管理菜单 | |
JMenu jmComment | 评论管理菜单 | |
JMenu jmFood | 点餐管理菜单 | |
JMenu jmSelect | 查询菜单 | |
JMenu jmpay | 结账菜单 | |
JMenuItem jmiRelog | 重新登陆菜单项 | |
JMenuItem jmiExit | 退出菜单项 | |
JMenuItem jmiBalcance | 余额菜单项 | |
JMenuItem jmiAltPwd | 修改密码菜单项 | |
JMenuItem jmiDelete | 注销账户菜单项 | |
JMenuItem jmiCustomerAdd | 添加需求菜单项 | |
JMenuItem jmiCustomerSelect | 查看评论菜单项 | |
JMenuItem jmiOrder | 查询订单菜单项 | |
JMenuItem jmiRoom | 房价查询菜单项 | |
JMenuItem jmiDeposit | 寄存查询菜单项 | |
JMenuItem jmiStore | 门店查询菜单项 | |
JMenuItem jmiPay | 付款结账菜单项 | |
ImageIcon img | 添加图片 | |
JLabel jlimg | 添加图片标签 | |
UserManager() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 |
表2.7 fuction_user包类说明
类名 | 属性/方法 | 描述 |
---|---|---|
AltPwd | JLabel jlOldPwd | 旧密码标签 |
JLabel jlNewPwd | 新密码标签 | |
JLabel jlIdentify | 确认密码标签 | |
JPasswordField jpfOldPwd | 旧密码框 | |
JPasswordField jpfNewPwd | 新密码框 | |
JPasswordField jpfIdentify | 确认密码框 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCancel | 返回按钮 | |
AltPwd() | 构造方法 | |
Container cp | 获取布局 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
actionPerformed(ActionEvent e) | 设置监听器方法 | |
Balance | static double restBalance | 静态剩余余额属性 |
JLabel jlBalance | 余额标签 | |
JTextField jtBalance | 余额文本框 | |
JButton jbCharge | 充值按钮 | |
JButton jbCancel | 关闭按钮 | |
Balance() | 构造方法 | |
Container cp | 获取布局 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
actionPerformed(ActionEvent e) | 设置监听器方法 | |
Charge | static double balance | 充值金额 |
JRadioButton jrb50 | 设置50元单选按钮 | |
JRadioButton jrb100 | 设置100元单选按钮 | |
JRadioButton jrb500 | 设置500元单选按钮 | |
JRadioButton jrb1000 | 设置1000元单选按钮 | |
JButton jbSubmit | 设置提交按钮 | |
Jbutton jbCancel | 设置返回按钮 | |
Charge(Balance owner) | 构造方法 | |
Container cp | 获取设置面板 | |
JPanel jp | 获取面板 | |
JPanel jp1 | 获取面板 | |
actionPerformed(ActionEvent e) | 设置动作监听器 | |
itemStateChanged(ItemEvent e) | 设置事务监听器 | |
CommentAdd | JLabel jlCtype | 评论标签 |
JTextArea jtaContent | 评论区文本 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCancel | 返回按钮 | |
Container cp | 获取面板 | |
CommentAdd | 构造方法 | |
actionPerformed(ActionEvent e) | 设置动作监听器 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
CommentDelete | Jlabel jlCID | 删除编号标签 |
JTextField jtCID | 删除编号文本框 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCanel | 返回按钮 | |
CommentDelete() | 构造方法 | |
Container cp | 获取面板 | |
actionPerformed(ActionEvent e) | 设置监听器方法 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
CommentSelect | JTable jtComment | 设置表格 |
JButton jbUpdate | 修改按钮 | |
JButton jbDelete | 删除按钮 | |
JButton jbCancel | 返回按钮 | |
DefaultTableModel jTable1Model | 表格模型 | |
CommentSelect() | 构造方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
CommentUpdate | JLabel jlCID | 评论编号标签 |
JLabel jlContent | 修改标签 | |
JTextField jtCID | 修改编号文本框 | |
JTextArea jtaContent | 评论内容 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCanel | 返回按钮 | |
CommentUpdate() | 构造方法 | |
Container cp | 获取当前面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
CustomerAdd | JLabel jlCtype | 需求类型标签 |
JComboBox |
需求类型 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCanel | 返回按钮 | |
CustomerAdd() | 添加需求 | |
Container cp | 获取面板 | |
Jpanel jp | 设置新面板 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
CustomerDelete | JLabel jlCID | 删除编号标签 |
JTextField jtCID | 删除编号文本框 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCanel | 返回按钮 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
Container cp | 获取当前面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
CustomerSelect | JTable jtCustomers | 设置表格 |
JButton jbUpdate | 修改按钮 | |
JButton jbDelete | 删除按钮 | |
JButton jbCancel | 返回按钮 | |
CustomerSelect() | 构造方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
actionPerformed(ActionEvent e) | 设置监听器方法 | |
CustomerUpdate | JLabel jlCID | 输入编号标签 |
Jlabel jlCtype | 修改类型标签 | |
JTextField jtCID | 输入编号文本框 | |
JComboBox |
需求类型 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCancel | 返回按钮 | |
CustomerUpdate() | 构造方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
Delete | Connection con | 获取连接 |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
Deposit | static JTable jtDeposit | 设置表格 |
JButton jbCancel | 返回按钮 | |
Deposit() | 构造方法 | |
Container cp | 获取设置面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
FoodAdd | JLabel jlCtype | 点餐内容标签 |
JLabel jcbChip | 薯片标签 | |
JLabel jcbBeer | 啤酒标签 | |
JLabel jcbTablets | 润喉片标签 | |
JTextField jtChip | 薯片数量文本框 | |
JTextField jtBeer | 啤酒数量文本框 | |
JTextField jtTablets | 润喉片数量文本框 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCanel | 返回按钮 | |
FoodAdd() | 构造方法 | |
Container cp | 获取面板 | |
actionPerformed(ActionEvent e) | 设置监听器方法 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
FoodDelete | JLabel jlFID | 删除编号标签 |
JTextField jtFID | 删除编号文本域 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCanel | 返回按钮 | |
FoodDelete() | 构造方法 | |
Container cp | 获取面板 | |
actionPerformed(ActionEvent e) | 设置监听器方法 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
FoodSelect | static JTable jtFood | 设置表格 |
JButton jbUpdate | 修改按钮 | |
JButton jbDelete | 删除按钮 | |
JButton jbCancel | 返回按钮 | |
FoodSelect() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
FoodUpdate | JLabel jlCID | 食品编号标签 |
JLabel jlAmount | 食品数量标签 | |
JTextField jtCID | 食品编号文本框 | |
JTextField jtAmount | 食品数量文本框 | |
JButton jbSubmit | 提交按钮 | |
JButton jbCanel | 返回按钮 | |
FoodUpdate() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
Order | JTable jtCustomers | 顾客需求表格 |
JTable jtFood | 订餐表格 | |
JTable jtOrder | 订单表格 | |
JButton jbCancel | 返回按钮 | |
double Total | 消费总额 | |
Order() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
Pay | double Total | 消费总额 |
double restbalance | 剩余余额 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
ResultSet rs | 获取结果集 | |
Room | static JTable jtRoom | 设置表格 |
JButton jbCancel | 返回按钮 | |
Room() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 | |
Store | static JTable jtStore | 设置表格 |
JButton jbCancel | 返回按钮 | |
Store() | 构造方法 | |
actionPerformed(ActionEvent e) | 监听器方法 | |
Container cp | 获取面板 | |
Connection con | 获取连接 | |
PreparedStatement stm | 获取命令 |
表2.7 fuction_manager包重要类说明
类名 | 属性/方法 | 描述 |
---|---|---|
Backup | Connection con | 获取连接 |
PreparedStatement stm | 获取命令 | |
Restore | Connection con | 获取连接 |
PreparedStatement stm | 获取命令 |
三、项目实现
调出登陆界面
注册顾客
(2)如输入正确则注册成功
(1)若输入非数字会弹出提示框注册后登录
充值
修改密码
查询、添加需求
添加、查看评论
增加、查询点餐
查询订单
查询房间
门店查询
登陆管理员
注册管理员(修改密码方式一样,不做演示)
对需求,寄存,点餐,订单,店面,会员员工的管理(增删改查,原理和骨科医院,不做演示)
对房间和评论的查询
对数据库的备份和还原
登入顾客管理系统付款
注销用户后返回登录界面