基于B/S结构的图书馆管理系统的设计与实现

1 引言 
  图书馆收集的图书信息量大,日常的图书借阅操作任务繁重。在全手工操作下,图书管理工作效率低,容易出错。随着电子信息化技术的高速发展,使用计算机对图书资料进行管理,可以更快捷、更方便地查找所需图书,节省大量的劳动力,提高工作效率,并且可以更方便地对数据进行修改维护,提高数据的安全性[1]。本文阐述了一种基于B/S结构的图书馆管理系统的设计与实现过程,该系统能够实现图书信息管理、读者信息管理、借阅信息管理、图书查询、系统信息管理和公告管理等相关功能,可以有效提高管理人员的工作效率,方便读者对图书进行浏览和查询。 
  2 系统的功能需求 
  根据图书馆管理的实际需求,本系统需要具有的主要功能包括: 
  ①图书信息管理模块:对图书基本信息的添加、删除、修改、查询和导出。 
  ②读者信息管理模块:对读者基本信息的添加、删除、修改、查询和导出。 
  ③系统设定模块(包括图书类别管理模块和读者分类管理模块):两者都有添加、删除、修改、查询操作。 
  ④借书还书管理模块:借书、还书及查询操作。 
  ⑤留言管理模块:管理员查看留言,读者添加、修改及删除留言。 
  ⑥公告管理模块(包括公告类别管理模块和公告信息管理模块):对公告管理的添加、删除、修改、查询。 
  ⑦管理员管理模块:对信息的添加、删除、修改、查询等操作。 
  系统的主要功能流程图如图1所示: 
  3 系统架构与设计 
  本系统采用B/S开发模式,数据库服务器使用SQL Server 2005,开发平台使用Microsoft Visual Studio 2010。 
  本系统的数据库主要包括图书信息表、图书类型表、读者信息表、读者分类表、图书借还表、留言表、公告信息表、公告类别表、图书罚款表和管理员表共10个表,各数据表的功能如下: 
  ①图书信息表(tb_bookinfo):用来记录所有图书的详细信息。 
  ②图书类型表(tb_booksort):用来记录所有图书的类型信息。 
  ③读者信息表(tb_reader):用来记录所有读者的详细信息。 
  ④读者分类表(tb_readersort):用来记录所有读者的分类信息。 
  ⑤图书借还表(tb_borrowback):用来记录图书借阅和归还的详细信息。 
  ⑥留言表(tb_notes):用来存放读者留言。 
  ⑦图书罚款表(tb_bookfakuan):用来记录所有图书罚款的信息。 
  ⑧管理员表(tb_manager):用来记录所有管理员的信息。 
  ⑨新闻信息表(tb_news):用来存放新闻的相关信息。 
  ⑩新闻类别表(tb_newssort):用来记录所有新闻类别信息。 
  各个数据表的关系如图2所示: 
  4 系统实现 
  系统实现的主要功能包括: 
  ①用户登录:该模块可以让读者、系统管理员和分单位管理员使用,不同的人有不同的权限。 
  ②读者借阅管理:管理员对读者借书还书时,有单独的登录入口,只要输入正确的读者学号就会进入借书还书界面。界面会显示读者的信息(读者编号、读者姓名、读者类型和可借数量),图书信息的情况,以及读者借书的情况。 
  ③图书管理:图书管理包含基本信息的管理和图书类型的管理两部分。图书信息管理模块主要用于查询、浏览图书的相关信息以及对图书信息的增加、删除、修改等操作。管理员可以通过图书编号、图书名称、图书类型这三者之中的任何一个进行查询功能(模糊查询和精确查询)。图书分类管理模块主要用于查询、浏览图书分类信息以及对图书分类信息的增加、删除、修改等操作。 
  ④读者管理:读者管理包含基本信息的管理和读者类型的管理两部分。读者信息管理模块主要用于查询、浏览读者的相关信息,以及对读者的增加、修改、删除等操作。读者分类管理模块主要用于查询、浏览读者分类信息以及对读者分类信息的增加、删除、修改等操作。 
  5 系统类设计 
  本节将介绍实现修改图书信息功能的详细设计。为了实现修改图书信息的功能,一共设计了四个类,分别是:
 ContactDaoImpl:图书信息数据库操作类 
  ContactServiceImpl:图书信息服务層类 
  GetAllContactsAction:查找所有图书信息的Action类 
  GetAllCategories4UploadAction:查找所有图书类别的Action类 
  下面将逐一介绍这几个类的设计思路,关系,及类中所使用的方法和实现的功能等。 
  上述几个类的关系如下图3所示。 
  该类主要功能为实现对contact表的数据库操作,该类中的成员变量JdbcTemplate类为Spring框架为开发人员提供的一个类,是core包的核心类,它对JDBC操作进行了封装,完成了资源的创建以及释放工作,从而简化了开发者的开发难度,减少了开发人员的代码量。它还可以帮助避免一些常见的错误,比如忘记关闭数据库连接等。JdbcTemplate将完成JDBC核心处理流程,比如SQL语句的创建、执行,而把SQL语句的生成以及查询结果的提取工作留给应用代码。它可以完成SQL查询、更新以及调用存储过程,可以对ResultSet进行遍历并加以提取。 
  jdbcTemplate对象为由spring通过setter和getter方法自动注入,其他方法通过jdbcTemplate对象的query或update方法来实现,query或update方法需要接收一个sql语句字符串,其结果集resultset通过RowMapper来映射给JavaBean的成员变量。 
  ContactServiceImpl类的类图如下图5所示。 
  ContactServiceImpl类属于服务层,由Action层调用,它调用ContactDaoImpl类的方法,设计该类主要是为了分层,分层的意义在于增强代码的可复用性,代码的扩展性和安全性,也易于代码的维护。在大型的项目中这些优势体现的更为突出,一旦业务变更,只需修改少量代码就可完成并且影响面也比较小。这些优势在项目的开发后期和版本的升级时会更好地体现出来,本应用的逻辑比较简单,只是简单的调用ContactDaoImpl类的方法。 
  GetAllContactsAction类的类图如下图6所示。 
  该类调用ContactServiceImpl类,实现了查询所有图书的功能,将得到的所有图书放在List中,再将该List放在request中,由页面显示,它继承了ActionSupport类,在Struts 2配置文件中映射为一个以.action结尾的路径,页面中可以请求该路径,服务器将执行其中的execute方法,该方法返回一个字符串,根据字符串的不同进行重定向或请求转发给页面或另一个Action。 
  GetAllCategories4UploadAction类的类图如下图7所示。 
  GetAllCategories4UploadAction类同样继承了ActionSup-port类,由页面请求,实现了查询所有图书类别的功能。 
  本系统的界面如图8所示: 
  6 系统测试 
  软件测试就是按照测试方案和流程,利用测试工具对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。它用来帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)、完全度(completeness)和质量(quality),使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别[2]。 
  为了更加简单快捷地测试软件,采用黑盒测试和白盒测试相结合的方案。黑盒测试即在测试的过程中并不关心软件内部结构和具体实现,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。主要试图发现下列几类错误:功能不正确或遗漏;界面错误;数据库访问错误;性能错误;初始化和终止错误等。 
  白盒测试也称结构测试,这种方法将测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都能按预定的要求正确工作。白盒测试主要用于对程序模块的测试,包括程序模块中的所有独立路径至少执行一次;在上下边界及可操作范围内运行所有循环;对所有逻辑判定的取值(“真”与“假”)都至少测试一次;测试内部数据结构的有效性等。常用的白盒测试方法主要有逻辑覆盖测试、基本路径测试、数据流测试和循环测试[3]。 
  7 结语 
  本系统满足了图书馆管理的功能需求,系统界面清晰、操作方便,有效提高了图书管理的工作效率。系统仍然存在一些不足,今后需对其进行改进和完善,以满足用户的更高要求。 
  【参考文献】 
  【1】李昊,杨燕勤.基于B/S结构的高校图书馆管理系统的开发与应用[J].现代情报, 2010,30(1):154-158. 
  【2】曹亚新,侯勇,王文国.基于.NET的图书馆管理系统的设计与实现[J].科技情报开发与经济,2006,16(20):35-36. 
  【3】杨会朋.图书馆管理系统设计[J].电脑知识与技术,2011,07(18):4289-4291.
浏览次数:  更新时间:2018-02-09 10:49:21
上一篇:云计算在铁路物流中心的应用研究
下一篇:三维激光扫描技术在数字地形建模中的应用
网友评论《基于B/S结构的图书馆管理系统的设计与实现》
Top