图书馆管理系统设计报告

来源:互联网 发布:手机软件连不上网络 编辑:程序博客网 时间:2024/05/01 22:28

   系统开发平台介绍

1.1                   开发工具介绍

本系统所使用的开发工具是Visual Basic 6.0

Visual Basic 6.0Microsoft Visual Studio 6.0 可视化工具中的一个开发系统。是一个用于快速开发基于Windows的客户机/服务器应用程序的高效工具,与以前各版本相比Visual Basic 6.0具有以下新特点。

1.                           提供了高效能的源码编译器,使应用程序得到优化。

2.                           提供了新的比其他数据访问接口更加方便,更加全面的数据访问接口——ADO(ActiveX Data object),能访问除了标准的关系型数据库(如 Access Foxpro SQL server 等)中的数据库外,还能访问邮件数据,Web上的文本或图形目录服务器等信息。

3.                           提供了动态的HTML页面设计器。

4.                           提供了WEB CAASS设计器。

Visual Basic 6.0开发软件的优势:

1.                          可视化程序设计

2.                          面向对象的程序设计

3.                          事件驱动的编程机制

4.                          高度的扩充性

5.                          支持大型数据库的连接与存取操作

1.2  后台数据库介绍

        本系统所使用的后台数据库是Access数据库

数据库引擎

数据库引擎是一种管理数据怎样被存储和检索的软件系统,数据库的基本功能就是由它来提供的。

数据库引擎有许多种,本系统所涉及的数据库引擎是Microsoft JetJet不是一个商业产品,准确的说它是好几个Microsoft产品使用的子系统,在Visual Basic 3.0Microsoft Access1.0Microsoft就引入了这个引擎,以后Microsoft经常修正这个引擎,并且不断提升其功能。本系统涉及的版本是Jet3.51

  系统分析

设计数据库系统时,应该充分了解用户各方面需求,包括现有的以及将来可能增加的需求,数据库设计一般包括以下几个步骤:

(1) 数据需求分析、

(2) 数据库概念结构设计

(3) 数据库逻辑结构设计

2.1                   数据库需求分析

用户的需求具体体现在各种信息的提供,保存,更新和查询。这就要求数据库的结构能充分满足各种信息的输入和输出。在仔细分析调查有关图书馆管理信息需求的基础上设计出如图(见附录——图书馆管理系统数据流程图)所示的数据流程

针对图书馆管理系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计出如下的数据项

1         书库图书信息,包括数据项有:图书编号、书名、书号、类别、出版社、作者、ISBN、印张、字数、版次、印数、定价、开本、是否在库、是否损坏、是否遗失、入库时间、图书介绍

2                                           学生信息,包括数据项有:学生编号、学号、姓名、性别、系别、班级、级别、已借图书、照片

3                                           借书信息,包括数据项有:图书序号、学生序号、是否归还、书名、姓名、学号、书号、系别、班级、已借图书、出版社、作者、借阅日期、图书类别、是否续借

4                                           供货商信息,包括数据项有:供货商序号、供货商、城市、地址、电话、传真、邮政编码、EMAIL、联系人、首次合作时间

5                                           定单信息,包括数据项有:定单序号、书名、书号、类别、出版社、作者、ISBN、印张、字数、版次、印数、定价、开本、详细信息、供货商序号、供货商、联系人、城市、订购数量、订购价格、交付方式、交货日期、定单日期、是否验收、验收日期

6                                           过期图书信息,包括数据项有:图书序号、书名、书号、学生序号、学生姓名、系别、班级、过期时间

7                                           员工信息,包括数据项有:员工序号、姓名、密码、类别、性别、家庭住址、联系电话、职务、出生日期、照片

8                                           罚款信息,包括数据项有:流水号、罚款原因、罚款金额、日期

2.2  数据库概念结构设计

得到上面的数据项就能够设计出以下各种实体以及它们的关系,为后面的逻辑结构设计打下基础

根据上面的实力设计规划出的实体有:图书信息实体、学生信息实体、借阅信息实体、供货商信息实体、定单信息实体、过期图书实体、员工信息实体、罚款信息实体。

Shukubiao(图书信息实体)

图书序号

书名

图书介绍

……

 

 

 

 


2-1     图书信息实体E-R

Xueshengbiao(学生信息实体)

 

 

已借图书

学生序号

姓名

……

 

 

 


2-2     学生信息实体E-R

 

Jh(借阅信息实体)

 

图书序号

学生序号

……

续借

 

 

 


2-3     借阅信息实体E-R

 

Ghs(供货商信息实体)

 

供货商序号

供货商

……

联系人

 

 

 

 


2-4     供货商信息实体E-R

Orders(定单信息实体)

定单序号

书名

……

定单日期

 

 

 


 

 

2-5     定单信息实体E-R

 

 

Gqs(过期书信息实体)

图书序号

学生序号

过期时间

……

 

 

 

 

 


2-6     过期图书信息实体E-R

Password1(员工信息实体)

 

 

员工序号

姓名

………

职务

 

 

 

 


2-7     员工信息实体E-R

Jhfk(罚款信息实体)

流水号

罚款原因

……

日期

 

 

 

 

 


2-8       罚款信息实体E-R

 

 

 

Shukubiao(图书信息

Xueshengbiao(学生信

Jh(借阅信息实

Orders(定单信息

Gqs(过期书信息实

Jhfk(罚款信息实

Ghs(供货商信息

借书

借书

统计资料

 

 

 

 

 

 

 

 

 

 


2-9     各实体间关系图

2.3  数据库逻辑结构设计

       图书馆管理系统中数据库的各个表格设计结果如下:

 

 

 

 

 

 

 

 

2-1shukubiao       书库图书信息表

列名

数据类型

说明

图书序号

Text

图书的编号,唯一

书号

Text

图书书号

书名

Text

书名

类别

Text

图书类别

出版社

Text

出版社

作者

Text

作者

ISBN

Text

图书ISBN

印张

Text

图书印张

字数

Text

字数

版次

Text

图书版次

印数

Text

印数

定价

Currency

图书定价

开本

Text

开本

是否在库

Boolean

是否在书库中的标志

是否损坏

Boolean

是否损坏的标志

是否遗失

Boolean

是否遗失的标志

入库时间

Date/Time

图书入库的日期

图书介绍

Text

图书的简单介绍

 

 

 

 

 

 

 

2-2xueshengbiao       书库图书信息表

列名

数据类型

说明

学生序号

Text

学生的编号,唯一

学号

Text

学号,不唯一

姓名

Text

学生姓名

性别

Boolean

性别

系别

Text

学生系别

班级

Text

学生所在班级

级别

Integer

学生的级别,表示借书的能力

已借图书

Integer

已经借过图书多少本

照片

Text

存放学生照片的路径

2-3jh      借阅信息表

列名

数据类型

说明

图书序号

Text

图书序号

学生序号

Text

学生序号

书名

Text

书名

姓名

Text

学生姓名

学号

Text

学号

书号

Text

书号

系别

Text

学生系别

班级

Text

学生班级

已借图书

Integer

学生已经借阅的图书数量

出版社

Text

出版社

作者

Text

图书作者

借阅日期

Date/Time

借阅日期

图书类别

Text

图书类别

是否归还

Boolean

该书是否归还

续借

Boolean

该书是否续借过

 

 

 

 

2-4  ghs    供货商信息表

列名

数据类型

说明

供货商序号

Text

供货商序号

供货商

Text

供货商

城市

Text

城市

地址

Text

地址

电话

Text

电话

传真

Text

传真

邮政编码

Text

邮政编码

EMAIL

Text

EMAIL

联系人

Text

联系人

首次合作时间

Date/Time

首次合作时间

2-5 orders       定单信息表

列名

数据类型

说明

定单序号

Text

定单序号

书名

Text

书名

类别

Text

类别

出版社

Text

出版社

作者

Text

作者

ISBN

Text

ISBN

印张

Text

印张

字数

Text

字数

版次

Text

版次

开本

Text

开本

印数

Text

印数

定价

Currency

定价

详细信息

Text

详细信息

供货商序号

Text

供货商序号

供货商

Text

供货商

联系人

Text

联系人

城市

Text

供货商城市

订购数量

Integer

订购数量

订购价格

Currency

订购价格

交付方式

Text

交付方式

交货日期

Date/Time

定单验收的日期

书号

Text

书号

定单日期

Date/Time

定单填写的日期

是否验收

Boolean

定单验收的标志

验收日期

Date/Time

定单验收日期

 

2-6  gqs     过期书信息表

列名

数据类型

说明

图书序号

Text

图书序号

书名

Text

书名

书号

Text

书号

学生序号

Text

学生序号

学生姓名

Text

学生姓名

系别

Text

系别

班级

Text

班级

过期时间

Date/Time

过期的天数

 

 

 

 

 

 

2-7 password1     员工信息表

列名

数据类型

说明

姓名

Text

员工姓名

员工序号

Text

员工序号

密码

Text

密码

类别

Boolean

员工权限级别

性别

Text

性别

家庭住址

Text

家庭住址

联系电话

Text

联系电话

职务

Text

职务

出生日期

Date/Time

出生日期

照片

Text

存放员工照片的路径

 

2-8 jhfk     罚款信息表

列名

数据类型

说明

流水号

Long

流水号

罚款原因

Text

罚款原因

罚款金额

Currency

罚款金额

日期

Date/Time

日期

2.4  设计方案构思

2.4.1图书馆管理信息系统的功能分析

图书馆管理具有自身鲜明的特点:

(1) 根据操作人员的级别不同设置权限,对系统的操作有权限的设置

(2) 能够实现图书的借、还、续借功能

(3) 具有对图书库的一般性维护的功能,包括过期书统计、损坏书统计

(4) 能够实现图书的采购、下定单及定单验收、图书出库的功能

(5) 能够实现学生及供货商的注册、浏览、删除、查询功能

(6) 能够实现员工的录入、修改等功能

(7) 能够实现书库借还图书情况、供货商、学生、员工信息的打印报表功能

(8) 能够实现数据备份功能

2.4.2图书馆管理信息系统的功能需求分析

功能模块

1 分级权限

2借还图书

3书库维护

4 图书采购

5 学生及供货商管理

系统总体功能模块框图如图2-10

 

 

 

 

图书馆管理系统数据流程图

2-10     图书馆管理系统数据流程图

 

图书馆管理系统数据流程图说明

本系统需要数据输入的地方有:学生的录入和供货商的注册以及图书采购定单的填写即图书的入库

在学生信息录入之前应先设置好学生的种类以及一些相关信息然后进行学生信息的录入,学生信息保存在“xueshengbiao”表中,进行学生信息的管理;另外一个需要数据输入的地方为供货商的录入,供货商信息保存在“ghs”表中,根据供货商的信息进行供货商的管理

最后一个需要数据输入的地方为图书采购定单的填写。在整个图书采购到图书入库的过程中需要所有的数据做为支持。

首先学生信息和图书信息二者相互作用,形成图书的借阅信息;

然后根据图书的借阅信息进行图书借阅信息的统计,统计出每一类图书的借阅数量等统计信息;

这些统计信息的数据支持成为图书采购计划的重要依据,拟订图书的采购任务计划;

然后根据供货商信息选择图书采购计划的供货商;

根据以上这些信息进行图书采购的定单的填写,图书采购定单保存在“orders”表中,形成图书采购定单信息的管理;

根据定单信息验收图书,同时图书入库。

最后根据入库图书的类别设置进行图书信息管理,书库信息保存在“shukubiao”中。

 

 

 

 

本文涉及的代码:

Public Sub SendMsgToForms(msg As VbMsgBoxResult)

Dim frm As Form

For Each frm In Forms

frm.recmsg msg

Next frm

End Sub

VERSION 1.0 CLASS

BEGIN

  multiuse = -1

  End

  attribute vb_name="vbmsg"

  attribute vb_globalnamespace=false

  attribute vb_creatable=true

  attribute vb_predeclaredid=false

  attribute vb_exposed=true

  Option Explicit

  Public iType As Long

  Public iName As String

  Public iSource As String

  Dim iT As Date

  Public Property Get iTime() As Date

  iTime = iT

    End Property

  Public Property Get itimestr() As String

itimestr = Format(iT, "yyyy.mm.dd hh:mm:ss")

  End Property

  Private Sub class_initialize()

  iT = Now()

   End Sub

  '模块2MSGCLICLS

  VERSION1.0 CLASS

  BEGIN

  Mulitiuse = -1

  End

  attribute vb_name="msgclient"

  attribute vb_globalnamespace=false

  attribute vb_creatable=true

  attribute vb_predeclaredid=false

  attribute vb_exposed=true

Option Explicit

public event recmsg(buval msg as VbMsgBoxResult )

Public minmsg As Long

Public maxmsg As Long

Public ID As Long

Public Sub setmsg(msg As vbmsg)

If msg.iType >= minmsg And msg.itupe < maxmsg Then

    RaiseEvent recmsg(msg)

    End If

  End Sub

Public Property Get key() As String

 key = "id:" & ID

End Property

  '模块3MSGCLICLS

attribute vb_name="modglobal"

Option Explicit

Public clients As New Collection

Public clicount As Long

VERSION1.0 CLASS

  BEGIN

  Mulitiuse = -1

  End

  attribute vb_name="msgserver"

  attribute vb_globalnamespace=false

  attribute vb_creatable=true

  attribute vb_predeclaredid=false

  attribute vb_exposed=true

Option Explicit

Public Sub sendmsg(msg As VbMsgBoxResult)

Dim c As msgclient

 For Each c In clients

   c.setmsg msg

   DoEvents

 Next c

End Sub

Public Sub addmsgclient(c As msgclient)

 clicount = clicount + 1

 c.ID = clicount

 clients.Add c, c.key

End Sub

Public Sub delmsgclient(c As msgclient)

 clients.Remove c.key

If clients.Count = 0 Then licount = 0

End Sub

 comst msginfoid = 101

Private WithEvents mclient As msgclient

Private Sub form_load()

Set mclient = New msgclient

  mclient.minmsg = msginfoid

  mclient.maxmsg = msginfoid

    addmsgclient mclient

 End Sub

Private Sub Form_Unload(Cancel As Integer)

 delmsgclient mclient

End Sub