# 基于Python Web框架和MySQL的图书借阅系统
# 1.需求分析
## 1.1 系统目标
利用Python web框架和MySQL开发一个仿真模拟的图书借阅系统。分为管理员和读者两个方面的功能实现。
### 1.1.1 管理员方面
- 增、删、改、挂失图书信息和读者信息
- 查看用户信息和图书信息
- 登录管理员界面
- 为读者办理借书还书
### 1.1.2 读者方面
- 登录读者界面
- 查询借书记录和个人信息
## 1.2 数据流图
### 1.2.1 读者注册

### 1.2.2 图书上架

### 1.2.3 图书搜索

### 1.2.4 图书借阅

### 1.2.5 借书记录搜索

### 1.2.6 登陆

### 1.2.7 图书、读者证挂失

### 1.2.8 图书、读者删除

## 1.3 数据字典
### 1.3.1 数据项
| 数据项名 | 别名 | 数据类型 | 说明 |
| ------ | ------------------ | -------------- | --------------- |
| 读者编号 | reader_id | varchar(5) PK | 读者证的编号按顺序系统分配 |
| 姓名 | reader_name | varchar(20) | 读者姓名 |
| 性别 | sex | char(2) | 读者性别 |
| 出生日期 | birthday | date | 读者出生日期 |
| 电话 | phone | varchar(20) | 读者电话 |
| 手机 | mobile | varchar(20) | 读者手机 |
| 证件名称 | card_name | varchar(8) | 读者的证件可以是身份证学生证等 |
| 证件编号 | card_id | varchar(18) | 读者的证件号 |
| 会员级别 | level | varchar(6) | 有三个级别,普通银卡金卡 |
| 办证日期 | day | date | 即注册日期 |
| 读者登录密码 | Password(Readers表) | varchar(45) | 读者登录系统中时使用的密码 |
| 图书编号 | book_id | varchar(5) | 图书的编号系统分配 |
| 书名 | book_name | varchar(50) | 书的名字 |
| 作者 | author | varchar(20) | 书的作者 |
| 出版社 | publishing | varchar(20) | 书的出版社 |
| 类别编号 | category_id | varchar(5) | 书的类别编号 |
| 单价 | price | double | 书的价格 |
| 入库日期 | date_in | datetime | 入库的时间即图书上架时间 |
| 库存数量 | quantity_in | int | 上架的书的数量 |
| 借出数量 | quantity_out | int | 书借出去的数量 |
| 遗失数量 | quantity_loss | int | 书的丢失的数量 |
| 出借日期 | date_borrow | date | 书借出去的日期在借阅中生成 |
| 应还日期 | date_return | date | 根据会员的级别确定的日期 |
| 遗失 | loss | char(2) | 有“否”“是”区分书是否丢失了 |
| 类别名称 | category | varchar(20) | 类别的名字如“计算机” |
| 最长出借天数 | days | smallint | 根据会员级别相应天数 |
| 最多借书册书 | numbers | smallint | 根据会员级别能借最多的书 |
| 会费 | fee | smallint | 会员级别所要的费用(单位:元) |
| 管理员ID | User_ID | Varchar(20) | 管理员登录用ID |
| 管理员密码 | Password(admin表) | Varchar(20) | 管理员登录用密码 |
### 1.3.2 数据结构
- 数据结构名:读者证
- 说明:定义了读者的信息
- 组成
- reader_id,
- reader_name,
- sex,
- birthday,
- phone,
- mobile,
- card_name,
- card_id,
- level,
- day
- 数据结构名:图书信息
- 说明:定义了一本书的信息
- 组成:
- book_id,
- book_name,
- author,
- publishing,
- category_id,
- price,
- date_in,
- quantity_in,
- quantity_out
- 数据结构名:借阅信息
- 说明:用户借阅书的信息
- 组成:
- reader_id,
- book_id,
- date_borrow,
- date_return,
- loss
- 数据结构名:会员等级
- 说明:定义了会员的等级
- 组成:
- level,
- days,
- numbers,
- fee
# 2.概念设计
## 2.1 系统ER图

# 3.详细设计
## 3.1关系模型
- 会员级别:{**会员级别**,最长出借天数,最多借书书册,会费}
- 读者:{**读者编号**,姓名,电话,手机,性别,办证日期,出生日期,证件名称,证件编号,**会员级别**,密码}
- 借阅:{**图书编号**,**读者编号**,借阅日期,归还日期}
- 图书:{**图书编号**,书名,作者,出版社,**类别编号**,单价,入库日期,库存数量,出借数量,遗失数量}
- 读者管理:{**管理员编号**,**读者编号**,遗失日期}
- 类别:{**类别编号**,类别名称}
- 管理员:{**管理员编号**,密码}
## 3.2 物理结构设计
### 3.2.1 Readers表

### 3.2.2 Books表

### 3.2.3 Borrow表

### 3.2.4 Member_level表

### 3.2.5 Lost_card表

### 3.2.6 Admin表

# 4.系统实现
## 4.1 程序框图
### 4.1.1 总框图

### 4.1.2 登录操作框图

### 4.1.3 管理员操作框图



### 4.1.4 读者操作框图

## 4.2 运行界面
### 4.2.1 登陆界面
登录界面可以输入用户名和密码登录,两种不同用户组的登陆界面可以通过menu上的标签切换,在程序里是直接读取两个html文件(根目录下的member.html 和 administer.html)然后通过浏览器提出get请求完成操作。登录是提交get请求,登录信息在超链接里,后端分析登录信息做出判断。登
数学是算法的灵魂
- 粉丝: 4553
- 资源: 327
会员权益专享
最新资源
- 不错的c语言c++语言课程设计项目-学生成绩管理系统.rar
- 不错的c语言c++语言课程设计项目-KTV歌曲系统、学生档案管理系统、个人收支系统、职工管理系统等.rar
- 不错的c++语言课程设计项目-宾馆客房管理系统.rar
- ChatGPT的发展历程、原理、技术架构详解
- futurerestore-for5-5c-10.3.3 wndGui 有shsh平刷降级工具 进FDFU工具
- 智能优化算法+MATLAB+平衡优化器算法
- pugixml-master.zip
- 课程设计、毕业设计以及练手的优质python小项目-今天吃什么.rar
- 课程设计、毕业设计以及练手的优质python小项目-看图猜成语.rar
- 课程设计、毕业设计以及练手的优质python小项目-智慧校园考试系统.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


