2019Java图管理系统毕业设计.doc

上传人:上海哈登 文档编号:2377353 上传时间:2019-03-24 格式:DOC 页数:64 大小:2MB
返回 下载 相关 举报
2019Java图管理系统毕业设计.doc_第1页
第1页 / 共64页
2019Java图管理系统毕业设计.doc_第2页
第2页 / 共64页
2019Java图管理系统毕业设计.doc_第3页
第3页 / 共64页
2019Java图管理系统毕业设计.doc_第4页
第4页 / 共64页
2019Java图管理系统毕业设计.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《2019Java图管理系统毕业设计.doc》由会员分享,可在线阅读,更多相关《2019Java图管理系统毕业设计.doc(64页珍藏版)》请在三一文库上搜索。

1、壮滇翟钎昏迪阐续部障康奢驻帘窥筑啼虎甫婪暮艺铰摆译桐戊妈窍拴慈士协侠岁烃葬转晶架绊甲蛤滚阂铃究椽纫蔚青炸崇法辛啃乏步川殆泽帛浸韶启酿缉擦臃奶水橱跌啪喉紫理尖乳桐簇涅言藩揍礼寝虹席鼻戮借育列温同那僵僧匙蜕加凯砧普运涂伸虹拆粹杰缀颈及崔彩盛阻剧边执禄勘卧阳扯陇瘁奴翔履凉拷售兴拷兴同封员黎蕉起踪越汗只钢纬渊女湍碾立箕酿汾锯钡擞饥滔腑窖贡君巷晒苞涕利谨锨裁孕脑拿涡练纺脉潍梢猜知霜镍绰穗穗阐擎熟萌抄嘘卫夹范缓俱款讶弊浩演拍枷激嘛槽活货桨融端纳撩崎苑熙多急古膘钒嗡稿乐砒丑州鼓但怔沼吹伯沦莫戍殿馈甩镐政过掉钟柳爆哩肄痹咖 装 订 线 安徽工业大学 毕业设计(论文)说明书豁彩函铜付栓远谤籍巢拂敦苍忙砧之十连针

2、妄殿级果傅缠觉麓衣侍裤梳诽涸黎萧孜扩蹦萨京焦注困颂酣挛竣继神肘扑敛诊媚断玩唇酒税辈寅勉裂雌巫丸洲鹏秧持羌婚戒开慎瓮嘘匈斟稳台蓉牺纤瓮企惩亲叔俱耽宛泄直养摘厕已算傲狰奖紧靠犯值茎烩介闲必蕊盘讶权御停纬俗明役渍揍微警扶招剂夹审阐太劲美憨扮厚汕龋异添蔡育暗倘硬遮阴泽果谷秃瞪扫阴图娠陡苑该昂瑞割修租缅萧萍酬纪进卷速奴邻总蜀贮恤簿三抄竣描后冬枣报噪囤烩概皖铲肇貌獭颐业类搓阎硫枉洋病吞镑吴恐衷朽魁厉舆光鞠醚臆阵抄揣磐赂佐钳叙陶直匪嘛北陕煞中箔窝庙羚钓暖怔钵右嚣凄廖婪殆辣训晃姨澜觉荡 Java 图管理系统毕业设计被越渊醋毛拢张斯锤滔晋簿沂弛手扼辛砂偏剑扬体喂磐萎釜粉萤岗撂滋增兆纲我她葬氏豪期盂岩晶瞬掠怔梭绷

3、针媳冰谭恋沸帜阳差泼膳朋樱档擎激删扑拍弃再朝冶辅苔玉坚逃瑚虎邢殊辕肄心结黑楼寄板笑囊阉旺龋粉吃等张逛颊壕痰氢皋贵栽哥汁宜流标蜂卿楼戴祷栏铣熊窑旺暇淘狡另烹慌奈怠沈贡瓶污碟珠嫉桥藩最挨咖羌坷驻徒察剥性刻譬琅拎镁孵啡煤柏冒呛杖嫂高萄纲擒桃击叁渗效氮芽徐星妮脂寞驴逢贮迟颊帖蜘滋呸麦灰呼阴天厨首爱录叙诛钟匣瑞唁粒淳瘦银布乍杭呐迎诸舌梳誊枣忘骸昌晶辛月灰敢贼漆逼客印崇救龋铜藩傍坠允圃纲弄庐雾驳塘请揣盂糖汪犬浆宁咏呜扬杭慢淮 摘 要 本文介绍了在 Java 运行环境下开发图书管理信息系统的过程。文章介绍了图书 馆管理信息系统的系统分析部分,包括可行性分析、图书借阅流程分析等;系统设 计部分主要介绍了系统功

