图书馆管理信息系统(基于JAVA和MySQL).doc
《图书馆管理信息系统(基于JAVA和MySQL).doc》由会员分享,可在线阅读,更多相关《图书馆管理信息系统(基于JAVA和MySQL).doc(16页珍藏版)》请在咨信网上搜索。
图书馆管理系统设计与实现 目 录 一、需求分析 1 1.1 需求概述 1 1.2 功能分析 1 1.3开发平台 2 1.4数据库需求分析 2 二、数据库逻辑设计 3 2.1 ER图 3 2.2 将E-R模型转换为关系模型 4 2.2 将关系模型转化为表结构 4 2.2.1用户信息表 4 2.2.1图书信息表 5 2.2.1借阅登记表 6 三、数据库物理设计 7 3.1 索引 7 3.2 视图 7 3.3 安全机制 8 四、应用程序设计 9 4.1 管理员功能模块 9 4.1.1 系统管理模块 9 4.1.2 借阅管理模块。 9 4.1.3 图书管理模块 10 4.2.读者模块 10 4.2.1 读者信息管理模块 10 4.2.2 图书检索模块 10 4.3 界面设计 11 五、测试和运行 13 六、总结 14 一、需求分析 1.1 需求概述 图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息、挂失信息进行管理,及时了解各个环节中信息的变更,有利于管理效率的提高。 一个图书馆有若干个图书管理员,每个管理员用唯一的编号标识,并作为其身份验证的用户名,管理员的其他信息主要包括密码、姓名等。 一个图书馆有若干书籍由国标书号(ISBN)惟一标识。书籍需要记录的其他主要信息有书名、作者、出版社、出版年限、价格、图书类型、索书号、馆藏位置等。 在从图书馆借阅图书之前,读者必须进行有效的注册,包括读者编号、类型、姓名、性别、登陆密码等。读者编号惟一标识读者身份。可以将读者加入黑名单,加入黑名单的读者不能再次借书。 读者归还图书后需保留借阅历史记录,其中包括的信息有图书编号、读者编号、借阅日期、归还日期等。图书丢失须进行挂失登记, 将原有借阅记录状态改为已挂失并且添加丢失日期等信息。 1.2 功能分析 ※ 用户信息管理(用户信息包括管理员及读者信息) 添加用户信息 删除用户信息 修改用户信息 查询用户信息 修改用户密码 ※ 图书信息管理 添加图书信息 删除图书信息 修改图书信息 查询图书信息 ※ 图书借阅管理 添加借阅信息 修改借阅信息 查询借阅信息 图书挂失登记 1.3开发平台 开发工具:eclipse + JDK1.6 + Struts2.3 + Spring3.2 + MyBatis3.2 开发语言:Java、Python 数 据 库:MySQL 5.0 系统环境:Windows 7 + Tomcat 7 1.4数据库需求分析 ※ 用户信息:用户编号、账号、密码、姓名、性别、员工号/学号、年级、用户类型、用户状态 ※ 图书信息:图书编号、书名、副标题、原书名、封面、作者、译者、出版社、页数、价格、装帧、馆藏位置、出版日期、目录、作者简介、图书简介、入库日期、豆瓣评分、图书状态 ※ 借阅信息:操作员编号、读者编号、图书编号、借阅日期、借阅天数、归还日期、挂失日期、备注、借阅状态 二、数据库逻辑设计 2.1 ER图 图1 图书馆管理系统ER模型图 上图是图书馆管理系统的概念模型的ER图,涉及到的实体集有: 管理员实体集:具有属性管理员编号、账号、密码、员工号、姓名、性别、状态。 读者实体集:具有属性读者编号、账号、密码、学号、姓名、性别、状态。 图书实体集:具有属性图书编号、名称、副标题、原名、作者、译者、ISBN、价格、页数、装帧、馆藏位置、出版社、出版日期、作者简介、目录、图书简介、封面、入库日期、状态。 借阅记录实体集:具有属性借阅编号、操作者(管理员)、借阅者(读者)、所借图书、借阅日期、借阅天数、归还日期、丢失日期、备注、状态。 一个读者可以借阅多本图书,一个操作员可以登记多个图书借阅记录,管理员、读者及图书是M:N:P多对多的关系。 为简化数据库设计,不在重复设置丢失表,读者丢失图书时,借阅记录转化为丢失记录,借阅记录中状态设为2的为丢失记录。同理将管理员表和读者表合二为一,增加用户类型字段,用户类型为0表示读者信息,用户类型为1表示管理员信息。 2.2 将E-R模型转换为关系模型 (1) 管理员实体集可以转换为关系 管理员(编号,账号,密码,员工号,姓名,性别,状态) (2) 读者实体集可以转换为关系 读者(编号、账号、密码、学号、姓名、性别、状态) (3) 图书实体集可以转换为关系 图书(编号、名称、副标题、原名、作者、译者、ISBN、价格、页数、装帧、馆藏位置、出版社、出版日期、作者简介、目录、图书简介、封面、入库日期、状态) (4) 借阅实体集可以转换为关系 借阅记录(编号、操作者、借阅者、所借图书、借阅日期、借阅天数、归还日期、丢失日期、备注、状态) 2.2 将关系模型转化为表结构 2.2.1用户信息表 n 表 名:user n 功能描述:记录管理员、读者信息 n 字段说明: 字段名称 类型 P F M 说明 userid int(11) √ √ 用户编号,自增 username varchar(30) √ 账号 password varchar(30) √ 密码 realname varchar(30) √ 姓名 sex varchar(4) √ 性别 employeeid varchar(30) √ 员工号/学号 maxnum int(11) √ 最大可借数目(预留) borrowednum int(11) √ 已借数目(预留) grade varchar(50) 年级 usertype int(11) √ 类型,0读者;1管理员 status int(11) √ 状态,0正常;1失效 2.2.1图书信息表 n 表 名:book n 功能描述:记录图书信息 n 字段说明: 字段名称 类型 P F M 说明 bookid int(11) √ √ 图书编号,自增 bookname varchar(255) √ 书名 subheading varchar(512) 副标题 oldname varchar(512) 原名 thumb varchar(255) 封面 bookconcern varchar(255) 出版社 pages varchar(40) 页数 price varchar(40) 价格 bound varchar(40) 装帧 author varchar(255) 作者 translator varchar(255) 译者 isbn varchar(40) √ ISBN号 pubdate varchar(20) √ 发布年份 score decimal(4) 评分 catalog text(0) 目录 authorintro text(0) 作者简介 description text(0) 简介 location varchar(100) √ 馆藏位置 adddate date(0) √ 入库日期 status int(11) √ 状态: 0 正常可借 1 已借出 2已挂失 2.2.1借阅登记表 n 表 名:borrow n 功能描述:记录图书借阅、图书归还、图书挂失等信息 n 字段说明: 字段名称 类型 P F M 说明 borrowid int(11) √ √ 借阅流水号,自增 borrowerid int(11) √ √ 借阅者编号(外键user表) bookid int(11) √ √ 图书编号(外键book表) operatorid int(11) √ √ 操作员编号(外键user表) borrowdate date √ 借阅日期 borrowdays int(11) √ 借阅天数 returndate date 归还日期 losedate date 丢失日期 remark text 备注 status int(11) √ 状态,0未归还 1已归还 2已挂失 三、数据库物理设计 3.1 索引 表 建立索引的列 原因 user userid 主键,搜索条件 username 搜索条件 employeeid 搜索条件 book bookid 主键,搜索条件 isbn 搜索条件 status 搜索条件 borrow borrowid 主键,搜索条件 operatorid 外键,搜索条件 borrowerid 外键,搜索条件 bookid 外键,搜索条件 status 搜索条件 3.2 视图 1) 该系统需经常查询某个读者当前借阅书刊的详细信息,为简化多表查询,故建立视图view_borrow,该视图定义如下: CREATE view view_borrow as select `borrow`.`borrowid` AS `borrowid`,`borrow`.`borrowerid` AS `borrowerid`,`borrow`.`bookid` AS `bookid`,`borrow`.`operatorid` AS `operatorid`,`borrow`.`borrowdate` AS `borrowdate`,`borrow`.`borrowdays` AS `borrowdays`,`borrow`.`returndate` AS `returndate`,`borrow`.`remark` AS `remark`,`borrow`.`status` AS `status`,`book`.`bookname` AS `bookname`,`book`.`isbn` AS `isbn`,`borrower`.`realname` AS `borrowername`,`borrower`.`employeeid` AS `employeeid`,`operator`.`realname` AS `operatorname` from (((`borrow` join `book`) join `user` `borrower`) join `user` `operator`) where ((`borrow`.`bookid` = `book`.`bookid`) and (`borrow`.`borrowerid` = `borrower`.`userid`) and (`borrow`.`operatorid` = `operator`.`userid`)) 3.3 安全机制 1) 系统安全 并没有给每个数据库用户分配一个认证标识,均使用超级用户root连接数据库,数据库用户所能做的操作在应用程序中加以控制,来保证系统安全。 2) 数据安全 基本上没有用户对基本表和视图操作的权限控制,这些均在应用程序中加以控制,来保证数据安全。 四、应用程序设计 4.1 管理员功能模块 图2 图书馆管理系统功能模块 4.1.1 系统管理模块 用户查询,根据用户编号、账号、姓名、工号、学号、类型、状态检索用户详细信息; 添加新用户时,系统自动生成用户编号,输入用户的其他相关信息,提交即可添加新用户。删除读者时,若该读者存在借阅图书未还的情况,则系统提示暂无法删除。 4.1.2 借阅管理模块。 功能包括检索借书登记,还书登记和书刊挂失登记。 1)借书登记 读者借阅图书时,管理员输入读者编号,可查询读者的详细信息;输入要借阅书刊的编号或者ISBN号,可核实该书的详细信息;点击提交借书请求。结束成功后,该读者当前借阅信息将添加新借阅书刊,令管理员方便的核实提交是否成功。 以下几种情况任意一种情况发生,读者都暂时无法借书: ①该读者当前借阅量已达最大借阅量; ②该读者有借阅图书已超期未归还; ③该读者被加入黑名单的。 2)还书登记 读者归还书刊时,只需输入书刊号,可查询该书的借阅信息,点击还书提交还书请求填写相关的信息后提交,书刊成功归还,其他读者可以借阅。 3)书刊挂失 借阅书刊遗失,读者可进行挂失。挂失操作时,只需输入读者编号,即可查询读者当前借阅书刊的详细信息,每条记录后附有挂失一栏,读者确认挂失某本书刊,管理员只需点击挂失一栏,填写相关信息后提交,挂失成功,借阅记录状态改为已挂失,图书状态改为已挂失,其他读者不可借阅此书。 4.1.3 图书管理模块 功能包括检索图书详细信息,添加图书信息,修改图书信息,删除图书信息。 图书检索,根据图书编号,ISBN,图书名称、图书作者、馆藏位置、发行日期进行模糊查询,输入检索条件后单击检索即可检索得到相应图书详细信息。该信息还包括图书馆藏位置、是否可借的情况。 添加新书时,输入书刊的相关信息,为了减少图书编目输入的复杂度,系统提供根据ISBN号从互联网豆瓣读书获取图书信息功能,大大减少管理员输入图书详细信息时的效率。 删除指定书刊时,输入书号可查询书刊详细信息,若当前书刊有外借副本,则系统提示暂无法删除;点击提交删除请求,则删除该书刊的相关信息。 4.2.读者功能模块 4.2.1 读者信息管理模块 读者可查看个人信息,并修改个人密码。 4.2.2 图书检索模块 读者可以根据图书编号,ISBN,图书名称、图书作者、馆藏位置、发行日期进行模糊查询,输入检索条件后单击检索即可检索得到相应图书详细信息。该信息还包括图书馆藏位置、是否可借的情况。读者检索到想要借阅的图书信息后记录图书编号、ISBN等信息,到图书馆前台提供以上信息进行图书借阅。 4.3 界面设计 界面设计风格简单明了,朴实自然,便于操作。尽可能列表直接显示查询结果,避免数据的输入,方便用户使用。 图3 图书入库界面 图4 图书管理界面 图5 图书借阅管理界面 图6 图书借阅登记界面 图7 用户管理界面 五、测试和运行 分别用管理员用户root,密码admin和读者用户sunshine,密码123456登录图书馆管理信息系统。登录成功后,分别进入管理员业务界面和读者我的图书馆界面。 通过python写的爬虫工具从豆瓣读书抓取了近5000条图书信息作为初始化测试数据。 在图书检索界面通过输入ISBN等检索条件进行检索,系统响应时间在200ms, 响应时间非常快。如下图: 通过root、sunshine账号对图书借阅、归还、挂失进行了测试,流程均可以跑通,对于黑名单用户、已挂失图书均做了相应的逻辑处理。 六、总结 在这次数据库系统原理大作业的事件过程中,确实有很多收获。通过这次课程设计把上学期的java课程学到的东西也应用到了实践过程之中。还学习使用了java流行的框架结构struts、spring、mybatis等。虽然只是一个简单的DEMO系统,有些系统逻辑尚有欠缺,并不能实际应用,但是从数据库的设计到编码实现,这个过程中还是学到了不少东西。另外从豆瓣读书获取图书详细信息是此图书馆管理系统的一大创新,目前市场上流行的图书馆管理系统在成千上万图书集中入库时需要N多编辑人员对图书信息进行人工录入,费时费力而且录入信息不一定准确。随着豆瓣读书、当当网、卓越网的流行,互联网上存在着大量的图书详细信息,图书入库时从这些互联网上根据ISBN直接获取图书详细信息供录入人员参考将会大大减少图书信息录入的工作量,大大提高录入人员的工作效率,大大增强图书信息录入的准确度。 但是由于本学期课程较多,时间较紧,此图书馆管理系统的某些逻辑设计的非常简单,比如每种图书都需要有副本管理,每个副本都有唯一条码确定,读者借书时只需要提供条码号即可;图书挂失后应该会有相应的赔偿,如果没有赔偿则读者的信誉度降低不能再次借阅图书;每个读者都应该有相应的借阅图书数目的限制,超过此数目后将不能借书;读者没有图书归还超限以后将不能借书等等。 我们认为此次数据库原理大作业的实践是对我们下学期毕业设计及毕业论文的编写的一个热身,对我们高质量的顺利的完成毕业设计产生了非常积极的作用,借此机会感谢杨老师的悉心教导! 14- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理信息系统 基于 JAVA MySQL
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文