当前位置:首页 >> 工学 >>

临汾市利德中学图书管理系统


临汾市利德中学图书管理系统
姓名 内容摘要: 内容摘要:
图书管理系统是采用Visual Basic6.0开发的一个数据库管理系统。 开发本系统的基本步骤: 需求分析、 系统概念设计、 系统逻辑和物理设计、系统实现和维护。在系统分析中先后用数据字典、数据流程、系统的功能结构图、ER图分析了系统 所需的各种数据。在系统的设计过程中,我们采用了模块独立设计法,比较

详细的展现了各个模块的功能。在库和表的设计 当中, 我们力求层次清晰,设计简单实用。在系统具体实行阶段中,我们精心细致的画出了各个窗体并给出了相应的事件 和代码,以实现各个窗体的作用。 本系统虽然设计简单,但有一定的实用性。系统的功能较为全面,使用简单,基本上可以作为一般大小学的图书管理 系统。 关键字:数据库 SQL 语言 Visual Basic6.0 图书 图书管理 窗体

李秀强

指导教师 闫俊玡



引言
当今时代是飞速发展的的信息时代。 在各行各业中离不开信息处理, 这正是计算机被广泛应用于信息管理系统的原因。

计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其 安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相 关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是 初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等 纸介质的手工处理,对于图书借阅情况(如借书天数,超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人 工检查进行,对借阅者的借阅权限,以及借阅天数等用人工计算,手抄进行。数据处理工作量大,容易出错。由于数据繁 多,容易丢失,且不易查找。总的来说,缺乏系统规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管 理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基于环境。 基于这个问题,我为临汾市利德中学图书管建立了一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图 书管理的随意性,提高信息处理的速度和准确性,能够及时,准确,有效的查询和修改图书情况。



系统分析

2.1 系统任 务 : 针对目前信息化改革图书管理现状,设计出适合一般学校的计算机辅助图书管理系统。实现对图书基本 信息、读者基本信息进行计算机辅助管理,完成借书和还书有关信息的记录、修改、查询、删除等一系列任务的计算机管 理与实现.。 2.2 系统开发环境:本 图 书 管 理 开 发 系 统 是 在 w i n d o w s x p 机 型 的 计 算 机 上 进 行 开 发 并 获 得 通 过 的 , 同 系统开发环境 开发环境 时方便系统开发,减少开发过程的难度,我们是基于以下的软件环境。 · 以 Wi n d o w s x p 为 操 作 系 统 · 以 Visual Basic6.0 为 开 发 工 具 ·以 Access 2000 作 为 后 台 数 据 库

系统功能概述 功能概述:该系统界面友好,操作简便,能完成添加图书信息,修改图书信息,查询图书信息,添加读者类别, 2.3 系统功能概述 修改读者类别,查询读者信息,修改读者信息等一系列图书管理功能,开发本系统的总体任务是实现图书管理的系统化和

自动化,帮助管理人员更好更高效地完成图书管理工作。本着实用性和介绍性的原则,整个系统由五大模块组成,每个大

的模块又包括三至四个小的模块。

一、 图书管理部分:包括图书信息管理和图书类别管理,其功能是实现对各部分数据内容进行添加、修改、查询等操作。

二、 借阅管理部分:包括借书管理和还书管理,其功能是实现对各部分数据内容的添加和查询等操作。

三、 读者管理部分:包括读者信息管理和读者类别管理,其功能是实现对各部分数据内容的添加和修改等操作。

四、 系统管理部分:包括修改系统用户密码和增加新用户和退出系统三项功能。

五、 帮助部分:包括系统设计前台和后台简概,退出系统等功能。 2.4 图书管理现状

随着计算机技术的飞速发展,其应用方面已渗透到社会生活的各个领域。它已经成为我们学习和工作的得力助手。在 学校,尤其是在一些高校,图书是学校的一项重要资源,图书的管理也是学校的一项常规性的重要工作。而长期以来,学 生图书管理都是依赖人工进行的。现今,有很多的学校都已经开始使用计算机进行图书信息管理,并且起得良好的效果。 近年来我校招生情况越来越好,所以图书管理工作越来越繁重,但由于种种原因,管理人员并没有增加,因此原有的人工 管理工作已不能适应现行的工作需要。同时,陈旧的人工管理也不利于推广计算机应用。为使图书管理工作科学化、规范 化,就必须采用计算机辅助管理。

2.5 数据流程图 数据流程图 (Data Flow DFD) 是描述实际业务管理系统工作流程的一种图形表示法。 描 绘 系 统 的 逻 辑 模 型 图 , 它 其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系 统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计 数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以 它也是软件设计的很好的出发点。《图书管理系统》主要是为了对图书、读者基本信息等进行计算 机管理。 2.6 模块功能分析 图书管理部分:包括图书信息管理和类别管理,其功能是实现对各部分数据内容进行添加、修改、查询等操作。各管理部 分的明细如下: (1)图书信息管理:包括图书信息的添加、图书信息的修改、图书信息的查询和图书的信息删除 4 部分。其中,图书信息 包括图书编号、书名、图书类别、作者、出版社、出版日期、登记日期以及是否已被借出。

(2)图书类别管理:包括图书类别的添加、图书类别的修改、图书类别的删除 3 部分功能。其中,图书类别包括类别名称 和类别编号两部分。

借阅管理部分:包括借书管理和还书管理,其功能是实现对各部分数据内容的添加和查询等操作。各管理部分的明细如下: (1)借书管理:包括添加借书信息和查询借书信息 2 部分功能。其中,借阅信息包括借阅编号、读者编号、读者姓名、书 籍编号、书籍名称、出借日期和还书日期。

(2)还书管理:实现添加还书信息功能。

读者管理部分:包括读者信息管理和读者类别管理,其功能是实现对各部分数据内容的添加和修改、删除等操作。各管理

部分的明细如下: (1)读者信息管理:包括读者信的添加、读者信息的修改、读者信息的查询和读者信息的删除 4 部分功能。其中,读者信 息包括读者姓名、读者编号、性别、读者类别、工作单位、家庭住址、电话号码、登记日期和已借书数量。 (2)读者类别管理:包括读者类别的添加、读者类别的修改、读者类别的删除 3 部分功能。其中,读者类别包括各种类名 称、借书数量、借书期限、和有效期限 4 部分。 系统管理部分:包括修改系统用户密码、增加新用户和退出系统三项功能。系统初始设置一个超级用户名和密码,操作人

员可以利用这个超级用户名和密码登录,之后,可以设置其他的超级用户名称,也可以设置权限用户,同时也设置了这个

用户可以使用的权限。

帮助部分:包括系统设计前台和后台简概述等功能。

运行本系统程序,首先出现登录界面,输入正确的用户名和密码后才能进入主窗体。对主窗体上各个菜单的设置采用快捷

键,便于用户更方便的应用该系统。

三 系统设计
系统设计阶段主要任务和目标是根据系统分析的结果,包括一般联系实体,画出对应的 ER 图。对于复杂的系统,通 常首先要对它的各功能模进行分析,然后再把它的功能结构图画出来,便是设计和优化。功能分析之后,再根据各个岗位、 各个用户对数据和使用权限的不同要求作出局部 ER 图,然后再把各个局部 ER 图综合起来形成统一的整体 ER 图。 3.1 系统功能结构图

3.2 系统 ER 图的设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果 产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利 于程序的实现。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。 针对图书管理系统的需求,通过对图书管理系统流程分析,设计此系统需要如下面所示的数据项和数据结构: 图书信息:包括的数据项有:图书编号、书名、图书类别、作者出版社、出版日期、登记日期 读者信息:包括的数据项有:读者姓名、编号、性别、读者类别、工作单位、家庭住址、电话号码、登记日期和已借书数 量 图书借阅信息:包括的数据项有:借阅编号、读者编号、读者姓名、图书编号、图书名称、出借日期和还书日期。 在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概 念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受 特定 DBMS 的限制。 3.3 系统逻辑和物理设计 3.31 数据库的设计 1.图书类别表 字段名 类别名称 类别编号 文本 文本 数据类型 说明 必添字段“是”,允许空字符为“否” 必添字段“是”,允许空字符为“否”

2.图 书 信 息 表 字段名 数据类型 说明

图书编号 书名 类别 作者 出版社 出版日期 登记日期 是否借出

文本 文本 文本 文本 文本 日 期 /时 间 日 期 /时 间 文本

必添字段“是”,允许空字符为“否” 必添字段“是”,允许空字符为“否” 字 段 大 小 50 字 段 大 小 50 字 段 大 小 50 无 无 字段大小 2

3.借 阅 信 息 表 字段名 数据类型 说明

借阅编号

自动编号

无 字 段 大 小 50 字 段 大 小 50 字 段 大 小 50 字 段 大 小 50 无

读者编号

文本

读者姓名 图书编号 图书名称 出借日期

文本 文本 文本 日 期 /时 间

4.读 者 信 息 表 字段名 读者姓名 读者编号 性别 读者类别 工作单位 家庭住址 电话号码 登记日期 已借数量 5.读 者 类 别 表 数据类型 文本 文本 文本 文本 文本 文本 文本 日 期 /时 间 数字 说明 必添字段“是”,允许空字符为“否” 必添字段“是”,允许空字符为“否” 字段大小 2 字 段 大 小 50 字 段 大 小 50 字 段 大 小 50 字 段 大 小 50 无 无

字段名 种类名称 借书数量 借书期限 有限期限

数据类型 文本 数字 数字 数字

说明 必添字段“是”,允许空字符为“否” 无 无 无

3.32 数据库的维护 由于应用环境不断变化,数据库运行过和中物理存储也会不断变化,对数据库设计进行调整,修改等维护工作是设计 工作的继续和提高。对数据库经常性的维护工作主要包括: 1. 数据库的转储和恢复 针对不同的应用要求制定不同的转储计划,保证一旦发生故障能尽快将数据库恢复到某种一致的状态,尽可能减少对数据 库的破坏。 2. 数据库的安全性、完整性控制 在数据库运行过程中由于应用环境的变化,对安全性的要求也会发生变化,如原来机密的数据现在可以公开查询了,新加 入的数据又可能是机密的了。系统中用户的密级改变。这都需要根据实际情况修改原有的安全性控制,可以设置数据库密 码及用户权限。同样,数据库的完整性的约束条件也会变化,需要 DBA 不断修正。 3. 数据库性能的监督、分析和改造 利用 Microsoft SQL Server2000 提供的检测系统性能参数的工具,在数据库运行过程中,监督数据进行分析,找出改进系 统性能的方法,并做适当调整。 4. 数据库的重组及重构造 数据库运行一段时间后,由于记录不断增、删、改,增添、修改的数据不能为空,否则不能保存到数据库中。使数据库的 物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时 DBA 要对数据库进行重组织,或部分重组织(只对频 繁增、删的表进行重组织),可以利用 Microsoft SQL Server2000 专门提供的数据重组织实用程序操作,按原设计要求重 新安排存储位置、回收垃圾、减少指针链等,提高系统性能。 有些情况,如由于数据库应用环境发生变化,增加了新的应用或新的实体,取消了某些应用,有的实体与实体间的联系发 生变化,则需要调整数据库的模式及内模式。 3.33 功能模块的实现 按结构化的程序设计思想,在完成了系统分析、系统设计后,就可以进行系统实现阶段了,系 统实现是每指把系统的物理模型转换成实际运行系统的全过程。在打开数据表之前应该先打开数据 库 , 使 用 公 共 模 块 中 定 义 的 c o n n 对 象 。 打 开 数 据 库 应 该 安 排 在 F o r m _ Lo a d 事 件 中 , 因 为 确 定 用 户 名 和密码是否正确就已经使用数据库中的内容了。双击窗体部分,加入如下的代码: P r i v a t e S u b F r o m _ Lo a d ( ) Dim connectionstring As String C o n n e c t i o n s t r i n g = ” P r o v i d e r = M i c r o s o ft . J e t . o l e d b . 4 . 0 ; ” & _ “data source=archivel.mdb” conn.Open connectionstring …… End Sub 注 意 :当 程 序 不 再 使 用 数 据 库 时 ,应 该 调 用 Connection 对 象 的 Close 方 法 将 其 关 闭 ,但 此 时 它 还 会 占 用 一 定 的 系 统 资 源 ,完 全 将 资 源 释 放 给 系 统 的 方 法 是 使 用 下 面 的 语 句 : Set conn=Nothing.不 过 ,这 两 个 步 骤 往 往 会 被 省 略 ,因 为 当 程 序 关 闭 时 ,程 序 所 打 开 的 数 据 也 会 随 之 关 闭 ,Connection 对 象 所 占 用 的 系 统 资 源 也 会 自 动 释 放 给 系 统 . 登录窗体的实现:

Option Explicit Dim cnt As Integer

'记 录 确 定 次 数

Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(txtuser.Text) = "" Then '判 断 输 入 的 用 户 名 是 否 为 空 MsgBox "没 有 这 个 用 户 ", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else sql = "select * from 系 统 管 理 where 用 户 名 ='" & txtuser.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没 有 这 个 用 户 ", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else '检 验 密 码 是 否 正 确 If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = txtuser.Text userpow = rs_login.Fields(2) rs_login.Close Unload Me Form1.Show Else MsgBox "密 码 不 正 确 ", vbOKOnly + vbExclamation, "" txtpwd.SetFocus End If End If End If cnt = cnt + 1 If cnt = 3 Then Unload Me End If Exit Sub End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Dim connectionstring As String

connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _ "data source=book.mdb" conn.Open connectionstring cnt = 0 End Sub

Private Sub Command1_Click() Dim sql As String Dim rs_add As New ADODB.Recordset If Trim(Text1.Text) = "" Then MsgBox "用 户 名 不 能 为 空 ", vbOKOnly + vbExclamation, "" Exit Sub Text1.SetFocus Else sql = "select * from 系 统 管 理 " rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic While (rs_add.EOF = False) If Trim(rs_add.Fields(0)) = Trim(Text1.Text) Then MsgBox "已 有 这 个 用 户 ", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" Text2.Text = "" Text3.Text = "" Combo1.Text = "" Exit Sub Else rs_add.MoveNext End If Wend If Trim(Text2.Text) <> Trim(Text3.Text) Then MsgBox "两 次 密 码 不 一 致 ", vbOKOnly + vbExclamation, "" Text2.SetFocus Text2.Text = "" Text3.Text = "" Exit Sub ElseIf Trim(Combo1.Text) <> "system" And Trim(Combo1.Text) <> "guest" Then MsgBox "请 选 择 正 确 的 用 户 权 限 ", vbOKOnly + vbExclamation, "" Combo1.SetFocus Combo1.Text = "" Exit Sub Else rs_add.AddNew

rs_add.Fields(0) = Text1.Text rs_add.Fields(1) = Text2.Text rs_add.Fields(2) = Combo1.Text rs_add.Update rs_add.Close MsgBox "添 加 用 户 成 功 ", vbOKOnly + vbExclamation, "" Unload Me End If End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Combo1.AddItem "system" Combo1.AddItem "guest" End Sub

四 系统实施
1. 2. 采用各模块独立调试,整体合成测试的方法。各个模块应能独立使用。 进一步改进设想

随着网络技术的飞速发展,基于网络的应用软件正迅速发展。如果将该系统进一步改进,使之能应用于网络环境,则可以 大大提高工作效率,提高其时效性和应用范围。 3. 软硬件环境

硬件配置:586 以上档次的计算机,彩色显示器,内存>128M,硬盘>10G。 软件配置:Windows XP 操作系统,Visual Basic 6.0 数据库管理系统。 4 应用系统安装

使用安装盘:本应用系统经过 Visual Basic 6.0 提供的安装向导生成安装软盘,使用时只须在 Windows 环境下直接安装即 可。 5 操作方法

5.1.直接启动应用系统 5.2.在登录窗体中输入用户名及密码就可以直接进入主界面。 5.3.主界面上有五个主菜单,而每一个主菜单上又有几个子菜单,用户可以跟据自己的要求点击上面的子菜单,进行相应 的操作。或者也可以利用已经设置好的快捷键进行操作。1.我的小标 1

我的分析。

五 结语
通过一个完整的图书管理信息系统的创建,了解到一个数据库系统的开发,即是前台和后台的开发。前台是应用程序 的开发:功能模块设计、源代码开发。后台是数据库的开发:系统设计、数据库设计、数据库结构的设计等。 前台开发涉及到整个图书管理系统功能的实现,及实现的效率。后台开发也尤为重要,它对 应 用 程 序 的 效 率 以 及 实 现的效果产生影响。另外,合理的数据结构将非常有利于程序的实现。在设计的过程中,我学习了 一 种 新 的 数 据 库 系 统 开 发 工 具 Visual Basic6.0。 它 具 有 的 可 视 化 的 编 程 环 境 和 连 接 数 据 库 的 便 捷 性,为数据库的连接提供了多种方法。 通 过 对 这 个 系 统 的 开 发 , 使我对 Visual Basic 有了更深程度的认识和了解,也使我对数据库的开发有所了解,为

以后从事数据库开发工作打下了良好的基础。同时,也使 我 认 识 到 自 己 所 学 的 知 识 还 很 肤 浅 ,这 也 正 是 我 今 后 要努力提高的。

感谢 闫俊玡老师以及网一班个别同学给予的参考和帮助。

参考文献
1. 刘韬 骆娟 何旭洪《Visual Basic 6.0 数据库系统开发实例导航》出版社: 人民邮电出版社 2006 年 5 月 2. Visual Basic 6.0 编程篇 作者: 郝志恒 刘舫

出版社: 电子工业出版社 2007 年 1 月 3. 数据库基础与应用 作者: 刘世峰

出版社: 中央电大出版社 2003 年 12 月

4. 数据库原理与设计
作者: 杨海霞 2007 年 9 月

出版社: 人民邮电出版社


相关文章:
更多相关标签: