图书馆管理信息系统的设计.doc

上传人:叶*** 文档编号:35078535 上传时间:2022-08-20 格式:DOC 页数:11 大小:111KB
返回 下载 相关 举报
图书馆管理信息系统的设计.doc_第1页
第1页 / 共11页
图书馆管理信息系统的设计.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《图书馆管理信息系统的设计.doc》由会员分享,可在线阅读,更多相关《图书馆管理信息系统的设计.doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、题目:图书馆管理信息系统的设计正文:引论研究背景信息技术的迅猛发展和全球经济的一体化是当今时代两个最重要的特征1。人类已经步入了一个经济发展、社会进步愈来愈多地依赖于信息的社会。信息化是当今世界发展的趋势,信息越来越成为了重要资源,成为经济发展和社会前进的重要推动力。信息量的迅速增加,信息时效性的日益增强,信息来源的不断多样化,信息传递的更加复杂化,造成了信息处理的传统方法已不能满足时代发展的需要。为了更好地完成信息的收集、加工和分析等工作,为了更有效的帮助学校或企业的运行、管理和决策,提高管理的效益和工作的效率,信息技术得到了的很大发展,并与计算机科学、现代管理科学等学科结合起来,创造出了崭

2、新的管理信息系统学科2。大学在信息化、网络化等方面具有的优势使得其在当今知识经济时代中保持特殊地位,而图书馆又是大学最重要的信息来源之一,所以一个好的图书馆的作用是非常大的。有数据资料表明,在美国有百分之八十多的信息都来自图书馆3。图书馆作为大学重要的办学支柱之一,承担着重要责任。它是学校的“文献信息中心”,其最重要职责就是对信息进行收集、存储、整理、加工和传递等。随着计算机技术的快速发展,越来越多的大学图书馆逐渐使用电脑进行自动化管理。因此,只有建立起以计算机技术、现代管理技术和信息技术相互结合的图书馆管理信息系统,才能使图书馆管理现代化、规范化、效能最大化、服务最优化4。研究图书馆管理系统

3、的目的和价值当今世界计算机技术和网络的发展及其迅速,计算机的应用已经几乎进入到了所有领域,进而引发了信息管理领域的革新,逐步实现了信息的自动化管理,提高了信息管理的性能和处理信息的效率。伴随着图书馆规模的日趋扩大,图书管藏书的数量以及有关图书的各种信息量也会跟着迅速增加。面对如此之多的信息量,传统的管理方式难以适应,除了会导致图书馆管理效率的降低还会造成图书馆管理费用以及人力物力的很大浪费,从而使图书馆管理的负担越来越沉重,影响了整个图书馆的运作效率5。因此,需要设计出更合理、更有效、更适应时代发展的图书管管理信息系统来与时俱进。作为信息化的一个重要应用,图书管管理工作中有大量的信息是可模块化

4、处理的。而图书管管理信息系统就是经过模块化处理后采用现代化的管理方式来进行管理的6,它不仅可以提升图书管管理的效率,还可以令信息的管理更规范、更科学,让图书馆更好地为学校服务。第一章 相关知识简述1.1 管理信息系统管理信息系统是一个由人和计算机组成的能够对信息进行收集、存储、加工、传送和更新的系统。它的发展是以信息科学、管理科学和系统科学为基础的。管理信息系统综合应用了计算机技术、信息技术、现代管理技术和决策技术,它与现代化的管理思想和方法相结合,对管理人员进行的管理和决策起到了辅助作用7-9。 它具有以下特点:(1)面向管理决策(2)进行全面管理(3)人机结合(4)现代管理方法和手段相结合

5、(5)多学科交叉 1.2 SQLSQL全称是Structured Query Language,它是结构化查询语言,同时更是一个具有强大功能的数据库语言。SQL语句大部分是用于完成一些数据库的操作任务,例如在数据库中对数据的检索和更新10-12。SQL语言的应用范围很广,例如:Access、Microsoft SQL Server、Oracle等数据库系统都适用它。因为SQL语言有着以下几个比较突出的优点:(1)统一的语言:SQL语句几乎可用于所有用户的数据库模型,例如数据库管理员或系统管理员、应用程序员等。SQL为许多活动提供了命令,例如:新建、修改或删除数据对象;查询数据在表中的操作过程记

