




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . 工业高等专科学校工业高等专科学校 毕业设计(论文)毕业设计(论文)题目题目 :基于轻量级基于轻量级 J2EEJ2EE 的图书的图书管理系统的设计与实现管理系统的设计与实现系系 别:别: 电子信息工程系电子信息工程系专专 业:业:计算机应用技术计算机应用技术 班班 级:级:计计 应应 0707 班班姓姓 名:名: 小小 龙龙 学学 号:号: 2 2 指导教师(职称):指导教师(职称): 贾贾 桂桂 霞(讲师)霞(讲师) . . . II / 62日日 期:期:2010-03-082010-03-08工业高等专科学校工业高等专科学校毕业设计(论文)任务书毕业设计(论文)任务书电子信息工
2、程电子信息工程系系 1010 届届计算机应用技术计算机应用技术 专业专业毕业设计(论文)任务书毕业设计(论文)任务书毕业设计(论文)题目基于轻量级 J2EE 的图书管理系统的设计与实现校(外)指导教师职 称工作单位与部门联系方式贾桂霞讲师计算机应用技术教研室一、题目说明(目的和意义):随着时代的发展,在现代大学图书管理中,如何方便快捷地为读者提供服务,提高图书的利用率等问题变得越来越突出。借助网络,为图书馆建立一个信息管理系统,给图书管理和读者提供一个电子平台,将大大提高学校图书馆的管理水平和现代化程度。本次设计项目基于轻量级的 J2EE 架构,开发一个小型图书管理系统,其中使用 C/S 模式
3、建立桌面应用程序客户端实现图书的借阅和信息管理服务,使用B/S 模式建立 web 客户端实现读者查询服务。在设计与实现过程中将涉与javaBean、JSP 和 Servlet 等组件技术的使用技巧和常用的 Web 服务器(Tomcat)的使用和配置。通过本次设计,要求学生学会使用 J2EE 的组件技术搭建一个轻量级 J2EE架构的 MIS,使学生初步得到软件工程的训练,全面培养软件开发过程中需求分析、概要设计、详细设计、数据库设计与文档规书写的能力。二、设计要求:设计容:该系统主要分为借书管理服务、信息管理服务和读者查询三大功能模块:借阅管理,主要包括借书和还书功能。信息维护,包括维护借阅证、
4、读者规则信息和维护书刊信息、维护物理书刊信息。读者查询,包括图书信息查询与借阅信息查询。设计环境: 硬件:微机软件: JDK、SQL server2000/MySQL 、Tomcat 、 Rational Rose2003、Netbeans6.0设计要求:(1)要求学生能够熟练使用某一种数据库管理系统;具有一定的 Java 程序编写经验;具有网页设计的基本知识,了解 HTML 的常用标记,最好能熟练使用 Dreamweaver 等网页设计可视化工具;对 JavaEE 的组件知识有一定的了解。 . . . III / 62(2)使用 Rational Rose 对系统进行 UML 建模(包括需求
5、分析、系统的用例分析、域模型分析) 。(3 系统采用 J2EE 架构:B/S 模式:JSP+ SQL server2000;C/S 模式:DeskApp+ SQL server2000。(4)论文书写规、文字通顺、图表清晰、测试数据完整、结论明确。设计步骤:1需求分析;2系统功能模块设计;3数据库的分析与设计;4模块详细设计;5系统的整合实现;注意事项:1毕业设计的时间安排根据时间表,最后一周,检查程序、交毕业设计论文;毕业设计论文要求有封面(封面上写明班级、 、指导教师、时间等) ,并装订成册。2指导老师打分方案:毕业设计成绩=考勤*30%+论文*40%+系统*30% 3每周考勤一次,有特殊
6、情况需向指导教师或班主任老师请假。三、进度表日 期 容第 15 周第 16 周第 17 周第 18-19 周第 20 周开 学通过在学校图书馆的实际调研,并搜集参考资料,制订设计计划,进行需求分析。系统功能设计,提出系统总体设计方案。提出系统详细设计方案。配置软件、硬件开发环境;编码与测试。对毕业设计进行总结,认真阅读毕业设计(论文)的书写要求,撰写毕业论文。将毕业论文以书面与电子文档两种形式,提交指导教师批阅。进一步完善毕业论文,提交终稿、交叉评阅、答辩。完成日期第 20 周(2010 年 1 月)答辩日期第 1-2 周(下学期) . . . IV / 62四、主要参考文献、资料、设备和实习
7、地点与翻译工作量:(一)参 考 文献:1 王养廷,磊等.UML 基础与应用. 清华大学2 萨师煊, 王珊.数据库系统概论.高等教育4 完全掌握 SQL Server 2000 美. 机械工业或类似的相关书籍5 耿祥义编著.JSP 实用教程. 清华大学,2008.2 6 JSP+Oracle 数据库组建动态经典实例. 光等编著. 电子工业7 斌等编著.Netbeans 权威指南.电子工业,2008.5(二)实习地点信息技术实验室,和学生自己考察的外部地点。(三)翻译工作量对论文摘要进行英文翻译。要求英文摘要 250 单词以,关键词 58 个词。注:本任务书要求一式四份,一份系部留存,一份报教务处
8、实践教学科,学生每人一份,指导教师一份 . . . 5 / 62摘 要本次毕业设计开发的图书管理系统是一个 web 应用系统,其开发主要包括后台数据库的建立和维护以与前台 web 页面的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备、易用等的特点。该系统的设计基于 B/S 结构,用 Tomcat 作为 Web 服务器,页面的设计使用JSP 动态网页编程技术,数据库采用 MySQL 开源数据库,用纯 JAVA 驱动程序实现数据库连接。本系统实现的主要功能模块有借阅管理模块,主要实现借书和还书功能;信息维护模块,包括维护借阅证、读者规则信息和维护书刊信息、维护
9、物理书刊信息;读者查询模块,包括图书信息查询与借阅信息查询。关键词:JSP 技术 MySQL Web 技术 . . . I / 62AbstractThe design and development of the graduate library management system is a web application systems, their development include the establishment and maintenance of back-end database as well as the front two aspects of the develo
10、pment of web pages. For the former requires the establishment of data consistency and integrity, the latter requires a complete application functionality, ease of use and other characteristics. The systems design is based on B / S structure, using Tomcat as a Web server, and pages designed for use J
11、SP dynamic web page programming, databases, using open-source MySQL database, using pure JAVA driver to implement database connection.The main function of this system implementation management module module has to borrow, mainly to achieve library and book function; information maintenance module, i
12、ncluding the maintenance of library card, readers information and maintenance of books and information on the rules, maintaining the physical books and information; readers Query Module, including the Book Information inquiries and loan information query.KeywordsKeywords: JSP technology MySQL Web te
13、chnology . . . I / 62目 录1. 概述 11.1 图书馆管理系统概述 11.2 相关技术简介 11.2.1 JSP 技术 11.2.2 Servlet21.2.3 Tomcat31.2.4MySQL31.3 软硬件环境 41.3.1 开发环境 41.3.2 运行环境 42. 需求分析 52.1 系统功能分析 52.2 用例建模 62.3 动态行为建模 82.3.1 建立用例“维护用户信息”活动图 82.3.2 建立用例“维护图书信息”活动图 92.3.3 建立用例“登录”顺序图 92.3.4 建立用例“添加图书”顺序图 102.3.5 建立用例“删除书种”顺序图 112.3
14、.6 建立用例“借书”顺序图 112.3.7 建立用例“还书”顺序图 122.3.8 建立用例“续借”顺序图 132.4 E-R 图 143. 总体设计 163.1 运行模式的选择 163.1.1 图书管理系统的架构 163.1.2 开发环境配置 163.2 系统功能模块设计 173.3 WEB服务器端 183.4 数据库设计 183.5 类图 214. 详细设计 254.1 重要模块设计 254.1.1 图书管理模块 254.1.2 读者管理模块 304.2 系统界面设计 335.系统测试 35结束语 37 . . . II / 62致 38参考文献 39附录主要模块代码 40前台页面主要代
15、码 40服务器端主要代码 47 . . . 1 / 621. 概 述1.1 图书馆管理系统概述 随着社会的发展,人们生活水平的不断提高,物质文化的发展已经远远满足不了人们的需求,精神文明有了飞速的发展,因此图书事业的发展就成为精神文明进步的一个动力。在知识经济时代到来的今天,用计算机控制图书馆的工作由自动化系统运行而完成,这不仅节省了人力,还提高了工作效率和服务质量,而且还加速了图书的流通。由于高等院校的规模不断扩大,高校图书馆的藏书、管理人员、读者的数量也越来越多,图书管理涉与到大量的数据处理,传统的人工处理已经不能完成庞大的数据处理,因为图书的情况是随时改变的,因此必需对图书进行动态的管理
16、,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。因此,为方便对图书馆书籍、读者资料、借还书等进行高效的管理,提高业务流程效率,让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有图书进行管理,并且准确无误,轻松自如,因此开发一个图书馆管理系统软件是当务之急,也是本论文选题的重要意义和研究宗旨。总之,建立图书馆的计算机自动化管理系统可以大大提高图书馆图书流通率。1.21.2 相关技术简介1.2.1 JSP 技术JSP 是 Java Server Pages 的缩写,是由 Sun 公司倡导、许多公司参与,于 1999 年推出的一种动态网页技
17、术标准。它是 J2EE 开发技术的一个分支,基于 Java Servlet 以与整个 Java 体系的 web 开发技术,利用这一技术可以建立安全、跨平台的先进动态。JSP 技术有下列优点:(1)一次编写,各处执行特性;(2)搭配可重复使用的组件;(3)采用标签化页面开发;(4)JSP 的效率和安全性更高; (5)JSP 的适应平台更广。 . . . 2 / 62JSP 运行原理:如果服务器上的 JSP 页面被第一次请求,则服务器上的 JSP 引擎先将该页面转译成 java 文件,再编译成 java 字节码文件,最后通过执行字节码文件来响应客户的请求;而当此 JSP 页面再次被请求时,服务器则
18、直接执行此页面的字节码来响应客户的请求。这些字节码的作用是让服务器执行 JSP的标签和脚本,并将结果连同 HTML 标签一起发送给客户的浏览器显示。 JSP 页面的首次执行往往由服务器管理者来完成。而当有多个用户同时请求同一个页面时,JSP 引擎则为每个用户启动一个线程。图 1.1 运行原理流程图1.2.2 ServletServlet 是服务器语言,它的优点是自动开启多个线程接受多个用户的访问。Servlet 的生命周期从 init()方法开始,Servlet 一旦创建,它便会保存在服务器中,除了第一个用户应用 init()方法之外,其他用户都不需要激活该方法。当服务器关闭该 Servlet
19、 的应用或者服务器关闭时,Servlet 生命便结束,Servlet 生命结束之前会激活方法 destroy()。Servlet 这一特性与全局E 十分相似,我们可以使用 Servlet 这一特性建立数据库连接的缓冲池。客户程序可以决定使用 doGet()或者 doPost()方法向服务器传递数据,客户端通过 form 标识的 method 参数定义 get 或者 post 方法。doGet()方法是默认的方法,但是该方法传递的数据量不能太大;如果要传输大量数据,需使用doPost()。Servlet 的 service 方法可以接受 get、post 或者其他方法传入服务器的数据。如果不能确
20、认用户使用哪种方法向服务器传入数据,可以使用 . . . 3 / 62service 方法接受不同类型方法传入的参数。Servlet 使用 getParameter()取得用户变量。1.2.3 TomcatTomcat 是一个免费的开源的 Servlet 容器,它是 Apache 基金会的一个核心项目,由 Apache、Sun 和其他一些公司与个人共同开发而成。由于有了 Sun的参与和支持,最新的 Servlet 和 JSP 规总能在 Tomcat 中得到体现。Tomcat被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 Java 产品,可见其在业界的地位。由于 Java 的跨
21、平台特性,基于 Java 的 Tomcat 也具有跨平台性。很多中小应用不需要采用 E 等技术,JSP 和 Servlet 已经足够,这时如果用应用服务器就有些浪费了。而 Tomcat 短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择 Tomcat。Tomcat 也可以与其他一些软件集成起来实现更多的功能。现举例如下:与 oss 集成起来开发 E;与 Cocoon(Apache 的另外一个项目)集成起来开发基于 XML 的应用;与 OpenJMS 集成起来开发 JMS 应用。除了以上提到的这几种,可以与 Tomcat 集成的软件还有很多。Tomcat 确实是一个很好的工具,不仅仅
22、因为其免费,功能强大,更因为其开放性。如今,开源软件越来越受到人们的重视,Linux 就是一个成功的典型。人们不再只限于使用软件,而且已经关心起软件的具体实现,我们有理由相信 Tomcat 会走得更远。1.2.4 MySQLMySQL 是一种开放源代码的关系型数据库管理系统(RDBMS) ,MySQL 数据库系统使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。由于 MySQL 是开放源代码的,因此任何人都可以在 General Public License 的许可下下载并根据个性化的需要对其进行修改。MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务
23、化处理的情况下,MySQL 是管理容最好的选择。MySQL 关系型数据库于 1998 年 1 月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C+、Eiffel、Java、Perl、PHP、Python 以与 Tcl 等编程语言的编程接口(APIs) ,支持多种字段类型并且提供了完整的操作符支持查询中的 SELECT 和 . . . 4 / 62WHERE 操作。MySQL 开发组计划于 2001 年中期公布 MySQL4.0 版本。在这个版本中将有以下新的特性被提供:新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。在此之后,MySQL
24、 开发着希望提供安全的数据复制机制、在 BeOS 操作系统上的 MySQL 实现以与对延时关键字的定期刷新选项。随着时间的推进,MySQL 将对 ANSI 92/ANSI 99 标准完全兼容。1.3 软硬件环境1.3.1 开发环境硬件环境:硬件环境:普通的 pc 机(cpu:奔腾 4;主频:2.45GHZ;硬盘:80G)操作系统:操作系统:WindowsXP软件环境:软件环境:JDK、MySQL 、Tomcat、 Rational Rose2003、Netbeans6.0网页三剑客1.3.2 运行环境硬件环境:硬件环境:普通的 pc 机(486 以上的计算机就行)操作系统:操作系统:兼容当前主
25、流操作系统 Windows 2000/XP/vista/Linux 等 . . . 5 / 622. 需 求 分 析所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机 “做什么” 。在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。在软件工程的历史中,很长时
26、间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。2.1 系统功能分析本系统定位于学校的中小型图书馆,暂时考虑单机环境下的实现操作。系统选择目前常用的 Windows XP/2000。系统开发的总体目的是在图书馆信息管理中实现管理的系统化、自动化、减少工作量,增加效率与可靠性。本图书管理系统的主要功能有:(1)图书权限的管理:包括系统登录,密码修改,管理员添加等;(2)图书类别的管理:即图书类别
27、的添加、修改、查询。包括图书类别的编号、名称等;(3)入库图书的管理:即新进图书的登记,馆藏图书的修改、删除、查询和报损。包括图书的编号(条码号) 、ISBN 号、索书号、原名、原作、译者、图书类别、语种、等;(4)读者信息的管理:即读者信息的添加、修改、删除、查询和报损。包括读者编号、类型、性别、号、工作单位、办证日期等;(5)读者借阅图书信息的管理:即信息(包括被借图书与借阅者信息)的添加、修改、删除、查询。包括借书者编号、 、类别,所借书编号、名 . . . 6 / 62称、原名、作者、书籍类别、 、借出日期、应还日期等;(6)还书信息的管理:即信息(包括图书信息与还书者信息)的添加、修
28、改、删除、查询。包括还书者编号、 、所还书编号、名称、原名、作者、书籍类别、 、借出日期、应还日期、实还日期等。2.2 用例建模UML(Unified Modeling Language)是一个开放的,可扩展的工业标准的可视化建模语言,提供了用来组织分析设计过程,客户、程序员的手段。用例图是 UML 的重要组成部分,主要用来描述用户的需求,强调谁在使用系统,系统可以完成哪些功能。一个用例是一个系统的行为和系统的部分行为,是对一组动作序列的描述,通过执行该动作序列,系统为参与者提供可观察的结果。用例所侧重的是系统具有什么样的功能,或者系统能做什么,并不是用例或用例图要说明的容。本图书管理系统用例
29、中有一类参与者:用户,分别是读者、系统管理员和图书管理员;两类用例一类是登录模块,另一类是其他操作:分别是系统设置、读者管理、图书管理、图书借还、系统查询、更改口令。整个查询过程通过用户(学生、教师、系统管理员、图书管理员)登录系统访问数据库进行各自的查询或维护等工作。系统用例图如下图所示:图 2.1 图书管理系统用例图业 业业 业 业 业业 业 业 业 业业 业 业 业图 2.2 图书管理系统顶层用例图图 2.3 读者用例图 . . . 7 / 62业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业业 业图 2.4 系统管理员用例图事件流分析事件流分析事件流描述了一个用例在执行时
30、参与者与系统之间的交互过程,这个过程包含多个分支,即执行者在执行这个过程时可以有多个路线,其中预期会成功的路线被称为基本流,剩下的其他路线被称为备选流。A用户登录的事件流分析:基本流A-1 用户运用网络资源使用系统,用例开始;A-2 用户输入用户名和密码,进行登录;A-3 系统验证输入的用户名和密码是否正确,如果正确登录到本系统,如果错误则执行替换流 B-2。备选流B-2 如果输入的用户名和密码错误会提示用户重新登录,返回基本事件流第二步。 B用户借书/还书/续借的事件流分析:基本流当读者从图书馆借还或续借时,用例开始,如果“图书管理员”选择“借书” ,则执行分支流 A-1,借阅图书;如果“图
31、书管理员”选择“还书” ,则执行分支流 A-2,归还图书;如果“图书管理员”选择“续借” ,则执行分支流 A-3,续借图书。分支流A-1 借阅图书;A-1-1 提供读者的借阅卡和所借图书名称或者图书编号;A-1-2 检索图书。如果图书不在馆,则执行备选流 B-1;A-1-3 否则将图书借给读者;A-1-4 创建借阅记录;A-1-5 存储借阅记录;A-2 归还图书;A-2-1 提供读者的借阅卡和所借图书名称或者图书编号; . . . 8 / 62A-2-2 归还图书;A-2-3 删除借阅记录;A-3 续借图书;A-3-1 提供读者的借阅卡和所借图书名称或者图书编号;A-3-2 检索图书;A-3-
32、3 将图书借给读者;A-3-4 更新借阅记录;A-3-5 存储借阅记录。替换流B-1 如果图书不在馆,则系统显示提示信息,用例终止。2.2.3 3 动态行为建模动态行为建模动态行为建模主要是通过交互图中的顺序图等体现的,顺序图(Sequence Diagram)显示多个对象之间的动态协作。顺序图重点是显示对象之间发送的消息的时间顺序。它也显示对象之间的交互,就是在系统执行时,某个指定时间点将发生的事情。顺序图由多个用垂直线显示的对象组成,图中时间从上到下推移,并且顺序图显示对象之间随着时间的推移而交换的消息或函数。消息是用带消息箭头的直线表示的,并且它位于垂直对象线之间,时间说明以与其他注释放
33、到一个脚本中,并将其放置在顺序图的页边空白处。活动图是阐明了业务用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。工作流程活动图用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。活动既可以是手动执行的任务,也可以是自动执行的任务,它可完成一个工作单元。2.3.1 建立用例“维护用户信息”活动图 图书管理员登录系统后,可以进行查询用户信息、添加用户、删除或更新读者信息等活动,如下图 2.5
34、 所示 . . . 9 / 62图 2.5 “维护用户信息”活动图2.3.2 建立用例“维护图书信息”活动图图书管理员登录系统后,可以进行查询图书信息、添加新图书、删除或更新图书信息等活动,如下图 2.6 所示业 业 业 业业 业 业 业 业业 业业 业 业 业 业业业 业 业 业 业业 业 业 业 业业 业业 业 业 业图 2.6 “维护图书信息”活动图2.3.3 建立用例“登录”顺序图用例场景“登录”是在参与者“图书管理员”和“登录界面”对象、 “主界面”对象之间发生交互,可以绘制“登录”的顺序图,如图 2.7 所示。其中的交互过程如下: 图书管理员启动系统,弹出对话框,由图书管理员输入用
35、户名和密码,然后提交。系统检验所输入的用户名和密码是否正确,如果正确则启动系统。 . . . 10 / 62 : :业 业 业:业 业 业 业:业 业 业1: 业 业 业 业2: 业 业 业 业 业3: 业 业4: 业 业 业 业 业 业5: 业 业 业 业 业图 2.7 “登录”的顺序图2.3.4 建立用例“添加图书”顺序图用例场景“添加图书”是在参与者“图书管理员”和“主界面”对象、 “添加书刊界面”对象、 “添加书架”对象、 “添加图书类型”对象、 “添加具体图书”对象之间发生交互,可以绘制“添加书种”的顺序图,如图 2.8 所示。其中的交互过程如下:图书管理员选择“添加书种”选项,弹出
36、对话框,由图书管理员输入图书条形码、图书名称、作者、等信息,然后提交,系统根据所输入的刊号查询是否已存在该书种信息,若不存在则新建书种,并存书种的信息。 . . . 11 / 62图 2.8 “添加图书”的顺序图2.3.5 建立用例“删除书种”顺序图用例场景“删除图书”是在参与者“图书管理员”和“主界面”对象、 “书刊界面”对象。 “删除书架”对象、 “删除图书类别”对象、 “具体的图书”对象、“读者”对象之间发生的交互,可以绘制“删除图书种”的顺序图,如图 2.9所示。其互过程如下:图书管理员选择“删除书种”选项,弹出对话框,图书管理员输入书刊的刊号,然后提交。系统在数据库中进行查询,显示书
37、刊信息(如果不存在书刊信息,则提示信息,结束删除动作) 。如果没有物理书刊被借出,则删除物理书刊信息。再检查是否存在预定记录信息。如果有,则删除预定记录信息,并通知借阅者,确认信息无误后删除书种。图 2.9 “删除书种”的顺序图2.3.6 建立用例“借书”顺序图 用例场景“借书”是在参与者“图书管理员”和“主界面”对象、 “借阅界 . . . 12 / 62面”对象、 “读者”对象、 “查找图书”对象、 “借阅记录”对象、 “图书”对象之间发生的交互,可以绘制“借书”的顺序图,如图 2.10 所示。其互过程如下: 图书管理员选择“借阅”选项,弹出对话框,图书管理员输入书刊和借阅者的信息后提交,
38、系统在数据库中进行查询,确认是否存在这种书刊,如果存在,确定是否有物理书刊可以被借阅,如果有物理书刊可以被借阅,确定借阅者是否有效,如果有效,创建借阅记录并存储借阅记录,并在物理书刊和借阅者信息中添加借阅记录,然后更新物理书刊和借阅者信息。如果确定不存在这种书刊,或确定没有可借阅的物理图书,则显示信息,图书管理员重新输入书刊信息或终止借书操作,如果确定借阅者无效,则显示提示信息,图书管理员重新输入借阅者信息或终止借书操作。图 2.10“借书”的顺序图2.3.7 建立用例“还书”顺序图用例场景“还书”是在参与者“图书管理员”和“主界面”对象、 “还书界面”对象、 “读者”对象、 “借阅记录”对象
39、、 “图书”对象之间发生的交互,可以绘制“还书”的顺序图,如图 2.11 所示。其互过程如下: 图书管理员选择“还书”选项,弹出对话框,图书管理员输入书刊 ID 号并 . . . 13 / 62提交,系统查询数据库,确定指定 ID 号的物理书刊是否存在,若存在,确定是否有借阅记录,若有,则从物理书刊和借阅者信息中删除借阅记录,更新物理书刊和借阅者信息。若指定 ID 号的物理书刊不存在或没有借阅记录,则显示提示信息,图书管理员重新输入书刊 ID 号或终止还书操作,最后删除借阅记录。 图 2.11 “还书书种”的顺序图2.3.8 建立用例“续借”顺序图用例场景“续借”是在参与者“图书管理员”和“主
40、界面”对象、 “续借界面”对象、 “读者”对象、 “借阅记录”对象、 “图书”对象之间发生的交互,可以绘制“还书”的顺序图,如图 2.12 所示: . . . 14 / 62图 2.12 “续借”的顺序图2.4 E-R 图E-R 图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。 构成 E-R 图的基本要素是实体型、属性和联系,其表示方法为: 实体型:用矩形表示,矩形框写明实体名; 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; 联系:用菱形表示,菱形框写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n
41、或 m : n) 。图书管理系统的 E-R 图如图 2.13 所示: . . . 15 / 62图图书书图图书书管管理理员员读读者者读读者者条条形形码码姓姓名名性性别别用用户户类类别别证证件件类类别别出出生生年年月月电电话话邮邮箱箱用用户户名名密密码码借借阅阅图图书书条条形形码码图图书书名名称称书书架架图图书书类类别别出出版版社社作作者者读读者者条条形形码码图图书书条条形形码码借借阅阅记记录录密密码码图 2.13 E-R 图3.总 体 设 计3.1 运行模式的选择3.1.1 图书管理系统的架构在本系统的运行模式采用的是客户机/服务器模式(Client/Server 模式) ,充分利用了客户端和
42、服务器两种技术原有的优点,此模式的数据传递关系如图3.1 所示。请 求回 答SQL 语言clientDBMS (MySQL ) 数据库 . . . 16 / 62图 3.1 图书管理系统的架构关系图3.1.2 开发环境配置系统的开发环境包括软件开发环境、硬件开发环境等。要做好一个系统的开发,首先就得选好软件开发环境,软件开发环境包括操作系统的选择、数据库的选择、开发语言的选择以与开发环境的配置等。这些都是能否有效而快捷的完成系统开发的关键所在。在本次系统开发过程中,我们主要选择了在Linux 操作系统、JSP 开发工具、MySQL 数据库、Tomcat 服务器的环境下来实现。以下是对本系统开发
43、环境的描述:1、 操作系统选择由于相 Windows 操作系统大家熟悉,也比较方便、安全、稳定,而且运行速度快、因此服务器端的操作系统选择 Windows。2、 开发工具选择JSP 技术是 Java 技术的延伸,与 ASP 相比,它具有两方面的优点:一是动态部分用 Java 编写,这不仅使 JSP 的功能更强大,而且更容易于使用;二是 JSP 适应平台更广,由于 Java 具有跨平台特性,因此 JSP 和 JavaBean甚至不用重新编译,就可以从一个平台移植到另一个平台。Java 可以通过JDBC 技术和 JDBC-ODBC Bridge 访问带有 JDBC 驱动程序或 ODBC 驱动程序的
44、数据库,如 Oracle、SQL Sever、MySQL、Access 等。鉴于其诸多的优点,选用 JSP 作为开发工具。3、 数据库选择MySQL;是最流行的开放源码 SQL 数据库管理系统,由 MySQL AB 公司开发、发布并支持,任何人都可以免费使用该软件。MySQL 数据库服务器具有数据处理量大、快速、可靠和易于使用的特点,同时还具有良好的连通性和安全性。鉴于 MySQL 的这些特点,我们选用了 MySQL 开发数据库。4、 Web 服务器选择Tomcat 是 Apache 组织开发的一种 JSP 引擎,其本身具有 Web 服务器的功能,可以作为独立的 Web 服务器来使用,也可以和
45、目前大部分的主流 服务器一起配合。Tomcat 具有性能稳定、效率高等特点。3.2 系统功能模块设计系统主要功能如下:实现借、还以与续借的管理;存储借阅信息; . . . 17 / 62浏览图书馆图书借阅记录;查询图书馆借阅信息;借阅登记信息修改。系统主要功能模块,如图 3.2 所示图 3.2 系统功能模块图3.3 Web 服务器端Web 服务器端功能主要包括用户登录验证以与图书借阅等方式。当用户通过电脑登录到互联网中时,登陆客户端就连接到了 Web 服务器中。Web 服务器在此实现的功能是:当用户登录时,Web 服务器就对用户登录进行检测这其中包括(普通用户登录检测,普通管理员登录检测,高级
46、管理员登录检测) ;当用户进行访问时,Web 服务器此时就接受用户的请求并访问数据库查询,根据用户请求 Web 服务器可以以两种查询方式访问数据库并把查询结果返回给用户客户端。功能图如图 3.3 所示 . . . 18 / 62Web 服务器用户登录信息验证图书借阅与信息查询超级管理员登陆普通管理员登陆普通用户登录管理员访问普通用户访问图 3.3Web 服务器端功能模块3.43.4 数据库设计数据库设计根据前期的 E-R 分析,在服务器上创建名为 db_library 的数据库。其中包括以下表:tb_bookcase、tb_bookinfo、tb_booktype、tb_borrow、tb_g
47、iveback、tb_library、tb_manager、tb_parameter、tb_publishing、tb_purview、tb_reader、tb_readertype下面将具体介绍数据库中各个表的结构。表 3.1、tb_bookcase表 3.2、tb_bookinfo . . . 19 / 62表 3.3、tb_booktype表 3.4、tb_borrow表 3.5、tb_giveback表 3.6、tb_library表 3.7、tb_manager . . . 20 / 62表 3.8、tb_parameter表 3.9、tb_publishing表 3.10、tb_p
48、urview表 3.11、tb_reader表 3.12、tb_readertype . . . 21 / 623.53.5 类类 图图类图是对类与其之间的关系的可视化表示,从系统的角度描述了系统的静态结构。类是对一类具有一样特征的对象的描述,是包装信息和行为的项目,是面向对象的重要特征。类图是面向对象分析和设计的核心,基本概念有类、对象、属性、行为或操作以与关联、聚集、泛化、继承等。另外,类图中还定义了其它很多重要的概念,并提供了丰富的表示法,使得类图有着很强的表达能力。在面向对象的建模技术中,类、对象与它们之间的关系是最基本的建模元素。对于一个要描述的系统,其类模型、对象模型以与它们之间的
49、关系揭示了系统的结构。建立类模型的过程,实际上是对现实世界上的一个抽象的过程,它把现实世界中与问题有关的各种对象与其相互之间的各种关系进行适当的抽象和分类描述。定义系统实体类定义系统实体类首先应从研究用例中发现类,并确定类的属性和操作。图书管理系统可以抽象出以下一些主要的类。(1)在人员信息处理方面有“读者”类。(2)在图书信息处理方面有“”书刊类、 “物理书刊”类、 “阅读记录类” 、“预定记录类”等。此外,还应有:“图书管理信息”类、它支持持久存储一个对象,是“借阅者”类、 “书刊”类、 “物理书刊”类、 “预定记录”类的父类;“对象标识”类,他实现了对象标识,用来引用持久对象。每一个类都
50、应当确定其属性、主要操作。累的属性可以通过检查类的定义、分析需求和运用相关知识来确定,与此同时,通过分析业务流程可以把业务流程中对象之间的交互抽象成一个类的操作。定义用户界面类定义用户界面类除了一般类外还需要分析用户与系统进行交互的用户界面,这些界面也可以用类定义。对于图书馆系统可识别出一下一些用户界面类: (1) “查找书刊界面”类是用来查询制定刊号的书刊的对话框; (2) “借阅界面”类是用来执行借阅操作的对话框; (3) “还书界面”类是用来执行还书操作的对话框; (4) “预定界面”类是用来执行预定书籍操作的对话框; (5) “信息提示界面”类用来显示提示信息; (6) “登录界面”类
51、是用来根据输入的用户名和密码验证使用者身份的对话框。 . . . 22 / 62确定类之间的关系并建立类图对以上已经确定的类,他们之间存在着关联、类属、依赖以与组合关系。1.类属关系如前所述, “实体”类是“借阅者”类、 “书刊”类、 “物理书刊”类、 “借阅记录”类、 “预定记录”类的父类,在它们之间存在类属关系,如图 3.4 所示。图 3.4 实体类图2.组合关系“借阅者界面” 、 “查找借阅者界面” 、 “书刊界面” 、 “查找书刊界面” 、 “借阅界面” 、 “还书界面” 、 “预定界面” 、 “信息提示界面”都是“主界面”的一部分。如果“主界面”被破坏,则以上个界面与“信息提示界面”
52、都会被破坏,故在它们之间存在组合关系,另外“登录界面”与“主界面”之间是关联关系,如图 3.5 所示。 . . . 23 / 62图 3.5 主界面类图包设计包设计系统分解图书管理系统是由两个子系统组成。 (1)借书管理子系统:负责借书、预定书刊以与还书工作。 (2)信息管理子系统:负责借阅者、书刊和物理书看的信息维护工作。图书管理系统分解成子系统如图 3.6 所示图 3.6 图书管理系统分解成子系统图系统包图系统包图为了方便理解和处理大量的模型元素,通过将这些模型元素用包组织起来.图书馆系统虽然不大,但也可以把系统的累组织成包,以便更清楚的表示出系统 . . . 24 / 62结构.图书馆系
53、统的包图如图 3.7 所示,一共有 3 个包:”图书业务处理包” “界面”包“数据库”包.在”界面”包中包含了前文叙述的全部界面类.在”数据库”包中包含了与实现数据库服有关的全部类.在”图书业务处理”包中包含了前文前文所述的为实现图书馆管理系统的所有类。 业 业 业 业 业业 业 业 业 业 业图 3.7 图书馆系统包图4. 详 细 设 计 详细设计阶段的任务在于要设计出程序的“蓝图” ,因此,详细设计的结果基本上决定了最终的程序代码的质量。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是详细设计
54、的逻辑基础。在编码阶段就可以把详细设计时的描述转换成某种计算机语言,作为图书管理系统工程的一个步骤,编码是设计的自然结果,因此,代码的质量主要取决于系统总体设计的质量。但是,程序设计语言的特性和编码途径也会对程序的可靠性、可用性以与可维护性产生深远的影响。4.1 重要模块设计本系统涉与到的模块如下:信息设置(图书馆信息、用户设置、参数设置、书架设置) 、图书管理(图书类型管理、图书档案管理) 、读者管理(读者类型管理、读者档案管理) 、图书借还(图书借阅、图书续借、图书归还) 、登录界面、信息查询(图书档案查询、图书借阅查询、借阅到期提示) 、主页、退出系统、更改口令等。我主要负责的是本系统中
55、的图书管理(图书类型管理、图书档案管理) 、读者管理(读者类型管理、读者档案管理) 。用户登录系统之后就可以根据自己的身份做相应的操作,而我设计的这几个模块是系统管理员实现的重要功能。先就自己的设计的模块进行如下分析: . . . 25 / 624.1.1 图书管理模块图书类型管理以与图书档案管理是图书管理系统中的重要组成部分,如果对图书没有很好的管理,将会降低工作效率,本系统的作用不会得到很好的发挥,其主要代码如下:book_Modify.jspbook_Modify.jsp%String str=null;BookTypeDAO bookTypeDAO=new BookTypeDAO();
56、Collection coll_type=(Collection)bookTypeDAO.query(str);if(coll_type=null | coll_type.isEmpty()out.println(alert(请先录入图书类型信息!);history.back(-1););else Iterator it_type=coll_type.iterator(); int typeID=0; String typename1=; BookCaseDAO bookcaseDAO=new BookCaseDAO(); String str1=null; Collection coll_b
57、ookcase=(Collection)bookcaseDAO.query(str1); if(coll_bookcase=null | coll_bookcase.isEmpty() out.println(alert(请先录入书架信息!);history.back(-1);); else Iterator it_bookcase=coll_bookcase.iterator(); int bookcaseID=0; String bookcasename=; PublishingDAO pubDAO=new PublishingDAO(); String str2=null; . . .
58、26 / 62 Collection coll_pub=(Collection)pubDAO.query(str2); if(coll_pub=null | coll_pub.isEmpty() out.println(alert(请先录入信息!);history.back(-1);); else Iterator it_pub=coll_pub.iterator(); String isbn=; String pubname=; BookForm bookForm=(BookForm)request.getAttribute(bookQueryif); %function check(for
59、m)if(form.barcode.value=)alert(请输入条形码!);form.barcode.focus();return false;if(form.bookName.value=)alert(请输入图书!);form.bookName.focus();return false;if(form.price.value=)alert(请输入图书定价!);form.price.focus();return false;图书馆管理系统 当前位置:图书管理 > 图书档案管理 > 修改图书信息 >>> input nam
60、e=id type=hidden id=id value= 条 形 码: input name=barcode type=text id=barcode value= 图书名称: input name=bookName type=text id=bookName value= size=60 * 图书类型: option value= input name=author type=text id=author value= 译者: input name=translator type=text id=translator value= : option value= 价格: input name=price type=text id=price value= (元) *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哈尔滨医科大学《书画装裱》2023-2024学年第二学期期末试卷
- 广东工程职业技术学院《工程招投标与概预算》2023-2024学年第二学期期末试卷
- 江苏航运职业技术学院《中学语文教学设计与技能训练(二)》2023-2024学年第二学期期末试卷
- 黑龙江司法警官职业学院《模拟电子技术课程设计》2023-2024学年第二学期期末试卷
- 广东司法警官职业学院《数字特效合成》2023-2024学年第二学期期末试卷
- 天津工艺美术职业学院《卫生检验综合技术》2023-2024学年第二学期期末试卷
- 东莞职业技术学院《计算机与操作系统》2023-2024学年第二学期期末试卷
- 武汉工程科技学院《外国文学名篇》2023-2024学年第二学期期末试卷
- 2025三年级湘教版语文下学期期末知识点归纳复习周末练习单
- PROMIS-评分量表-使用版
- 《柔性棚洞防护结构技术规程》
- 危险废物综合利用与处置技术规范 通则
- 植物组织培养技术应用研究进展
- 教育心理学课件(完整版)
- YYT 1898-2024 血管内导管导丝 亲水性涂层牢固度试验方法
- 2023年安徽电气工程职业技术学院单招职业技能试题及答案解析
- JIS-D1601-1995-汽车零部件振动试验方法
- 高血压肾病护理查房课件
- 基坑开挖影响周边环境与建筑物研究
- 《民事诉讼法》课件
- 环保合规与企业风险管理
评论
0/150
提交评论