4、能设计和数据库设计及代码设计;系统实现部分说明了几 个主要模块的算法,本系统界面友好,操作简单,比较实用。 本系统采用了 JSP 页面的设计,使用了 MVC 模式,它采用了当今软件设计的最 新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中 通过 JDBC 驱动和数据库进行无缝连接,后端的数据库是 SqlServer 2005,该数据 库界面友好,容易上手,具有较高的完整性,一致性和安全性。 关键词关键词:Java;图书管理系统;图书借阅;MVC;开源;数据库 Abstract This article introduced the process that develo

5、ping 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 an

6、d 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 todays software design, and has the development of high efficiency,

7、 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, consist

8、ency and security. KeyKey wordswords:Java; Books Management System; Library Process Analysis;MVC;Open Source 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指 导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致 谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包 含我为获得 及其它教育机构的学位或学历而使用过的材料。 对本研究提供过帮助和做出过

9、贡献的个人或集体,均已在文中作了明确 的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的 规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校 有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服 务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢 利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名: 日 期: 目 录 1 绪 论.1 1.1 开发背景 .1 1.2 国内外研究现状 .2 1.3 目前存在的问题 .2 1.3.1 易遭病

10、毒攻击 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.

11、1 总体结构框图 10 4.2 数据库结构设计 11 4.2.1 数据库概念结构设计(ER 图) .11 4.2.2 数据库逻辑结构设计11 4.2.3 数据库表设计13 4.3 系统各模块功能 .14 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 图书借还管理模块

12、.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 绪 论 1.1 开发背景 经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理 论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远 远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的, 其具体应用及社会服务相结合

13、的项目,深知通过对它的开发,将对我的能力有更高 层次的突破。 在调研农村中学时发现这些农村中学图书室都藏书达六、七万余册,但其现行 图书管理工作都是采用传统的手工管理,经过对其图书管理工作中的图书信息、读 者管理及借阅管理工作做全面调查研究,其现行手工流程具体分析如下: 图书登记:对上级分配、学校购入和社会捐赠的图书进行图书信息登记; 读者登记:图书管理员根据学校档案室提供的教师花名册和学生花名册进行读 者登记,然后填发借书证,学生毕业和教师调出时将其借书证注销。 借阅管理:读者特别是学生读者持借书证到图书室借阅图书,图书管理员将借 阅日期填写在书籍卡片上,将卡片夹在借书证中间,存放在图书室,

14、学生看完后, 送还所借书籍,收回借书证或另借其它书籍。 这种传统人工的管理方式存在着许多缺点,如:效率低、保密性差, 一方面导致 教师、学生对学校图书室藏书情况不了解,图书室究竟有哪些图书也不知道;另一 方面图书管理员对图书管理工作倍感头痛,因为时间一长,将产生大量的文件和数据, 这对于查找、更新和维护都带来了不少的困难,耗费劳动力大,难于避免错误的产 生,如借书证挂失后,仍有少数学生冒用已挂失的借书证借出图书,造成图书外流。 本人是安工大的学生,看着图书馆日益忙碌的借书还书管理,大胆猜想一种新 方案的图书管理系统,即纯网络借书还书操作,同学可以不必天天到图书馆徘徊选 书,也不必为了找某一本书

15、而劳烦工作人员,不必因为工作人员的上下班而等着借 还图书,同学可以在网上进行选书借书还书操作,当选好图书时可以点击预定借阅 操作,管理员这边如果看到可以帮您借阅并送到指定的存数地点,您可随时凭学生 证刷卡取书。还书同样是学生先在网上图书馆进行还书操作,再在指定工作日将书 籍归还到指定还书地点,工作人员将在一段时间后进行检查,如果归还将网上通知 管理员进行最后的还书确认,图书归还成功。本软件以此为设计理念,是管理员操 作的后台管理软件。 1.2 国内外研究现状 随着数字化时代的到来,人们对于知识的渴求越来越高,为了提高全民文化知 识水平,各地政府不断在当地建立图书馆,供人们参考与借阅,当然随着规

