实例-图书馆管理系统_第1页
实例-图书馆管理系统_第2页
实例-图书馆管理系统_第3页
实例-图书馆管理系统_第4页
实例-图书馆管理系统_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

实例——图书馆管理系统实例——图书馆管理系统

进入知识经济和信息时代,图书馆的数字信息化管理是现代图书情报事业开展的必然之路,也是现代图书情报机构的不可缺少的重要组成局部。从某种程度上说,图书馆的数字信息化程度反映着一个国家、一个地区知识经济和信息产业的开展水平。跨入21世纪后,我国图书馆的数字信息化建设研究与实践探索呈现出方兴未艾的蓬勃趋势,各级图书情报单位都在积极开发图书馆的信息管理系统。1系统概述

本实例将介绍如何结合VisualBasic2005技术和Oracle9i数据库技术,创立一个基于本地数据库的图书馆管理系统。该系统主要面向图书馆的单机效劳实体对象开发,适合中小型图书馆使用。所开发的“图书馆管理系统〞工程的界面如图4.1所示。主界面采用了多文档窗口,这样可以在窗口内翻开多个子窗口,同时进行多种操作。主界面中通过菜单实现不同模块的功能,包括系统管理员、书籍信息管理、读者信息管理、报表和窗口功能。管理员可以根据自己的权限,对相应的模块进行操作。图4.1图书馆管理系统主界面2系统设计

本实例的目是将传统的图书馆转换为数字信息化的图书馆,并对图书实现自动化的管理。在进行具体的设计工作之前需要进行系统功能模块的分析和系统代码架构的分析。通过这两方面分析,能为实际的开发提供一个指导思想。

2.1系统功能模块分析

利用本实例的图书馆管理系统,可以大大减轻图书馆管理员的工作负担,同时能够极大地利用图书资源,为用户提供及时快捷的图书信息。图书馆管理系统的管理员权限分为3级:系统管理员、图书管理员和一般管理员。他们具有不同模块的管理权限。图书馆管理系统的主要实体是书籍和读者。通过不同的功能模块可以有效地对这两个实体进行管理。这些模块的功能需求简单表述如下:

系统管理员:只有系统管理员才具有该模块的权限。该模块需要实现书籍参数和用户信息管理,另外,通过该模块还可以解冻被冻结的用户和修改密码。书籍参数具体包括索书号、书籍类型和费用类型3个方面的信息。用户信息管理包括添加、编辑和删除用户信息。

2.1系统功能模块分析书籍信息管理:系统管理员和图书管理员具有该模块的权限。该模块是系统核心的功能模块,要求实现添加书籍信息、查找书籍信息、编辑书籍信息、删除书籍信息、今日借阅查询和归还书籍功能。

读者信息管理:所有的管理员都具有该模块的权限。该模块要求实现添加读者信息、编辑读者信息和删除读者信息的功能。

报表:所有的管理员都具有该模块的权限。该模块要求实现书籍类型报表、用户报表和索书号报表。所有的报表要求通过VisualBasic2005的水晶报表实现。

对上述各项功能进行集中、分块和结构化,得到如图4.2所示的系统功能模块图。

2.1系统功能模块分析图4.2系统功能模块图图书馆管理系统系统管理员书籍信息管理读者信息管理报表添加书籍参数用户信息管理解冻用户修改密码添加书籍信息查找书籍信息编辑书籍信息删除书籍信息今日借阅查询归还书籍添加读者信息编辑读者信息删除读者信息书籍类型报表用户报表索书号报表2.2系统代码架构分析

由于本实例的图书馆管理系统应用于中小型图书馆,属于小型的工程,因此,系统相对简单。为了提高系统的开发速度,这里采用了两层的代码架构,如图4.3所示。系统的架构包括用户界面和数据库两个层次。用户界面由系统管理员界面、书籍信息管理界面、读者信息管理界面和报表界面组成。用户界面一般面向用户,与用户发生交互,另一方面面向底层的数据库。开发过程中有关数据库操作的代码穿插在界面代码中。用户用户界面系统管理员界面书籍信息管理界面读者信息管理界面报表数据库图4.3系统代码架构3数据库设计

本实例的图书馆管理系统是基于Oracle9i数据库进行开发的一个工程。数据库设计是信息管理系统中的一个根底工作,其目的是提供高的数据存储效率,保证数据库的完整性和一致性,在整个开发工作中占有相当重要的份量。一般在工程完成后,如果有新的修改或变化,尽可能只修改界面的代码。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有系统的需求以及将来可能增加的需求。3.1数据库的需求分析

用户的需求具体表达在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集根本数据、数据结构以及数据处理的流程,组成一分详尽的数据字典,为后面的具体设计打下根底。在走访、调查和讨论具体客户对图书馆管理系统的需求后,经过仔细分析,图书管理一般的业务流程可以简单归纳如下:3.1数据库的需求分析

首先是管理员登录图书馆管理系统,如果当前管理员是超级管理员,那么可以添加、编辑和修改其他一般管理员的信息。如果系统是一个刚刚投入使用的系统,那么应该先建立书籍参数,包括书籍类型、索书号和费用类型信息。并且需要建立读者的信息,可以进行添加、编辑和删除读者操作。对于书籍类型、索书号和用户信息,可以输出相应的报表。打印为纸质文件,作为长期的保存。如果有新的书籍上架,可以进行添加书籍信息操作,对于已经添加的书籍信息可以进行查找、编辑和删除操作。对于读者借书还书,可以通过借阅书籍和归还书籍功能进行操作。在每日下班前,可以查询当日的借阅情况。3.1数据库的需求分析

针对图书馆管理系统的需求,通过对图书馆管理系统业务流程和数据流程的分析,需要设计如下7个数据表和相应的数据字段。〔1〕用户信息表,即系统管理员信息表。包括的字段有:用户账号、用户姓名、密码、状态、地址、、、E-mail地址、系统管理员权限、图书管理员权限和一般管理员权限。〔2〕书籍类型信息表,包括的字段有:书籍类型和描述信息。〔3〕索书号信息表,包括的字段有:索书号和描述信息。〔4〕费用类型信息表:包括的字段有:费用编号、费用和描述信息。3.1数据库的需求分析

〔5〕书籍信息表,包括的字段有:书籍编号、ISBN号、书籍名称、索书号、书籍类型、书籍描述、作者姓名、出版日期、版本、书籍状态、图片路径和添加日期。这里的图片以图片的所在路径表示。〔6〕读者信息表,包括的字段有:读者编号、读者姓名、地址、、号码、E-mail地址、最大借书量、已借书。〔7〕借阅信息表,包括的字段有:借阅号、书籍编号、读者编号、借阅日期、过期日期和费用类型。3.2数据库逻辑结构设计

现在需要将上面的数据库概念结构转化为Oracle9i数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。根据数据库的需求分析和概念结构设计,设计了名称为Library的数据库,数据库由下面多个表组成,各个表的设计结果如表格4.1——4.7所示。3.2数据库逻辑结构设计表4.1用户信息表,即系统管理员信息表〔SystemUsers〕字段名意义字段类型字段大小关键字UserID用户账号char10是UserName用户姓名varchar220

Password密码char10

Status状态char4

Address地址varchar250

Phone电话varchar220

CellPhone手机char20

EmailE-mail地址varchar230

AdminRights系统管理员权限char2

LibRights图书管理员权限char2

ReaderRights一般管理员权限char2

3.2数据库逻辑结构设计SQL>createtableSystemUsers(UserIDchar(10)primarykey,UserNamevarchar2(20),Passwordchar(10),Statuschar(4),Addressvarchar2(50),Phonevarchar2(20),CellPhonechar(20),Emailvarchar2(30),AdminRightschar(2),LibRightschar(2),ReaderRightschar(2))3.2数据库逻辑结构设计为了在程序中检验数据库设计得是否合理,以及测试程序的效果,可以先在数据库中输入一些数据,如图4.4所示。

图4.4用户信息表SQL>insertintoSystemUsers2values('Admin','李强','admin','liqiang@abc','是','是','是');

SQL>insertintoSystemUsers2values('ASP','王海','999','正常','北京中关村wanghai@abc','否','是','是');3.2数据库逻辑结构设计表4.2书籍类型信息表〔BookType〕。字段名意义字段类型字段大小关键字Type书籍类型char10是description描述varchar250

SQL>createtableBookType2(Typechar(10)primarykey,3descriptionvarchar2(50));3.2数据库逻辑结构设计为了在程序中检验数据库设计得是否合理,以及测试程序的效果,可以先在数据库中输入一些数据,如图4.5所示。图4.5书籍类型信息表SQL>insertintoBookType2

