一、简要介绍
1、使用技术
原生java+swing+jdbc驱动+mysql 没有任何框架
2、简要功能
3、 源码
https://gitee.com/wang-yongyan188/bms.git
二、 需求文档
1、登录
代码运行后 ,会弹出登录窗口
- 输入用户名(用户名唯一),账号密码 且密码不可见
- 如果输入正确,会判断是管理员还是用户,进入不同页面菜单
- 如果输入错误,会有红字提示
- 如果没有账号密码,可以点击注册
2、注册
- 在登录窗口,点击注册 弹出注册窗口
- 输入用户名(要求名字没有被注册),密码,点击注册 为空或不符合要求,会有对应提示
- 注册成功,注册窗框消失,弹出成功提示 点击确定,弹窗消失
- 注册的用户默认为普通用户
3、用户菜单
- 登录成功后,进入菜单
- 在菜单顶部显示当前用户名,当前积分,以及系统通知。如果书快到期或者逾期未归还都会在系统通知显示
- 用户可点击菜单选项进入不同功能窗口
3.1 借阅图书
- 点击借阅,弹出借阅窗口,如果积分为负数,则不能点击并给出提示
- 窗口中,填写图书名字,选择所借月数以及天数。借阅总时间不超过3个月
- 点击借阅 如果 书名为空,或者系统中不存在、没有剩余 会弹窗提示 ,同时清空所填内容;如果成功会提示归还时间,借阅窗口消失
- 一个用户,相同书籍在归还前只能借一本
- 点击取消,借阅窗口消失。只剩菜单页面
3.1 归还图书
- 在菜单栏点击归还按钮,弹出归还窗口,在窗口内输入要归还的书籍名称
- 如果用户归还书籍没有借阅、输入为空 都会弹窗提示
- 如果归还成功,会弹窗提示,并增加一键跳转评价窗口按钮
- 成功按时归还一次,积分+1 ;如果超时,则计算超时时间,每超过一天扣除一分,不足一天按一天计算。这些信息最终会放在我的消息中
3.2 个人中心
3.2.1 查看所有借阅记录
- 点击会以表格形式展现该用户在系统中借阅过的书,包括借阅完成和借阅中
3.2.2 查看借阅中的图书
- 点击会以表格形式展现该用户所有未归还的图书
3.2.3 签到领积分
- 点击弹出签到页面,每名用户每天可签到一次,签到一次可加1积分并c
- 若已经签过,则会给出提示
3.2.4我的消息
- 所有签到记录,归还记录,借阅记录,评价记录都在这里
- 点击清空,则清除数据库记录
- 若没有消息,则弹窗提示
3.2.5 修改密码
- 弹出窗口,用户输入新密码和旧密码 密码不显示明文
- 如果旧密码错误,会给出提示,新密码要求至少4位数
- 修改成功,弹窗消失回到菜单。下次登录生效
3.2.6 退出登录
- 点击退出登录,将当前用户置空,菜单页面消失 ,弹出初始登录页面,重新登录
3.3 续借图书
- 每次借阅只能续借一次
- 续借时间最多为30天
- 续借要求借阅没有超时
- 输入书名,判断是否符合续借条件(此书是否在借阅中)
3.4 评价图书
- 图书评价可以在归还成功后,或从菜单栏点击
- 每名用户,每次借阅只能评价一次
- 只有归还成功后,才可以评价
- 输入书名,判断是否借过此书,并是否评价过
- 评价可以选择分数(选择栏方式,不可能为空),或输入评价内容(内容可以为空)
3.5 消息广场
- 管理员每次对书籍的变动都会自动发布在消息广场,所有用户和其他管理员都可以看到
- 消息有具体有时间和事件
- 里面消息只能看,不能删除
4、管理员菜单
- 用户登录会自动判定身份来到不同的菜单页面
4.1 管理图书
4.1.1 添加书籍
- 弹出窗口,输入图书名字选择对应类型 输入数量 最后添加
- 如果该图书已经存在,会弹出提示
- 书名、数量(大于0)检测不能为空,并给出提示
4.1.2 修改图书
- 先弹出窗口,输入要修改的书名,如果存在则进入修改页面;不存在则给出提示
- 会将原来信息 自动填写进表单
- 修改要修改的部分,检测修改是否合法后,弹窗提示成功,修改页面消失
4.1.3 下架书籍
- 弹出下架页面 输入书名
- 书名不存在,则给出提示
- 若此时仍被借阅,则不能下架
- 任何操作给出提示
4.2 消息广场
- 与用户页面相同,显示管理员对书籍的操作
- 有具体时间、事件
4.3 查看图书数据
4.3.1 按照库存从少到多查询
- 以表格形式 显示所有书籍列表 并按照库存从少到多显示
4.3.2 按照评分从高到低查询
- 以表格形式 显示所有书籍列表 且按照评分从高到低显示
4.3.3 按照借阅频次从高到低查询
- 以表格形式 显示所有书籍列表 且照借阅频次从高到低显示
-
4.4 安全退出
- 点击直接退出系统
三、系统设计
1、库表设计
tbl_book
tbl_order
tbl_user
tbl_msg_square
整体设计
2、核心类图
2.1 登录
2.2 菜单
概要:
2.3 目录结构
四、本次改进点
1、将所有业务代码,数据库操作、图形化界面分离 可直接自己编写网页配合控制器去对应业务,从而去掉GUI2、增加 消息模块、归还提醒、积分模块、安全校验 增加可玩性3、优化操作体验,使得操作更连贯、每个操作成功或失败都有对应提醒4、将容易变化部分进行抽取,方便修改5、修改上一个版本反馈的所有的bug、并增加功能、美化页面
历时4天,创作不易。如果觉得觉得还不错,就点个赞吧!任何bug欢迎私信反馈,有时间会再次更新!
来源地址:https://blog.csdn.net/m0_52889702/article/details/127230912