图书馆图书管理系统设计说明书Word文档下载推荐.docx
《图书馆图书管理系统设计说明书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书馆图书管理系统设计说明书Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
![图书馆图书管理系统设计说明书Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/21/dcd8de18-45b9-4943-bb85-800fd2eba93b/dcd8de18-45b9-4943-bb85-800fd2eba93b1.gif)
本系统就是为了管理好图书信息而设计的。
1.2命名规范
1.表名命名规则
本数据库使用的表名一律采用有意义的小写英文字符命名。
2.表项命名规则
本数据库各个表的每个字段,依照表名命名规则,全部使用有意义的小写英文字符命名,字段名不适用‘-’连接相关字符,方便编码书写。
3.所有函数用大写英文字母开头。
1.3术语定义
总体结构:
软件系统的总体逻辑,本结构采用面向对象的方法对系统进行设计。
概念数据模型:
关系数据库的概念设计模型,主要表现为E-R图。
1.4参考资料
《软件工程--理论与实践》
2总设计
2.1硬件运行环境
CPU:
P42.0G
内存大小:
512M以上
磁盘空间容量:
2G以上
2.2软件运行环境
操作系统:
WindowsXP
数据库:
Mysql
开发工具:
Myeclipse
2.3子系统清单
子系统序号
子系统名称
子系统功能简述
1
登陆模块
(1)该模块用于用户登陆,登录时,对其身份进行验证和识别;
(2)游客可以进行注册;
(3)已注册用户可惊醒修改个人信息,找回密码等。
2
图书查询模块
查询图书目录
3
用户管理模块
(1)管理员对用户信息进行管理
(2)对即将借书超时用户发出消息提醒
4
借、还书模块
学生课查看已借书籍情况等
2.4流程图
2.4.1系统登陆流程图
2.4.2用户流程图
2.4.3管理员流程图
3数据库设计
3.1概念结构设计
图书馆管理系统,总共含有三个实体:
管理员,图书,读者,之间的关系如下图的E-R图如下:
3.2数据库表得详细清单
Admin管理员表:
英文字段
中文字段
类型
长度
必填字段
允许空格
是否主键
ID
编号
int
20
是
否
name
名字
char
50
pwd
密码
Book图书信息表:
允许空值
id
bookname
图书名称
Booktype
图书类别
Publishing
出版社
Pdate
出版时间
datatime
10
Author
作者
Num
图书数量
8
Type图书类别表:
主键
booktype
图书类称
Loan借出信息表:
Bid
图书编号
Time
借书时间
Uid
用户编号
News消息表:
编码
content
消息内容
500
uid
User用户表:
sex
性别
借书数量
loan
锁定
loan_num
4功能模块设计
4.1登陆模块
该模块用于用户登陆,包括游客,用户和管理员:
(1)成功登陆则取得用户的session用于以后的操作权限认定;
(2)程序执行时首先判断用户类型,如果是游客则对session赋值为游客类型,然后直接进入主页;
如果不是游客则执行查询语句,看数据库中是否存在这样的用户名和密码,根据选择用户类型的不同在不同的表中进行操作;
(3)成功则进入主页,否则提示输入错误。
4.2图书查询模块
该模块用于用户的图书查询,利用查询语句的like%替代任意长度字符实现了模糊查询。
(1)所有查询的字段用户都可以不输入,如果输入了某个数据,程序执行时自己会判断,输入了就会加上相应的SQL语句;
(2)考虑到使用方便性,图书类型,出版日期都无须用户输入,已经设定了合理的初始值。
图书类型如果不做选择就默认在所有图书类型中查找;
(3)考虑到找到的记录可能会很多,引入了分页显示,在记录集循环显示的时候引入参数i来实现,设定i<
10,初始值为0,这样每页显示的记录数为10条。
4.3发布消息模块
此模块有两部分组成,系统公告和超期提醒。
超期提醒模块为方便管理员清楚图书借出后的归还情况,并可以给超期的用户发送消息提醒,或者锁定该用户,使其无法登陆系统。
(1)超期判定用dateserial()函数来实现将当前系统时间的格式转化为YY-MM-DD,这样方便后面的日期比较操作;
(2)设置一个变量来代表当前系统时间减去三十天,如果用户借书的时间不在这两个时间之间那么就是超期;
(3)页面开始首先进行管理员身份核实,用到了前面登陆页面说的session。
点击左边菜单的统计超期后系统自动完成统计,并将结果显示在右边,管理员可以进行的操作有:
锁定,给单个用户发消息,群发消息;
(4)给超期用户发消息提醒,主要功能是实现管理员可以对借书超期的用户进行提醒,其操作是往msg表里添加数据,当用户正常登陆后系统会检查msg表内是否有该用户的消息数据,如果有则会自动给出提醒,提醒用户查看消息。
4.4图书添加模块
实现图书添加功能。
(1)当管理员需要添加图书时,通过管理菜单点击“添加图书”就进入这个页面;
(2)考虑到输入的方便性图书分类和出版时间都可以进行选择,无须手工输入。
图书添加操作要求全部数据都必须输入,否则报错;
(3)添加操作实际上是将数据写入数据库,写入新图书信息之前首先检查图书名是否重复,重复则报错返回上个页面,输入正确而且数据库中原本没有这样的数据则执行写入操作。
4.5用户管理模块
实现用户管理全部功能,包括查看全部用户,添加,修改,删除,锁定,查看其借书记录。
(1)其中锁定针对于借书超期用户,管理员可以在超期统计页面知道哪些用户借书超期;
(2)添加用户时程序首先判断是否已经存在这个用户名,存在则终止操作,返回上个页面;
(3)删除用户时如果该用户存在借书记录则不允许删除,程序跳转到该用户的借书记录页面;
(4)更改操作同样考虑到了用户名重复的问题,避免混淆。
4.6最新添加的图书
放在index.asp框架的右边,主要是向所有人展现最新增加的图书信息,方便所有人的使用。
其实现是从数据库book表中导出top10个数据。
4.7图书分类浏览模块
放在首页的右边,起着导航作用,实现所有图书分类的查看,使得所有人都可以方便的浏览自己感兴趣的图书分类下的书,点击图书分类名就进入了该分类下的所有图书浏览。
5系统错误处理
5.1出错信息
(1)对读者输入的各项内容均进行有效性、安全性检查,减少错误发生的几率;
(2)对程序运行中的异常均进行捕获,按统一的方式将出错提示信息提供给读者;
(3)对读者访问自身权限以外的信息时,将其导航到统一的出错提示页面。
5.2故障预防与补救
以统一的机制进行网站权限的控制。
对程序中用到的数据尽量进行加密,以减少黑客攻击的危害。
定期对数据库中的数据进行备份。
5.3系统维护设计
(1)编码实现时应采用模块化和分层的思想,提高模块内部的内聚,减少模块间的耦合。
使逻辑系统逻辑结构清晰,从而增强可读性和可维护性;
(2)面向数据与面向对象相结合,模块划分符合面向对象思想;
(3)在编码过程中注意标识符命名的意义,添加适量注释。
6测试计划
测试计划作为本系统的测试指导,测试成员按计划和规定进行测试。
本系统的测试将从单元测试、集成测试、系统测试3个方面来设计。