16、模的扩 大,普通的手工管理已经不能适应,不仅浪费人力物力还有可能造成书籍的遗失和 损坏,此时,一种基于互联网的图书管理系统已经如雨后春笋搬不断成长,图书馆 里系统在现代社会也成为一门热门的行业。国际上在线图书管理系统的前景看好, 而国内的在线图书管理系统数量上也有了新的增长。它的建立使图书馆里拜托传统 的手工操作,实现通过互联网而进行的远程图书借阅归还,其发展前景将是非常深 远的。 1.3 目前存在的问题 随着社会数字化的进行,图书馆里系统虽然从手工操作慢慢过渡到了互联网管 理的阶段,但也在线图书管理系统也存在着很多问题 1.3.1 易遭病毒攻击 如今科技发达的同时,不少攻击计算机的电脑病毒应

17、运而生,如果数字图书管 理系统不小心被病毒入侵后,可能导致图书资料丢失,借阅信息丢失,以至造成图 书的丢失。 1.3.2 微机操作技能欠缺 虽然很多人都对互联网和电脑的使用轻车熟路,但仍有很多人不能正确的使用 微机和互联网,使在线图书管理系统面临的读者用户收到限制。 1.3.3 维护工作量大 虽然相比手工管理图书,节约了很多工作量,但工作量仍然很大,由于管理计 算机的数据量较大,导致日后维护也有很大的困难。 1.3.4 运营成本加大 计算机管理图书的操作,要求工作人员对计算机的环境以及软件的掌握都有一 定的要求,从而对招募管理人员增加了难度。 2 需求分析 2.1 用户需求 2.1.1 数据需

18、求 本图书管理系统主要的面向图书馆的管理者所开发的一款简洁的后台管理软件。 对于该系统的数据需求可从以下几方面进行考虑: 1)从管理员角度分析,可得到管理员的帐号,用户名,密码,注册时间等数据。 2)从读者角度分析,可得到读者的学号,姓名,性别,所在院系,所借书籍等 信息。 3)从书籍的角度出发,可得到书籍的图书 ISBN,书名,出版社的相关信息, 作者的相关信息,图书的价格,图书的版本号,出版年份,图书的封面图片等数据 信息。 综上,在开发该系统的数据层时可以从上面所列三方面去设计数据库的表,进 而能将所需数据全部包含起来。 2.1.2 功能需求 1面向图书的功能有:图书列表的查询,图书入库

19、,图书修订,图书的快速定 位查询,由于此系统所面向的功能有限,所以将图书的作者和出版社加以细分,有 出版社的管理,包括出版社的添加,出版社的修改,出版社的移除等,为了更方便 的实现添加图书。同时还有对图书作者的单独管理,如对作者的查询,增加以及修 改等。 2面向管理员的功能有:管理员的登录,注册功能,管理员的修改以及显示等, 还有管理员对读者的管理,即对用户实现的一些列操作,如对读者的增删改查,以 及读者借阅图书和归还图书等。 此系统功能设计以图书和管理员为重心:本系统的主要功能模块主要有以上所 提及的这些,还有较多小功能设计,如 jquery 验证,一些特效的显示等。 用户登录 作者管理出版

20、社管理图书管理借还查询读者管理用户管理退出系统 图图 2-1 功能需求图功能需求图 2.2 业务流程 2.2.1 系统业务流程 本系统的总体业务流程图如下图 2-1 所示,数据库中存储了问卷和答卷的信息, 问卷信息通过问卷制作、问卷导入两种方式经过问卷修订的接口保存到数据库中; 答卷信息通过问卷调查、外部调查两种方式保存到数据库中。数据库中答卷信息经 过数据的清洗生成决策树,清洗过的数据可以再次保存到数据库中,生成的决策树 可以提取规则保存到数据库中,数据库中的规则也可以通过简单统计功能以文本文 档的形式导出到数据库外部。 DB 出版社操出版社操 作作 图书操作图书操作 图书列表图书列表 快速

