基于MVC模式的图书管理系统的分析与设计

2020-10-09 10:08戴璐
科技风 2020年26期
关键词:S结构图书管理

戴璐

摘 要:生活中各类产品的信息化已经是社会运转无法分割的一部分,“互联网+”模式融入在各个行业的生产生活中。在这种背景下,基于MVC模式的在线图书管理系统作为一个承载整个图书馆数据的网络系统,它的使用可以极大地提高图书馆各类用户的办事效率,能够发挥出信息化高度发展的优越性。基于此,该设计采用三层结构化设计方法,运用MVC设计模式,对不同用户的功能需求进行了详细分析,并构建其数据库格式,从而使图书馆的管理及使用更加智能化。

关键词:MVC设计模式;图书管理;B/S结构

一、概述

随着计算机技术的不断普及,无论高校或是公立图书馆,使用一套图书管理系统都成为大势所趋。图书管理系统可以快速提高图书馆的日常运作效率和图书馆的数据安全性。图书管理员和读者使用此系统进行图书的管理、图书的借还、查看借阅记录基本的操作使用,增强各方用户的图书馆体验感,将用户从冗杂的数据处理中解放出来。

对于读者来说,图书管理系统节省了查找图书时间,对于图书管理员来说,图书管理系统强大的数据处理功能节约了存储信息成本,只需一台电脑便可以轻松操作。本系统设计了适用于一般图书馆的基本功能,我们采用面向对象的软件开发方法,以数据流图为核心,使用各类图形工具分析建模。本图书管理系统是基于MVC设计模式和B/S结构的WEB应用系统,主要针对服务端进行设计开发。

二、MVC模式概述

MVC,即model,view,control的缩写,分别代表模型、视图、控制器。其中用户在视图层的操作会传入控制层,由控制层调用模型层的方法实现数据的持久化存储。为进一步分离不同用户之间的操作,在视图层与控制层分别拆分出系统管理员,图书管理员和读者的部分,对这三类用户进行相应的设计操作。

三、功能需求分析

本图书管理系统主要存在三类用户:系统管理员,图书管理员,读者。如果用户登陆成功,则启动相应的管理系统,以及相应的权限,实现各项功能。下面将基于各类用户角色进行各自的功能需求分析。

首先是系统管理员的需求,基于MVC模式的图书管理系统需要最高级的管理人员实现日常的运维操作,系统管理员要求能够对图书馆的管理员账号进行把控管理,即对其账号进行相应的增删改查。增,即为注册,系统管理人员输入新增图书管理人员姓名和密码,注册成功后返回数据库自动生成的登录ID,并显示成功信息;删,即删除,输入图书管理员用户名和登录ID进行删除;改,即修改,输入图书管理员登录ID,可以更改姓名和密码,也可以在浏览图书管理员页面找到相应人员点击按钮跳转到修改界面;查,即查找,系统管理员选择以其登录ID或姓名为关键字查找该人员,查找成功后显示所查人员的账号详细信息。

其次是图书管理员的需求,他们是本系统的高频使用用户。他们需要管理读者用户,同时管理书籍的增删改查以及借出还入。

首先是对书籍进行增删改查。增,即新购入书籍并加入圖书管理系统,输入书籍ISBN、书籍新增数量、馆内存放区以及书籍自身详细信息等内容进行新增,成功后显示数据库生成的书籍ID和成功信息;删,即删除书籍,输入书籍ID,查找特定书籍进行删除;改,即对书籍的一些固有信息进行改动变化,输入书籍ID,查找到书籍后完成操作;查,即搜索图书,用户可以选择根据书籍不同的特征为关键字进行搜索,操作完成后即显示图书的具体信息描述。

还有对读者用户的增删改查,要求能够把控和调整其基本信息。增,即添加新读者,图书管理员设置读者用户名和密码进行读者的添加,操作成功后显示姓名和系统生成的读者ID;删,即对其进行注销,操作人员通过用户ID和用户名查找到并删除;改,对用户进行修改,例如更改读者的用户名等信息;查,即查找读者,输入读者ID和姓名,操作成功显示读者姓名、ID、借还历史等信息。

同时图书管理员还要求能够实现书籍的借出和还入操作以及审批预定申请。当读者借书时,图书管理员通过输入该读者的ID和要借的书籍ID完成借出,如果系统判断库存不足或读者借书限额已满则借出失败。如果有读者还书,图书管理员根据该读者借出的书籍ID查找到该未还书籍进行归还即可。图书管理员还能够审批所有读者的借阅申请,以提交时间顺序进行排列对其进行审核,若同意借阅,书籍状态将改为已借,其他人无法借出。

最后是读者需求,读者需要能够查看馆内图书信息,并浏览自己的借还记录,以便借阅和及时还入。

图书查询和预定。查找图书时,读者用户可以选择不同关键字进行搜索,操作成功后显示所查书籍的相关详细信息,查找失败则提示关键字不符合规范或书籍不存在的错误提示信息。若所查书籍余量不足,读者可以选择加入借阅车以便稍后提交预定申请。

