图书管理系统的设计与实现

摘  要

图书管理系统是典型的信息管理系统。图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。本系统的主要任务就是对图书、读者、借阅信息、查询进行统一管理,满足各类用户的需求。

其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等特点。

基于上述考虑本系统主要利用Visual Basic作前端的应用开发工具,利用Access作为 后台的数据库,充分利用了Visual Basic和Access的优点,利用WINDOWS_XP作为系统平使系统更加完善。

关键字】图书   读者   系统   管理   

Abstract

The book management system is a typical of the information management systems, book management red tape and to borrow frequently, contains a lot of information, so we need a sound book management system to achieve these data, and to effective management. The system‘s main task is to manage books, readers and borrow information, inquiries for unified management to meet the needs of various users.

The development includes two keys, database background to the establishment and maintenance of the front-end application development aspects. For the former calls that it the data for integrity and consistency, the latter demanded the application of the complete function, user-friendly features.

Based on the above considerations, the system uses Visual basic as outlook for the application and development tools, and Access to the database as a background, and makes full use of the Access and Visual basic advantages; use Windows XP as a platform; which makes the system more perfectly.

Keywords:books   readers   system   management       

     言


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

第一章Visual Basic 概述

1.1 Visual Basic 语言的特点 

Visual Basic 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。

  1. 可视化设计:表现在VB在设计应用于程序界面时有“所见即所得”的处理功能。
  2. 事件驱动编程:在设计应用程序时,把对象添加到窗体中,在用户与程序进行交互时,用户基本上是通过鼠标、键盘与应用程序进行交互的,那些对象就必须对鼠标和键盘操作所引发的事件做出响应,来执行一段应用程序。

1.2 Visual Basic 系统几个在程序应用中的常用名词

     Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:

  1. 视窗(Form)

视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。

  1. 对象 (Object)

对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。

  1. 属性 (Properties)

属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。

  1. 事件 (Events)

事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。

  1. 方法 (Method)

方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。

  1. 过程 (Procedure)

过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。

  1. 模块 (Module)

模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。


章 课题简介 

课题:图书管理系统。
    任务:针对各大中专院校的图书管理现状,设计出适合一般学校的计算机辅助图书管理系统。实现对图书基本信息、读者基本信息进行计算机辅助管理,完成借书和还书有关信息的记录、修改、查询、删除等一系列任务的计算机管理与实现.。
    开发环境:本图书管理开发系统是在Pentyum 166mmx 以上机型的计算机上进行开发并获得通过的,同时方便系统开发,减少开发过程的难度,我们是基于以下的软件环境。

·以Windows xp为操作系统

·以Visual Basic6.0为开发工具
·以Access 2000作为后台数据库
    功能概述:该系统界面友好,操作简便,能完成添加图书信息,修改图书信息,查询图书信息,添加读者类别,修改读者类别,查询读者信息,修改读者信息等一系列图书管理功能,开发本系统的总体任务是实现图书管理的系统化和自动化,帮助管理人员更好更高效地完成图书管理工作。本着实用性和介绍性的原则,整个系统由五大模块组成,每个大的模块又包括三至四个小的模块。

一、系统管理部分:包括添加删除用户、用户修改密码、退出系统。

二、书籍管理部分:包括书籍信息管理、书籍资料管理、注销图书。

三、读者管理部分:包括读者信息管理和读者类别管理。

四、借阅管理部分:包括图书管理,书籍损失管理、逾期罚款管理。

五、帮助部分:包括关于软件。
    系统具有高效、易操作、易维护等特点,并且系统结构清晰、界面友好,功能较为齐全,能有效地协助管理人员进行图书管工作。如果想真正把它用到图书馆的图书自动化管理中,还需要读者对该系统进行一步的完善工作。

 
章 需求分析 


    需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。在这一章里,我将给出系统的数据流图,功能结构图,数据字典,为系统的设计奠定基础。

3.1图书管理现状 


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

3.2.系统的数据字典 


    数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图的精确定义放在一起,才能共同构成系统的规格说明。