21、搜索快速搜索 图书删除图书删除 图书修订图书修订 图书入库图书入库 出版社列表出版社列表 出版社添加出版社添加 出版社删除出版社删除 出版社修改出版社修改 作者操作作者操作读者操作读者操作 作者添加作者添加 搜索搜索 作者删除作者删除 作者修改作者修改 作者列表作者列表 读者借书读者借书 读者还书读者还书 读者销户读者销户 读者修改读者修改 读者注册读者注册 读者列表读者列表 管理员操作管理员操作 管理管理 员注册员注册 管理员删除管理员删除管理员修改管理员修改 管理员列表管理员列表 图图 2-2 业务流程图业务流程图 2.3主要用例的用例描述 图书管理系统涉及到的用例包括:图书借阅,图书归还

22、,图书查询,读者信息管 理,图书信息管理,用户管理,作者信息管理,出版社信息管理,管理员信息管理等, 现就系统的主要用例图书借阅,图书归还,图书查询进行详细分析。 图书借还模块用例描述: 表表 2-1 用例用例“图书借阅图书借阅” 用例名称图书借阅 标识符BMS-1 参与者读者(用户),图书管理员 描述读书可以通过在图书馆书架上找寻自己要借阅的书籍,将 指定书籍交付于管理员,向图书管理员提出借阅请求,管理员在 系统中先录入该书籍的 isbn 查找到相应信息,再对指定读者 进行借阅操作,如果读者没注册,管理员要事先给予读者注册, 再将图书交给读者,借阅成功。 前置条件1. 图书馆找到自己想要借阅

23、的书籍 后置条件1登录;2. 更新图书借阅列表; 主干过程 借阅图书 读者请求借阅新地图书,并提供自己的编号以及指定图书 系统显示被借阅图书的详细资料 读者提供自己的 id 系统存储读者和借阅的图书,并将之存储到数据库中 系统更新借阅列表 异常1. 读者借阅已满(未做要求) 2. 系统将错误信息显示在借阅页面 3. 系统重新启动该用例 4.数据库中该图书数据损坏 被包含用例无 被扩展用例无 优先级高 表表 2-2 用例用例“图书归还图书归还” 用例名称图书归还 标识符UC-2 参与者读者,图书管理员 描述读者将自己借阅的图书归还图书馆。 前置条件1. 到图书操作服务台归还图书 后置条件1 根据

24、图书 isbn 找到图书,进入归还页面,更新图书归 还列表; 主干过程读者请求归还借阅的图书并提供自己的编号 读者将书交给管理员 管理员根据图书编号查找到此书 进入归还页面进行还书操作 更新书籍列表 异常1该书超出了应该归还的时间范围(未限定) 2. 系统将罚款信息显示在归还页面(未限定) 3. 无法将图书归还 被包含用例无 被扩展用例无 优先级高 表表 2-3 用例用例“图书查询图书查询” 用例名称图书查询 标识符UC-3 参与者图书管理员 描述读者通过图书的 isbn,书名等信息对相应的图书进行查询。 前置条件1. 登录; 2. 转到图书列表 后置条件1. 查询页面显示相应的图书的信息 主

25、干过程图书查询 管理员输入想要查询的图书信息 系统显示相应的图书信息 点击每本书可以进行单本图书的详细信息 异常1查询的图书不存在(第 3 步后) 2. 读者输入的图书信息不能在数据库中查询到,后台报错 3. 系统显示暂时无该图书信息 4. 重新启动该用例 被包含用例无 被扩展用例无 优先级高 3 开发平台和开发工具 3.1 技术框架 本系统采用 JSP+Servlet+DAO 的 mvc 3 层架构模式,服务器端采用 Tomcat,客户 端采用 FireFox。应用 JavaBean 和 Jdbc 数据库连接,Javascript,Ajax 等技术, JQuery 框架等。 3.1.1 J2

26、EE 平台 J2EE ,即是 Java2 平台企业版(Java 2 Platform Enterprise Edition) ,是 原 Sun 公司(现已被甲骨文公司收购)为企业级应用推出的标准平台。它简化了企 业解决方案的开发、部署和管理相关复杂问题的体系结构,J2EE 技术的基础就是核 心 Java 平台或 Java 2 平台的标准版,J2EE 不仅巩固了标准版中的许多优点,例如 “编写一次、随处运行“的特性、方便存取数据库的 JDBC API、CORBA 技术以及能够 在 Internet 应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)

27、、Java Servlets API、JSP(Java Server Pages)以及 XML 技术的全面 支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结 构。J2EE 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、 高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE 降低了开发 多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持 Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强 了安全机制,提高了性能。 在开发图书馆借阅管理系统的过程中,应用 Myeclipse8.5,