6、录;保证数据库的完整性和一致性;控制对数据对象和数据的存取。(2)非过程化的语言:因为SQL一次只处理一个记录,所以它是一个非过程化的语言。SQL可操作记录集,即它可以让用户在高层的数据架构上作业,而可以不对单个记录进行操作。(3)是绝大多数关系数据库系统的公共语言:由于用SQL语言编写的程序具有可移植性,所以目前为止主要的关系数据库管理系统都支持SQL语言。用户能够通过SQL轻松的从一个关系数据库管理系统转换到另一个。1.3 Java简介Java是由Sun 公司的James Gosling和其同事合作开发的。它是通用的编程语言,它的功能很强大,不仅限于Web应用程序,还可以用于开发单独的应用

7、程序。Java是简单的、安全的、面向对象的、健壮的、分布式的、结构中立的、解释型的、高效的、多线程的。它可以嵌入在 HTML 页中,由 Web 浏览器下载,为 Web 客户带来动画和交换式的享受。由于Java是免费的,再加上其简单、跨平台、面向对象等众多优点,迅速得到了该领域人员的认同,已经成为当前应用领域最为广泛的编程语言之一13-16。第二章 系统的总体设计2.1 对系统的需求分析为了更好的了解图书馆的需求,我与本校图书馆管理人员进行了交流,基本弄清了图书馆对数据库系统的需求。对数据库设计的第一步是明确需要从数据库中得到哪些信息。明确之后,就可以知道需要保留哪些信息。在对图书的管理中,有两

8、种角色对图书进行操作,一个是管理员,另一个是读者。以下是对二者的分析:一、图书馆管理员的相关操作包括:对图书信息的管理;对读者信息的管理;处理图书的流通,包括图书的借阅与归还。二、读者的相关操作:通过管理员进行归还或借阅图书;通过网络查询个人借阅信息、图书信息以及续借图书。通过以上的的分析,确定系统需求:(1)能够完成对图书信息的添加、修改和删除等;(2)能够完成对图书流通的管理,包括图书借阅、归还等;(3)能够对读者进行管理,包括对读者信息进行添加、修改和删除等;(4)能够完成对图书信息的查询和对借阅信息的查询。2.2 系统主要功能结构本管理信息系统包括三大模块:图书借阅管理模块、数据维护模

9、块、系统维护模块。系统各个部分及其包括的功能如图2-1所示。 图书借阅管理模块:主要用于日常图书的查询以及图书的借还。数据维护模块:主要对图书的信息和读者的信息进行管理。系统维护模块:用于对用户和密码进行管理。图书馆管理信息系统图书借阅管理数据维护系统维护图书查询借书管理还书管理更改密码用户管理用户添加读者信息管理图书信息管理修改和删除信息修改添加或删除信息修改信息添加图 2-1 系统总体功能图2.3 系统流程图本图书馆管理系统的流程图如图2-2 所示。图书馆管理系统管理员登陆管理员图书借阅管理读者读者登陆系统维护数据维护查询借与还图书相关信息更改密码用户管理添加用户修改或删除工作员信息读者信

10、息管理图书信息管理添加图书修改、删除图书相关信息添加读者修改或删除读者信息图2-2 系统流程图2.4 本系统的设计开发环境在设计开发本系统时,需要具备以下条件:1、操作系统:Win72、数据库:SQL3、Java 开发包:JDK6.0第三章 数据库的设计3.1概念设计本图书馆管理信息系统使用的数据库实体包括:图书分类实体、图书信息实体、库存信息实体、图书借阅信息实体、管理员信息实体、读者信息实体。以下是几个重要实体的E-R图:图书分类实体包括:图书类别名称、类别编号、图书可借天数等属性并通过类别编号与图书信息实体建立联系。它的E-R图如图3-1所示。编号类别名称可借天数图书分类图 3-1 图书

11、分类信息实体的E-R图图书的信息实体包括:类别编号、图书名、编号、作者、出版社、出版日期、翻译、价格等属性。该实体以编号为主键,以类别编号为外键。它的E-R 图如图3-3所示。编号出版社作者价格出版日期类别编号翻译者图书名图书图3-2 图书信息实体 E-R 图库存信息实体包括:编号和库存数量并以编号与图书信息实体建立关系。它的E-R 图如图3-3所示。图书编号库存数量库存图3-3 库存信息实体的E-R图图书借阅的信息实体包括:编号、管理员编号、图书编号、读者编号、借阅日期、归还与否、归还日期等,并以编号作为该实体的标识。该实体的两个外键为读者编号和图书编号,同时以这两个外键分别与读者实体和图书

12、信息实体建立联系。图书借阅信息实体的E-R 图如图4-4所示。编号图书编号归还与否读者编号借阅日期管理员编号归还日期图书借阅图3-4 图书借阅信息实体的 E-R 图管理员的信息实体包括:编号、姓名、身份证号、年龄、电话、性别、密码、是管理员否和工作时间等属性。在性别属性中0代表男性,1代表女性;在是管理员否属性中0代表是管理员,1代表不是管理员。它的E-R图如图3-5所示。姓名编号工作时间性别密码是管理员否身份证号电话年龄 管理员图3-5 管理员信息实体的E-R图读者的信息实体包括:姓名、年龄、编号、性别、生日、电话、证件类型、证件编号、最大借书量等属性并以编号作为该实体的标识。在性别标识信息

13、中,0代表男性,1代表女性;在证件类型标识中,0代表身份证,1代表学生证,2代表工作证;最大借书量默认为5。它的E-R图如图3-6所示。编号 读者年龄生日性别姓名证件号码证件类型最大借书量电话办证日期图3-6 读者信息实体的 E-R图各实体间的E-R 图如图3-7 所示借阅记录图书分类实体读者信息实体图书信息实体库存信息管理员借阅信息实体属于属于管理借阅 1 N 1 1 1 M 1NN1图3-7 各实体间的 E-R 图3.2 逻辑结构设计将上面的概念结构转化为实际数据模型。可得下面6张表。表3-1 图书分类表列名数据类型数据长度可否为空备注typeNamevarchar 15 NO类别名称da

14、ysint4YES可借天数idint4NO编号表3-2 图书信息表列名 数据类型 数据长度 可否为空 备注bookname varchar 30 NO书名typeId int 4 NO图书类别ISBN varchar15 NO图书 ISBNwriter varcharvar 20 NO作者price money8 NO价格date smalldatetime 4 NO出版时间publisher varchar 30NO出版社translator varchar30 YES译者表3-3 库存信息表列名数据类型数据长度可否为空 备注amountint4NO库存数量ISBNvarchar12NO编号

15、表3-4 图书借阅信息表列名 数据类型数据长度可否为空备注idint4NO编号readerISBN varchar15 YES读者编号bookISBN varchar 15 YES 图书编号managerId int4YES 管理员编号borrowDate datetime 8 NO借阅日期backDate datetime 8YES归还日期isbackint4NO归还与否表3-5 读者信息表列名 数据类型数据长度可否为空备注ID Card varchar 30NO证件号码name varchar 10 NO姓名age int 4 NO年龄sex varchar 2 NO性别tel varch

16、ar 50 NO电话date datetime8 NO生日ISBN varchar13 NO编号bztime datetime 8 NO办证日期maxNum int4 NO最大借书数量zj int 4 NO证件类型表3-6 管理员信息表列名 数据类型 数据长度可否为空备注name varchar 12 NO姓名id int 4NO编号identityCard varchar 30 NO身份证号age int4NO年龄sex varchar2 NO性别password varchar 10NO密码admin bit 2NO是管理员否workdate datetime8NO工作日期tel varc

17、har 30 NO电话第四章 模块的设计及其代码4.1登录模块的设计登录模块的功能主要是完成用户的登录,用户可以直接输入正确的账号和密码进行登录。登录设计的代码如下:Public class LoginAction extends Action Private static final Log log = LogFactory.getLog(String); HttpServletRequest request,HttpServletResponse response) LoginForm loginForm = (LoginForm) form ; String loginName = lo

