# library **Repository Path**: Tian_2001/library ## Basic Information - **Project Name**: library - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2021-10-23 - **Last Updated**: 2022-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **一、** 引言 本文档是2021年秋季学期《软件系统设计与分析》课程中第七小组图书管理系统针对用户所编写的使用说明手册,在本文档中我们对图书管理系统中的三类不同使用者进行了详细而具体的操作描述。通过该文档读者可以了解该系统的所有功能以及用户的具体权限。 本系统于2021/11/1停止维护 # **二、** 软件概述 ## 1.目标 实现一个功能齐全、界面友好的图书管理系统。 ## 2.功能 ### (1)用户功能 ① 注册、登录 ② 查找并查看书籍基础信息 ③ 借书 ④ 还书 ⑤ 续借 ⑥ 收藏、取消收藏 ⑦ 预约、取消预约 ⑧ 接收管理员公告 ⑨ 向站内用户以及管理员发送私密信息 ⑩ 接收站内用户以及管理员的私密信息 ### (2)管理员功能 ① 登录 ② 修改书目信息 ③ 查找和删除书籍 ④ 多册入库 ⑤ 查找和删除用户 ⑥ 修改用户信息 ⑦ 查询用户借阅记录 ⑧ 查询图书被借记录 ⑨ 接收其他管理员的公告 ⑪ 向站内用户以及其他管理员、超级管理员发送私密信息 ⑫ 接收站内用户以及其他管理员、超级管理员的私密信息 ### (3)超级管理员功能 ① 登录 ② 增加管理员 ③ 给站内所有用户以及管理员发送公告 ④ 拥有管理员的所有功能(除修改密码外) ## 3.运行环境 跨平台C++图形界面集成开发环境Qt,版本5以上。 ## 4.性能 ### (1)精度 根据使用需要,在各项数据的输入、传输过程中,可以满足较多精度的需求。如:根据关键字精度的不同,查找有模糊查找和准确查找,准确查找可以精确匹配到相应的书目、用户,模糊查找只要满足与输入的关键词匹配的书目、用户即可输出。 ### (2)时间特性 登录、查找、修改、借书、还书等功能时延均随储存数据的文件大小而定,从用户角度优化时间,提高搜索效率。 ### (3)灵活性 前端界面友好,操作简单,当输入有错误时会弹出提示框。 界面数据会即时发生更改。 # 三、使用说明 ## 1.登录、注册 ### (1)登录 在登录时,不会显示区分接口。 管理员账号首位为“#”标识符; 超级管理员账号为“888888”; 普通用户中,学生账号为11位学号,老师为6位工号。 分别输入对应的密码,跳转不同权限界面。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1350.tmp.jpg) 图 1 登录 ### (2)注册 如果没有注册账号,就根据提示文字旁边的“注册”按钮进行注册。 注册仅能注册普通用户。账号输入要求为11位或6位全数字,密码设置要求为6至16位字符。如果输入不符合要求,就会弹出一个提示文字框。 设置好账号、密码和专业后,点击提交即可注册。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1360.tmp.jpg) 图 2 注册 ## 2.用户界面 左侧为用户个人信息,右侧为用户可操作界面。 ### (1)用户查询书目、收藏 用户可使用下拉框更改查询方式,其中空白选项为按照书名进行模糊查找。 用户在搜索框里输入查询内容并选择好查询方式后,点击“查询”按钮即可查询到相应的书目。如果输入的内容系统查询不到,则会弹出提示框。 书目显示可分页,每页有三栏,每一栏都显示书本的书名、ISBN号、作者。下方可显示共查询到了多少条相应书目。 页面可以跳转。将正确的页码数输入到“跳转”旁边的输入框内,再点击“跳转”即可跳转到相应的页面。如果输入的页码不符合规范或超出页面范围,则会弹出提示框。点击“上一页”按钮可以使页面向前一页,如果已经是首页且点击上一页会弹出提示框;点击“下一页”按钮可以使页面向后一页,如果已经是尾页且点击下一页也会弹出提示框。 用户查询到该书,且在收藏未达到上限时,可以点击收藏按键,收藏该类书。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1361.tmp.jpg) 图 3 用户界面(查询书籍) ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1372.tmp.jpg) 图 4 用户界面(查阅书籍2) ### (2)用户借书、预约 点击对应书目信息旁边的“查看详情”按钮,即可打开书目对应的每本书的详情页面。 页面左侧为书本整体信息包括书名、ISBN、作者、出版社,右侧是每种书籍对应的具体信息包括书籍编号ID、借阅状态、书籍状态信息。 书籍显示也可实现页面跳转,与书目显示完全相同。同样显示了此类书总计本数。 一本书的借阅状态为“未借出”且用户借阅本数小于3本时,点击借书按钮会跳出提示框“借书成功”,并会修改当前界面的借阅状态;否则,借书不成功,也会弹出提示框“借书失败”。 一本书的借阅状态为“已借出”且用户预约本数小于3本时,点击预约按钮会跳出提示框“预约成功”;否则,预约不成功,也会弹出提示框表示当前书籍可以直接借阅或者已到预约上限。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1373.tmp.jpg) 图 5 用户界面(书籍详情) ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1383.tmp.jpg) 图 6 用户界面(借书成功) ### (3)用户还书、续借 切换到正在借阅页,如果用户正在借阅书籍,那么就会在此页显示所借书籍的书名、ISBN、借阅时间和最迟归还时间。 还书:点击对应书籍旁的“还书”按钮,可以实现还书。如果在规定日期内还书成功,就会弹出提示框“还书成功”;超出规定日期还书成功,就会弹出提示框“逾期还书成功”;还书失败则会弹出提示框“还书失败”。 还书成功后就会即时更新记录页,清除记录信息。 续借:点击正在借阅书籍旁的“续借”按钮,可以实现续借。续借只可以实施一次。如果续借成功,就会弹出提示框“续借成功”;如果之前已经续借过,也会弹出提示框“续借失败”。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1384.tmp.jpg) 图 7 用户界面(正在借阅页) ### (4)用户查看收藏页、取消收藏 如果用户在查询书籍后对其感兴趣,可以点击收藏按键收藏。切换到收藏界面,可以显示用户正在收藏的书籍信息,点击取消收藏会弹出提示框。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1385.tmp.jpg) 图 8 用户界面(用户收藏界面) ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1396.tmp.jpg) 图 9 用户界面(查询书籍) ### (5)用户查看预约页、取消预约 用户成功预约一本书后,可在预约页看见其预约书籍信息,点击取消预约可以取消预约。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1397.tmp.jpg) 图 10 用户界面(预约页) ### (6)用户重置密码 学生按自己的需求可以重置密码,密码必须符合要求。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13A8.tmp.jpg) 图 11 用户界面(重置密码) ### (7)用户站内邮箱 点击写信按键可以给站内任意用户包括管理员写信; 点击信箱按键可以查看其他人给自己写的信,其中包括超级管理员发送的全站广播。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13A9.tmp.jpg) 图 12 用户界面(写信) ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13AA.tmp.jpg) 图 13 用户界面(信箱) ## 3.管理员界面 左边为管理员信息,右边为管理员操作界面。 ### (1)管理学生 在搜索框里输入查询内容,并点击对应查询按钮,即可查询到对应学生。其中,“搜索姓名”为按用户姓名模糊查找、“搜索学号”为按用户学号模糊查找、“搜索主键”为按用户主键精确查找。如果搜索不到或者未输入,就会弹出提示框。 学生信息可分页、跳转页面,与书目显示相同。学生信息上方为查询到的信息总条数。 查询到学生信息后,点击旁边的“修改”按钮可按原来的格式修改学生账号、姓名,如果输入的格式错误或者未修改,那么就弹出提示框。点击“删除”按钮则会删除该学生,无法再查询到,如果存在学生正在借阅或预约书籍,则无法删除该学生,并弹出提示框。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13BA.tmp.jpg) 图 14 管理员界面(管理学生) ### (2)管理书籍 搜索书籍与搜索学生类似,在搜索框内输入查询内容,并点击对应查询按钮,即可查询到对应书目。“搜索主键”为按书目主键精确查找、“搜索ISBN”为按书目ISBN号模糊查找、“搜索书名”为按书目名称模糊查找、“搜索作者”为按书目作者名称模糊查找。查找不到或未输入则会弹出提示框。 书目信息可分页、可跳转页面,与上方所有类似显示也相同。显示信息上方为查询到的信息总条数。 查询到书目信息后,点击旁边的“查看详情”可以进入书目内所有书籍信息界面。 左边为书目信息,可以通过改变框里的内容再点击“修改信息”完成书目信息(书名、作者、ISBN、出版社可修改,现存本数不可修改)的修改;中间为书目内具体某本书籍的信息,可以查看到书籍的主键、借阅状态、预约状态、书籍状态和借阅次数,其中书籍状态(正常、破损、严重破损)可通过下拉框修改。点击右边的“刷新”按钮,会刷新显示整个页面信息。右下方的框内可输入一个整数,点击“多册入库”可以添加输入的整数本该书目类的书籍,如果输入非正整数则弹出提示框。 点击“删除”按钮则会删除该书籍,无法再查询到,如果存在书籍正在被借阅或被预约,则无法删除该书籍,并弹出提示框。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13BB.tmp.jpg) 图 15 管理员界面(管理书目) ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13CC.tmp.jpg) 图 16 管理员界面(管理书籍) ### (3)管理员邮箱 功能与用户邮箱类似。 ### (4)重置密码 功能与用户重置密码类似。 ### (5)查询记录 查询记录有两种方法:输入学生主键号,点击左边按钮,就按学生主键查询相应记录;输入书籍主键号(非书目),点击右边按钮,就按书籍主键查询相应记录。查询不到则弹出提示框。 记录的显示从左至右依次为:记录ID、学生学号、书籍主键、书籍名字、借阅时间、归还时间。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13CD.tmp.jpg) 图 17 管理员界面(查看借阅记录) ### (6)右侧功能性按键 “重置数据库”:便于第八小组检测,不可轻易点击,会清除所有用户、书籍、记录等信息。使用中应隐藏。 “英雄榜”:借阅书籍本数大于固定值时,被加入英雄榜,管理员可以在年终时对其表扬。目前固定值设置为5,方便第八小组测试。使用中可设置为100或1000,重命名为“借阅百/千本英雄榜”。 “添加书籍”:跳转添加书籍界面,在正确填写书名、作者、ISBN、出版社、以及书籍数量后,可以根据ISBN是否存在来判断,更新已有ISBN的书籍数量,还是添加新的书籍以及书目。输入多册可以实现多册入库(不能添加0本),若输入非正整数则提示错误。 “文件导入”:导入csv文件到相应的二进制文件,只写了导入学生,为了方便八组测试,而书籍可以多册入库,需求性不大。使用中可以添加此功能。 “文件导出”:可以查看目前查询到的用户、书目、记录信息,并将其导出到需要的文件中,文件名为exportxxx。 “查看全部信息”:可以查看所有书目、书籍、用户、记录信息,方便管理员管理。 ## 4.超级管理员界面 左边为超级管理员信息,右边为超级管理员操作界面。 ### (1)添加管理员 超级管理员界面复用管理员界面,增添一个“添加管理员”的按钮,隐藏重置密码按键。 点击“添加管理员按钮”:可以按照格式添加管理员,密码固定为123456,如果格式错误,就会跳出提示框。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13DE.tmp.jpg) 图 18 超级管理员(添加管理员) ### (2)管理员通信 点击“写信”可以使用通信功能,其中-2表示全站发送公告。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13DF.tmp.jpg) 图 19 超级管理员界面(广播通信) ## 5.其他内容 ## (1)注册专业导入 在注册界面的选择专业的下拉框内,管理员可通过更改“major.txt”里的内容改变下拉框的内容。 ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps13EF.tmp.jpg) 图 20 major.txt ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1400.tmp.jpg) 图 21 注册界面下拉框 ### (2)日志 每次对系统的操作都会在log.txt中增添一条记录,格式为: [time][function][status]:[description(if need)] 如图所示: ![img](file:///C:\Users\dell\AppData\Local\Temp\ksohtml\wps1401.tmp.jpg) 图 22 log.txt ### (3)密码哈希 储存用户密码在student.dat中时,并不是简单的明文储存,而是对密码计算MD5后加上盐字符串,再进行第二次MD5。最后储存第二次MD5的值和盐字符串的值。