系统开发时,常用卡片的形式书写保存描述一个数据元素。
下面给出本系统的主要数据元素的数据字典卡片:
名字:查询读者资料 
别名:读者列表
描述:读者基本情况查询结果的信息表
定义:读者信息查询表=读者编号+读者姓名+读者性别+读者类别+出生日期+办证日期+读者状态+已借书数+证件名称+证件号码+读者单位+读者部门+联系电话+联系地址+电子邮件+ 备注 +操作员
名字:查询书籍资料
别名:书籍列表
描述:各种书籍查询基本信息表
定义:图书信息查询报表=图书编号+图书名称+ISBN+类别编号+类别名称+书架位置+作者 译者+出版社名称+出版地点+图书页数+图书价格+现存量+库存总量+借阅次数+是否注销 入库日期+出版日期+内容简介+备注+操作员

3.3. 数据流程图 


    数据流程图(Data Flow DFD)是描述实际业务管理系统工作流程的一种图形表示法。它描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。《图书管理系统》主要是为了对图书、读者基本信息等进行计算机管理。下面就是对各个功能模块的流程分析:
1、系统管理基本信息流程:
   分析:系统基本信息的流动首先是以用密码对用户进行添加删除和对密码进行修改。 
2、书籍管理基本信息流程:
   分析:图书基本信息的流动首先是以图书编号为流动方向的依据,来达到添加、修改、记录、删除图书记录。为了数据的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如有则不能进行添加。
3、读者管理基本信息流程
   分析:读者管理基本信息的流动首先是以读者类别编号为流动方向的依据,来达到添加、修改、记录读者类别记录。为了数据的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如没有则可进行添加。
4、读者信息管理基本信息流程:
   分析:读者基本信息的流动首先是以读者的编号为依据,来达到添加、修改、查询、删除读者信息的记录。同时,也对数据库中的读者信息表的编号进行检查。
5、借阅管理基本信息流程:
   分析:借阅管理基本信息的流动首先是以借阅编号为流动方向的依据,来达到添加、查询借书记录。为了数据的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如没有则可进行添加。
6、还书管理基本信息流程:
   分析:借阅管理部分是实现对各部分数据内容的添加和查询操作,在借阅信息中包括借阅编号、读者编号、读者姓名、书籍名称、出借日期和还书日期。并通过添加功能来达到借阅信息表的数据的更新,通过查询可使管理员很快地了解借阅信息,从而避免书籍的丢失现象产生。
    通过上面对各个模块流程的分析,那么我们就不难对整个系统的大致流程有一个全面的认识。设计时采用了常用的自顶向下的瀑布式结构化设计方法。各子系统具有独立的数据库结构,同时又具有相关的关键字,这样系统做起来后就便于用户操作。综合上面各个模块的流程分析,其总体流程图如下:

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

4.1系统模块功能解析 

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

(1)书籍管理:包括图书信息的添加、图书信息的修改、图书信息的查询和图书的信息删除4部分。其中,书籍信息包括图书编号、图书名称、类别编号、作者、类别名称、出版社名等。

(2)图书类别管理:包括书籍的添加、书籍修改、书籍的删除3部分功能。其中,图书类别包括类别名称和类别编号两部分。
    借阅管理部分:包括借书管理和还书管理,其功能是实现对各部分数据内容的添加和查询等操作。各管理部分的明细如下:
(1)借阅管理:包括借书、还书、续借3个操作方法。这3部分信息都包括读者编号、图书编号、借阅天数、借阅数量、图书价格合计、借阅总数量。可对书籍信息进行添加、删除、执行操作、清空数据。
(2)还书管理:此部分所实现的功能基本与借书管理部分的功能相似,但其意义不同。
    读者管理部分:包括读者信息管理和读者类别管理,其功能是实现对各部分数据内容的添加和修改、删除等操作。各管理部分的明细如下:
(1)读者信息管理:包括读者信的添加、读者信息的修改、读者信息的查询和读者信息的删除4部分功能。其中,读者信息包括读者姓名、读者编号、性别、读者类别、证件名称、证件号码、读者单位、证件号码等信息。

(2)读者类别管理:包括读者类别的添加、读者类别的修改、读者类别的删除、信息清空4部分功能。其中,读者类别包括可借阅数量、可借阅天数、可续借次数等5部分。
    系统管理部分:包括修改系统用户密码、增加新用户、系统初始化和退出系统四项功能。系统初始设置一个超级用户名和密码,操作人员可以利用这个超级用户名和密码登录,之后,可以设置其他的超级用户名称,也可以设置权限用户,同时也设置了这个用户可以使用的权限。
    系统帮助部分:包括系统设计前台和后台简概述等功能。
    运行本系统程序,首先出现登录界面,输入正确的用户名和密码后才能进入主窗体。对主窗体上各个菜单的设置采用快捷键,便于用户更方便的应用该系统。

