李云洪 许勋熠 赵泉 辽宁对外经贸学院
前,教育方面也经历着同样的考验。学校规模不断扩大,学生人数迅速增加,对图书馆的需求也在不断增加。它造成了大量的图书馆,恶劣的环境和混乱的管理。该系统采用ThinkPHP5作为系统框架,TP框架作为PHP最常用的框架之一,可以解决很多需求,因为它包含底层架构,兼容处理,基类库,数据库访问层,模板引擎,缓存机制,插件机制,角色认证,表单处理等常见组件,对于跨版本,跨平台和跨数据库迁移更方便。每个组件都经过精心设计和完善,应用程序开发过程只需要关注您的业务逻辑。
该系统的开发主要包括两个方面:后端数据库的建立,连接和维护以及前端网页的开发。由于PHP的易用性,安全性等优点,本文采用PHP + MySQL的技术方法和规范的全局设计开发过程。用户端采用 APP方式和本系统连接,开发软件采用 Sublime_text3来编写读者信息管理系统。系统用户权限分两种:读者和管理员,具有不同权限的用户登录到不同的操作页面以执行相应的操作。
关键词:ThinkPHP;图书馆管理;MySQL;PHP
目前国内社会已经有了很大的发展和进步,很多工作已经不局限于线下完成,借助着随着互联网的普及,利用网络来进行工作和学习已经是大势所趋,所以学校进入信息管理时代也是必然的发展趋势。目前各高校每年入学人数激增,校内很多公共设施已经人满为患,例如图书馆的环境越来越差,座位不够,环境不够安静,卫生脏乱的现象屡见不鲜,对想自习的同学带来了很大的影响。因此,图书馆自学管理系统的设计对学校来说是必要的。
图书馆自学管理信息系统的设计与开发是一项系统工程。具体设计原则如下:
1.2.1 实用性原则
因为本系统主要解决图书馆的混乱问题,所以在功能的实现上要满足实际的需求,同时系统是为读者和学校管理者提供,在业务方面和数据的处理方面也是重中之重,首先界面展示和操作的设计上要尽可能简洁,同时业务逻辑也要环环相扣,以便于读者和管理人员使用。
1.2.2 可扩展性与可维护性原则
由于互联网一直在发展,所以为了适应这个现状,本系统需要有良好的扩展性,同时也要便于维护,否则会产生不必要的麻烦,所以在本系统的设计上,借助TP框架,要让系统尽可能的模块化,来提高系统的灵活性,并且可以适应今后互联网的发展。
1.2.3 安全可靠性原则
应用软件和数据库系统设计应安全可靠,以防止非法用户入侵和数据破坏。数据库备份策略适用于防止灾难性事件。由于技术原因,本系统暂时没有使用网络防火墙,所以本次研究暂时不研究防火墙相关的内容,但是会在日后的系统完善中进行详细的分析与设计。
1.2.4 用户界面设计原则
界面的整体设计风格必须符合图形原理,用户界面应该直观,有条理。实现“傻瓜式”设计方法,即易学易用,易于管理的原则。
1.2.5 数据库设计原则
数据库的设计首先要考虑两个方面,第一是数据库的完整性,第二是数据库的安全性,两个特性缺一不可。因为一个好的数据库设计需要有很好的正确性和兼容性,同时为了防止其他用户恶意添加数据或者盗取数据,本系统对数据库采用了MD5加密等手段来提高数据库的安全性。
2.1.1 开发技术
本系统采用ThinkPHP框架,ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。
2.1.2 运行环境
表2.1 主机类型表
表2.2 软件环境表
本系统一共分为5大模块,分别是读者模块和管理员模块,其中读者模块功能包括:注册、登录、查看座位信息、预约座位、就坐自习和个人信息查看。管理员模块功能包括:读者管理、座位管理和系统管理。
本系统架构图如图3.1所示。
图3.1 系统架构图
由图3.1可知,本系统分为客户端、服务端和数据库三层。客户端可供用户访问,服务端又分为控制层、业务逻辑层、基础服务层,包括参数解析和会话管理功能。业务逻辑层包括读者管理、座位管理、系统管理。基础服务类包括时间服务与日期服务。数据端分为数据访问层和数据存储层,供系统调用数据使用。
系统ER图如图4.1所示。
由图4.1可知,系统主要实体分为自习室实体、读者实体、座位实体和黑名单实体。其中座位实体属于自习室实体,读者可以通过系统查看座位信息,并且可以在线预订座位,每位读者可以预定所有的座位,但是每次只能预定一个座位。读者中途有事可以临时离开,但是如果读者中途离开超过30分钟没有归位,会被系统列入黑名单中,同时该座位变成闲置座位,其他的读者可以进行预定和自习操作。进了黑名单的读者无法继续预订座位,管理员可以管理黑名单中的读者信息,需要管理员将读者从黑名单中移除才可以预订座位。
图4.1 系统ER图
通过对领域对象、业务对象及对象间关联的分析,对本系统的数据库表进行了设计,如表4.1--表4.5所示。本系统数据库管理采用MySQL,数据库其中主要包括6个表,分别为读者表、管理员表、座位表、自习室表、黑名单表和二维码信息表。详情请见下面的数据库表。
读者表主要用于保存读者的信息,主要字段包括:读者ID、用户名、密码和学号信息。其中读者ID作为表的主键,可供其他的表进行关联。表结构如表4.1所示。
表4.1 读者信息表(user)
管理员表主要用于保存管理员信息,主要字段包括:管理员ID、用户名和密码。其中管理员ID为表的主键。表结构如表4.2所示。。
表4.2 管理员表(admin)
黑名单表主要用于保存黑名单内容,主要字段包括:ID、读者ID、原因和时间。表结构如表4.3所示。
表4.3 黑名单表(blacklist)
在线选座的主要流程为:读者首先需要登录本系统,成功登录系统后,选择预订座位模块,系统处理读者请求后从数据库中调用出全部座位的信息展示给读者,读者根据喜好选择作为,之后提交预订申请,系统将读者的预订申请保存到数据库中,并展示预订成功页面。
添加座位的主要流程为:管理员登录系统后,选择添加座位模块,系统会检测该区域的座位是否已满,如果已满则提示该区域座位已满,无法继续添加,如果还有空位,则进入到添加页面,管理员填写好座位编号和区域后,保存到数据库中,前端可以接收到添加好的数据并展示给读者,供读者进行座位预订。
黑名单的主要流程为:读者在自习途中如果中途离开座位,必须在30分钟内回归,或者选择离管选项,否则超过30分钟未归,系统会将座位设置为空闲状态,该座位可被其他读者预订,同时将该读者添加到黑名单中,添加到黑名单中的读者无法预订座位并且进行自习,需经过管理员同意,将该读者移出黑名单才可以继续预订座位。
经过一个多月进行的努力,终于完成了本篇论文,本系统的虽然在功能上的设计还不够完善,但在这次图书馆自习管理系统的设计过程中也使我受益匪浅:第一在系统的设计过程中,必须要将理论和现实相结合,不能偏重于理论而忽略实际的开发效果,第二要明确系统的定位,在明确的定位后再进行开发,如果在开发过程中碰到了一些问题,还需要对系统进行必要的调整,这样的系统设计才不会出现大问题,这样做还可以扩展自己的知识面,从问题中学到解决方法,从整个设计过程中完善自己,提高自己。此外系统中还存在着一些不足之处,例如系统的安全性问题,由于技术原因暂时无法达到预期,暂时只对数据信息进行MD5加密,没有采用其他的加密措施,同时系统功能模块较少,设计的不够全面细致。这些问题会在日后的系统设计中得到修复。
通过这次的系统设计,我了解到了系统设计的重要性和设计方法,同时借助书籍和资料,弥补了自己知识上的不足,面对日新月异的科技发展,自己应该是主动地接受并去适应新的技术,而不是被动的等技术来配合自己的思想;应该熟练的掌握一到两门编程语言和开发技术,是自己所学的理论知识能和实际操作有机地联系起来;光说不练、动手能力差也是摆在自己面前的一大难题。在今后的学习中,我要努力的拓宽自己的知识面,不断地补充自己的专业知识,当面对一个新的课题时,自己积极思考,使该课题不再是空想,能在自己手中实现。