毕业设计-- 基于WEB的图书管理信息系统.doc_第1页
毕业设计-- 基于WEB的图书管理信息系统.doc_第2页
毕业设计-- 基于WEB的图书管理信息系统.doc_第3页
毕业设计-- 基于WEB的图书管理信息系统.doc_第4页
毕业设计-- 基于WEB的图书管理信息系统.doc_第5页
免费预览已结束,剩余30页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 设 计 中 文 摘 要本文基于SQL Server2000数据库和ASP技术,设计并开发一套适合于中小型图书管理的图书信息管理系统。本系统包含图书管理、读者管理、图书借阅、图书查询、系统管理和系统辅助等六个功能模块。在系统的实现中运用了多种查询技术,特别是多条件组合查询;同时在系统中采取了多种安全性措施,确保了系统在一定程度上的安全可靠。针对以上情况,决定组建一个基于浏览器/服务器结构的图书管理系统,要求该系统能对登录后的用户实行权限管理。管理员能在客户端根据自已的需要查询图书,并且图书管理员也能在服务器端根据读者提供的身份信息及图书编号办理借书或还书手续,通过自动查询功能判断读者是否还能借书。如果读者没有逾期未还图书情况及所借图书没超过可借图书数量,则可继续办理借书手续,否则不予办理。另外,图书管理员能根据需要通过该系统的服务端自行修改图书信息,增加或删除图书书目等。关键词 ASP 信息管理系统 数据库毕 业 设 计 外 文 摘 要Title Books Information Management System Based On Web AbstractBased on ASP and SQL Server2000 technology, a kind of books information management system to arrange small or middle type of books management is designed and developed. The system include following functions: books management, reader management, books borrowing, books query, system management and system assistant. The system utilizes kinds of query technologies, especially multi-condition combination query. For the query results, buffering and some System Optimization technologies are adopted, which improves greatly the searching speed on the web for reader. Many security measures are taken as well, which insures the safety and reliability of the system to some extent. The topic of ASP based multi-threaded download for the hypothetical system is the growing number of Internet users developed, mainly based on the network of multi-threaded download. This system uses a powerful Microsoft Visual C # as a tool to develop. From the whole system in line with the simple, user-friendly, flexible, practical, rapid point of view, to achieve through a list box displayed on a web site part of the file path, the user through the relevant documents check box selected, multi-threaded download at the same time document, and then save the file in the default folder. The main thesis presented in the context of the subject development, to be completed by the function and the development process. Note the focus of the focus of system design, design ideas, key technologies and solutions.Key Words Active Server Pages Information Management System Database目 录1引 言11.1传统图书管理的模式和特点11.2图书管理的现状和趋势21.3选题的目的、意义31.4设计目标32系统分析82.1需求分析82.2可行性报告92.3开发工具的选用93总体设计113.1设计原则113.2系统功能模块分析113.3模块框架图123.4系统数据分析和设计134详细设计164.1详细设计思想164.2基本模块设计165系统测试与维护265.1系统测试265.2系统维护26结论27致谢28参考文献291 引言1.1 传统图书管理的模式和特点一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,传统的图书管理模式其最大的特点是手工;一个最典型的手工处理还书过程就是:首先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。对于有学生(教师)证的学生(教师)来说还要对他们资料作一定的记录。并且在人们来借书的时候,首先持证件者要去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书,然后登记持证件者的借还书时间和在书签条上写下借还书记录,之后把会员证留在那里;还书的时候,相对应的消去出借记录;这样做起来比较麻烦,比较费时间。中小型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。这种管理方式存在着诸多缺点,如:手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。比如在一个局域网内,大家希望能在本台电脑上就能查找自己想要的图书,而不用跑到图书馆或图书室里去用那里的电脑查询,这就需要一个网络化的联机查询系统,虽然编程语言VisualBasic也能用基于CS模式实现查询的网络化,但是要安装客户端,这样将给以后的安装和升级维护工作带来不便。1.2 图书管理的现状和趋势随着近年来信息技术及计算机网络技术的不断发展, 图书馆也先从传统的图书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。对于一些小图书馆和一些图书室来说,由于工作人员比较少,长期以来,作为图书馆的主要工作图书借阅一直未能很好地开展。在平常的图书借阅工作中, 由于大部分读者不熟悉图书馆藏书,且对图书排架分类的不了解,往往花费很长时间才能找到其所需的书。为提高管理效率,更好地为读者服务,利用已有的办公局域网络条件,将馆藏书籍做成基于WEB的查询系统,实现图书在一个单位的网络内甚至Internet上查询,可使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高。1.3 选题的目的、意义随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的原则。1.4 设计目标在试用了一些个图书管理系统和查阅了大量相关资料文献的基础上,发现那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,有Visual Basic6.0、Visual ForPro6.0、Power Builder等,再加上这些图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比较总结他们都实现了以下图书管理的基本功能:a)图书检索模块:是图书管理系统的重要模块之一,是读者快速查询图书的途径。b)图书管理模块:是图书管理员操作模块,读者是无权进入的。本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。c)数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。 d)数据统计模块:由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对系部图书实施有效管理。该系统必须具备以下功能:a)能对各类图书实行分类管理;b)提供必要的读者信息;c)能进行各种高级查询(如未还书目的查询;已还书目的查询等);d)具有图书检索功能;e)能管理登录系统的图书管理员等。这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。针对以上情况,决定组建一个基于浏览器/服务器结构的图书管理系统,要求该系统能对登录后的用户实行权限管理。在系统启动后,读者能在客户端根据自已的需要查询图书,而图书管理员能在服务器端根据读者提供的身份信息及图书编号办理借书或还书手续,通过自动查询功能判断读者是否还能借书。如果读者没有逾期未还图书情况及所借图书没超过可借图书数量,则可继续办理借书手续,否则不予办理。另外,图书管理员能根据需要通过该系统的服务端自行修改图书信息,增加或删除图书书目等。该系统设有超级用户,当管理员以超级用户登录服务器时,图书管理员有着最大的权限,能通过管理界面设置图书借阅期限、查询逾期未还图书信息和读者信息,并能有效地管理图书分类、读者信息及图书管理员的登录帐目等。该系统要求能在WIN98、WIN2000及更高级环境下运行。2 系统分析与设计2.1 需求分析需求分析:为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。主要包括功能需求和性能需求两个方面。a)功能需求该图书管理系统涉及图书信息、系统用户信息、读者信息、图书借阅信息等多种数据管理。从管理的角度出发可将图书管理分为三类:图书信息管理、系统管理、读者数据管理。图书信息管理包括图书入库、图书增删、图书借还和查询操作,系统管理主要是用户密码管理,读者数据管理包括读者类别管理和读者个人数据的录入、修改、删除、借书和还书等。典型的图书管理系统主要应具有以下功能: 图书入库管理:录入新的图书信息。 图书信息管理:主要是对已有图书的修改、删除。 图书借还管理:实现对图书的借出和归还的信息管理。 图书查询管理:通过各种查询方式来进行查询,比如书号、作者等。 系统用户管理:实现用户密码的管理。b)性能需求系统的运行对运行环境的一些要求:硬件环境:处理器:Inter Pentium 166 MX 或更高内存:不小于64MB硬盘空间:不小于1.5GB显卡:SVGA显示适配器软件环境:开发环境:Windows XP开发工具:ASP语言、Dreamweaver 8.0数据库管理系统:SQL Server2000运行环境:Windows 98/ME/2000/XP纵观图书管理的发展和应用以及计算机的迅猛发展,本次课程设计题目是基于WEB图书管理信息系统, 其意义在于通过所学的知识,利用开发工具,开发出一套使用简单的图书管理信息系统。2.2 可行性报告2.2.1 经济可行性网站的技术支持追求评价客观、公正,信息广泛、快捷,服务专业、全面,手段超前、多样,管理现代、规范。可以说,本设计会尽可能的向着这些方面靠拢。本开发的设计和维护费用教小,系统维护手段简单可行,系统支出少,且系统开发成功后所带来的效益是一定的,可以说这个设计的性价比较高,应该说是一个成功的设计。a)完成该系统和维护系统所用的费用硬件:电脑一台 3000RMB软件:Windows 9x以上的操作系统,9X安装PWS,Windows 2000以上的操作系统安装IIS ,并且都同时安装了网络浏览器DremweaverMX 8简体中文正式版或者是其他的网页编辑工具总计:3000元左右b)产品投入使用获得的经济效益和社会效益2.2.2 技术可行性a)开发的软件可行性基于WEB的图书管理信息系统开发的技术是可行的,因为现代计算机技术和信息为我们提供了很好的技术。我们应用它们可以开发出功能较为强大,操作方便,且较完善的聊天室系统根据自己所学的知识,结合实际情况,笔者选择了DremweaverMX 8.0 进行对该系统的开发。使用其作为开发工具是因为对这个开发工具更具有更好的了解和开发能力。数据库方面采用SQL Server 2000进行开发,SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000是数据库程序设计的优秀软件,它是面向对象的可视化编程,同时它提供很多数据库操作的命令和函数我们应用DremweaverMX 8.0的强大技术和完善的SQL Server 2000可以很快地开发出符合实际聊天系统。DremweaverMX 8.0为用户提供了良好和操作简单的界面。对于目前的网络系统的开发还是有一定的优势的。b)开发的硬件可行性由于现在电脑的发展是非常的飞快,所以在硬件上应该没有什么问题,现在的电脑的处理能力还是相当可以的。不过要注意的是硬件系统的稳定性问题,这个是非常关键的问题。2.2.3 操作可行性进入图书管理系统的用户大多是一些熟悉图书管理的人,或者是一些对计算机比较熟悉的人,因此对于这些人来说,方便的使用计算机进行图书管理,应该不具有任何问题。并且本系统提供了简单,易懂的界面,让客户尽快的熟悉图书管理系统的操作。2.3 开发工具的选用本系统开发采用了所学的Active Server Pages(ASP,活动服务器页面)、SQL Server2000 数据库服务技术。网页设计使用的是最新的 Dreamweave 8.0 版本。在此,对系统所采用的语言和工具进行一点简单的介绍。2.3.1 ASP语言的介绍Active Server Pages(ASP,活动服务器页面)就是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。 如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。目前的 ASP 版本总共提供了六个内建对象,分别是Request对象、Response对象、Server对象、Session对象、Application对象及ObjectContext对象,其各自功能简述如下:Request对象:负责从客户机接收信息;Response 对象:负责响应用户请求;Application对象:负责保存所有ASP程序用户的共用信息;Session对象:负责保存单个用户与应用程序交互的各种信息;Server对象:负责控制ASP的运行环境。ObjectContext对象:供ASP程序配合MTS进行分散式的事务处理。a)Request对象Request对象的语法如下:Request .集合 | 属性 | 方法 (变量)使用Request还可以从客户端得到数据,访问任何基于HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、Cookie和用户认证。常用的3种取得数据的方法是:Request.form、Request.QueryStryt和Request。b)Response对象Response对象用于动态响应客户端请求,并将响应信息返回到客户端浏览器中。Response对象的语法如下:Response .集合 | 属性 | 方法 Response对象的方法包括AppendToLog、BinaryWrite、Clear、End、Flush、Redirect、Write等。c)Application对象Application对象用于存储对所有用户都共享的信息,并可以在Web应用程序运行期间持久地保持数据。Application对象的语法如下:Application .集合 | 方法 Application对象的集合有两个:Contents集合及StaticObjects集合,其中Contents集合表示没有使用元素定义的存储于Application对象中的所有变量(及它们的值)的一个集合;而StaticObjects集合表示使用元素定义的存储于Application对象中的所有变量(及它们的值)的一个集合。d)Session 对象Session对象,可以使不同的用户存储自己的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失。Session对象的语法如下:Session .集合 | 方法 | 属性Session对象提供了两个集合:Contents集合及StaticObjects集合,其中Contents集合表示存储于这个特定Session对象中的所有变量和其值的一个集合,并且这些变量和值没有使用元素进行定义;而StaticObjects集合表示通过使用元素定义的、存储于这个Session对象中的所有变量的一个集合。e)Server对象Server对象提供对服务器上访问的方法和属性。2.3.2 SQL SEVER数据库简介SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。标准的SQL命令,比如“Select”、 “Insert”、 “Update”、 “Delete”、 “Create”和 “Drop”常常被用于完成绝大多数数据库的操作。SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据; DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象;DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。其中DML组可以细分为以下的几个语句:SELECT:用于检索数据;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE:用于从数据库中删除数据。DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX 下面是一个简单SQL语句的例子:我们使用SQL语句来从Book中检索借书证号为000001的借阅者姓名:SELECT 姓名 FROM Book WHERE 借书证号 = 000001。2.3.3 Dreamweaver 8.0的简介Dreamweaver 8.0 是 建立 Web 站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。从对基于 CSS 的设计提供领先的支持到手动编码功能,Dreamweaver 在一个集成和高效的环境中为专业人员提供了所需的工具。开发人员可以将其选择的服务器技术与 Dreamweaver 配合使用,建立将用户连接到数据库、Web 服务和旧式系统的强大 Internet 应用程序。数据接口的选择由于系统和所用的开发工具自身所带的特点,所以系统中所要用到的接口有Connection接口、Statement接口和PreparedStatement接口三个接口。面向对象的程序设计通过面向对象的程序设计把系统要实现的功能都写进一个 Java Beans(java 类文件包)内,系统通过调用文件包内的方法实现系统的操作。由于系统开发语言是ASP ,采用这种方法能够很大程度提高系统的运行能力,保证了系统快速响应用户的请求。所以本系统的主要精华在于对面向对象的方法的把握,编定一个好的方法能够很大程度提高系统的性能。以下简单介绍一下面向对象程序设计。 面向对象的程序设计的基本概念面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。面向对象程序设计的优点面向对象出现以前,结构化程序设计是程序设计的主流,结构化程序设计又称为面向过程的程序设计。在面向过程程序设计中,问题被看作一系列需要完成的任务,函数(在此泛指例程、函数、过程)用于完成这些任务,解决问题的焦点集中于函数。其中函数是面向过程的,即它关注如何根据规定的条件完成指定的任务。在多函数程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问。每个函数都可以具有它们自己的局部数据。这种结构很容易造成全局数据在无意中被其他函数改动,因而程序的正确性不易保证。面向对象程序设计的出发点之一就是弥补面向过程程序设计中的一些缺点:对象是程序的基本元素,它将数据和操作紧密地连结在一起,并保护数据不会被外界的函数意外地改变。比较面向对象程序设计和面向过程程序设计,还可以得到面向对象程序设计的其他优点:a)数据抽象的概念可以在保持外部接口不变的情况下改变内部实现,从而减少甚至避免对外界的干扰。b)通过继承大幅减少冗余的代码,并可以方便地扩展现有代码,提高编码效率,也减低了出错概率,降低软件维护的难度。c)结合面向对象分析、面向对象设计,允许将问题域中的对象直接映射到程序中,减少软件开发过程中中间环节的转换过程。d)通过对对象的辨别、划分可以将软件系统分割为若干相对为独立的部分,在一定程度上更便于控制软件复杂度。e)以对象为中心的设计可以帮助开发人员从静态(属性)和动态(方法)两个方面把握问题,从而更好地实现系统。f)通过对象的聚合、联合可以在保证封装与抽象的原则下实现对象在内在结构以及外在功能上的扩充,从而实现对象由低到高的升级。 3 总体设计3.1 设计原则系统的设计与开发是一项系统工程,为了保证系统的质量,必须遵守共同的设计原则,尽可能地提高系统的各项指标。具体的设计原则如下:实用性原则:要力求最大限度得满足实际工作的需要,考虑各业务层次、各管理环节数据处理的实用性,把满足用户生产的和管理业务作为第一要素进行考虑。用户接口和操作界面设计尽可能做到界面美观大方、操作简便实用。可扩展性原则:为适应将来的发展,系统应具有良好的可扩展性和可维护性。软件设计应尽可能模块化、组织化,使应用系统可灵活配置,适应不同的情况。数据库的设计应尽可能考虑到未来的需要。安全性原则:应用软件与数据库系统的设计要做到安全可靠,防止非法用户的入侵。数据库的备份策略恰当,以防灾难性事故的发生。用户界面设计原则:用户界面的设计应符合Windows规范的图形用户界面(GUI),做到美观大方。用户界面应当直观、明了、条理清晰。实现“傻瓜型”管理-易学、易用、易管理。数据库设计原则:一致性原则:对信息进行统一的分析与设计,协调好各数据源,保证系统数据的一致性和有效性;完整性原则:数据库的完整性是指数据的正确性和相容性,要防止合法用户使用数据库时向数据库加入不规范的数据,对输入到数据库中的数据要审核和约束机制;安全性原则:数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄漏、更改或破坏,数据库要有人证和授权机制;可伸缩性原则:数据库的设计应充分考虑发展的需要、移植的需要,应具有良好的扩展性,伸缩性和适度冗余;规范化数据库的设计:应遵循规范化理论。规范化程度过低的数据库,可能会存在插入/删除异常、修改复杂、数据冗余等问题,解决的方法就是对关系模式进行分解或合并,转换成高级范式。3.2 系统功能模块分析3.2.1 图书管理图书管理的主要内容包括:a)新书入库,图书管理人员按照每年的采购计划进行购书,(不在本系统考虑范围)图书购入后由图书管理人员将图书按类别分类后录入数据库;b)图书出库,某一部分图书会随着时间的增长及知识的更新而变得不再有收藏的价值,或者图书被损坏,这些图书就要在图书库的除去。即从图书库中删除此图书记录;c)新书编码,图书入库后,需要贴上条形码,以便以后提供借阅,本系统不涉及到条形码阅读器,只是假定此过程已经生成条形码。编码只是将条形码帖于书上以唯一标识图书;d)图书信息修改,图书信息由于工作人员的疏忽,而出现错误,提供其图书ID就可以修改其信息。3.2.2 图书流通管理图书流通管理主要内容包括:a)图书借阅,主要功能是记录借阅证编号和图书编号,进行借书过程,在数据库中插入一条借书记录,该记录包括读者ID、图书ID、借出日期、借阅编号、操作员;b)图书归还,主要功能是输入借阅编号、借阅证编号、图书ID、还书日期,在借阅登记表中找到相应的记录,将借书记录删除,将该记录的相应数据更新到历史记录中;c)图书暂停,主要功能是将图书的状态改为暂时停止外借状态,更新图书表。3.2.3 统计查询统计查询的主要内容包括:a)读者查询,主要功能是录入读者的姓名或期读者ID来精确查询或模糊查询读者的相关信息;b)借阅查询,主要功能是录入读者ID或图书编号对当前已经借阅的图书及读者的信息查询。3.3 模块框架图图3.1 系统功能简图图书管理系统图书管理图书流通管理读者管理查询系统管理新书入库查询目标图书查询借阅情况添加管理员删除管理员读者查询添加读者借书操作还书操作图书出库删除读者 通过对图书管理系统的分析,可以得出该系统涉及三个实体:读者、图书、工作人员。通过对各实体数据关系的整理, ER图见图3.2。 图3.2 系统E-R简图还书借阅读者管理员图 书维护书3.4 系统数据分析和设计通过对图书管理系统的分析,可以得出该系统涉及三个实体:读者、图书、工作人员。读者:借阅证编号、姓名、最大借书数、状态。图书:图书编号、图书名称、作者、出版社、价格、库存量。工作人员:用户名称、登陆密码。系统管理的主要内容:a)添加用户,主要功能是向用户表中添加用户,只有管理员才有此权限;b)修改密码,主要功能用于用户密码的更改。实体之间的联系涉及的数据项有:借阅信息表:借阅人姓名,图书编号,借书日期。因此对系统的数据库的设计可以围着这几个方面进行,所以对数据库的设计由以上的分析做为依据,通过一系列的分析和数据库的设计,使得数据库的设计得以实现。系统数据库中的各数据库表结构如下面的图所示:创建的图书库表设计见表3.1。表3.1 图书库表(Book)列名数据类型长度允许空BookIdint4Titlevarchar50Austhorvarchar50TSLBvarchar50ISBNvarchar50CBSvarchar50TSZTvarchar16TSXXtext50CBSJvarchar4DJint4PCJEint4TSKCLint4创建的读者表设计见表3.2。表3.2 用户信息表(Reader)列名数据类型长度允许空ReaderIDvarchar40Passwordvarchar40Readernamevarchar30BZRQDatetime8SXRQDatetime8LJJSint4创建的图书借阅记录表设计见表3.3。表3.3 图书借阅记录表(Borrow)列名数据类型长度允许空BorrowIDint4ReaderIDint4BookIDint4JYSJDatetime8DQSJDatetime8GHSJDatetime8ZTVarchar50XJCSint4创建的管理员信息表设计见表3.4。表3.4 管理员表(Manager)列名数据类型长度允许空ManagerIDInt20PasswordInt30创建的规则表设计见表3.5。表3.5 规则表(GZ)列名数据类型长度允许空RuleIDInt20GZMCVarchar50GZNRText16以上是系统数据库的各表。其中Book表是用来存放图书的,如管理员要对书库中的书做一些调整可以通过对Book的修改从而达到。Reader表用来存放用户的信息的表,管理员能通过对Reader 表的操作知道某用户的具体信息。Borrow 表用来存放用户借书的记录,用户每借一次书,系统就自己在Borrow 中添加一条记录。从而保证了书的出处有据可依。管理员信息表主要用来记录管理员信息。4 详细设计4.1 详细设计思想图书管理系统共分为三个大的模块:资本资料维护模块设计、系统管理模块设计和用户模块设计。资本资料维护模块设计主要是系统对数据库的内容的维护,对书的借出和归还的操作,对新书的入库,旧书的出库,以及书的信息的修改,对书的落处进行跟踪,保证图书馆内书的完整性。系统管理模块主要对管理员的操作,记录每一个管理员的基本信息,及时地更新管理员的信息,删除老管理员的信息。系统用户模块主要实现的功能是系统提供用户查询自己的借阅信息及用户对自己所需要的图书的查询。4.2 基本模块设计4.2.1 功能模块的实现 系统功能模块图见图4.1。ASPASPASPASPASPASP登 陆首 页图 书 查 询已借阅信息查询图 书 添 加管 理 员 修 改图4.1 系统模块文件结构a) 登录模块的设计登录功能由页面admin.asp实现,在该页面中,由于读者登录名由管理员分配,因此,无密码验证设计,具体设计登录界面见图4.2。图4.2 登录界面读取读者IDID=ReaderInfo中的ReaderID登陆成功,进入读者功能模块页面相等不相等登陆功能的流程图见图4.3图4.3 登陆功能流程图登录界面部分代码: function checklogin()if (document.form1.username.value=)alert(请输入用户名);document.form1.username.focus()document.form1.username.select();return false;if (document.form1.password.value=)alert(请输入密码);document.form1.password.focus()document.form1.password.select();return false;b) 图书信息查询模块的设计图书信息查询模块的设计主要是为了方便管理员或读者根据条形码快速的查询图书的信息。图书查询界面见图4.4。图4.4 图书信息查询图书信息查询功能流程见图4.5。读取文本框内容赋bookname读取列表框内容赋给selClass不成立查询整个表的内容成立selClass=bName按书名查询相等selClass=bClass按图书种类查询不相等相等Bookname=”selClass=bAuthor不相等按作者查询相等图4.5 图书信息查询流程图图书信息查询页面处理代码:根据请求的数据组织SQL语句进行查询创建一个记录集对象,执行上面的SQL语句返回一个记录集若记录集没有数据是,提示“还没有任何图书信息”,利用End方法使Web服务器停止处理脚本并返回当前结果。否则,执行下列语句,返回所有记录。rs.PageSize = pageSizepgnm = rs.PageCountif(IsEmpty(page) or cint(page) pgnm) then page = 1rs.absolutePage = page指定当前页码elseresponse.Write(暂无图书信息,请返回并访问其他页面!)Response.end end ifdo while(not rs.EOF and count pageSize) 通过循环结构输出记录集中每条记录的各个属性值rs.MoveNext()count = count + 1loopc) 已借阅信息查询该功能执行后页面见图4.6。图4.6 已借阅信息查询保存读者ID号readerid=session(readerid)通过selClass的取值和查询条件设置查询字符串。在这两张表中进行复合查询(bookinfo,borrowinfo)建立记录集对象,通过该对象调用open方法执行相应的查询字符串。如果记录集为空,输出提示信息 ; 否则: /把该表单元素值传送到bookcheck.asp进行处理。 do while(not rs.EOF and count pageSize) /通过此循环输出当前记录集元素 ,并判断最后时间;如果 date()rs(lastdate)执行payment=FormatNumber(day(date()-rs(lastdate)*0.1,-1)如果date()rs(enddate)执行 payment=FormatNumber(day(date()-rs(enddate)*0.1,-1)rs.MoveNext()count = count + 1loop/关闭记录集/关闭数据库链接d)图书借阅界面的设计图书借阅界面实现了读者对图书的借阅登记,通过对条形码的录入,省去了传统的人工纸张记录的麻烦,极大的方便了图书管理员快速的完成图书的节约工作,从而大大的简化图书借阅的过程该功能执行后页面见图4.7。图4.7 图书借阅4.2.2管理模块的实现管理模块的设计至关重要,一个系统是否能高效稳定的运行,完全取决于管理模块设计的好坏。管理模块文件结构示意图见图4.8。aspasphtmaspaspaspaspaspaspaspaspaspasp登 录首 页列 表添 加管 理借 阅 管 理类 别 管 理添 加 处 理信 息 修 改信息删除类 别 显 示类 别 修 改类 别 删 除图4.8 管理模块文件结构a)管理员列表由于该页面实现了全部读者信息的浏览和按条件查询两个功能,因此,在进入页面是要根据查询文本框中的数据的状态来决定数据的显示结果。如果查询文本框中的数据为空,则将ReaderInfo表中的所有读者信息全部显示;若不为空,则需要取得查询方式构造查询语句。如果按条件查询结果为空,则显示提示信息,否则将读者信息显示在页面上。读者信息浏览及查询页面实现的关键代码如下:用户名统计操作管理set rs=conn.execute(select * from manager)do while not rs.eof b)管理员添加要添加读者信息之前,首先检查该读者信息是否已经存在,如果存在则给出提示信息,并跳转回读

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论