4.2 系统具体功能的实现

    功能的实现

(1)登陆界面

代码如下:

Dim cnt As Integer

Option Explicit

Private Sub cmdexit_Click()

If MsgBox("确定退出系统吗?", vbQuestion + vbYesNo, "退出系统") = vbYes Then

   Unload Me

End If

End Sub

Private Sub cmdok_Click()

Dim rs As New ADODB.Recordset

Dim sql As String

If Screen.Width < 15360 Then

    MsgBox "请设高系统的分辨率,最好在1024*768下运行该系统,才能进入系统。", vbCritical + vbOKOnly, "屏幕分辨率"

    Unload Me

End If

If Trim(cmbo用户名.Text) = "" Then

    MsgBox "没有这个用户", vbOKOnly + vbExclamation, "登陆错误"

    cmbo用户名.SetFocus

ElseIf Trim(txt密码.Text) = "" Then

        MsgBox "密码不能为空", vbOKOnly + vbExclamation, "登陆错误"

        txt密码.SetFocus

Else

        cnt = cnt + 1

        sql = "select * from yhxxb where 用户名='" & cmbo用户名.Text & "'"  'yhxxb用户信息表

        Set rs = TransactSQL(sql)

       

        If Trim(rs.Fields(1)) = Trim(txt密码.Text) Then

            user = cmbo用户名.Text

            rs.Close

            Unload Me

            frmabout.Show

        ElseIf cnt = 3 Then

           MsgBox "密码三次不正确,退出系统!", vbOKOnly + vbInformation, "信息"

         Unload Me

        Else

            MsgBox "密码不正确", vbOKOnly + vbExclamation, "错误"

            txt密码.Text = ""

            txt密码.SetFocus

        End If

End If

End Sub

Private Sub Form_Load()

cnt = 0

'Me.Picture = LoadPicture(App.Path & "\login.jpg")

Dim rs As New ADODB.Recordset

Dim sql As String

sql = "select 用户名 from yhxxb"

Set rs = TransactSQL(sql)

While Not rs.EOF

    cmbo用户名.AddItem rs(0)

    rs.MoveNext

Wend

End Sub

(2)主界面

代码如下:

Dim delData As Boolean  '为true 时表示系统初始化要删除数据

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)

    If MsgBox("确定退出系统吗?", vbQuestion + vbYesNo, "退出系统") = vbYes And delData = False Then

       For Each Form In Forms  '遍历窗体集

       Unload Form

       Next Form

    ElseIf delData = False Then

       Cancel = True

    End If

End Sub

Private Sub MDIForm_Resize()

   ' StatusBar2.Panels(3).Width = Me.Width - StatusBar2.Panels(1).Width - StatusBar2.Panels(2).Width

'    If Me.Width < 12045 Then

'       Me.Width = 12045

'    End If

'    If Me.Height < 10590 Then

'       Me.Height = 10590

'    End If

    'Toolbar1.Width = 7530

    

End Sub

Private Sub submnuAbout_Click()

    On Error Resume Next

    Unload frmabout

    frmabout.Show

    frmabout.Timer2 = False

End Sub

Private Sub submnuAddbook_Click()

    On Error Resume Next

    Unload frmbookaddinfo

    frmbookaddinfo.Show

End Sub

Private Sub submnuAdddeluser_Click()

    On Error Resume Next

    Unload frmadd_del_yh

    frmadd_del_yh.Show

End Sub

Private Sub submnuAddreader_Click()

    On Error Resume Next

    Unload frmreaderaddinfo

    frmreaderaddinfo.Show

End Sub

Private Sub submnuBook_Click()

    On Error Resume Next

    Unload frmbookmanage

    frmbookmanage.Show

End Sub

Private Sub submnuBorrow_Click()

    On Error Resume Next

    Unload frmborrow_read

    Style = "borrow"

    frmborrow_read.Show

End Sub

Private Sub submnuContinu_Click()

    On Error Resume Next

    Unload frmborrow_read

    Style = "borrowagain"

    frmborrow_read.Show