values('COM-002','计算机类书');SQL>insertintoBookType2values('Novel-001','写实小说');SQL>insertintoBookType2values('Novel-002','科幻小说');SQL>insertintoBookType2values('Tool-001','工具书');3.2数据库逻辑结构设计表4.3索书号信息表〔BookCode〕。字段名意义字段类型字段大小关键字Code索书号char10是description描述varchar250

SQL>createtableBookCode2(Codechar(10)primarykey,3descriptionvarchar2(50));3.2数据库逻辑结构设计为了在程序中检验数据库设计得是否合理,以及测试程序的效果,可以先在数据库中输入一些数据,如图4.6所示。

图4.6索书号信息表SQL>insertintoBookCode2values('TD035C','电脑类图书');SQL>insertintoBookCode2values('TE134F','建筑类图书');SQL>insertintoBookCode2values('TK117B','能源动力类图书');SQL>insertintoBookCode2values('TP217A','计算机类图书');3.2数据库逻辑结构设计表4.4费用类型信息表〔Charges〕。字段名意义字段类型字段大小关键字ChargeNo费用编号char10是description描述varchar250

Amount费用number10,0

SQL>createtableCharges2(ChargeNochar(10)primarykey,3Descriptionvarchar2(50),4Amountnumber(10,0));3.2数据库逻辑结构设计表4.5书籍信息表〔BookDetails〕。字段名意义字段类型字段大小关键字SN书籍编号char10是ISBNISBN号char20

BookName书籍名称varchar250

BookCode索书号char10

BookType书籍类型char10

BookDes书籍描述varchar250

AuthorName作者姓名varchar220

PublishDate出版日期date

Edition版本char10

BookStatus书籍状态char4

Picture图片路径varchar260

LibDate添加日期date

3.2数据库逻辑结构设计SQL>createtableBookDetails2(SNchar(10)primarykey,3ISBNchar(20),4BookNamevarchar2(50),5BookCodechar(10),6BookTypechar(10),7BookDesvarchar2(50),8AuthorNamevarchar2(20),9PublishDatedate,10Editionchar(10),11BookStatuschar(4),12Picturevarchar2(60),13LibDatedate);3.2数据库逻辑结构设计为了在程序中检验数据库设计得是否合理,以及测试程序的效果,可以先在数据库中输入一些数据,如图4.7所示。

图4.7书籍信息表SQL>insertintoBookDetails2values('C1185','4-568-9996-6','平凡的世界','TE134F','Novel-001','长篇小说','路遥','08-6月-2001','第二版','被借',null,'08-5月-2002');SQL>insertintoBookDetails2values('B1185','4-568-9996-6','VB2005入门到提高','TP217A','COM-002','用于初级读者的书','张无忌','08-6月-2006','第一版','正常',null,'08-8月-2006');3.2数据库逻辑结构设计表4.6读者信息表〔ReaderDetails〕。字段名意义字段类型字段大小关键字ReaderNo读者编号char10是ReaderName读者姓名varchar220

Address地址varchar250

ReaderPhone电话varchar220

ReaderCell手机号码varchar220

ReaderEmailE-mail地址varchar250

IssueTag最大借书量number

IssueTagUsed已借书number

3.2数据库逻辑结构设计SQL>createtableReaderDetails2(ReaderNochar(10)primarykey,3ReaderNamevarchar2(20),4Addressvarchar2(50),5ReaderPhonevarchar2(20),6ReaderCellvarchar2(20),7ReaderEmailvarchar2(50),8IssueTagnumber,9IssueTagUsednumber);3.2数据库逻辑结构设计为了在程序中检验数据库设计得是否合理,以及测试程序的效果,可以先在数据库中输入一些数据,如图4.8所示。

图4.8读者信息表3.2数据库逻辑结构设计SQL>insertintoReaderDetails2values('J4567','zhang@abc',2,1);SQL>insertintoReaderDetails2values('J7788','ping@abc',3,0);SQL>insertintoReaderDetails2values('X1234','李四','北京朝阳区lisi@abc',1,2);3.2数据库逻辑结构设计表4.7借阅信息表〔IssueBook〕。字段名意义字段类型字段大小关键字IssueNo借阅号char10是SN书籍编号char10

ReaderNo读者编号char10

idate借阅日期date

ddate过期日期date

itype费用类型char10

