图书管理系统设计说明书v10.docx
- 文档编号:5158538
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:11
- 大小:17.53KB
图书管理系统设计说明书v10.docx
《图书管理系统设计说明书v10.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计说明书v10.docx(11页珍藏版)》请在冰点文库上搜索。
图书管理系统设计说明书v10
图书借阅管理系统设计说明书v1.0
一.概述
1.图书管理系统设计分为用户管理和图书管理两个模块:
①用户模块
管理用户信息,以及用户角色权限的管理
②图书模块
管理图书信息和图书借阅记录
2.权限管理设计
规定一个用户只有一个角色,该角色所具有的权限即是用户的权限。
在数据库中建立角色表和菜单表,角色与菜单之间建立中间索引表,需要修改角色所具有权限时,通过修改中间表数据实现。
3.编号自动增长策略
需求:
用户编号部门简称+自增编号
ISBN图书类型简称+自增编号
借阅记录编号用户编号+自增编号
实现:
用户编号规定一个用户只属于一个部门,在数据库部门表中建立部门简称和自增数字两个字段,在新增用户时,读取部门简称和当前表中自增数字,通过拼接字符串合成用户编号,然后自增数字增长并更新对应字段。
ISBN规定一本图书只有一种图书类别,在数据库图书类型表中建立图书类型简称和自增数字两个字段,在新增图书时,读取类型简称和当前自增数字,拼接字符串合成ISBN编号,然后自增数字增长并更新对应字段。
记录编号在数据库用户表中建立自增数字字段,新增借阅记录时,读取当前用户编号和当前自增数字,拼接字符串合成记录编号,然后自增数字增长并更新对应字段。
二.数据库设计
数据库选用mysql
用户模块
1.usertable用户表存储用户基本信息
字段:
userid主键整数,生成策略自动增长
username用户名字符串
password密码字符串
usernum用户编号字符串
age年龄整数
email邮箱字符串
currentnumber自增数字整数用于生成借阅记录编号
registerdate注册日期日期类型
genderid性别表外键整数
roleid用户角色表外键整数
departmentid部门表外键整数
2.gender性别表存储性别信息
genderid主键整数
gendername性别名称字符串
3.department部门表存储部门信息
departmentid主键整数自增
departmentname部门名称字符串
shortname部门简称字符串用于生成用户编号规定该字段值为英文字母
currentnumber自增数字整数用于生成用户编号
4.userrole用户角色表
roleid主键整数自增
rolename角色名称字符串
5.menu菜单表
menuid主键整数自增
menuname菜单名称字符串
href菜单链接字符串用于前端页面需要的连接
level菜单级别整数表示当前菜单级别,取值1为主菜单,级联菜单依次增长
parentmenuid上级菜单编号整数表示当前菜单上一级菜单的索引,该值应与表中已有值主键对应
6.rolemenuindex角色与菜单索引表
indexid主键整数自增
roleid用户角色表外键
menuid菜单表外键
图书模块
1.book图书表
bookid主键整数自增
bookname图书名称字符串
isbnnumberISBN编号字符串
price图书价格浮点数规定精度为小数点后两位
amount库存数量整数
categoryid图书类型表外键
publisherid出版商表外键
stockstatusid库存状态表外键
2.stockstatus图书库存状态表
stockstatusid主键整数自增
statusname库存状态名称字符串
3.author图书作者表
authorid主键整数自增
authorname作者名整数自增
4.bookauthordic图书作者中间索引表
id主键整数自增
bookid图书表外键
authorid作者表外键
5.category图书类型表
categoryid主键整数自增
categoryname类型名称字符串
shortname类型简称字符串规定改字段值为英文字符
currentnumber自增数字整数用于生成图书编号
6.publisher出版商表
publisherid主键整数自增
publishername出版商名称字符串
7.booktransaction借阅记录表
transactionid主键整数自增
lognumber记录编号字符串
outdate借出日期日期类型
returndate归还日期日期类型
bookid图书表外键
userid用户表外键
三.程序结构
1.实体层
数据库中每一张表在实体层中应有对应映射类
2.通用DAO层
DAO层使用泛型接口和实现类,增、删、改、查询多实体、查询单实体以及查询实体数量每种操作应至少有一个方法。
对于查询方法,应只使用HQL语句、Callback或等抽象而不添加具体实现。
BaseDao
BaseDaoImpl
方法
添加实体
voidaddEntity(Tt)
修改实体
voidupdateEntity(Tt)
删除实体
voiddeleteEntity(Tt,Class
查询多实体
List
查询单实体
TqueryEntity(Tt,Class
查询实体数量
IntegerqueryCountEnity(Tt,Class
3.Service层
Service层应设置事务控制
①User层
interfaceUserService接口
classUserServiceImpl实现类
成员
privateBaseDao
privateBaseDao
方法
voidaddUser(UsertableEntityuserin)添加用户
由参数获取部门id
从部门表中查询对应部门实体
从部门实体读取自增数字
设置用户编号
更新部门自增数字
用户实体持久化
voidupdateUser(UsertableEntityuserin)修改用户
用户实体持久化
voiddeleteUserById(Integerid)按照主键删除用户
根据id查询实体
删除该实体
UsertableEntityqueryUserById(Integerid)按主键查询用户
根据id查询单一实体
UsertableEntitylogin(UsertableEntityuserin)登录方法
由参数获取用户名和密码
根据用户名和密码查询单一实体
List
由参数获取用户角色,用户名,和注册时间
根据过滤条件从用户表查询多个实体
IntegerqueryCountUser(usertableEntityuserin)查询用户数量
由参数获取用户角色,用户名和注册时间
根据条件从用户表查询数量
②Book层
interfaceBookService接口
classBookServiceImpl实现类
成员
privateBaseDao
privateBaseDao
privateBaseDao
方法:
voidaddBook(BookEntitybook,List
由参数获取图书id,作者id和类别id
使用中间表Bookauthordic实体封装图书id和作者id
将Bookauthordic实体存入数据库
由类别id从类别表中查询类别实体
由类别实体获取类别简称shortname
拼接ISBN编号并修改bookisbnnumber属性
更新类别实体自增数字currentnumber
修改图书实体amount属性
将图书实体存入数据库
voidupdateBook(BookEntitybook)修改图书
将图书实体修改并存入数据库
voiddeleteBookById(Integerid)根据主键删除图书
由参数从图书表中查询实体
删除实体
BookEntityqueryBookById(Integerid)根据主键查询图书
由参数从图书表中查询实体
List
有参数获取图书类别id,图书名称,作者id
使用作者id从中间表Bookauthordic中查询对应图书id
使用图书id从图书表中查询图书Listlistone
使用图书类别id和图书名称查询图书Listlisttwo
返回两个List交集
IntegerqueryCountBook(BookEntitybook,AuthorEntityauthor)查询图书返回结果数
直接调用queryAllBook方法返回List长度
③BookTransaction借阅记录管理
interfaceBookTransactionService接口
classBookTransactionImpl实现类
成员
privateBaseDao
privateBaseDao
privateBaseDao
方法
voidaddTransaction(UsertableEntityuserin,BookEntitybook,BookTransactionEntitytran)新增借阅记录
由参数获取用户编号usernum,用户自增数字currentnum,图书id,记录实体tran
由usernum和currentnum拼接记录编号lognumber,修改记录实体属性
由图书id查询图书实体,修改库存数量amount属性
记录实体tran持久化
voidreturnBook(BookTransactionEntitytran)还书操作,修改借阅记录
由参数获取记录id
由transactionid从记录表中查询记录实体trans
由trans的图书id属性从图书表中查询对应实体book
修改book库存数量属性amount
修改记录实体trans还书日期属性returndate
voiddeleteTransactionById(Integerid)删除借阅记录
根据id查询记录实体
删除实体
List
由参数获取图书名称bookname,ISBN编号isbnnumber
由名称和ISBN编号从图书表中查询对应图书实体
使用集合存储图书实体List
由booklist中图书id查询对应记录
List
由参数获取图书名bookname,用户名username
由bookname从图书表中查询符合条件图书List
由username从用户表中查询符合条件用户List
从借阅记录表中使用userlist中userid查询符合条件记录实体List
从图书表中使用transactionlist中图书主键bookid查询对应图书List
返回booklistone和booklisttwo的交集
④Author图书作者管理
interfaceAuthorService接口
classAuthorServiceImpl实现类
privateBaseDao
voidaddAuthor(AuthorEntityauthor)新增作者
将author持久化
⑤Menu菜单管理
interfaceMenuService接口
classMenuService实现类
成员
privateBaseDao
privateBaseDao
privateBaseDao
方法
List
由参数获取菜单显示级别level,父菜单parentmenuid,用户角色roleid
从角色菜单索引表中使用roleid查询对应菜单menuid
从菜单表中使用level和parentmenuid查询对应菜单List
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 说明书 v10
![提示](https://static.bingdoc.com/images/bang_tan.gif)