End Sub

Private Sub submnuExit_Click()

     Unload Me

End Sub

Private Sub submnuInquirereader_Click()

    On Error Resume Next '错误代码处理

    Unload frmreaderqueue

    frmreaderqueue.Show

End Sub

Private Sub submnuLossfine_Click()

    Unload frmlostbook

    frmlostbook.Show

    frmlostbook.SetFocus

End Sub

Private Sub submnuModifybook_Click()

    On Error Resume Next '错误代码处理

    Unload frmbookmanage

    frmbookmanage.cmdadd.Enabled = False

    frmbookmanage.Show

End Sub

Private Sub submnuBookinfo_Click()

    On Error Resume Next

    Unload frmbookinfo

    frmbookinfo.Show

End Sub

Private Sub submnuBooktype_Click()

    On Error Resume Next

    Unload frmbookinfo

    frmbookinfo.SSTab1.Tab = 0

    frmbookinfo.Show

    frmbookinfo.SetFocus

End Sub

Private Sub submnuCanclebook_Click()

    On Error Resume Next

    Unload frmbookcancel

    frmbookcancel.Show

End Sub

Private Sub submnuInquirebook_Click()

    On Error Resume Next

    Unload frmbookqueue

    frmbookqueue.Show

Private Sub submnuModifypwd_Click()

    On Error Resume Next

    frmyhmmxg.Show

End Sub

Private Sub submnumodifyreader_Click()

    On Error Resume Next

    Unload frmreadermanage

    frmreadermanage.cmdadd.Enabled = False

    frmreadermanage.Show

End Sub

Private Sub submnuOverduefine_Click()

    On Error Resume Next

    Unload frmoverduefine

    frmoverduefine.Show

End Sub

Private Sub submnuPublisherinfo_Click()

    On Error Resume Next

    Unload frmbookinfo

    frmbookinfo.SSTab1.Tab = 1

    frmbookinfo.Show

End Sub

Private Sub submnuReaderinfo_Click()

    On Error Resume Next

    Unload frmreadermanage

    frmreadermanage.Show

Private Sub submnuReadertype_Click()

   On Error Resume Next

    Unload frmreaderstyle

    frmreaderstyle.Show

End Sub

Private Sub submnuReturn_Click()

    On Error Resume Next

    Unload frmborrow_read

    Style = "return"

    frmborrow_read.Show

End Sub

Private Sub sysinit_Click()

End Sub

第五章 结束语

在对管理信息系统的开发过程有了基本了解后,Visual Basic6.0开发了这个“图书管理系统”。系统基本实现了图书基本信息、读者基本信息进行计算机辅助管理,完成借书和还书有关信息的记录、修改、查询、删除等一系列任务的计算机管理与实现管理的系统化、规范化和自动化。

通过对该系统的设计、开发和调试,一方面让我了解了MIS系统的开发过程与方法,另一方面,让我初步掌握了Visual Basic开发工具的使用方法,熟悉了窗口、菜单以及一些可视化控件的使用方法。通过使用还了解到窗口对象、数据窗口对象、各类控件的属性与方法。同时,在制作过程中遇到了不少问题和困难,通过查阅书籍及互连网得到了不小的帮助。

因为条件的限制,该管理系统还存在不少的缺点和漏洞,只能尽量改正与完善。不足之处,还请指导老师多多指教。

第六章  致谢

本系统能够顺利完成,非常感谢指导老师,对于本人来说,通过这次毕业设计,也是对自己在这三年学习的一个检验和平时学习的一种结累,可以在学习中提高自己,也充分体现学有所用,学以致用的学习倡导。

在此,我对三年来辅导过我的各位任课老师深表感谢

主要参考文献

本系统的过程中,主要的参考文献有:

《Visual Basic6.0程序设计综合教程》(第三版)       朱从旭     清华大学出版社

《面向对象程序设计系列教材》          龚沛曾            高等教育出版社

《Visual Basic6.0程序设计》(第二版)   元莱滨              清华大学出版社

《学用Visual Basic 编程》             潭  浩     西安电子科技大学出版社

《Visual Basic6.0 数据库开发与专业应用》 敬  铮           国防工业出版社

《Visual Basic6.0 数据库程序设计高手》   温贤发            科学出版社

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值