借还管理。读者需要查看借还信息,借还信息可以供用户查看自己的借出和还入情况。其中借出情况即借出历史,显示书籍基本信息、操作此次借出的管理员ID、借出时间、应还时间。归还情况即归还历史,显示书籍基本信息、操作此次归还管理员ID、归还时间。

查看借阅车。读者可以查看已加入借阅车的书籍并选择提交借阅申请,申请后将等待图书管理员审批,审批期间其他人无法预定该图书。

四、数据库设计

数据库使用的是MySQL数据库,用于存储各类用户详细信息、图书的相关配置、读者的借阅归还记录信息,以及对各项记录增删改查的信息。使用中,数据库根据用户的种类及其需要来分类设计实现他们的功能。对该系统涉及到的数据表部分进行了分析实现。特别地,用户的密码也需要进行保护,统一采用MD5码对用户的密码进行加密储存。

(1)administrator(系统管理员)存储系统管理员的用户信息,包括administrator_id系统管理员ID,administrator_name用户名,administrator_password密码。

(2)librarian(图书管理员)存储系统管理员的用户信息,包括librarian_id图书管理员ID,librarian_name用户名,librarian_password密码。

(3)reader(读者)存储读者的用户信息,包括reader_id读者ID,reader_name用户名,reader_password密码,reader_email电子邮箱。

(4)book(书籍)存储书籍信息,包括ISBN国际标准书号,book_price价格,book_name书名,book_description简介,publisher_id出版社ID。

(5)publisher(出版社)存储出版社信息,包括publisher_id出版社ID,publisher_name出版社名。

(6)author(作家)存储作家信息,包括author_id作家ID,author_name作家姓名。

(7)book_in_library(馆内图书)用于存储馆内图书的存放信息,book_id书籍ID,ISBN国际标准书号,book_location存放位置,state状态(是否借出)。

(8)writes(著写关系管理)存储作者与其所著书籍,author_id作家ID,ISBN国际标准书号。

(9)borrow_items(借还管理)存储读者用户借阅和还入信息,borrow_id借还ID,reader_id读者ID,book_id书籍ID,borrow_librarian_id借出图书管理员ID,return_librarian_id还入图书管理员ID,borrow_time借出时间,return_time归还时间。

(10)borrow_cart(借阅车)用于存储预定申请借阅信息,book_id书籍ID,reader_id读者ID,submit_time提交申请时间。

五、测试计划

根据软件测试分类,本系统将进行以下测试:

功能测试:检查系统的最终功能是否能够满足需求分析的要求。尤其应该对系统的注册、登录、图书信息查询、借还书等功能进行全面完整的测试。

边界值测试:选择边界数据进行测试,并记录这些数据的相邻值域。确保系统功能正常,程序无异常。

容错性测试:测试系统的健壮性,观察系统对错误值的容忍程度,测试错误的输入指令是否会使系统崩溃。记录系统的能力。

压力测试:测试系统能够承受的最大压力,不断施压找到系统临界值,并对临界值进行评测。

兼容性测试:测试员需要浏览器的支持来测试页面的交互体验和后台运作是否正常,需要考虑用户端浏览器的版本兼容问题。

本系统参与测试的人员主要包括开发人员、系统测试人员、客户。开发人员向后者讲解系统使用方法;测试人员进行有条理的规范的系统测试;客户则查看功能是否满足要求并及时提出反馈。

本系统的单元测试将在详细设计时进行准备,在编码完成后即进行迭代单元测试。本项目将使用JUnit进行单元测试,若相应的覆盖率可通过评审,则满足需求。集成测试将在概要设计时进行准备,通常由没有利益相关的设计人员或使用者来完成。若出现不满足预期结果的情况,则使用需求跟踪矩阵与鱼骨图进行需求确认与查询开发人员,确保bug被修复。开发者应参加分析单元测试的结果,软件相关的分析和测试结果应该记录在相应的软件开发文件中。

本系统在上述两种测试结束后,将进行系统合格性测试。这种测试不再划分区域,而是直接将系统整体与规格说明书进行对比,寻找可以改进的地方。

六、结语

通过对本系统的设计和说明,不难发现,基于MVC模式的图书管理系统的建设牢牢把握住了效率至上的核心,精簡了对书籍、读者的管理手段。在互联网时代的今天,效率至上不仅仅是一句口号,它还主导着人们的生产和发展,是快节奏社会下一种新兴的生活态度。“互联网+”的形式也将在这种生活氛围中更加持续健康自然地前行。

参考文献:

[1]刘治国.构建基于B/S结构的图书管理系统[J].信息技术,2005(03):72-73+77.

[2]罗学勤,简绍勇,袁彬,蒋胜魁.高校图书馆管理系统的分析与设计[J].计算机产品与流通,2020(05):251-252.

猜你喜欢
S结构图书管理
论图书管理工作问题及解决对策
基于Java的BBS开发
基于PHP的发印管理系统的实现
基于Java的网上商城开发
基于B/S结构的通信部队训练管理系统的设计研究
信息化条件下如何创新图书管理
谈数据挖掘为图书管理提供决策支持