3.2数据库逻辑结构设计SQL>createtableIssueBook2(IssueNochar(10)primarykey,3SNchar(10),4ReaderNochar(10),5idatedate,6ddatedate,7itypechar(10));4创立系统主窗体多文档窗体界面在很多的数据库信息管理程序中常见。在MDI子窗体中可以进行数据的传递,对MDI子窗体进行多种方式排列,动态增加或删除菜单。

5系统管理员功能模块

系统管理员功能模块主要包括3大局部:添加书籍参数、平安和用户管理。其中添加书籍参数包括书籍类型参数、索书号信息和费用信息。平安功能包括解冻用户和修改管理员密码的功能。5.1添加书籍参数5.2用户信息管理

用户信息管理功能包括添加、编辑和删除用户的功能。首先介绍添加用户的功能。创立好的“添加用户信息〞的界面如下图。在界面中需要输入用户的根本信息,其中包括设置用户的权限。这里权限包括3级,不同级别管理的模块功能范围不同。一般管理员只具有读者信息管理模块的权限。图书管理员具有读者信息管理模块和书籍信息管理模块的权限。系统管理员具有最高的选择,具有系统的功能。5.3登录功能

创立好的登录界面如下图,这里用户输入账号和密码后,单击“登录〞按钮,如果通过认证,那么用户可以登录系统。5.4解冻用户用户在进行非法操作后将被冻结,并被添加到冻结用户列表中。创立好的“解冻用户〞的界面如下图。选择列表中的用户,单击“解冻〞按钮即可以解冻用户。5.5修改密码

创立好的“修改密码〞界面如下图。这里用户需要输入用户编号和原来的密码,为了防止发生输入错误需要重复输入新的密码。单击“修改〞按钮,即可更新用户的密码。6书籍信息管理功能模块书籍信息管理是图书馆管理系统的核心功能,包括添加、查找、编辑、删除书籍信息,今日借阅查询,借阅书籍和归还书籍功能。6.1添加书籍信息创立好的“添加书籍信息〞窗体界面如下图。在窗体的左边可以添加书籍的根本信息,在窗体的右边可以添加书籍的图片。设置好书籍信息后,单击“添加〞按钮即可添加书籍信息。6书籍信息管理功能模块6.2查找书籍信息创立好的“查找书籍信息〞窗体界面如下图。这里提供3种查找方式:通过书籍名称、通过ISBN号码和通过作者。输入相应的查找条件,单击“查找〞按钮对书籍信息进行搜集,查找的结果将显示在界面的DataGrid控件中。6书籍信息管理功能模块6.3编辑书籍信息创立好的“编辑书籍信息〞窗体界面如下图。在这里用户首先输入“书籍编号〞信息,然后单击“读取〞按钮,相应的书籍将被书籍信息被读取到界面的文本框中。在此根底上,用户可以对书籍信息进行编辑。6书籍信息管理功能模块6.4今日借阅查询如果想知道当天借阅的信息,可以通过“今日借阅查询〞功能查看借阅信息。创立好的“今日借阅查询〞界面如下图。这里提供了3种查询条件:借阅号、书籍名称和读者姓名,用户可以任意选择其中一种方式。6书籍信息管理功能模块6.5借阅书籍创立好的“借阅书籍〞界面如下图。在这个界面中,管理员要输入书籍信息、读者信息和借阅信息,最好还可以打印借阅条。6书籍信息管理功能模块6.6归还书籍创立好的“归还书籍〞窗体界面如下图。在该界面中首先输入借阅号,按回车键,相应的借阅信息会显示在界面上。单击“归还〞按钮,即可完成归还书籍操作。7读者信息管理功能模块读者和书籍是图书馆管理系统中两个重要的实体对象。读者信息管理功能包括添加、编辑和删除读者的功能。创立好的“添加读者信息〞窗体如下图。在这里输入读者相关的信息后,单击“添加〞按钮,即可注册新的读者。8报表功能模块

报表功能模块包括输入索书号报表,用户报表和书籍类型报表。如下图为借阅信息的报表,这里将借阅信息列入一个报表中,并且提供了打印的方式。8报表功能模块这些报表创立的方式或过程是类似的,它们都是通过VB2005中的水晶报表组件生成的。水晶报表〔CrystalReports〕是一个优秀的报表开发工具,其特点是简单、易用和功能强大。水晶报表用于处理数据库,帮助用户分析和解释重要信息。使用CrystalReports可以方便地创立简单报表,同时它也提供了创立复杂或专用

温馨提示

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

评论

0/150

提交评论