我们要做图书管理系统的话,先就需要分析,图书管理系统的核心是做什么?图书管理、图书管理,自然管理好书是核心,那书的数字化就是必须的功能了,怎么管理呢?在实际的图书馆中,书都是放在一个固定的书架上,而我们的书架都是有相对应的编号的。
并且,不同的图书,还有不同的分类。
例如:历史类的书籍在一个区域、科学类的书籍在一个区域。
根据这些现实场景,自然就需要将这些书籍管理相关的数据还原在系统上。
那么,书、书架、区域的简单关系也就出来了。
但是,如果书籍仅仅是待在书架上,位置都不发生变化,这个图书管理系统就仅仅是一个书籍的索引系统,想要丰富功能,我们就需要考虑到围绕书还会有什么行为呢?借阅就是图书馆中发生得比较频繁的一个行为了。
我作为借书者,我会需要将我喜欢的书借走,然后再归还。
那针对这个场景,我们的书籍管理功能也就会发生了变化,我们首先需要知道,能够借书的人都是谁,这就需要对借阅者有一个用户管理的功能。
那如果可能,还会有押金管理的功能。
其次就是对书的操作要有一个管理。
借阅者什么时候借了书,什么时候还了书,借了多久等等。
这样,在图书馆管理员盘点所有的书籍时,他就能够知道每本书的下落。
如果这本书既没有借出去,也没有在图书馆里,可能就是丢失了。
那么,我们就围绕着上面说的内容,进行相关的数据库设计,功能设计,然后通过代码来实现。
当然,这里面还需要有很多的基础数据管理的功能,例如:对于书的分类定义,书架的分类定义,区域的分类定义,这样,我们才能够引导管理员将散落的书籍快速的归还到对应的书架上。
而有了这些简单的功能后,一个图书管理系统也就完成了。
但是,这样的系统要投入到实际的应用中,还非常的简陋,肯定还需要有更多的优化。
还需要哪些优化呢?首先,用户在借书的时候,如果一本一本书的去查询然后录入借书信息,速度会非常的慢。
同样,用户还书以后,图书管理员一本一本的去查询然后录入还书记录也是非常的慢的,并且还容易出错。
怎么能够加快这个借还书的过程呢?一个简单的方式就是,给每本书都加上一个身份。
这个身份比较简单的就是使用书本自身的GS1编码。
不过,有的书可能没有GS1编码,但是也需要能够管理。
那么我们就打印一个二维码的标签,贴到每本书上。
那么在借书的时候,就好像超市买东西一样,扫一下就可以了。
而用户的借书证上,也有一个二维码。
通过操作结束,然后扫描用户借书证和书籍上的二维码完成借书。
还书也是一样。
这样,还书和借书的时间就被大大的缩短了,并且操作难度也大大降低了。
借还书的过程虽然优化了,但是盘点的难度还是很高。
那么大一个图书馆,那么多的书,盘点的时候,一本书一本书的去扫描,就算有二维码,也是一个大工程。
在这个方面能够如何优化呢?还是围绕着书本上的二维码来思考。
二维码需要通过摄像头等设备来扫描,虽然在盘点时比较麻烦。
那么如果能够不扫描,批量的进行图书的识别就可以很好的解决这个问题了。
那么,我们就可以考虑RFID的物联网技术。
将原来书本上贴的二维码升级成为RFID标签。
然后原有的二维码扫描设备升级成为RFID扫描设备。
RFID是通过射频技术来做到识别的,并且也是一本书一个身份ID写入到RFID标签中。
所以,判断时,我们只需要一个RFID终端,就可以在不把书拿出书架的情况下,批量的进行书本的盘点了。
以上,一个完整的图书管理系统就搞定了。
当然,我们这里只是讲了概念,还有很多具体的细节和实现上,就还需要个人去摸索了。
你需要选定一种编程语言,然后选定一种编程的数据库。
接下来就是想好整个程序的流程是什么样子的,以及数据库里的数据表,怎么样去设计?图书借阅查询系统,可以是单机运行的,也可以是联网运行的。
那么目前主流的做法就是用一台服务器,在上面架设网站和数据库,然后呢,只要他联网了那么任何主机都可以访问它,来进行图书借阅登记和查询。
一个典型的方案是这样的:服务器上安装php和my sql数据库。
Php用于后台和前台的显示,至少需要这样几个模块,包括用户注册,书籍登录,借阅登记,借阅查询,管理员后台登录等等。
数据库呢,至少需要设计这样几个主要的表,包括用户表,书籍表,借阅登记表,以及管理员表。
用户表呢,至少需要有用户的ID,姓名,学号以及其他你觉得有必要的信息。
书籍表呢,至少需要有书籍ID,书籍的名称以及其他你觉得有必要的信息。
借阅登记表呢,需要有书籍的ID,借阅人ID,借阅时间,归还时间。
程序的运行流程是这样的,分为几个不同的功能。
当学生来借书的时候,他需要先注册,然后记录下来他借了哪本书,什么时间借的,当他还书的时候,要做个标记,他已经归还了。
当图书馆进了图书的时候,需要对每一本图书进行登记。
此外作为管理后台,也需要有管理员登录的功能以及管理员开新的管理账号的功能。
然后最重要的就是借阅图书的查询功能,可以根据借阅人来查询,也可以根据图书名称来查询,也可以根据时间来查询,等等各种不同的查询,其实就是使用不同的sql语句来完成了。
在做后台基本功能的时候,也可以同时做前端界面。
使用html,CSS, Javascript完成前端界面的UI和功能设计。
最后是前后端一起联合调试,修改bug,这样呢,一个图书查询系统就完成了。



