




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安徽工业大学 毕业设计 论文 说明书 I 装 订 线 摘 要 本文介绍了在 Java 运行环境下开发图书管理信息系统的过程 文章介绍了图书 馆管理信息系统的系统分析部分 包括可行性分析 图书借阅流程分析等 系统设 计部分主要介绍了系统功能设计和数据库设计及代码设计 系统实现部分说明了几 个主要模块的算法 本系统界面友好 操作简单 比较实用 本系统采用了 JSP 页面的设计 使用了 MVC 模式 它采用了当今软件设计的最 新技术 具有开发效率高 设计灵活 生成的软件界面友好美观等特点 本系统中 通过 JDBC 驱动和数据库进行无缝连接 后端的数据库是 SqlServer 2005 该数据 库界面友好 容易上手 具有较高的完整性 一致性和安全性 矚慫润厲钐瘗睞枥庑赖 关键词关键词 Java 图书管理系统 图书借阅 MVC 开源 数据库 安徽工业大学 毕业设计 论文 说明书 II 装 订 线 Abstract This article introduced the process that developing the books management system under the Java running environment This paper introduces the analysis parts of library management information system including feasibility analysis library process analysis etc System design part mainly introduced the system function design and database design and code design The system realization part explained several main module algorithms The system is user friendly simple more practical 聞創沟燴鐺險爱氇谴净 This system uses the JSP page design and uses the MVC pattern It uses the newest technology in today s software design and has the development of high efficiency flexible design generate software user friendly appearance and other characteristics The system adopted in JDBC drive and database for a seamless connection to the backend database is SqlServer 2005 the database interface is very user friendly easy to learn and have a higher integrity consistency and security 残 骛楼諍锩瀨濟溆塹籟 KeyKey wordswords Java Books Management System Library Process Analysis MVC Open Source酽锕极額閉镇桧猪訣锥 安徽工业大学 毕业设计 论文 说明书 III 装 订 线 毕业设计 论文 原创性声明和使用授权说明毕业设计 论文 原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺 所呈交的毕业设计 论文 是我个人在指导教师 的指导下进行的研究工作及取得的成果 尽我所知 除文中特别加以标 注和致谢的地方外 不包含其他人或组织已经发表或公布过的研究成果 也不包含我为获得 及其它教育机构的学位或学历而使用过的 材料 对本研究提供过帮助和做出过贡献的个人或集体 均已在文中作 了明确的说明并表示了谢意 彈贸摄尔霁毙攬砖卤庑 作 者 签 名 日 期 指导教师签名 日 期 使用授权说明使用授权说明 本人完全了解 大学关于收集 保存 使用毕业设计 论文 的规定 即 按照学校要求提交毕业设计 论文 的印刷本和电子版本 学校有权保存毕业设计 论文 的印刷本和电子版 并提供目录检索与 阅览服务 学校可以采用影印 缩印 数字化或其它复制手段保存论文 在不以赢利为目的前提下 学校可以公布论文的部分或全部内容 謀荞抟箧 飆鐸怼类蒋薔 作者签名 日 期 安徽工业大学 毕业设计 论文 说明书 IV 装 订 线 目 录 1 绪 论 1厦礴恳蹒骈時盡继價骚 1 1 开发背景 1茕桢广鳓鯡选块网羈泪 1 2 国内外研究现状 2鹅娅尽損鹌惨歷茏鴛賴 1 3 目前存在的问题 2籟丛妈羥为贍偾蛏练淨 1 3 1 易遭病毒攻击 2預頌圣鉉儐歲龈讶骅籴 1 3 2 微机操作技能欠缺 2渗釤呛俨匀谔鱉调硯錦 1 3 3 维护工作量大 2铙誅卧泻噦圣骋贶頂廡 1 3 4 运营成本加大 2擁締凤袜备訊顎轮烂蔷 2 需求分析 3贓熱俣阃歲匱阊邺镓騷 2 1 用户需求 3坛摶乡囂忏蒌鍥铃氈淚 2 1 1 数据需求 3蜡變黲癟報伥铉锚鈰赘 2 1 2 功能需求 3買鲷鴯譖昙膚遙闫撷凄 2 2 业务流程 4綾镝鯛駕櫬鹕踪韦辚糴 2 2 1 系统业务流程 4驅踬髏彦浃绥譎饴憂锦 2 3主要用例的用例描述 4猫虿驢绘燈鮒诛髅貺庑 3 开发平台和开发工具 7锹籁饗迳琐筆襖鸥娅薔 3 1 技术框架 7構氽頑黉碩饨荠龈话骛 3 1 1 J2EE 平台 7輒峄陽檉簖疖網儂號泶 3 1 2 Web 服务器和数据库 7尧侧閆繭絳闕绚勵蜆贅 3 2 工具选择 8识饒鎂錕缢灩筧嚌俨淒 3 2 1 Java 语言诞生背景 8凍鈹鋨劳臘锴痫婦胫籴 3 2 2 Java 语言的特点 8恥諤銪灭萦欢煬鞏鹜錦 3 2 3 开发工具介绍 9鯊腎鑰诎褳鉀沩懼統庫 3 2 4 开发环境介绍 9硕癘鄴颃诌攆檸攜驤蔹 4 系统设计 10阌擻輳嬪諫迁择楨秘騖 4 1 总体结构框图 10氬嚕躑竄贸恳彈瀘颔澩 4 2 数据库结构设计 11釷鹆資贏車贖孙滅獅赘 4 2 1 数据库概念结构设计 ER 图 11怂阐譜鯪迳導嘯畫長凉 4 2 2 数据库逻辑结构设计 11谚辞調担鈧谄动禪泻類 4 2 3 数据库表设计 13嘰觐詿缧铴嗫偽純铪锩 4 3 系统各模块功能 14熒绐譏钲鏌觶鷹緇機库 安徽工业大学 毕业设计 论文 说明书 V 装 订 线 4 3 1 系统管理员模块功能 14鶼渍螻偉阅劍鲰腎邏蘞 4 3 2 读者模块功能 14纣忧蔣氳頑莶驅藥悯骛 4 3 3 图书借还模块功能 14颖刍莖蛺饽亿顿裊赔泷 4 3 4 图书管理模块功能 15濫驂膽閉驟羥闈詔寢賻 4 3 5 出版社管理模块功能 15銚銻縵哜鳗鸿锓謎諏涼 4 3 6 作者管理模块功能 15挤貼綬电麥结鈺贖哓类 5 系统实现 16赔荊紳谘侖驟辽輩袜錈 5 1 开发步骤 16塤礙籟馐决穩賽釙冊庫 5 2 详细功能与编码 17裊樣祕廬廂颤谚鍘羋蔺 5 2 1 管理员模块 17仓嫗盤紲嘱珑詁鍬齊驁 5 2 2 读者管理模块 21绽萬璉轆娛閬蛏鬮绾瀧 5 2 3 图书借还管理模块 24骁顾燁鶚巯瀆蕪領鲡赙 5 2 4 图书管理模块 26瑣钋濺暧惲锟缟馭篩凉 6 系统测试 36鎦诗涇艳损楼紲鯗餳類 6 1 部分功能测试 36栉缏歐锄棗鈕种鵑瑶锬 6 1 1 登录模块测试 36辔烨棟剛殓攬瑤丽阄应 6 1 2 管理员注册模块测试 37峴扬斕滾澗辐滠兴渙藺 6 1 3 图书模块测试 38詩叁撻訥烬忧毀厉鋨骜 6 2 验收测试 40则鯤愜韋瘓賈晖园栋泷 6 3 评价 40胀鏝彈奥秘孫戶孪钇賻 7 总结 42鳃躋峽祷紉诵帮废掃減 8 致谢 43稟虛嬪赈维哜妝扩踴粜 9 参考文献 44陽簍埡鲑罷規呜旧岿錟 10 附录 系统主要代码 45沩氣嘮戇苌鑿鑿槠谔應 安徽工业大学 毕业设计 论文 说明书 第 1 页 共 61 页 装 订 线 1 绪 论 1 1 开发背景 经过大学四年理论课程的学习 以及校内校外的实践 极大的丰富了自身的理 论基础 并且也具备了一些处理简单问题的能力 但即将踏上社会的我深知这还远 远不够 因此我利用了毕业设计的机会 在老师的指导下去完成一个具有挑战性的 其具体应用及社会服务相结合的项目 深知通过对它的开发 将对我的能力有更高 层次的突破 钡嵐縣緱虜荣产涛團蔺 在调研农村中学时发现这些农村中学图书室都藏书达六 七万余册 但其现行 图书管理工作都是采用传统的手工管理 经过对其图书管理工作中的图书信息 读 者管理及借阅管理工作做全面调查研究 其现行手工流程具体分析如下 懨俠劑鈍触乐 鹇烬觶騮 图书登记 对上级分配 学校购入和社会捐赠的图书进行图书信息登记 读者登记 图书管理员根据学校档案室提供的教师花名册和学生花名册进行读 者登记 然后填发借书证 学生毕业和教师调出时将其借书证注销 謾饱兗争詣繚鮐癞别 瀘 借阅管理 读者特别是学生读者持借书证到图书室借阅图书 图书管理员将借 阅日期填写在书籍卡片上 将卡片夹在借书证中间 存放在图书室 学生看完后 送还所借书籍 收回借书证或另借其它书籍 呙铉們欤谦鸪饺竞荡赚 这种传统人工的管理方式存在着许多缺点 如 效率低 保密性差 一方面导致 教师 学生对学校图书室藏书情况不了解 图书室究竟有哪些图书也不知道 另一 方面图书管理员对图书管理工作倍感头痛 因为时间一长 将产生大量的文件和数据 这对于查找 更新和维护都带来了不少的困难 耗费劳动力大 难于避免错误的产 生 如借书证挂失后 仍有少数学生冒用已挂失的借书证借出图书 造成图书外流 莹谐龌蕲賞组靄绉嚴减 本人是安工大的学生 看着图书馆日益忙碌的借书还书管理 大胆猜想一种新 方案的图书管理系统 即纯网络借书还书操作 同学可以不必天天到图书馆徘徊选 书 也不必为了找某一本书而劳烦工作人员 不必因为工作人员的上下班而等着借 还图书 同学可以在网上进行选书借书还书操作 当选好图书时可以点击预定借阅 操作 管理员这边如果看到可以帮您借阅并送到指定的存数地点 您可随时凭学生 证刷卡取书 还书同样是学生先在网上图书馆进行还书操作 再在指定工作日将书 籍归还到指定还书地点 工作人员将在一段时间后进行检查 如果归还将网上通知 管理员进行最后的还书确认 图书归还成功 本软件以此为设计理念 是管理员操 安徽工业大学 毕业设计 论文 说明书 第 2 页 共 61 页 装 订 线 作的后台管理软件 麸肃鹏镟轿騍镣缚縟糶 1 2 国内外研究现状 随着数字化时代的到来 人们对于知识的渴求越来越高 为了提高全民文化知 识水平 各地政府不断在当地建立图书馆 供人们参考与借阅 当然随着规模的扩 大 普通的手工管理已经不能适应 不仅浪费人力物力还有可能造成书籍的遗失和 损坏 此时 一种基于互联网的图书管理系统已经如雨后春笋搬不断成长 图书馆 里系统在现代社会也成为一门热门的行业 国际上在线图书管理系统的前景看好 而国内的在线图书管理系统数量上也有了新的增长 它的建立使图书馆里拜托传统 的手工操作 实现通过互联网而进行的远程图书借阅归还 其发展前景将是非常深 远的 納畴鳗吶鄖禎銣腻鰲锬 1 3 目前存在的问题 随着社会数字化的进行 图书馆里系统虽然从手工操作慢慢过渡到了互联网管 理的阶段 但也在线图书管理系统也存在着很多问题風撵鲔貓铁频钙蓟纠庙 1 3 1 易遭病毒攻击 如今科技发达的同时 不少攻击计算机的电脑病毒应运而生 如果数字图书管 理系统不小心被病毒入侵后 可能导致图书资料丢失 借阅信息丢失 以至造成图 书的丢失 灭嗳骇諗鋅猎輛觏馊藹 1 3 2 微机操作技能欠缺 虽然很多人都对互联网和电脑的使用轻车熟路 但仍有很多人不能正确的使用 微机和互联网 使在线图书管理系统面临的读者用户收到限制 铹鸝饷飾镡閌赀诨癱骝 1 3 3 维护工作量大 虽然相比手工管理图书 节约了很多工作量 但工作量仍然很大 由于管理计 算机的数据量较大 导致日后维护也有很大的困难 攙閿频嵘陣澇諗谴隴泸 1 3 4 运营成本加大 计算机管理图书的操作 要求工作人员对计算机的环境以及软件的掌握都有一 定的要求 从而对招募管理人员增加了难度 趕輾雏纨颗锊讨跃满賺 安徽工业大学 毕业设计 论文 说明书 第 3 页 共 61 页 装 订 线 2 需求分析 2 1 用户需求 2 1 1 数据需求 本图书管理系统主要的面向图书馆的管理者所开发的一款简洁的后台管理软件 对于该系统的数据需求可从以下几方面进行考虑 夹覡闾辁駁档驀迁锬減 1 从管理员角度分析 可得到管理员的帐号 用户名 密码 注册时间等数据 2 从读者角度分析 可得到读者的学号 姓名 性别 所在院系 所借书籍等 信息 3 从书籍的角度出发 可得到书籍的图书 ISBN 书名 出版社的相关信息 作者的相关信息 图书的价格 图书的版本号 出版年份 图书的封面图片等数据 信息 视絀镘鸸鲚鐘脑钧欖粝 综上 在开发该系统的数据层时可以从上面所列三方面去设计数据库的表 进 而能将所需数据全部包含起来 2 1 2 功能需求 1 面向图书的功能有 图书列表的查询 图书入库 图书修订 图书的快速定 位查询 由于此系统所面向的功能有限 所以将图书的作者和出版社加以细分 有 出版社的管理 包括出版社的添加 出版社的修改 出版社的移除等 为了更方便 的实现添加图书 同时还有对图书作者的单独管理 如对作者的查询 增加以及修 改等 偽澀锟攢鴛擋緬铹鈞錠 2 面向管理员的功能有 管理员的登录 注册功能 管理员的修改以及显示等 还有管理员对读者的管理 即对用户实现的一些列操作 如对读者的增删改查 以 及读者借阅图书和归还图书等 緦徑铫膾龋轿级镗挢廟 此系统功能设计以图书和管理员为重心 本系统的主要功能模块主要有以上所 提及的这些 还有较多小功能设计 如 jquery 验证 一些特效的显示等 騅憑钶銘侥张 礫阵轸蔼 用户登录 作者管理出版社管理图书管理借还查询读者管理用户管理退出系统 安徽工业大学 毕业设计 论文 说明书 第 4 页 共 61 页 装 订 线 图图 2 1 功能需求图功能需求图 2 2 业务流程 2 2 1 系统业务流程 本系统的总体业务流程图如下图 2 1 所示 数据库中存储了问卷和答卷的信息 问卷信息通过问卷制作 问卷导入两种方式经过问卷修订的接口保存到数据库中 答卷信息通过问卷调查 外部调查两种方式保存到数据库中 数据库中答卷信息经 过数据的清洗生成决策树 清洗过的数据可以再次保存到数据库中 生成的决策树 可以提取规则保存到数据库中 数据库中的规则也可以通过简单统计功能以文本文 档的形式导出到数据库外部 疠骐錾农剎貯狱颢幗騮 镞锊过润启婭澗骆讕瀘 DB 出版社操出版社操 作作 图书操作图书操作 图书列表图书列表 快速搜索快速搜索 图书删除图书删除 图书修订图书修订 图书入库图书入库 出版社列表出版社列表 出版社添加出版社添加 出版社删除出版社删除 出版社修改出版社修改 作者操作作者操作读者操作读者操作 作者添加作者添加 搜索搜索 作者删除作者删除 作者修改作者修改 作者列表作者列表 读者借书读者借书 读者还书读者还书 读者销户读者销户 读者修改读者修改 读者注册读者注册 读者列表读者列表 管理员操作管理员操作 管理管理 员注册员注册 管理员删除管理员删除管理员修改管理员修改 管理员列表管理员列表 图图 2 2 业务流程图业务流程图 2 3主要用例的用例描述 图书管理系统涉及到的用例包括 图书借阅 图书归还 图书查询 读者信息管 安徽工业大学 毕业设计 论文 说明书 第 5 页 共 61 页 装 订 线 理 图书信息管理 用户管理 作者信息管理 出版社信息管理 管理员信息管理等 现就系统的主要用例图书借阅 图书归还 图书查询进行详细分析 榿贰轲誊壟该槛鲻垲 赛 图书借还模块用例描述 表表 2 1 用例用例 图书借阅图书借阅 用例名称图书借阅 标识符BMS 1 参与者读者 用户 图书管理员 描述读书可以通过在图书馆书架上找寻自己要借阅的书籍 将 指定书籍交付于管理员 向图书管理员提出借阅请求 管理员在 系统中先录入该书籍的 isbn 查找到相应信息 再对指定读者 进行借阅操作 如果读者没注册 管理员要事先给予读者注册 再将图书交给读者 借阅成功 前置条件1 图书馆找到自己想要借阅的书籍 后置条件1 登录 2 更新图书借阅列表 主干过程 借阅图书 读者请求借阅新地图书 并提供自己的编号以及指定图书 系统显示被借阅图书的详细资料 读者提供自己的 id 系统存储读者和借阅的图书 并将之存储到数据库中 系统更新借阅列表 异常1 读者借阅已满 未做要求 2 系统将错误信息显示在借阅页面 3 系统重新启动该用例 4 数据库中该图书数据损坏 被包含用例无 被扩展用例无 优先级高 表表 2 2 用例用例 图书归还图书归还 用例名称图书归还 标识符UC 2 参与者读者 图书管理员 安徽工业大学 毕业设计 论文 说明书 第 6 页 共 61 页 装 订 线 描述读者将自己借阅的图书归还图书馆 前置条件1 到图书操作服务台归还图书 后置条件1 根据图书 isbn 找到图书 进入归还页面 更新图书归 还列表 主干过程读者请求归还借阅的图书并提供自己的编号 读者将书交给管理员 管理员根据图书编号查找到此书 进入归还页面进行还书操作 更新书籍列表 异常1 该书超出了应该归还的时间范围 未限定 2 系统将罚款信息显示在归还页面 未限定 3 无法将图书归还 被包含用例无 被扩展用例无 优先级高 表表 2 3 用例用例 图书查询图书查询 用例名称图书查询 标识符UC 3 参与者图书管理员 描述读者通过图书的 isbn 书名等信息对相应的图书进行查询 前置条件1 登录 2 转到图书列表 后置条件1 查询页面显示相应的图书的信息 主干过程图书查询 管理员输入想要查询的图书信息 系统显示相应的图书信息 点击每本书可以进行单本图书的详细信息 异常1 查询的图书不存在 第 3 步后 2 读者输入的图书信息不能在数据库中查询到 后台报错 3 系统显示暂时无该图书信息 4 重新启动该用例 被包含用例无 被扩展用例无 优先级高 安徽工业大学 毕业设计 论文 说明书 第 7 页 共 61 页 装 订 线 3 开发平台和开发工具 3 1 技术框架 本系统采用 JSP Servlet DAO 的 mvc 3 层架构模式 服务器端采用 Tomcat 客户 端采用 FireFox 应用 JavaBean 和 Jdbc 数据库连接 Javascript Ajax 等技术 JQuery 框架等 邁茑赚陉宾呗擷鹪讼凑 3 1 1 J2EE 平台 J2EE 即是 Java2 平台企业版 Java 2 Platform Enterprise Edition 是 原 Sun 公司 现已被甲骨文公司收购 为企业级应用推出的标准平台 它简化了企 业解决方案的开发 部署和管理相关复杂问题的体系结构 J2EE 技术的基础就是核 心 Java 平台或 Java 2 平台的标准版 J2EE 不仅巩固了标准版中的许多优点 例如 编写一次 随处运行 的特性 方便存取数据库的 JDBC API CORBA 技术以及能够 在 Internet 应用中保护数据的安全模式等等 同时还提供了对 EJB Enterprise JavaBeans Java Servlets API JSP Java Server Pages 以及 XML 技术的全面 支持 其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结 构 J2EE 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性 高可靠性以及可扩展性的应用的需求 通过提供统一的开发平台 J2EE 降低了开发 多层应用的费用和复杂性 同时提供对现有应用程序集成强有力支持 完全支持 Enterprise JavaBeans 有良好的向导支持打包和部署应用 添加目录支持 增强 了安全机制 提高了性能 嵝硖贪塒廩袞悯倉華糲 在开发图书馆借阅管理系统的过程中 应用 Myeclipse8 5 它可以在数据库和 J2EE 的开发 发布 以及应用程序服务器的整合方面极大的提高工作效率 Myeclipse 是功能丰富的 J2EE 集成开发环境 包括了完备的编码 调试 测试和发 布功能 完整支持 HTML Struts JSF CSS Javascript SQL 该栎谖碼戆沖巋鳧薩锭 3 1 2 Web 服务器和数据库 在系统的开发过程中使用的 Web 应用服务器是 Tomcat 是 Apache 软件基金会 Apache Software Foundation 的 Jakarta 项目中的一个核心项目 由 Apache SUN 和其他一些公司及个人共同开发而成 由于有了 Sun 的参与和支持 最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现 Tomcat 是一个小型的轻 量级应用服务器 它运行时占用的系统资源小 扩展性好 支持负载平衡和邮件服 安徽工业大学 毕业设计 论文 说明书 第 8 页 共 61 页 装 订 线 务等开发应用系统常用的功能 因此在中小型系统和并发访问用户不是很多的时候 经常被使用 劇妆诨貰攖苹埘呂仑庙 SQLServer 是由 Microsoft 开发和推广的关系数据库系统 DBMS 它最初是由 Microsoft Sybase 和 Ashton Tate 三家公司共同开发的 并于 1988 年推出了第一 个 OS 2 版本 臠龍讹驄桠业變墊罗蘄 为了开发的便捷快速 使用 servlet 容器对系统进行控制 担任系统的控制层 是程序的枢纽部分 开发系统用的系统工具如表 4 1 所示 表表 3 1 系统开发平台和工具系统开发平台和工具 工具名称用途 JDK1 6 0 11 MyEclipse SqlServer2005 Tomcat 6 0 FireFox Java 开发工具包 J2EE 集成开发环境 关系数据库管理系统 Web 应用服务器 客户端浏览器 3 2 工具选择 3 2 1 Java 语言诞生背景 Java 是一种应用于分布式网络环境中的程序设计语言 由 Sun 开发 java 语言 广为人知 得益于 Internate 的迅猛发展 有人说 java 语言无所不能 这中说法固 然夸张 但它确实从一个侧面反映出这种新生语言强大的威力与优越性 一样的应 用程序 Web 服务器乃至手机的嵌入式系统 java 都足以胜任 并且表现得十分出 色 特别是 java 对网络提供了强有力的支持 这也是这种奇妙语言的魅力所在 鰻順褛悦漚縫冁屜鸭骞 3 2 2 Java 语言的特点 Java 是一种被广泛使用的网络编程语言 它定位于网络计算 它的几乎所有特 点都是服从于这一中心 同时 Java 语言也集中体现和充分利用了许多软件技术的新 成果 穑釓虚绺滟鳗絲懷紓泺 可移植性 这是 Java 语言区别于其他程序语言的最大的优点 可移植性 平 台无关性 这正体现了 Java 语言的 一次编译 处处运行 的优点 隶誆荧鉴獫纲鴣攣 駘賽 安全性 网络上的应用程序必须具有较高的安全性和可靠性 Java 特有的沙箱 机制已经很好的提供了足够的保障 同时去除了复杂且容易造成错误的指针 浹繢腻 安徽工业大学 毕业设计 论文 说明书 第 9 页 共 61 页 装 订 线 叢着駕骠構砀湊 还有独特的垃圾回收机制 Java 语言提供了垃圾回收机制 用以自动回收内存 垃圾 这使得程序设计语言在编写 Java 程序时不必特别考虑内存管理的问题 使用 Java 编程的时候不必理会这种恼人且容易出错的工作 鈀燭罚櫝箋礱颼畢韫粝 3 2 3 开发工具介绍 开发源代码工具为 MyEclipse8 5 运行平台为 Tomcat Tomcat 性能可靠 操作和配置都十分简单 运行抛出异 常时比较明显 易解决 惬執缉蘿绅颀阳灣熗鍵 采用的数据库为 SqlServer2005 3 2 4 开发环境介绍 实验设备是一台普通计算机 操作系统为 Windows XP Professional SP3 CPU 规格为英特尔 Celeron 赛扬 双核 T3000 1 80GHz 内存为 2G 硬盘为 250GB 贞廈给鏌綞牵鎮獵鎦龐 安徽工业大学 毕业设计 论文 说明书 第 10 页 共 61 页 装 订 线 4 系统设计 4 1 总体结构框图 读者添加读者添加 读者删除读者删除 读者修改读者修改 读者查询读者查询 借书操作借书操作 还书操作还书操作 JavaWeb 图书管理系统图书管理系统 作者管理作者管理出版社管理出版社管理图书管理图书管理用户管理用户管理读者借还读者借还 作者添加作者添加 作者删除作者删除 作者修改作者修改 作者查询作者查询 出版社添加出版社添加 出版社修改出版社修改 出版社移除出版社移除 出版社查询出版社查询 用户注册用户注册 用户修改用户修改 用户销户用户销户 用户查询用户查询 图书入库图书入库 图书删除图书删除 图书查询图书查询 图书修订图书修订 嚌鲭级厨胀鑲铟礦毁蕲 图图 4 1 系统结构框图系统结构框图 安徽工业大学 毕业设计 论文 说明书 第 11 页 共 61 页 装 订 线 4 2 数据库结构设计 4 2 1 数据库概念结构设计 ER 图 读者 借阅 阅 图书 ISBN 书名 版本号 价格 封面 借阅期限 借阅状态 可借阅数 出版社 出版社 ID出版社名 属 于 属于 作者 姓 名 作者 ID 读者 ID 姓名 学号 性别 院系 薊镔竖牍熒浹醬籬铃騫 图图 4 24 2 图书管理系统全局图书管理系统全局 E RE R 图图 4 2 2 数据库逻辑结构设计 E R 图向关系模型的转换 读者 读者 ID 姓名 学号 性别 所在院系 此为读者实体对应的关系模式 管理员 管理员 ID 姓名 帐号 密码 注册时间 此为管理员实体对应的关系模式 图书 ISBN 书名 出版社 价格 版本号 出版日期 图书图片 作者 库存量 借阅状态 此为图书实体对应的关系模式 作者 作者 ID 作者的姓 作者的名 安徽工业大学 毕业设计 论文 说明书 第 12 页 共 61 页 装 订 线 此为作者实体对于的关系模式 出版社 出版社 ID 出版社名 此为出版社实体的关系模式 借阅 图书 ISBN 读者 ID 此为联系 借阅 的关系模型 归还 图书 ISBN 读者 ID 此为联系 归还 的关系模式 borrowUser borrowID borrowName studyNum sex department title Isbn Title EditionNu m Copyright publiserId ImageFile price borrowTim e isBorrow borrowID publihserId publiserNam e publishers authorId firstName lastName authors authorId isbn authorIsb n bookUsers userId account password name createTime 齡践砚语蜗铸转絹攤濼 图图 4 2 各实体间联系图各实体间联系图 数据模型的优化 1 确定数据依赖 2 对于各个关系模式之间的数据依赖进行极小化处理 消除冗余的联系 3 按照数据依赖的理论对关系模式进行逐一分析 4 按照要求分析阶段得到的处理要求 分析这样的应用环境这些模式是否合适 确 定是否要对某些模式进行合并或分解 绅薮疮颧訝标販繯轅赛 5 对关系模式进行必要的分解 提高数据操作的效率和存储空间的利用率 水平 分解 垂直分解 安徽工业大学 毕业设计 论文 说明书 第 13 页 共 61 页 装 订 线 4 2 3 数据库表设计 根据系统需求 可以进行具体的表的设计 表 4 1 是所有数据库表的汇总 表表 4 1 数据库汇总表数据库汇总表 表名说明 authors作者表 存放书籍的作者相关信息 publishers出版社表 存放书籍的出版社相关信息 title图书表 存放与书籍相关的所有信息 authorISBN作者表和图书表的关联表 borrowUser读者列表 存放读者借书的相关信息 bookusers管理员表 存放管理员的相关信息 数据库中的各个表的逻辑结构设计结果如下面的几个表格所示 每个表格表示 数据库中的一个表 表表 4 24 2 作者表 作者表 authorsauthors 字段名类型说明 authorIDintPrimary Key firstNamevarchar 20 姓 lastNamevarchar 30 名 表表 4 34 3 出版社表 出版社表 publisherspublishers 字段名类型说明 publisherIDintPrimary Key publisherNamevarchar 30 出版社名 表表 4 44 4 图书表 图书表 titlestitles 字段名类型说明 isbnvarchar 20 Primary Key titlevarchar 100 图书名 非空 editionNumberint 版本号 非空 publisherIDint 外键 出版社 ID 非空 imageFilevarchar 20 文件图片路径 pricefloat 图书价格 borrowTimeint 借阅最大期限 isBorrowint 是否被借出 borrowIDint 外键 读者 ID 非空 表表 4 54 5 图书作者关联表 图书作者关联表 authorISBNauthorISBN 字段名类型说明 authorIDint 外键 作者 ID isbnvarchar 20 外键 图书 ISBN 安徽工业大学 毕业设计 论文 说明书 第 14 页 共 61 页 装 订 线 表表 4 64 6 读者表 读者表 borrowUserborrowUser 字段名类型说明 borrowIDintPrimary Key borrowNamevarchar 50 读者姓名 非空 departmentvarchar 50 所在系 sexvarchar 50 性别 studyNumvarchar 20 学号 非空 表表 4 74 7 管理员表 管理员表 bookusersbookusers 字段名类型说明 userIdintPrimary Key accoutvarchar 20 帐号 非空 passwordvarchar 20 密码 非空 namevarchar 20 用户名 非空 createTimedatatime 创建时间 4 3 系统各模块功能 4 3 1 系统管理员模块功能 该模块主要包括对管理员进行注册 销户 修改账户信息等 管理员可以通过 注册一个账号登录管理系统 之后对所注册用户进行统一管理 用户列表显示了所 有注册用户的用户名 密码 帐号以及注册时间等操作 管理员可以对所有注册的 帐号进行修改和移除 饪箩狞屬诺釙诬苧径凛 4 3 2 读者模块功能 该模块主要有对读者用户的注册 销户修改功能 读者列表主要显示读者的姓 名 学号 性别 所在系 这里主要存放借书还书的对象 如果想要借书或还书 就必须先通过管理员登录进行注册 成为该系统的读者用户 进而才能对书籍进行 借还 烴毙潜籬賢擔視蠶贲粵 4 3 3 图书借还模块功能 该模块主要是对图书进行借还操作的一个管理模块 列表主要显示图书的 isbn 号 书名 借阅状态以及最大借阅期限等信息 对于书名加以不同的链接 由于图 书和作者的关系是一对多 即一本图书只能借给一个人 一个人可以借多本不同的 图书 所以根据每本书的借阅状态不同 链接对象也不一样 当此书已借出 点击 进入的就是归还页面 归还对象即为借书的读者 若此书状态为未借出 则点击链 接会进入到借书页面 借书对象是所有注册的读者用户 管理员可以选择某一位用 户进行借出工作 鋝岂涛軌跃轮莳講嫗键 安徽工业大学 毕业设计 论文 说明书 第 15 页 共 61 页 装 订 线 4 3 4 图书管理模块功能 该模块主要是对图书进行统一的管理 功能包括对图书的入库 移出 修 订 快速检索等 图书列表主要显示图书的 isbn 书名 出版社 价格 版本 号 出版年份 点击书名进入图书详细页面 能看到该图书的详细信息 除刚 才所说信息外还有该书籍的作者以及图片 和正被借阅的读者用户名 同时在 列表页面可根据图书的 isbn 和书名进行模糊查询 能更好的定位某本书或某些 书 撷伪氢鱧轍幂聹諛詼庞 4 3 5 出版社管理模块功能 该模块主要是对图书的出版社做一统一管理 将其单独作为一模块的原因是 因为 出版社数量较少 可以单独存放一数据库表 在添加或修改图书时可以 将表中出版社进行遍历显示 若要添加图书的出版社在数据库表中没有 可以 在该模块下添加相应的出版社 在进行遍历 该模块还包括删除修改出版社等 功能 踪飯梦掺钓貞绫賁发蘄 4 3 6 作者管理模块功能 该模块主要是对图书的作者进行统一管理 将其单独作为一个模块 可以在 添加书籍的时候对作者的添加实现方便的管理 对于新书的作者 可以在此模 块中进行添加 类似的功能还有修改和删除作者 婭鑠机职銦夾簣軒蚀骞 安徽工业大学 毕业设计 论文 说明书 第 16 页 共 61 页 装 订 线 5 系统实现 5 1 开发步骤 1 静态页面制作 html 代码 frame 应用 css 应用 2 利用 JDBC 比较简单的实现数据库存取操作 二层结构 3 分析二层结构带来的问题 改进该结构 引入数据访问层 4 简单的数据访问层实现数据库存取操作 5 简单的数据访问层带来的问题以及如何改进 6 数据访问层设计 公共的数据库连接类 DbConnection 数据访问对象 DAO 的基类 BaseDAO 7 Log4j 的配置与应用 譽諶掺铒锭试监鄺儕泻 8 针对业务的数据访问对象开发 从 AuthorDAO 开始 9 作者管理的数据访问层开发完毕 开始实现前台 JSP 层的开发 主要是 CRUD 操作 10 CRUD 开发涉及问题 表单提交 GET POST 方式 网页传值 request 中文编码 重定向等 俦聹执償閏号燴鈿膽賾 11 增加简单的 JS 校验 12 ok 开始进入出版社模块的开发 和作者管理开发基本类似 开发速 度明显加快 13 图书管理模块分析 业务层略微复杂 14 图书管理业务层开发 涉及事务操作 多表操作 15 图书管理 JSP 层开发 分析参数多的情况带来的问题 引入 JavaBean 来实现 request 参数的自动获取和设置 缜電怅淺靓蠐浅錒鵬凜 16 增加 JS 校验实现基本的数据验证 17 分页的两种策略介绍 编写通用的分页对象 PageUtil 应用该对象在图 书列表中实现内存中分页 18 继续实现作者 出版社的分页 19 为系统增加一张系统用户表 完成系统用户的 CRUD 20 Session 简要介绍 用户登录以及登录验证的开发 编写通用的登录验 证 单独作为文件包含到需要验证才能访问的页面中 骥擯帜褸饜兗椏長绛粤 21 增强用户登录功能 利用 Session 使得可以记住用户上次登录的帐号 22 开放管理员用户的注册修改功能 并且加上 jquery 验证 23 进入读者管理模块开放 继续使用 servlet 容器管理读者的 CURD 安徽工业大学 毕业设计 论文 说明书 第 17 页 共 61 页 装 订 线 24 系统退出功能增加 25 介绍 Servlet 中的过滤器 使用过滤器增强可维护性 改进代码 将 request 编码交由过滤器处理 将登录校验交由过滤器处理 此系统 的特殊性 无法使用过滤器改由另一种过滤方式 癱噴导閽骋艳捣靨骢鍵 26 总结 5 2 详细功能与编码 5 2 1 管理员模块 1 登录页面 截图 图图 5 1 登陆界面登陆界面 代码部分 通过网址的 login ii 在 web xml 文件中找到控制器 ListUserServlet 类 在获 得切割后字符串 login 找到下面处理代码 再调用 DAO 层 login 方法进行处理 如果传入的帐号和密码能够获得一个用户 则让其登陆成功 并加载用户列表 若 用户名密码不正确则提示错误信息 鑣鸽夺圆鯢齙慫餞離龐 if action equals login try String account request getParameter userAccount 榄阈团皱鹏緦寿驏頦蕴 String password request getParameter password 逊输吴贝义鲽國鳩犹騸 boolean flag false PrintWriter out response getWriter UserModel user dao login account trim password trim 幘觇匮骇儺红卤齡镰瀉 if user null flag true session setAttribute userName 安徽工业大学 毕业设计 论文 说明书 第 18 页 共 61 页 装 订 线 user getUserName 誦终决懷区馱倆侧澩赜 out print flag out flush out close catch Exception e System out println 用户登录异常 e printStackTrace throw new ServletException 数据层 login 方法实现 传入两个字符串变量 在用 sql 语句查询数据库 返回用户对象 public UserModel login final String account final String password 医涤侣綃噲睞齒办銩凛 String sql List list null sql select from bookusers where account and password 舻当为遙头韪鳍哕晕糞 list super querySql sql new IParamBingding public void bingParam PreparedStatement stmt throws SQLException stmt setString 1 account stmt setString 2 password new UserRowMapper return list size 0 list null null list get 0 鸪凑鸛齏嶇烛罵奖选锯 2 列表显示页面 截图 图图 5 2 管理员列表显示模块管理员列表显示模块 代码部分 控制器代码 页面通过请求 list 转到 web xml 通过匹配找到 servlet 包下面的 ListUserServlet 类 然后通过字符串切割得到 list 字符串 根据 list 找到下面 安徽工业大学 毕业设计 论文 说明书 第 19 页 共 61 页 装 订 线 控制器代码 再调用数据层的 queryAll 部分查询数据库的所有管理员信息 并在列 表上显示 筧驪鴨栌怀鏇颐嵘悅废 if action equals list try List users dao queryAll request setAttribute users users step2获得转发器 RequestDispatcher rd request getRequestDispatcher userMain jsp step3转发 rd forward request response catch Exception e e printStackTrace throw new ServletException queryAll 方法的实现 查询所有管理员用户的信息 public List queryAll String sql select from bookusers return super querySql sql new UserRowMapper queryAll 调用 querySql 方法进行 sql 查询语句操作 public List querySql String sql IRowMapper mapper 韋鋯鯖荣擬滄 閡悬贖蘊 Connection conn null PreparedStatement stmt null ResultSet rs null List list new ArrayList try conn db getConnection stmt conn prepareStatement sql logger debug sql rs stmt executeQuery while rs next Object obj mapper mappingRow rs list add obj catch Exception e logger debug 执行sql语句异常 e printStackTrace finally db closeResultSet rs db closeStatement stmt db closeConnection conn return list 安徽工业大学 毕业设计 论文 说明书 第 20 页 共 61 页 装 订 线 3 管理员注册 截图 图图 5 3 管理员注册模块管理员注册模块 代码部分 根据 regist ii 找到此类的部分 在从页面获得文本框的内容 通过业务层方法 save 将用户注册信息保存到数据库 并调用通用类的方法 getAccount 给用户生成 随机且不重复帐号 作为用户登录时的 id 涛貶騸锬晋铩锩揿宪骟 try String userName request getParameter username 钿蘇饌華檻杩鐵样说泻 System out println userName String password request getParameter pwd UserModel user new UserModel user setUserName userName user setPassword password dao save user 用session保存用户帐号 session setAttribute userName userName String acc dao getAccount userName password session setAttribute account acc response sendRedirect bookusers registOk jsp catch Exception e response sendRedirect bookusers registFail jsp 生成图片验证码的方法 安徽工业大学 毕业设计 论文 说明书 第 21 页 共 61 页 装 订 线 Map map ImageUtil getImage 戧
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研版八年级英语上册Module9单元测试试卷-含答案03
- 酸和碱的反应课件教学
- 人工智能通识教程(微课版) 课件 02 人工智能技术的行业应用-千行百业应用大爆发
- CN120198439A 基于深度学习的电控部件外观检测方法及装置
- 老山界课件内容
- 老北京火锅黏土课件
- 配电运维巡视专业课件
- 2025标准木托盘租赁与专业仓储服务合作合同
- 2025成立公司投资入股及企业全面运营合作协议
- 2025年度智能设备代理销售合同范本汇编
- 健康照护师初级复习试题含答案
- DBJ04-T 312-2024 湿陷性黄土场地勘察及地基处理技术标准
- JJF1033-2023计量标准考核规范
- 颈椎病课件完整版
- 女性肿瘤患者的生育力保存
- 2024版体育赛事赞助对赌协议合同范本3篇
- 环卫公司培训课件
- 仓库年度评审报告范文
- 《工会财务与会计》课件
- 工商银行-(招聘笔试题)
- 物业保洁员礼节礼貌培训
评论
0/150
提交评论