1、LOGO指导教师:季小明指导教师:季小明图书图书管理系管理系统设计与实现统设计与实现n班级:信息管理和信息系统班级:信息管理和信息系统101101班班n学生:陈康明学生:陈康明n学号:学号:109094260109094260目录目录u系统概述系统概述u系统分析系统分析u系统设计系统设计u系统系统测试测试u总结总结u致谢致谢n系统简述系统简述随着社会的发展,人们对于知识的需求也在不断地增长,书籍作随着社会的发展,人们对于知识的需求也在不断地增长,书籍作为人们获取并增长知识的主要途径,使得图书馆在人们生活中占有了一为人们获取并增长知识的主要途径,使得图书馆在人们生活中占有了一定位置。这时图书馆就
2、特别需要开发一套图书馆管理系统,通过该系统定位置。这时图书馆就特别需要开发一套图书馆管理系统,通过该系统来提高图书馆的管理效率,从而减少管理方面的工作流和成本。来提高图书馆的管理效率,从而减少管理方面的工作流和成本。图书管理系统需要满足来自三方面的需求。这是个方面分别是图图书管理系统需要满足来自三方面的需求。这是个方面分别是图书借阅者、书借阅者、图书图书管理管理员和员和系统系统员员。图书借阅者的需求是查询图书馆所存。图书借阅者的需求是查询图书馆所存的图书的图书、图书图书借阅情况;图书借阅情况;图书管理管理员员应对图书馆借阅者的借阅及还书要应对图书馆借阅者的借阅及还书要求进行操作,同时形成借书或
3、还书记录求进行操作,同时形成借书或还书记录;系统系统员员需要对图书借阅者、图需要对图书借阅者、图书进行管理和维护,以及系统状态的查看和维护。书进行管理和维护,以及系统状态的查看和维护。图书馆管理系统是采用图书馆管理系统是采用JavaJava语言编写语言编写,后台数据库则采用的是后台数据库则采用的是MySQLMySQL,本系统提供,本系统提供44个功能模块,分别是基本数据维护功能模块、基本个功能模块,分别是基本数据维护功能模块、基本业务功能模块、查询模块、安全使用管理功能模块。这业务功能模块、查询模块、安全使用管理功能模块。这44个模块里又有个模块里又有许多子模块,通过这些模块之间的相互连接
4、与配合,完成操作员发出的许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。各种指令。下面下面将将全面介绍所设计的图书馆管理系统的系统功能和业务流程全面介绍所设计的图书馆管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计,并对系统进行详细的数据分析和设计,最终完成最终完成系统开发。系统开发。系统概述系统概述n技术背景技术背景JavaJava语言简介语言简介JavaJava是一种可以撰写跨平台应用软件的面向对象的程序设计语言。是一种可以撰写跨平台应用软件的面向对象的程序设计语言。JavaJava技术具有卓越的通用性、高效性、平台移植行和安全性,广泛技术具有卓越的通
6、这样就增加了速度并提高了灵活性。活性。MySQLMySQL所使用的所使用的SQLSQL语言是用于访问数据库的最常用标准化语言,由于语言是用于访问数据库的最常用标准化语言,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型系统的开发都选择型系统的开发都选择MySQLMySQL作为其数据库。作为其数据库。系统概述系统概述n可行性分析可行性分析n(11)技术可行性)技术可行性n开发环境:开发环境:Windows7Windows7n开发工具:开发工具:Visio2007Visio2007、MySQLMySQ
7、L、MyEclipse8.6MyEclipse8.6n开发语言:开发语言:JavaJavan技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等软硬件配置是否满足开发的需求等,以上条件可以满足,技术可,以上条件可以满足,技术可行。行。n(22)经济可行性)经济可行性n系统开发工具,以及后台数据库,成本低廉系统开发工具,以及后台数据库,成本低廉n项目投资不大项目投资不大n(33)运行可行性)运行可行性nwindowswindows环境中进行环境中进行n(44)操作可行性)操作可行性n系统是基于
8、系统是基于MyEclipseMyEclipse环境平台开发的,易于操作环境平台开发的,易于操作系统分析系统分析系统分析系统分析n需求分析需求分析一个典型的图书馆管理系统应该能够管理所有的图书信息,一个典型的图书馆管理系统应该能够管理所有的图书信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书的借阅,归还进行管理。通过该系统的自动化管理,能够大图书的借阅,归还进行管理。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和
9、成本。低管理开销和成本。为了满足上面提出的功能要求,基于为了满足上面提出的功能要求,基于JavaJava的图书管理系统需的图书管理系统需要达到以下目标。要达到以下目标。u(11)支持用户注)支持用户注添加添加,并能够并能够修改修改、删除、删除用户信息。用户信息。u(22)支持图书信息管理,能够添加新图书、修改图书信息)支持图书信息管理,能够添加新图书、修改图书信息和删除图书。和删除图书。u(33)支持图书借阅管理,能够支持借书、还书和查询等操)支持图书借阅管理,能够支持借书、还书和查询等操作。作。u(44)支持图)支持图书系统员书系统员管理,图书管理,图书系统员系统员登陆后,能查看全登
10、陆后,能查看全部图书信息列表、借阅信息列表和所有注册用户列表部图书信息列表、借阅信息列表和所有注册用户列表等模块等模块。系统分析系统分析n业务流程业务流程业务业务流程图是一种描述系统内部各单位、人员之间业务流程图是一种描述系统内部各单位、人员之间业务关系、作业顺序和管理信息流向的图表,它描述的主要是业关系、作业顺序和管理信息流向的图表,它描述的主要是业务的处理过程。就本系统,简单来说借书时,读者一般查阅务的处理过程。就本系统,简单来说借书时,读者一般查阅图书信息后,通过管理员进行借书操作,形成借书记录图书信息后,通过管理员进行借书操作,形成借书记录并并更更新图书信息。业务流程图如下新图书信息。
11、业务流程图如下::系统分析系统分析n数据数据流程流程数据流程图数据流程图(DFDDFD)是一种全面描述信息系统逻辑模型)是一种全面描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况统中的流动、处理和存储情况。数据数据流程的分析是把数据在组织(或原系统)内部的流流程的分析是把数据在组织(或原系统)内部的流动情况抽象出来,舍去具体组织机构、信息载体、处理工作、动情况抽象出来,舍去具体组织机构、信息载体、处理工作、物资、材料等,以数据流动过程来考查实际业务的数据处理物资、材料等,以数据流动过程来考查
12、实际业务的数据处理模式。模式。数据流程分析主要包括对信息的流动、传递、处理、数据流程分析主要包括对信息的流动、传递、处理、存储等的分析存储等的分析。数据流程分析一般是通过分层的数据流程图来实现的数据流程分析一般是通过分层的数据流程图来实现的,将将相应调查过程中掌握的数据处理过程绘制成一套完整的相应调查过程中掌握的数据处理过程绘制成一套完整的数数据流程图。据流程图。本本图书图书管理系统的数据流程简单描述如下图:管理系统的数据流程简单描述如下图:系统分析系统分析在在下面下面图书馆图书馆管理系统顶层数据流图中,管理系统顶层数据流图中,“P1P1内部管理内部管理”为图书为图书和读者情况的管理,和读者
13、情况的管理,“P3P3安全管理安全管理”为用户的权限设置为用户的权限设置系统分析系统分析“P2P2借还管理借还管理”可细化为借书、还书的详细流程,如下图所示可细化为借书、还书的详细流程,如下图所示系统设计系统设计系统设计是开发管理信息系统的重要阶段,实现系统分析阶段所提出系统设计是开发管理信息系统的重要阶段,实现系统分析阶段所提出的逻辑模型并确定新系统的结构。系统分析阶段是解决管理信息系统的逻辑模型并确定新系统的结构。系统分析阶段是解决管理信息系统“做什做什么么”的问题,系统设计阶段则是解决的问题,系统设计阶段则是解决“怎么做怎么做”的问题。系统设计阶段最终的问题。系统设计阶段最终则是提出系统
14、实施方案,建立管理信息系统的物理模型,它是从管理信息系则是提出系统实施方案,建立管理信息系统的物理模型,它是从管理信息系统的逻辑模型出发,以系统分析为依据,一步一步加入物理内容,从抽象又统的逻辑模型出发,以系统分析为依据,一步一步加入物理内容,从抽象又回到具体。回到具体。系统设计包括总体设计和详细系统设计包括总体设计和详细代码代码设计。设计。这里介绍这里介绍总体设计,具体包总体设计,具体包括功能模块设计和数据库的设计。括功能模块设计和数据库的设计。系统设计系统设计一个管理信息系统通常包括一个管理信息系统通常包括相对相对复杂的业务逻辑和功能实现,因此复杂的业务逻辑和功能实现,因此对这样的系统应
15、该先对其进行子系统地划分,然后针对每个子系统进行对这样的系统应该先对其进行子系统地划分,然后针对每个子系统进行功能模块的细化,自顶向下最终完成整个新系统的总体结构的设计。功能模块的细化,自顶向下最终完成整个新系统的总体结构的设计。设计的图书馆管理系统有设计的图书馆管理系统有44个功能模块个功能模块,各功能模块的具体说明如各功能模块的具体说明如下:下:基本数据维护功能模块:负责对系统中的基本数据信息即图书信基本数据维护功能模块:负责对系统中的基本数据信息即图书信息和用户信息进行维护。其中可以修改图书信息、增加图书和删除图书息和用户信息进行维护。其中可以修改图书信息、增加图书和删除图书,,对于
17、统设计系统设计n数据库设计数据库设计数据库设计是指对于一个给定的应用环境,构造数据库逻辑数据库设计是指对于一个给定的应用环境,构造数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求的过程。效地存储和管理数据,满足各种用户的应用需求的过程。数据库设计步骤数据库设计步骤u(11)需求分析需求分析。数据库设计首要了解与分析用户需求。数据库设计首要了解与分析用户需求。u(22)概念结构设计概念结构设计。将需求分析得到的用户需求综合、归将需求分析得到的用户需求综合、归纳和抽象,形成独
18、立于纳和抽象,形成独立于DBMSDBMS具体的概念模型,这个阶段主要用具体的概念模型,这个阶段主要用E-RE-R图来描述。图来描述。u(33)逻辑结构设计。将概念结构设计得到的逻辑结构设计。将概念结构设计得到的E-RE-R图模型转化图模型转化为数据库系统支持的数据模型,并对其进行优化。为数据库系统支持的数据模型,并对其进行优化。u(44)物理结构设计。为逻辑数据模型选取一个最合适应用物理结构设计。为逻辑数据模型选取一个最合适应用环境的物理结构(包括存储结构和存取操作)。环境的物理结构(包括存储结构和存取操作)。u(55)数据库实施。运用数据库语言,根据之前的设计建立)数据库实施。运用数据
19、库语言,根据之前的设计建立数据库,编制调试程序,数据入库,进行试运行。数据库,编制调试程序,数据入库,进行试运行。u(66)数据库运行维护。即运行过程中不断对其评价、调整)数据库运行维护。即运行过程中不断对其评价、调整和修改。和修改。系统设计系统设计需求分析主要是详细调查现实世界要处理的对象,充分了解需求分析主要是详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定系系统的工作概况,明确用户的各种需求,然后在此基础上确定系统的功能。本系统相对简单,用户需求也十分明确,结合系统分统的功能。本系统相对简单,用户需求也十分明确,结合系统分析阶段的分析内容,完
20、成需求分析。析阶段的分析内容,完成需求分析。u概念结构设计概念结构设计将需求分析得到的用户需求抽象为概念模型,这里采用的是将需求分析得到的用户需求抽象为概念模型,这里采用的是自底向上方法,即首先定义各局部应用的概念结构,将他们集成自底向上方法,即首先定义各局部应用的概念结构,将他们集成起来,得到全局结构(起来,得到全局结构(E-RE-R图)。根据之前的分析和设计,本系统图)。根据之前的分析和设计,本系统使用的数据库实体分别为用户信息实体、图书信息实体和图书借使用的数据库实体分别为用户信息实体、图书信息实体和图书借阅信息实体。部分局部阅信息实体。部分局部E-RE-R图如下:图如下:系统设计系统设
21、计集成局部视图,得到最终的全局集成局部视图,得到最终的全局E-RE-R图图系统设计系统设计u逻辑逻辑结构设计结构设计将概念结构设计建立的将概念结构设计建立的E-RE-R模型,转换为选定的数据库管理模型,转换为选定的数据库管理系统所支持的数据模型。本系统选用了目前最常用的关系数据模系统所支持的数据模型。本系统选用了目前最常用的关系数据模型,所以逻辑结构设计的任务就是将型,所以逻辑结构设计的任务就是将E-RE-R模型转换为关系模型。它模型转换为关系模型。它们的转换就是将实体和实体间的联系转换为关系,并确定这些关们的转换就是将实体和实体间的联系转换为关系,并确定这些关系的关系名、属性和码。系的关系名
22、、属性和码。根据上述的图书管理系统根据上述的图书管理系统E-RE-R图以及图以及E-RE-R图向关系模型转换的图向关系模型转换的原则和方法,将如上原则和方法,将如上E-RE-R图转换成的关系模型如下所示:图转换成的关系模型如下所示:u图书信息(图书信息(图书名称图书名称,出版社名称,出版社名称,图书作者姓名图书作者姓名,出版日期,出版日期,价格,拥有册数),价格,拥有册数)u用户用户信息信息(用户名用户名,密码,用户类型),密码,用户类型)u图书借阅信息(图书借阅信息(借阅者姓名借阅者姓名,借阅图书名称借阅图书名称,借书日期,还书,借书日期,还书日期,图书是否归还)日期,图书是否归还)系
23、统设计系统设计u物理物理结构设计结构设计为逻辑数据模型选取一个最合适应用环境的物理结构(包括为逻辑数据模型选取一个最合适应用环境的物理结构(包括存储结构和存取操作存储结构和存取操作),主要是将逻辑结构设计的关系转换为存),主要是将逻辑结构设计的关系转换为存储数据的表。例如下图书借阅表:储数据的表。例如下图书借阅表:字段名称字段名称类型类型大小大小非空非空描述描述idint4字段ID号studentnamevarchar20借阅者姓名booknammevarchar20借阅图书名称borrowdatedatetime8借书日期returndatedatetime8还书日期isreturnvarc
24、har10图书是否归还系统测试系统测试系统测试指发现程序中的错误,确定错误的原因和位置,并系统测试指发现程序中的错误,确定错误的原因和位置,并改正错误。改正错误。系统系统完成完成后,经过以下简单的检测步骤,完成系统。后,经过以下简单的检测步骤,完成系统。u页面测试:逐个测试每个页面是否可以正确显示,显示页面页面测试:逐个测试每个页面是否可以正确显示,显示页面是否是否简洁简洁,易懂,测试各菜单能否正常运行。易懂,测试各菜单能否正常运行。经经测试,所有界面均可以正确显示,显示测试,所有界面均可以正确显示,显示页面页面简洁简洁,易懂,各菜易懂,各菜单均能正常运行。单均能正常运行。u功能测试:对
25、每个菜单下的功能逐一测试,尽最大可能发现潜在功能测试:对每个菜单下的功能逐一测试,尽最大可能发现潜在的错误。的错误。经测试经测试,每个菜单下的功能均能实现,暂未发现其潜在的错误。,每个菜单下的功能均能实现,暂未发现其潜在的错误。u需求测试:根据需求分析的内容,测试系统是否和当初的设计一需求测试:根据需求分析的内容,测试系统是否和当初的设计一样。样。经经测试,所设计的图书馆管理系统基本满足当初的设计需求。测试,所设计的图书馆管理系统基本满足当初的设计需求。总结总结在这次毕业设计的过程中,我学到了很多,增强了我的在这次毕业设计的过程中,我学到了很多,增强了我的动手能力以及分析问题、解决问题的能力,系统的开发是一个动手能力以及分析问题、解决问题的能力,系统的开发是一个不断分析设计和完善的过程,项目的完成不仅仅是程序的编写不断分析设计和完善的过程,项目的完成不仅仅是程序的编写,它更需要是认真严谨的态度和过程中的不断思考和充实。,它更需要是认真严谨的态度和过程中的不断思考和充实。随着设计的逐步深入,感