1.需求分析
根据给定的设计课题,说明选题的意义、目的、系统功能设计以及信息,绘制图表以及书写相关的文字说明。
2.概念结构设计
绘制所选课题详细的E-R图。
3.逻辑结构设计
将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式(视图)。
4.物理结构设计
确定数据库表基本结构,选定实施环境、存取方法等。
5.数据库实施和维护
确定图书管理系统的需求、功能范围以及实现方式,同时为后续的设计、编码和测试工作提供依据。
图书借阅管理系统,能够实现计算机网络化的图书借阅管理,能够提供方便快速的图书信息检索功能和便捷的图书借阅和归还功能,并且能够对图书信息和读者信息进行管理,方便管理员和读者的借阅处理。
1.图书查询
按照图书类型查询
按照图书类型+书名、作者进行精确、模糊查询
按照书名、作者进行精确、模糊查询
分页查询
2.图书借阅
不用的用户类型借阅图书的数量和借阅天数不同
3.图书归还
4.借阅信息查询
5.历史借阅信息查询
6.个人信息查询及修改
7.修改密码
8.用户注册、登录及忘记密码(根据密保)
1.图书信息管理
查询图书(与用户端相同)
新增图书
删除图书(保证次图书没有被用户借阅才可删除)
更新图书
2.图书类型信息管理
查询图书类型
新增图书类型
删除图书类型(比图书类型没有图书应用才可删除)
更新图书类型
3.读者信息管理
查询读者(学号、姓名、院系、班级精确查询及模糊查询;根据读者类型查询;读者类型+学号、姓名、院系、班级精确查询及模糊查询)
新增读者
删除读者(保证次读者没有借书)
更新读者
4.读者类型信息管理
查询读者类型
新增读者类型
删除读者类型(保证此读者类型没有读者)
更新读者类型
5.用户借阅信息及历史借阅信息查询(根据学号)
6.管理员个人信息查询及修改
7.管理员登录
8.管理员忘记密(根据密保)
需要管理员通过超级管理员验证才可以使用(超级管理员登录、后台写死)
查询管理员信息(根据账号)
新增管理员
删除管理员(删除本身登录的管理员账号进行提示,删除后结束程序,打开登录界面)
更新管理员信息
1.登录
用户和管理员通过账号和密码点击“登录”按钮进行登录
2.注册
用户点击“注册”按钮,弹出注册窗口,完善信息进行注册,但要保证注册账号不会重复,负责会有提示。当单选按钮选中“管理员”时,“注册”按钮隐藏
3.忘记密码
用户点击“忘记密码”按钮,弹出对话框,用户可以通过验证账号和密保,重新设置密码。当单选按钮选中“管理员”时,“忘记密码”按钮隐藏
分为三个选项卡窗格,分别为“图书查询借阅”、“借阅归还信息”、“个人信息管理”
图书查询借阅:
查询按照图书类型查询
按照图书类型+书名、作者进行精确、模糊查询
按照书名、作者进行精确、模糊查询
分页查询
借阅:点击表格单行,选中图书,点击借阅按钮,弹出对话框。如果借阅成功,book表此图书库存量-1,表格数据库存量-1,borrow表插入一条借阅信息(包含借阅ID、学号、图书ID、借阅时间、应还时间,将isborrow设为‘0’;如果借阅不成功会有所提示,原因:①读者借阅图书数量达到上限 ②读者已经借阅此图书,并且未归还
借阅归还信息:
查询此用户已经借阅的图书,isborrow为0
查询用户历史借阅的图书,isborrow为1
归还图书-点击表格,获取此图书id,使book表中此图书库存量+1,borrow表中此借阅信息isborrow设为1
个人信息管理:
查询出个人信息(放进一行表格)
查询读者权限——将自己对应的读者权限直接放进表格中(只有一行)
修改个人信息——点击“修改信息”按钮,弹出对话框并获取自己的信息进行修改
修改密码——点击“修改密码”按钮,弹出对话框,输入旧密码和密保进行重新设置密码
分为6个选项卡窗格,分别为“图书信息管理”、“图书类别信息管理”、“读者信息管理”、“读者类型信息管理”、“借阅归还信息管理”、“管理员信息及超级管理员”
查询功能:从数据库查询出来信息,放进前台表格
新增功能:弹出对话框,输入信息,进行新增
删除功能:点击表格一行,获取表格指定信息进行删除
更新功能:点击表格,将数据获取到对话框修改
查询图书(与用户端实现方式相同)
新增图书,弹出对话框输入图书信息
删除图书(点击表格的一行,获取图书id,如果没有被用户借阅,删除成功;如果被用户借阅,删除失败,并弹出对话框)
更新图书点击表格,获取图书信息到对话框中进行修改(只可更改书名、作者、出版社、价格、库存量)
图书类型管理:
删除(没有图书应用比图书类型才可以删除)
其余增删改查为基本实现方式
读者信息查询:
查询读者(学号、姓名、院系、班级精确查询及模糊查询;根据读者类型查询;读者类型+学号、姓名、院系、班级精确查询及模糊查询)
新增读者(直接使用注册界面)
删除读者(删除前查询读者借阅图书,无借阅图书才可删除,否则不能删除)
更新读者(只能更新院系、班级、手机号、邮箱)
删除读者类型(删除前保证此读者类型无读者应用)
其余增删改查为基本实现方式
可以查所有读者的借阅信息和历史借阅信息(通过学号)
默认显示登录的管理员信息
修改个人管理员信息为基本实现方式
修改密码,忘记密码与用户实现方式相同
默认不可使用,需要进行超级管理员验证(账号+密码)后台写死
超级管理员认证成功可以对管理员进行增删改查
ps:删除管理员,如果删除到自己登录的管理员账号会提示删除后结束程序,打开登录界面
其余功能为基本实现方式
根据数据分析建立如下等表:
| 字段名 | 字段类型 | 长度 | 是否为空 | 描述 |
|---|---|---|---|---|
| rt_id | INT | 11 | 否 | 读者类型ID(主键) |
| rt_name | VARCHAR | 30 | 否 | 读者类型名字 |
| maxcount | INT | 11 | 否 | 最大借阅数量 |
| maxday | INT | 11 | 否 | 最大借阅数量 |
| 字段名 | 字段类型 | 长度 | 是否为空 | 描述 |
|---|---|---|---|---|
| number | VARCHAR | 32 | 否 | 学号(主键) |
| name | VARCHAR | 30 | 否 | 姓名 |
| gender | CHAR | 3 | 是 | 性别 |
| department | VARCHAR | 30 | 是 | 院系 |
| classes | VARCHAR | 30 | 是 | 班级 |
| telep | VARCHAR | 11 | 是 | 联系方式 |
| VARCHAR | 45 | 是 | 邮箱 | |
| logindate | TIMESTAMP | 否 | 注册时间 | |
| password | CHAR | 32 | 否 | 密码 |
| keeppass | VARCHAR | 45 | 否 | 密保 |
| readertypeid | INT | 11 | 否 | 读者类型ID |
| 字段名 | 字段类型 | 长度 | 是否为空 | 描述 |
|---|---|---|---|---|
| adm_count | VARCHAR | 32 | 否 | 管理员账号 |
| adm_password | CHAR | 32 | 否 | 管理员密码 |
| adm_name | VARCHAR | 30 | 否 | 姓名 |
| adm_id_number | CHAR | 18 | 否 | 身份证号 |
| adm_tele | CHAR | 11 | 是 | 手机号 |
| adm_email | VARCHAR | 45 | 是 | 邮箱 |
| adm_keeppass | VARCHAR | 45 | 否 | 密保 |
| adm_issuper | TINYINT | 1 | 否 | 是否为超级管理员 |
| 字段名 | 字段类型 | 长度 | 是否为空 | 描述 |
|---|---|---|---|---|
| bt_id | INT | 否 | 图书类型ID(主键) | |
| bt_name | VARCHAR | 45 | 否 | 图书类型 |
| 字段名 | 字段类型 | 长度 | 是否为空 | 描述 |
|---|---|---|---|---|
| b_id | INT | 11 | 否 | 图书ID(主键) |
| ISBN | char | 10 | 否 | ISBN |
| b_name | VARCHAR | 45 | 否 | 书名 |
| booktype | INT | 11 | 否 | 图书类型 |
| author | VARCHAR | 30 | 否 | 作者 |
| press | VARCHAR | 30 | 是 | 出版社 |
| price | INT | 是 | 单价 | |
| inventory | INT | 是 | 库存量 |
| 字段名 | 字段类型 | 长度 | 是否为空 | 描述 |
|---|---|---|---|---|
| borrow_id | INT | 11 | 否 | 借阅信息ID(主键) |
| r_number | INT | 11 | 否 | 学号 |
| borrow_b_id | INT | 11 | 否 | 图书id |
| borrowdate | INT | 10 | 否 | 借阅日期 |
| duedate | INT | 10 | 否 | 应还日期 |
| returndate | INT | 10 | 是 | 归还日期 |
| isreturn | TINYINT | 1 | 否 | 是否归还 |