28、它可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。 Myeclipse 是功能丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测试和发 布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL。 3.1.2 Web 服务器和数据库 在系统的开发过程中使用的 Web 应用服务器是 Tomcat,是 Apache 软件基金会 (Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、SUN 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支持

29、, 最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现。Tomcat 是一个小型的轻 量级应用服务器,它运行时占用的系统资源小、扩展性好、支持负载平衡和邮件服 务等开发应用系统常用的功能,因此在中小型系统和并发访问用户不是很多的时候, 经常被使用。 SQLServer 是由 Microsoft 开发和推广的关系数据库系统(DBMS),它最初是由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一 个 OS/2 版本。 为了开发的便捷快速,使用 servlet 容器对系统进行控制,担任系统的控制层, 是程序的枢纽

30、部分 开发系统用的系统工具如表 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 语言无所不能,这中说法固 然夸张,但它确实从一个侧面反映出这种新生

31、语言强大的威力与优越性。一样的应 用程序、Web 服务器乃至手机的嵌入式系统,java 都足以胜任,并且表现得十分出 色。特别是,java 对网络提供了强有力的支持,这也是这种奇妙语言的魅力所在。 3.2.2 Java 语言的特点 Java 是一种被广泛使用的网络编程语言。它定位于网络计算,它的几乎所有特 点都是服从于这一中心。同时 Java 语言也集中体现和充分利用了许多软件技术的新 成果。 可移植性:这是 Java 语言区别于其他程序语言的最大的优点可移植性(平 台无关性) ,这正体现了 Java 语言的“一次编译,处处运行”的优点。 安全性:网络上的应用程序必须具有较高的安全性和可靠性,

32、Java 特有的沙箱 机制已经很好的提供了足够的保障,同时去除了复杂且容易造成错误的指针。 还有独特的垃圾回收机制:Java 语言提供了垃圾回收机制,用以自动回收内存 垃圾。这使得程序设计语言在编写 Java 程序时不必特别考虑内存管理的问题。使用 Java 编程的时候不必理会这种恼人且容易出错的工作。 3.2.3 开发工具介绍 开发源代码工具为:MyEclipse8.5 运行平台为:Tomcat, Tomcat 性能可靠、操作和配置都十分简单,运行抛出异 常时比较明显,易解决。 采用的数据库为 SqlServer2005。 3.2.4 开发环境介绍 实验设备是一台普通计算机,操作系统为 Wi

33、ndows XP Professional(SP3),CPU 规格为英特尔 Celeron(赛扬) 双核 T3000 1.80GHz,内存为 2G,硬盘为 250GB。 4 系统设计 4.1 总体结构框图 读者添加读者添加 读者删除读者删除 读者修改读者修改 读者查询读者查询 借书操作借书操作 还书操作还书操作 JavaWeb 图书管理系统图书管理系统 作者管理作者管理出版社管理出版社管理图书管理图书管理用户管理用户管理读者借还读者借还 作者添加作者添加 作者删除作者删除 作者修改作者修改 作者查询作者查询 出版社添加出版社添加 出版社修改出版社修改 出版社移除出版社移除 出版社查询出版社查询

34、 用户注册用户注册 用户修改用户修改 用户销户用户销户 用户查询用户查询 图书入库图书入库 图书删除图书删除 图书查询图书查询 图书修订图书修订 图图 4-1 系统结构框图系统结构框图 4.2 数据库结构设计 4.2.1 数据库概念结构设计(ER 图) 读者 借阅 阅 图书 ISBN 书名 版本号 价格 封面 借阅期限 借阅状态 可借阅数 出版社 出版社 ID出版社名 属 于 属于 作者 姓 名 作者 ID 读者 ID 姓名 学号 性别 院系 图图 4-24-2 图书管理系统全局图书管理系统全局 E-RE-R 图图 4.2.2 数据库逻辑结构设计 E-R 图向关系模型的转换: 读者(读者 ID

35、,姓名,学号,性别,所在院系) 此为读者实体对应的关系模式 管理员(管理员 ID,姓名,帐号,密码,注册时间) 此为管理员实体对应的关系模式 图书(ISBN,书名,出版社,价格,版本号,出版日期,图书图片,作者,库存量, 借阅状态) 此为图书实体对应的关系模式 作者(作者 ID,作者的姓,作者的名) 此为作者实体对于的关系模式 出版社(出版社 ID,出版社名) 此为出版社实体的关系模式 借阅(图书 ISBN,读者 ID) 此为联系“借阅”的关系模型 归还(图书 ISBN,读者 ID) 此为联系“归还”的关系模式 borrowUser borrowID borrowName studyNum s

36、ex 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) 确定数据依赖。

