软件毕业论文:信息系图书管理毕业论文.doc
长沙商贸旅游职业技术学院毕 业 设 计题 目 图书管理系统 学生姓名 XXX 学号200904033104系 部 信息技术系 专 业 软件 班级 931 导师姓名 何伟 职称 助讲 完成时间 2012年5月 摘 要随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多系统的经营管理 。图书管理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。本系统中包含6个功能模块:系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。本系统使有jsp进行网页界面的设计,使用MVC设计模式,采用了开源框架Struts,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是mysql,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。关键词:图书管理;信息管理;jsp;strutsAbstract With the progress of science and technology, the astonishing rapid development of the computer industry has been improving people's working efficiency greatly.The introduction of computerized information system has sharply changed the management in many systems in many fields. The management system of the library takes an important role in the administration of school organization. I desigen the system after the thorough investigations about the library management systems mechanism. This system contains with reader informantion management model, book information management model, books borrowing and returning including system information query and password setting.The system is contrived with Java Server Pages Techonolege as well as Struts,the software design mode of MVC with open source framework techonolege, which makes this system have the advantages of efficiently designed with beauteous and friendly interface . This system use jdbc driver to connect the mysql database server,which is also an open source database system for its users. The batabase was desigend with highly integrity, security, and consistency.Key words: book management, management of information ,jsp,struts目 录摘要2英文摘要3一.总体设计61.1数据库设计61.1.1数据库设计概述61.1.2图书信息表结构设计71.1.3图书类型信息表结构设计81.1.4 读者信息表结构设计81.1.5读者类型信息表结构设计91.1.6图书借阅信息表结构设计101.1.7图书归还信息表结构设计101.1.8用户信息表结构设计111.1.9图书馆信息表结构设计111.1.10办证参数信息表结构设计112.1、系统总体结构设计121.2.1图书管理系统总体结构图121.2.2 系统管理员模块功能131.2.3 读者管理模块功能131.2.4 图书管理模块功能141.2.5 图书借还模块功能151.2.6 系统查询模块功能16二.程序设计与编码182.1开发平台与工具182.1.1 J2EE平台182.1.2WEB服务器和数据库182.2程序设计192.2.1程序设计概述192.2.2数据库与Web服务器的连接192.2.3登录模块程序设计212.2.4系统管理员功能模块的实现232.2.5读者管理功能模块的实现242.2.6查询功能模块的实现252.2.7图书管理功能模块的实现272.2.8图书借还功能模块的实现28三.软件测试313.1 软件测试的方法与步骤313.2 测试用例设计与测试用例的运行过程及测试结果分析323.3模块测试323.4集成测试333.5 验收测试34结论34结束语35参考文献36一.总体设计1.1 数据库设计1.1.1数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述5。整个系统所包括的信息有图书信息、读者信息、留言信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:1)图书信息(编号,图书名称,图书类型,作者,译者,ISBN号,价格,出版社,所在书架,入库时间,操作员)2)图书类型(编号,名称,可借阅天数)3)读者信息(编号,姓名,性别,条形码,读者类型,出生年月,有效证件,证件号码,登记日期,电话,邮箱,操作员)4)读者类型(名称,可借阅图书本数)5)图书借阅信息(图书编号,读者ID,借出时间,应还时间,是否归还,操作员)6)图书归还信息(图书编号,读者ID,归还时间,操作员)7)用户(编号,用户名称,密码)8)图书馆信息(编号,名称,馆长,电话,地址,邮箱,创建日期,简介)图书馆参数信息(编号,办证费用,有效期限)注:带下划线表示主键在这里使用E-R图描述了图书借阅管理系统的数据模型。图1图书借阅管理系统E-R图描述了该系统所涉及到的实体以及他们之间的关系。具体结构如下图所示:图1 系统E-R 图1.1.2图书信息表结构设计图书信息表主要用于存储图书馆中所藏图书的相关信息,其中。表的具体结果如下:表2图书信息表tb_bookinfo字段名称数据类型字段长度是否为空说明barcodevarchar30NoKeybooknamevarchar70No authorvarchar30Yes作者translatorvarchar30Yes译者ISBNvarchar20Nopricefloat8,2No 图书价格bookcasevarchar10No图书所在书架pressvarchar70No 出版社intimedateNo 图书入库时间operatorvarchar30No 操作员pageint10Yes 图书页码1.1.3图书类型信息表结构设计 该表的设计主要是方便对图书的分类,和对图书的查询,在实际应用中,表的具体结构设计如下:表3图书类型信息表tb_booktype字段名称数据类型字段长度是否为空说明ID int10NoKeybooknamevarchar30No daysint10No 可借阅天数1.1.4 读者信息表结构设计读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者ID。表的具体结构设计如下:表4读者信息表tb_reader字段名称数据类型字段长度是否为空说明Idint10NoKeynamevarchar20No sexvarchar4No barcodevarchar30No readertypevarchar11No读者类型telvarchar20Yes 电话e-mailvarchar100Yes paperTypevarchar10No 证件类型PaperNO.Varchar20No 证件号码birthdaydateYes intimedateNo 登记时间operatorvarchar30No 操作员1.1.5读者类型信息表结构设计此表的设计是为了对不同身份的读者进行分类方便读者的管理,其中,表的具体结构设计如下:表5 读者类型信息表tb_readertype字段名称数据类型字段长度是否为空说明ID int10NoKeyreadernamevarchar50No numberint4No 可借图书本数1.1.6图书借阅信息表结构设计该表的设计是用于对读者借阅图书进行管理,表中,表的具体结构设计如下:表 6 图书借阅信息表 tb_borrow字段名称数据类型字段长度是否为空说明ID int10NoKeyreaderIDvarchar10No bookIDint10No borrowTimedateNo 结出时间backTimedateNo 应归还时间operatorvarchar30No 操作员ifbacktinyint1No 是否归还1.1.7图书归还信息表结构设计与图书借阅信息表形成对照的是图书归还信息表,该表的表的具体结构设计如下:表 7图书归还信息表tb_giveback字段名称数据类型字段长度是否为空说明ID int10NoKeyreaderIDvarchar11No bookIDint11No backTimedateNo 归还时间operatorvarchar30No 操作员1.1.8用户信息表结构设计该表的设计用于记录图书管理系统用户的信息,方便,表的具体结构设计如下:表 8系统用户信息表tb_user字段名称数据类型字段长度是否为空说明ID int10NoKeynamevarchar30No passwordvarchar30No 1.1.9图书馆信息表结构设计该表包含了图书馆的名称,地址,联系方式,建馆时间,简介,表的具体结构设计如下:表9图书馆信息表 tb_library 字段名称数据类型字段长度是否为空说明ID int10NoKeylibrarynamevarchar50No curatorvarchar10No telvarchar20Yes 结出时间addressvarchar100No 应归还时间e-mailvarchar100No urlvarchar100No 图书馆网站createDatevarcharNo 创馆时间introducetextYes 图书馆简介1.1.10办证参数信息表结构设计该表是为校外人员设计的,对于需要,表的具体结果设计如下:表10图书证参数信息表tb_parameter字段名称数据类型字段长度是否为空说明ID int10NoKeyCostint10No 办证费用validityint10No 有效时间2.1 系统总体结构设计该系统在Windows98/2000/XP环境下,主要采用JSP开发工具,。1.2.1图书管理系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图8。系统结构图。本系统的结构图如下:图11系统总体结构图根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:系统管理员功能模块,读者管理功能模块,图书管理功能模块,图书借还功能模块;系统查询功能模块8。1.2.2 系统管理员模块功能该模块主要包括图书馆信息设置,用户管理,参数设置,书架设置。1.图书馆信息设置2.用户设置3.图书馆参数设置1.2.3 读者管理模块功能该模块主要包含读者类型管理和读者信息管理两个子模块:1. 读者类型管理2. 读者信息管理1.2.4 图书管理模块功能 图书管理功能模块可分为图书类型管理和图书信息管理两个子模块,其各自的实现分别如下面表中所示:表12 图书类型管理描述图书类型管理功能描述对图书进行类型设置分类,并对不同类型图书可被借阅的天数进行设置访问的数据库表图书类型表:tb_bookType进行的操作添加、修改、删除图书类型,对不同类型图书可被借阅的天数进行设置产生的结果 对图书类型进行管理,对不同类型图书参数进行设置结果存储位置或输出 结果存储在图书类型表(tb_bookType)中,结果在图书类型查询页面输出表13 图书信息管理描述图书信息管理功能描述对图书进行基本操作和信息管理访问的数据库表图书类型表:tb_bookType进行的操作添加、修改、删除图书,对图书的编号、所在书架、价格、出版社等基本信息进行管理产生的结果 对图书基本操作管理,对不同图书参数进行各自信息的设置管理结果存储位置或输出 结果存储在图书类型表(tb_book)中,结果在图书查询页面输出1.2.5 图书借还模块功能该功能模块主要实现对读者借阅、续接、归还图书的操作,其中子模块各自的描述如下各表所列:表14 图书借阅描述图书借阅管理功能描述对读者借阅图书进行基本操作和信息管理访问的数据库表图书信息表: tb_bookinfo读者信息表:tb_reader读者类型信息表:tb_resderType进行的操作对读者借阅图书进行管理产生的结果 读者借阅成功,系统对借阅信息进行记录结果存储位置或输出 结果存储在图书借阅表(tb_borrow)中,结果在图书借阅查询页面输出表15 图书续借描述图书续接管理功能描述对读者借阅图书进行提续接操作访问的数据库表图书借阅表: tb_borrow进行的操作对借阅的图书进行续接产生的结果 读者归还日期延后一个月结果存储位置或输出 结果存储在图书借阅表(tb_borrow)中表16图书归还描述图书归还管理功能描述对读者归还图书进行基本操作和信息管理访问的数据库表图书借阅信息表: tb_borrow读者类型信息表:tb_resderType进行的操作对读者借阅图书进行管理产生的结果 读者借阅成功,系统对借阅信息进行记录结果存储位置或输出 结果存储在图书归还表(tb_giveback)中1.2.6 系统查询模块功能该模块包括对图书馆藏书进行查询,对读者借阅情况进行查询,以及对借阅到期和超期的读者进行提醒的信息,其中三个子模块的各自实习如下所示:表17 图书查询描述图书查询功能描述系统用户对馆藏图书信息进行查询操作访问的数据库表图书信息表: tb_book进行的操作用户通过图书的编号,作者,出版社等信息对图书进行相关查询产生的结果 读者查询到相应的图书或系统提醒查询的图书不存在结果存储位置或输出结果在图书查询页面输出表18 图书借阅查询描述图书借阅查询功能描述系统用户对读者借阅图书信息进行查询操作访问的数据库表图书借阅表: tb_borrow进行的操作用户通过图书的编号,读者编号等信息对摸个读者或某本图书的借阅情况进行相关查询产生的结果 查询到相应的读者或图书得借阅情况结果存储位置或输出结果在图书查询页面输出表19 图书借阅到期提醒描述图书借阅到期提醒管理功能描述对读者借阅的到期图书进行提醒访问的数据库表图书借阅表: tb_borrow图书归还表:tb_giveback读者信息表:tb_reader读者类型信息表:tb_resderType进行的操作对借阅到期和超期的读者进行提醒产生的结果 向借阅到期和借阅超期的读者发送邮件等提醒信息结果存储位置或输出 结果存储在图书借阅到期提醒表二.程序设计与编码2.1开发平台与工具2.1.1 J2EE平台 J2EE ,即是Java2平台企业版(Java 2 Platform Enterprise Edition),是原Sun公司(现已被甲骨文公司收购)。 在开发图书馆借阅管理系统的过程中,应用Myeclipse6.0.1,它可以。2.1.2 WEB服务器和数据库在系统的开发过程中使用的Web应用服务器是Tomcat,是。 使用MySQL作为数据库开发工具。MySQL是一个。为了开发的便捷快速,使用struts第三方插件。Struts是开发系统用的系统工具如表20所示:表20 系统开发平台和工具工具名称用途JDK 1.6.0_11MyEclipse MySQL 5.0SQLYog 6.1Tomcat 6.0Struts 1.0Java 开发工具包J2EE集成开发环境小型关系数据库管理系统MySQL图形化数据库管理工具Web应用服务器第三方插件,可扩展的Java EE Web框架2.2程序设计2.2.1程序设计概述在设计的Web层应用了著名的MVC模式,。在设计中还因应用了Struts框架,Struts跟。 除此之外,。2.2.2数据库与Web服务器的连接 数据库连接时采用连接池技术链接MySQL,具体代码实现如下: public ConnDB() try InputStream in=getClass().getResourceAsStream(propFileName); prop.load(in);/通过输入流对象加载Properties文件 dbClassName = prop.getProperty("DB_CLASS_NAME");/获取数据库驱动 dbUrl = prop.getProperty("DB_URL", "jdbc:mysql:/127.0.0.1:3306/db_librarySys?user=root&password=123&useUnicode=true"); catch (Exception e) e.printStackTrace();/输出异常信息 2.2.3登录模块程序设计本模块主要是用户通过图书管理系统的首页登录进入该系统。用户输入。图21 图书管理系统登录首页用户在登录页面写好用户名和密码,选择登录,登录成功则图22用户登录流程图2.2.4系统管理员功能模块的实现本模块中最主要的是管理系统用户,设置。其中系统管理员读系统用户进行管理的操作页面如下图所示:图23 系统管理员管理用户操作界面其中对系统用户权限的设置是该操作的重要部分也是系统提高效率的关键所在,起具体实现代码为:private ActionForward managerModify(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) ManagerForm managerForm = (ManagerForm) form;managerForm.setId(managerForm.getId(); /获取并设置管理员ID号2.2.5读者管理功能模块的实现读者管理主要实现对读者的类型管理和信息管理两个功能子模块,其中,其各自操作界面如下所示:1) 读者类型管理功能界面:图24 读者类型管理操作界面2)读者信息管理功能界面:图25 读者信息管理界面 该管理功能在设置读者信息时需要输入读者姓名,性别,条形码,选择读者类别,有效证件,证件号码,电话,e-mail等信息。其中的姓名,性别,条形码,证件号码是必填选项。2.2.6查询功能模块的实现查询功能模块包括图书查询,读者借阅查询和借阅到期提醒三个子功能模块。1) 图书查询可根据图书的条形码,书名,作者,出版社等不同信息进行查询,其操作界面图下图所示:图26 图书查询操作界面 实现该功能中根据读者不同需求的按条件查询实现语句如下:public Collection query(String strif)2)借阅查询子模块是对图书当前状态和读者当前的借阅情况进行查询,具有此权限,查询某个时间段内的此子功能操作界面为:图27借阅查询操作界面系统中同时选中日期和限制条件进行查询时,程序是在条件查询的基础上选中符合时间条件限制的内容,其实现代码为:if (flag.length = 2) 3) 借阅到期提醒子模块是将系统当前时间与应归还的时间进行比较,如果系统当前时间以超过图书应归还时间,相应的读者借阅信息便会被显示在借阅到期提醒界面,其界面为:图28 借阅到期提醒2.2.7图书管理功能模块的实现与读者管理模块类似,图书管理模块也分为图书类型管理和图书档案管理。这两个子模块的操作界面为:1) 图书类型管理界面:图29 图书类型管理界面2) 图书档案管理界面:图30 图书档案管理界面图书档案中包含图书的条形码,图书名称,图书类型,作者,译者,价格,出版社,所在书架等图书基本信息,其中作者,译者,页码是备选信息,可以不填。2.2.8图书借还功能模块的实现该功能模块可分为图书借阅,图书归还,图书续借三个子模块.1)图书借阅。该:图31 图书借阅操作界面如果在借阅时所要借阅的图书不存在或者读者借阅已达借阅图书的上线,则读者不能接续借阅图书,系统将给出相应提示,此功能的实现代码为:private ActionForward bookborrow(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)2)图书归还。该子模块实现系统的图书归还功能,读者向图书管理员提供自己的编号会显示出读者当起的借阅情况,再提供要归还的图书标号,图书管理员将信息记录在系统中,归还成功,其操作界面如下图:图32 图书归还操作界面三.软件测试3.1.1 软件测试的方法与步骤该系统在本地服务器上进行运行和调试,对系统进行白盒测试和黑盒测试。在开发软件系统的过程中,需要面对错综复杂的问题,因此要发现一个发现其中尚未发现的错误。本系统的测试阶段信息流程下图所示15。图33 测试阶段信息流程图为了设计出有效地测试方案按照下面准使之达到要求的可靠性15。按照软件工程的观点,软件测试(主要是指多模块程序的测试)共包括4个层次。1)单元测试。2)集成测试和确认测试。3)验证测试。在。在整个测试中,采用了白盒测试和黑盒测试相结合的方法。3.2.测试用例设计与测试用例的运行过程及测试结果分析3.3模块测试1)登录模块测试表34登录模块用例测试用例测试数据预期结果UC1:输入正确的用户名和密码用户名:admin密码:admin系统跳转到登陆成功页面UC2:输入空用户名用户名:请输入用户名UC3:输入用户名和空密码用户名:admin 密码:请输入密码UC4:输入用户名和错误的密码用户名:admin 密码:321ff您输入的用户名或密码错误当用户输入的用户名或密码错误是系统会跳转到出错页面并提示“您输入的用户名或密码错误”,用户点击确定,系统会重新返回登陆页面,其中错误信息提示页面如图34所示:图35系统出错提示页面 2)更改密码模块测试用户登录系统后可对自己的登录密码进行更改,更改过程要求用户提供原始密码,输入新密码,重新输入新密码进行确认,如果用户输入的原始密码错误,或两次输入的新密码不一致将无法执行密码更新操作,系统会给出相应的提示,起显示页面为:图36 两次密码不一致提示页面3.4集成测试把经过单元测试的模块放在一起形成一个子系统,下图为管理员操作的读者借阅模块成功运行界面:图37 图书管理员子系统功能测试截图把经过测试的子系统装配成一个完整的系统进行测试,经过黑盒测试个环节的操作整个系统的功能基本实现成功运行。3.5 验收测试在进行了以上的测试工作后,将整个软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,系统的各个功能实现都达到了系统需求设计的要求。结论测试过程严格按照测试的流程,经过单元测试、子系统测试和系统测试。通过单元测试,查找出了系统各模块内部的错误;通过子系统测试,发现了模块间相互协调和通信上的错误;通过系统的集成测试,发现了软件设计过程中存在的错误。通过改正错误的设计和实现部分,保证了图书借阅管理系统可以完成需求分析中制定的需求16。从上面的测试中可以看出,另外一方面也验证了修改后的系统能够实现提高图书馆工作效率的预期目的。结束语在MyEclipse开发环境下,以J2EE为平台,运用JSP网络编程语言和Struts框架和MySQL数据库完成了B/S模式的图书馆借阅管理系统。系统基本上实现了,该系统能够实现:1.读者在本系统的应用下可实。2.图书馆工作人员能够实现方便的对图书进行查询,方便。3.系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行等操作功能。参考文献1 王立福. 软件工程(第二版)M. 北京:北京大学出版社.2002.2 张秋余,杨玥. 基于用例的需求建模方法J. 计算机工程与设计,2006,19:3539-3541.3 MattheMacDonal.管理信息系统J.电子工业出版社.2003.Vol.3(8):102-108. 4 张秋余,杨玥. 基于用例的需求建模方法J. 计算机工程与设计,2006,19:3539-3541.5 John W. Satzinger, Robert B. Jackson, Stephen D. Burd. Z. 北京:人民邮电出版社, 2008.6 王珊,萨师炫.数据库系统概论(第三版)M. 北京:高等教育出版社.20027 张海潘.软件工程J.清华大学出版社.2003年11月8 张波. 网络答疑系统的设计与实现D. 长春:吉林大学软件学院,2005.9 陆荣幸,郁洲. J2EE平台上MVC设计模式的研究与实现J. 计算机应用研究,2003,03:144-146.10 孙卫琴,李洪称. Tomcat与Java Web开发技术详解M. 北京:电子工业出版社,2003.11 何成万,余秋惠. MVC模型2及软件框架Struts的研究J. 计算机工程,2002,06:274-276.12 Marty Hall,Larry Brown著,赵学良译. Servlet与JSP核心编程(第2版)M. 北京:清华大学出版社,2004.13 戴继周. 基于Web的网络教学平台的设计与实现D. 长春:吉林大学计算机应用技术专业,200414 尹朝庆. 计算机系统结构教程M. 北京:清华大学出版社.2005.15 张海藩. 软件工程导论(第四版)M. 北京:清华大学出版社,2003.16 张维明. 信息系统原理与工程. 电子工业出版社. 2002年1月毕业论文(设计)诚信声明 本人郑重声明:所呈交的毕业论文(设计)是本人在指导教师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。(四号宋体)作者签名: 年 月 日