18、ginForm.getLoginName () ; String Password = loginForm.getpassword () ; String reqpage = request.getParameter (“pagename”) ; ActionForward actionforward = mapping.findForword (reqpage) ; Try UserService userservice = new UserServiceImpl () ; Userservice.login (loginName , password , request , respons

19、e) ; catch (ActionException e) If (e instanceof NotFindActionException) request.setAttribute (“loginerrorString” , e.getExceptionString () ; Log.debug (e.getExceptionString() ,e); return actionForward ; else if (e instanceof InvalidPasswordActionException) request.setAttribute (“loginerrorString” ,

20、e.getExceptionString () ; Log.debug (e.getExceptionString () , e) ; Log.error(e) ; return actionforward ;4.2图书流通管理的设计图书流通管理包括图书的借阅、归还等,下面是以借阅为例的设计代码:Public class BorrowSubAction extends Action Private static final Log log = LogFactory.BorrowSubAction ; HttpServletRequest request , HttpServletRespons

21、e response if ( !UserSession.isManager (request , response) return mapping.findForward (“/main”); int preBorrowNo = 0 ; String spreBorrowNo = request.getParameter(“preBorrowNo”) ; if (spreBorrowNo != null&!spreBorrowNo.equals(“”) preBorrowNo = ConvertUtil.convertInt (spreBorrowNo) ; try BorrowServic

22、e borrowservice = new BorrowServiceImpl () ; Borrowservice.borrow(preBorrowNo) ; catch (ActionException e) if (e instanceof NotFindActionException) request.setAttribute(“errorString” , e.getExceptionString() ; return mapping.findForward(“success”) ; else if (e instanceof ExistNameActionException) re

23、quest.setAttribute(“errorString” , e.getExceptionString() ; Return mapping.findForward(“success”) ; Log.error (e) ; return mapping.findForward(“success”) ;4.3图书查询模块的设计图书查询主要有三种方式:关键字查询、分类查询、全部查询。关键字查询功能设计的代码为:Public class BookQuerjyAction extends Action Private static final Log log = LogFactory.getL

24、og(BookQueryAction.class) ; HttpServletRequest request , HttpServletResponse response) String findKey = request.getParameter(“findKey”) ; if (findKey = null) findKey = “” ; int findKey = 0; String sfindKey = request.getParameter(“findType”) ; if (sfindKey != null & !sfindType.equals(“”) findType = C

25、onvertUtil.converInt(sfindType) ; PageBean pageBean = PageBean.getPageBean(request , response) ; try BookService bookservice = new BookServiceImpl ();pageResult pageresult = bookservice.findBooksByKey(findKey , findType ,pageBean) ;request.setAttribute(“findKey”,findKey); request.setAttribute(“findT

26、ype” ,findType) ; request.setAttribute(“pageresult” ,pageresult) ; catch (ActionException e) Log.error(e) ; return mapping.findForward(“success”) ;分类查询设计的代码为:Public class BookCategoryAction extends Action Private static final Log log = LogFactory.getLog(BookCategoryAction.class) ;, HttpServletReques

27、t request , HttpServletResponse response) if (!UserSession.isLogin(request , response) return mapping.findForward(“/main”); int categoryNo = 0 ; String scategoryNo = request.getParameter(“categoryNo”) ; if (scategoryNo != null & !scategoryNo.equals (“”) ) categoryNo = ConverUtil.convertInt (scategor

28、yNo) ; PageBean pageBean = PageBean.getPageBean(request , response) ; try BookService bookservice = new BookServiceImpl (); String categoryFullnname = bookservice.getCategorysFullname(categoryNo) ; int parentNo = 0; Category category = bookservice.getCategory (CategoryNo) ; if (category != null) par

29、entNo = category.getParentNo () ; List categorylist = bookservice.getCategoryBooks(CategoryNo) ;pageResult pageresult = bookservice.getBooksByCategory(categoryNo , pageBean) ; request.setAttribute(“categoryfullname” , categoryfullname) ; request.setAttribute(“parentcategoryno” , pareNo); request.set

30、Attribute(“categoryno” , categoryno) ; request.setAttribute(“categorylist” , categorylist); request.setAttribute(“pageresult” , pageresult); catch (ActionException e) Log.error (e) ; return mapping.findForward (“success”);全部查询的设计代码为:Public class BookAllAction extends Action Private static final Log

31、log = LogFactory.getLog (BookAllAction.class) ; HttpServletRequest request , HttpServletResponse response) if (!UserSession.isLogin(request , response) return mapping.findForward(“/main”); PageBean pageBean = PageBean.getPageBean(request , response) ; try BookService bookservice = new BookServiceImp

32、l (); PageResult pageresult = bookservice ; Request.setAttribute (“pageresult” , pageresult) ; catch (ActionException e) Log.error (e) ; return book.Forward (“/success”) ;4.4图书管理模块的设计图书管理包括图书的列表、修改和删除,在此以图书列表为例:Public class BookManAction extends Action Private static final Log log = LogFactory.getLo

33、g(BookManAction.class) ; HttpServletRequest request , HttpServletResponse response ) if ( !UserSession.isManager (request , response) return mapping.findForward (“/main”); pageBean pageBean = PageBean.getPageBean(request , response) ; try BookService bookservice = new BookServiceImpl (); pageResult

34、pageresult = bookservice.get bookservice(page.Bean) ; request.setAttribute(“pageresult” , pageresult) ; catch (ActionException e ) Log.error (e); return mapping.findForward(“success”) ;4.5读者管理模块的设计读者管理主要包括对读者进行列表管理以及修改和删除:Public class UserManAction extends Action Private static final Log log = LogFa

35、ctory.getLog(UserManAction.class) ; HttpServletRequest request , HttpServletResponse response ) if ( !UserSession.isManager (request , response) return mapping.findForward (“/main”); pageBean pageBean = PageBean.getPageBean(request , response) ; try UserService userservice = new UserserviceImpl () ;

36、 PageResult pageresult = Userservice.getUserService (pageBean) ; request.setAttribute(“pageresult” , pageresult) ; catch ( ActionException e) Log.error (e); return mapping.findForward(“success”) ;第五章 系统的测试系统测试是将已确定的硬件、软件和其他相应的技术结合起来,对系统进行测试。测试的目的是通过与需求进行比较,找出系统与需求不匹配的位置。系统测试是是基于实际环境对管理系统的一种多方面的测试,系统

37、测试是为了检测系统各部分是否正确地连接在一起并检验能否完成相应的功能。5.1系统的测试方法和测试过程5.1.1测试方法系统的测试方法有白盒测试和黑盒测试,它们是取长补短相辅相成的。在不同的测试阶段对不同的错误进行灵活运用。在本系统中,对于测试各个模块功能,使用白盒测试和黑盒测试相结合进行测试。并对测试出的错误进行更正,以使得测试结果符合系统要求。5.1.2 测试过程在测试过程中,若未出现错误,且结果和预期相同,则表示测试成功,满足要求;如果出现错误,则测试失败,之后先对错误进行分析,更正错误后再进行测试直到测试成功为止。本系统几个主要的功能模块测试过程如下:(1)测试登录模块运用黑盒测试和白盒

38、测试结合进行测试。测试过程中在登陆界面输入用户名为Paul、密码为paul369,然后点击登录按钮。如果密码和用户名是一致的,系统就会自动进入到主界面。如果输入密码和用户名并点击登录按钮后,系统直接退出了登录界面,并且登陆登陆界面消失,则表明这次测试失败。在此之后对出现的错误进行排查:没有登录成功,是由于主界面Visible的属性为False导致主界面没有成功连接到登录界面。据此,我在登录功能的程序中添加了“main.visible.:=true”语句,之后主界面就能成功与登录界面进行连接,并可以正常登录。(2)测试借阅与归还模块运用黑盒测试和白盒测试相结合。点击主界面中的借阅或归还,则自动显

39、示借阅或归还界面。输入用户名或用户编号,然后点击查询按钮,此时就会出现该用户借阅书籍的时间、书名和种类等信息。如果测试结果与预期相同,则表明这次测试成功;如果不同则测试失败,之后再进行纠错。(3)测试图书查询模块运用白盒测试。在打开登录界面时,输入用户名和密码进入登录界面,然后点击查询,系统弹出图书查询界面,此时先点击条件查询,然后界面就会出现与图书查询有关的项目,再在下拉菜单单中选择图书作者或名称,输入图书作者或书名等信息,点击查询,就会得到查询信息,之后再点击查询图书全部信息按钮,就可以查询到图书的全部信息。 当系统能按照查询的条件顺利查询到图书的相关信息时,则说明测试成功。(4)测试读者

40、模块运用白盒测试法。首先登录到主界面,然后点击读者身份按钮进入管理界面。在相应位置输入对应的查询条件,读者信息可以是编号也可以是人名,然后点击搜索按钮。若数据库中存在该查询条件,则该读者的信息就会显示在界面上。如果该读者的信息没有显示出来,则测试失败。总结本设计采用SQL 数据库并以Java为开发工具,设计了一个简单的图书馆信息管理系统。系统首先进行了需求分析,并将该系统的部分模块进行了说明,然后用工具语言进行设计。本系统的设计能够对图书信息和读者信息进行查询、能够实现图书借阅和归还功能。基本满足图书管理要求。经过对此系统的构思和设计,我充分认识到实践相对于理论学习的巨大不同以及实践的重要性,更深感自己的水平不足。经过对系统的设计,我对大学期间所学到的知识有了更好的认识并收获了在解决实际问题的过程中该如何更好的运用专业知识。这次设计让我重温了以前学过的知识,也让我深刻的认识到专业知识和实践的重要性。图书管管理信息系统是信息化时代中一个保持良好发展的应用领域,我相信随着世界的不断发展,会产生更高层次的需求,紧随其后更高层次的图书馆管理信息系统也将会出现并会更好更有力的推动科技和社会的发展。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com