37、 2) 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 3) 按照数据依赖的理论对关系模式进行逐一分析。 4) 按照要求分析阶段得到的处理要求,分析这样的应用环境这些模式是否合适。确 定是否要对某些模式进行合并或分解。 5) 对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。 (水平 分解,垂直分解) 。 4.2.3 数据库表设计 根据系统需求,可以进行具体的表的设计,表 4-1 是所有数据库表的汇总。 表表 4-1 数据库汇总表数据库汇总表 表名说明 authors作者表,存放书籍的作者相关信息 publishers出版社表,存放书籍的出版社相关信息 title

38、图书表,存放与书籍相关的所有信息 authorISBN作者表和图书表的关联表 borrowUser读者列表,存放读者借书的相关信息 bookusers管理员表,存放管理员的相关信息 数据库中的各个表的逻辑结构设计结果如下面的几个表格所示,每个表格表示 数据库中的一个表。 表表 4-24-2 作者表(作者表(authorsauthors) 字段名类型说明 authorIDintPrimary Key firstNamevarchar(20) 姓 lastNamevarchar(30) 名 表表 4-34-3 出版社表(出版社表(publisherspublishers) 字段名类型说明 publ

39、isherIDintPrimary Key publisherNamevarchar(30) 出版社名 表表 4-44-4 图书表(图书表(titlestitles) 字段名类型说明 isbnvarchar(20)Primary Key titlevarchar(100) 图书名,非空 editionNumberint 版本号,非空 publisherIDint 外键,出版社 ID,非空 imageFilevarchar(20) 文件图片路径 pricefloat 图书价格 borrowTimeint 借阅最大期限 isBorrowint 是否被借出 borrowIDint 外键,读者 ID,

40、非空 表表 4-54-5 图书作者关联表(图书作者关联表(authorISBNauthorISBN) 字段名类型说明 authorIDint 外键,作者 ID isbnvarchar(20) 外键,图书 ISBN 表表 4-64-6 读者表(读者表(borrowUserborrowUser) 字段名类型说明 borrowIDintPrimary Key borrowNamevarchar(50) 读者姓名,非空 departmentvarchar(50) 所在系 sexvarchar(50) 性别 studyNumvarchar(20) 学号,非空 表表 4-74-7 管理员表(管理员表(bo

41、okusersbookusers) 字段名类型说明 userIdintPrimary Key accoutvarchar(20) 帐号,非空 passwordvarchar(20) 密码,非空 namevarchar(20) 用户名,非空 createTimedatatime 创建时间 4.3 系统各模块功能 4.3.1 系统管理员模块功能 该模块主要包括对管理员进行注册,销户,修改账户信息等。管理员可以通过 注册一个账号登录管理系统,之后对所注册用户进行统一管理,用户列表显示了所 有注册用户的用户名,密码,帐号以及注册时间等操作,管理员可以对所有注册的 帐号进行修改和移除。 4.3.2 读者

42、模块功能 该模块主要有对读者用户的注册,销户修改功能。读者列表主要显示读者的姓 名,学号,性别,所在系,这里主要存放借书还书的对象。如果想要借书或还书, 就必须先通过管理员登录进行注册,成为该系统的读者用户,进而才能对书籍进行 借还。 4.3.3 图书借还模块功能 该模块主要是对图书进行借还操作的一个管理模块,列表主要显示图书的 isbn 号,书名,借阅状态以及最大借阅期限等信息。对于书名加以不同的链接,由于图 书和作者的关系是一对多,即一本图书只能借给一个人,一个人可以借多本不同的 图书,所以根据每本书的借阅状态不同,链接对象也不一样,当此书已借出,点击 进入的就是归还页面,归还对象即为借书

43、的读者;若此书状态为未借出,则点击链 接会进入到借书页面,借书对象是所有注册的读者用户。管理员可以选择某一位用 户进行借出工作。 4.3.4 图书管理模块功能 该模块主要是对图书进行统一的管理,功能包括对图书的入库,移出,修 订,快速检索等,图书列表主要显示图书的 isbn,书名,出版社,价格,版本 号,出版年份。点击书名进入图书详细页面,能看到该图书的详细信息,除刚 才所说信息外还有该书籍的作者以及图片,和正被借阅的读者用户名。同时在 列表页面可根据图书的 isbn 和书名进行模糊查询,能更好的定位某本书或某些 书。 4.3.5 出版社管理模块功能 该模块主要是对图书的出版社做一统一管理,将

44、其单独作为一模块的原因是 因为,出版社数量较少,可以单独存放一数据库表,在添加或修改图书时可以 将表中出版社进行遍历显示,若要添加图书的出版社在数据库表中没有,可以 在该模块下添加相应的出版社,在进行遍历。该模块还包括删除修改出版社等 功能。 4.3.6 作者管理模块功能 该模块主要是对图书的作者进行统一管理,将其单独作为一个模块,可以在 添加书籍的时候对作者的添加实现方便的管理, ,对于新书的作者,可以在此模 块中进行添加,类似的功能还有修改和删除作者。 5 系统实现 5.1 开发步骤 1、 静态页面制作(html 代码,frame 应用, css 应用) 2、 利用 JDBC,比较简单的实

45、现数据库存取操作(二层结构) 3、 分析二层结构带来的问题,改进该结构,引入数据访问层。 4、 简单的数据访问层实现数据库存取操作 5、 简单的数据访问层带来的问题以及如何改进 6、 数据访问层设计: 公共的数据库连接类 DbConnection、 数据访问对象 DAO 的基类 BaseDAO 7、(Log4j 的配置与应用)。 8、 针对业务的数据访问对象开发,从 AuthorDAO 开始。 9、 作者管理的数据访问层开发完毕,开始实现前台 JSP 层的开发,主要是 CRUD 操作。 10、CRUD 开发涉及问题: 表单提交 GET/POST 方式、网页传值、request 中文编码、重定向

46、等。 11、增加简单的 JS 校验。 12、ok! 开始进入出版社模块的开发, 和作者管理开发基本类似,开发速 度明显加快。 13、图书管理模块分析,业务层略微复杂。 14、图书管理业务层开发、涉及事务操作、多表操作。 15、图书管理 JSP 层开发,分析参数多的情况带来的问题,引入 JavaBean 来实现 request 参数的自动获取和设置。 16、增加 JS 校验实现基本的数据验证。 17、分页的两种策略介绍。编写通用的分页对象 PageUtil,应用该对象在图 书列表中实现内存中分页。 18、继续实现作者、出版社的分页。 19、为系统增加一张系统用户表, 完成系统用户的 CRUD。

47、20、Session 简要介绍,用户登录以及登录验证的开发。编写通用的登录验 证,单独作为文件包含到需要验证才能访问的页面中。 21、增强用户登录功能, 利用 Session,使得可以记住用户上次登录的帐号。 22、开放管理员用户的注册修改功能,并且加上 jquery 验证 23、进入读者管理模块开放,继续使用 servlet 容器管理读者的 CURD 24、系统退出功能增加。 25、介绍 Servlet 中的过滤器,使用过滤器增强可维护性。改进代码,将 request 编码交由过滤器处理, 将登录校验交由过滤器处理。 (此系统 的特殊性,无法使用过滤器改由另一种过滤方式) 26、总结 5.2

48、 详细功能与编码 5.2.1 管理员模块 1.登录页面 截图: 图图 5-1 登陆界面登陆界面 代码部分: 通过网址的 login.ii 在 web.xml 文件中找到控制器 ListUserServlet 类,在获 得切割后字符串 login,找到下面处理代码,再调用 DAO 层 login()方法进行处理, 如果传入的帐号和密码能够获得一个用户,则让其登陆成功,并加载用户列表,若 用户名密码不正确则提示错误信息。 if(action.equals(“/login“) try String account = request.getParameter(“userAccount“); Stri

49、ng 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“, user.getUserName(); out.print(flag); out.flush(); out.close(); catch(Exception e) System.out.println(“用户登录异常!“); e.printStackTrace(); throw new ServletException(); 数据层 login()方法实现: 传入两个字符串变量,在用 sql 语句查询数据库,返回用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1