图书管理系统设计说明书v10.docx

上传人:b****8 文档编号:10626333 上传时间:2023-02-22 格式:DOCX 页数:11 大小:17.53KB
下载 相关 举报
图书管理系统设计说明书v10.docx_第1页
第1页 / 共11页
图书管理系统设计说明书v10.docx_第2页
第2页 / 共11页
图书管理系统设计说明书v10.docx_第3页
第3页 / 共11页
图书管理系统设计说明书v10.docx_第4页
第4页 / 共11页
图书管理系统设计说明书v10.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

图书管理系统设计说明书v10.docx

《图书管理系统设计说明书v10.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计说明书v10.docx(11页珍藏版)》请在冰豆网上搜索。

图书管理系统设计说明书v10.docx

图书管理系统设计说明书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,ClasstClass)

查询多实体

ListqueryAllEntity(Tt,ClasstClass,Callbackcallback)

查询单实体

TqueryEntity(Tt,ClasstClass,Callbackcallback)

查询实体数量

IntegerqueryCountEnity(Tt,ClasstClass,Callbackcallback)

3.Service层

Service层应设置事务控制

①User层

interfaceUserService接口

classUserServiceImpl实现类

成员

privateBaseDaouserDao

privateBaseDaodepartDao

方法

voidaddUser(UsertableEntityuserin)添加用户

由参数获取部门id

从部门表中查询对应部门实体

从部门实体读取自增数字

设置用户编号

更新部门自增数字

用户实体持久化

voidupdateUser(UsertableEntityuserin)修改用户

用户实体持久化

voiddeleteUserById(Integerid)按照主键删除用户

根据id查询实体

删除该实体

UsertableEntityqueryUserById(Integerid)按主键查询用户

根据id查询单一实体

UsertableEntitylogin(UsertableEntityuserin)登录方法

由参数获取用户名和密码

根据用户名和密码查询单一实体

ListqueryAllUser(UsertableEntityuserin)查询多个实体

由参数获取用户角色,用户名,和注册时间

根据过滤条件从用户表查询多个实体

IntegerqueryCountUser(usertableEntityuserin)查询用户数量

由参数获取用户角色,用户名和注册时间

根据条件从用户表查询数量

②Book层

interfaceBookService接口

classBookServiceImpl实现类

成员

privateBaseDaobookDao

privateBaseDaocategoryDao

privateBaseDaodicDao

方法:

voidaddBook(BookEntitybook,ListauthorList)新增图书

由参数获取图书id,作者id和类别id

使用中间表Bookauthordic实体封装图书id和作者id

将Bookauthordic实体存入数据库

由类别id从类别表中查询类别实体

由类别实体获取类别简称shortname

拼接ISBN编号并修改bookisbnnumber属性

更新类别实体自增数字currentnumber

修改图书实体amount属性

将图书实体存入数据库

voidupdateBook(BookEntitybook)修改图书

将图书实体修改并存入数据库

voiddeleteBookById(Integerid)根据主键删除图书

由参数从图书表中查询实体

删除实体

BookEntityqueryBookById(Integerid)根据主键查询图书

由参数从图书表中查询实体

ListqueryAllBook(BookEntitybook,AuthorEntityauthor)查询多个图书

有参数获取图书类别id,图书名称,作者id

使用作者id从中间表Bookauthordic中查询对应图书id

使用图书id从图书表中查询图书Listlistone

使用图书类别id和图书名称查询图书Listlisttwo

返回两个List交集

IntegerqueryCountBook(BookEntitybook,AuthorEntityauthor)查询图书返回结果数

直接调用queryAllBook方法返回List长度

③BookTransaction借阅记录管理

interfaceBookTransactionService接口

classBookTransactionImpl实现类

成员

privateBaseDaotransactionDao

privateBaseDaouserDao

privateBaseDaobookDao

方法

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查询记录实体

删除实体

ListqueryAllTransaction(BookEntitybook)借阅管理菜单查看借阅记录

由参数获取图书名称bookname,ISBN编号isbnnumber

由名称和ISBN编号从图书表中查询对应图书实体

使用集合存储图书实体Listbooklist

由booklist中图书id查询对应记录

ListqueryAllTransaction(BookEntitybook,UsertableEntityuserin)借阅管理管理记录

由参数获取图书名bookname,用户名username

由bookname从图书表中查询符合条件图书Listbooklistone

由username从用户表中查询符合条件用户Listuserlist

从借阅记录表中使用userlist中userid查询符合条件记录实体Listtransactionlist

从图书表中使用transactionlist中图书主键bookid查询对应图书Listbooklisttwo

返回booklistone和booklisttwo的交集

④Author图书作者管理

interfaceAuthorService接口

classAuthorServiceImpl实现类

privateBaseDaoauthorDao

voidaddAuthor(AuthorEntityauthor)新增作者

将author持久化

⑤Menu菜单管理

interfaceMenuService接口

classMenuService实现类

成员

privateBaseDaomenuDao

privateBaseDaouserDao

privateBaseDaormiDao

方法

ListqueryMenu(MenuEntitymenu,UsertableEntityuser)页面显示左侧菜单栏

由参数获取菜单显示级别level,父菜单parentmenuid,用户角色roleid

从角色菜单索引表中使用roleid查询对应菜单menuid

从菜单表中使用level和parentmenuid查询对应菜单Listmenulist

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1