资源描述
J I A N G S U U N I V E R S I T Y
本 科 毕 业 论 文
图书管理系统的设计与实现
Books management system management system design and implementation
学院名称:
京江学院
专业班级:
计算机1101
学生姓名:
学 号:
指导教师姓名:
指导教师职称:
2015年6月
江苏大学本科毕业论文
摘 要
随着现代科学技术的进步,人类社会正逐步走向信息化。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。图书馆拥有丰富的文献信息资源,是社会信息系统的重要组成部分,在信息社会中的作用愈来愈重要。我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得以迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展,图书馆信息化建设迈上了一个新台阶。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其可操作性。
在对C#语言,SQL Server2008数据库技术以及随着国内教育水平的不断进步,我国教育事业发展蒸蒸日上,办学条件日趋改善,随之带来的是图书的数据信息越来越庞大,越来越不易管理,表现比较明显的就在学校的图书馆管理方面。
关键词:计算机;图书管理;C#。
Abstract
With the progress of modern science and technology, human society is gradually to the informatization. Leave the information processing in all walks of life, this is the computer is widely used in information management system of the environment. Libraries have abundant literature information resources, is an important part of social information system, have been playing an increasing important role in information society. Library, such as computers, information technology application in China started in the late 1970 s, with the pace of reform and opening up development rapidly, especially after the 90 s, the library information network construction has achieved great development in our country, the library information construction to a new level. The biggest advantage is to use it to computer information management. Using computer to control information, not only improve the work efficiency, and greatly improve its operability.
On the c # language and SQL Server2008 database technology, and along with the advance of domestic education level, China's education career development progresses day by day, increasingly improve managerial condition, then there are books data information is more and more big, more and more difficult to manage, performance is more noticeable in the school library management.
Keywords:The computer; Books management; C #.
目 录
摘 要 I
1 引言 1
1.1 图书管理的现状 1
1.2 选题的目的 意义 1
1.3 系统开发运行环境 2
第一章 引言
随着计算机及网络技术的飞速发展,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆就迫切需要开发一种检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低的管理系统。新的系统能够极大地提高图书馆数据管理的效率, 为它将来的数字化无纸办公提供条件,也是与世界接轨的重要条件。提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。
1.1 图书管理的现状
图书馆作为教书育人的不可替代的重要组成部分,蕴含着深厚的知识源泉和文化底蕴,对于提高人的综合素质以及促使现代文明的发展有着极其重要的意义。随着时代的进步以及社会的发展,图书管理面临着更多的发展机遇和更大的挑战,如何在认清图书管理现状的前提下,做好图书管理的改革与创新工作,逐渐成为备受关注的热议话题。
一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。为提高图书馆的管理效率,更好地为读者服务,利用已有的办公条件,使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高。
1.2 选题的目的意义
随着社会的进步的意义,信息技术的广泛应用,数字化管理的优势日趋显著。针对图书馆或图书室管理落后的情况下,设计实现一个图书信息管理系统,通过与计算机的结合使用对图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、寿命长,且保密性好、存储量大、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的图书管理软件已经很有必要,并且实现服务于实践的原则。
第二章 系统总体设计分析
管理员登录
管理员输入用户名,密码后能进入图书管理系统,具有对图书管理系统的信息处理的功能。
图书管理
图书管理设置:搜索,新增,修改,删除。
1.图书管理具有图书类别设置和图书档案管理两个功能。 设置图书类别的基本信息(类型名称,可借天数,类型名称,等等);具有对图书类别信息的增,删,改,查的基本功能;对图书类别信息的搜索查询。
2.图书档案管理设置图书档案的基本信息(作者,书名条形码,出版社,等等);具有对图书档案信息的增,删,改,查的基本功能;对图书档案信息的搜索查询。
读者管理
读者主要包括为:搜索,新增,删除,保存,退出。
1.读者类能够定义读者的类型,读者能借阅的图书册数,期刊册数,续借次数,还能设置读者的阅读范围(图书,期刊);读者还有读者类别的搜索功能,读者类别设置窗口具有增,删,改,查基本功能。
2.读者档案管理记录着所有读者的基本信息(姓名,性别,联系方式,读者类型,等等);读者档案管理具有对档案的增,删,改,查功能,且支持模糊查询。
图书借还管理
图书流通管理包括:图书借阅,图书归还,逾期清单,图书罚款。
1.图书借阅:输入读者信息(可选输入项为:编码,条形码),以及借阅图书信息(可选输入项为:编码,条形码),回车键匹配借阅信息,单击“确定借阅”,完成图书的借阅。生成借阅信息包括(编号,书名,借出时间,状态,应还时间,出版社,书架)
2.图书归还:搜索,归还所选图书
搜索:检索的图书信息包括(借阅编号,图书借阅,姓名,续借次数,读者编号,操作员,状态,借阅时间,书名,应还时间);
归还图书:归还图书时判断是否逾期,并根据逾期时间计算罚款费用且保存应罚款费用。
第3章 系统设计
3.1 系统总体结构设计
3.1.1系统总体功能设计
1.总体设计主题
设计图书馆要从图书馆实际情况出发,设计一个操作系统拥有图书信息、读者信息、管理员等操作窗体,并且简单、易学,可以方便查询、管理操作,具有很好的保密性、安全性的系统,同时系统链接数据库,使数据信息通过链接显示到系统窗口中。将来系统升级要更简单,可以不更改数据库,只需更改数据链接便可。
2.总体设计方案
首先系统的先进性和开放性:为保证图书馆管理系统既能保持在一定时期内不落后,并保证该系统学习、使用的方便性,我们在该系统的设计时,要充分考虑到系统的先进性和开放性,尽可能采取先进开放的技术和产品。
其次系统的有效性和实用性:针对图书馆的特点,我采用模块化设计,根据各个模块的属性进行链接、操作,确保了该系统的实用性。为确保投资的有效性,我们在整个系统设计时,根据目前的应用及将来的发展确定应用何种编程软件和数据库。就系统软件而言,由于使用的使易学、易操作、较稳定的软件,所以将来不会因升级而被淘汰。
再次系统的可靠性和稳定性:图书馆管理系统作为整个图书馆资料、数据的管理系统,其可靠性和稳定性直接关系到图书馆的正常运作。系统的故障可能直接给图书馆数据带来灾难性的损失。系统的可靠性主要是要防止在硬件、软件、操作上出现故障,而导致系统瘫痪。所以一定要保证设计人员在设计时考虑到可能出现的问题,防患于未然。
最后系统的安全性和保密性:在图书馆管理系统中,由于管理员、读者可同时进行操作,因此必须防止数据库被非管理员操作,或防止用户无意识地对图书馆数据侵害。
3.1.2 系统的整体结构(见图3-1)
系统主要包括四大部分,第一部分为图书馆主窗体,其他分别为图书馆图书信息、图书馆读者信息、图书馆管理员窗体。其中图书馆图书信息又分为三个部分,教科书、小说、杂志。具体结构如图:
图书馆主窗体
读者信息
退出
图书馆目录
管理员
读者
图书
杂志
小说
教科书
退出
图3-1 系统结构图
各模块功能如下:
进入图书馆主窗体功能:管理员或读者打开图书管理系统首先见到的就是进入图书馆系统的窗体,其中可以选择进入图书目录、读者信息、图书管理员窗体。
图书馆目录窗体功能:进入窗体内可以选择自己想要图书的门类,点击进入各门类窗体。
教科书窗体功能:本窗体内所显示的书目均为教育科学类图书,每册图书的基本信息及借阅情况都在本窗体内显示,同时可以在本窗体内进行借阅操作,还可通过设置关键字查询图书信息。
小说类图书窗体功能:本窗体内所显示的书目均为小说类图书,每册图书的基本信息及借阅情况都在本窗体内显示,同时可以在本窗体内进行借阅操作,还可通过设置关键字查询图书信息。
杂志类图书窗体功能:本窗体内所显示的书目均为各种杂志,由于杂志在本馆禁止外借,只可在图书馆内阅读,所以本窗体无借阅按钮。还可通过设置关键字查询图书信息。
读者信息窗体功能:通过窗体的操作可以看到读者自己的基本信息及借阅情况,通过设置关键字查询各类图书信息及借阅情况。
管理员窗体功能:通过密码对其身份验证后,管理员可以对图书信息数据库和读者信息数据库进行更改删除操作。
3.2 关键技术设计
在本系统的教课书、小说、读者信息窗体中,使用了CommonDialog控件、Text控件、Label控件、Command控件进行编辑排版,还使用Adodc控件的属性与每个窗体相对应的数据库数据进行连接,同时使用弹出窗口对象设计书目查询功能,并利用菜单设计功能在本窗体内添加了菜单栏,可以实现打开、保存、打印、退出、查询等功能。在密码、进入读者信息窗体中,使用弹出信息窗口功能和if…else…语句对输入密码或读者信息码的分析,增加系统保密性。在管理员进入的窗体内,利用OLE控件来建立到数据库的连接并实现对数据库的访问、修改、增加、删除等,还使用了Timer控件,控制显示文字的频率。
3.3 数据库设计
本系统的数据库采用的是微软自带的Access数据库,数据库名称为小说.mdb、读者.mdb、教科书.mdb,每个数据库内存储着相应的数据。结构分别如下表:
序号
属性名
类型
长度
主键
备注
1
出版社编号
int
15
√
2
ISBN
varchar
40
3
出版社名称
varchar
200
读者类型表
序号
属性名
类型
长度
主键
备注
1
类型
varchar
15
√
2
图书册数
smallint
15
3
期刊册数
smallint
30
4
续借次数
int
10
读者信息表
序号
属性名
类型
长度
主键
备注
1
编号
varvhar
20
√
2
姓名
varvhar
20
3
性别
varvhar
8
4
类型
varchar
20
外键
5
类型
bit
6
出生日期
smalldatetime
7
有效证件
varvhar
60
8
证件号码
varvhar
60
9
联系方式
varvhar
100
10
登记日期
smalldatetime
11
有效期至
smalldatetime
12
操作员
varvhar
20
13
备注
varvhar
100
14
期刊借阅次数
int
15
图书借阅次数
int
管理员表
序号
属性名
类型
长度
主键
备注
1
编号
varchar
100
√
2
名称
varchar
20
3
密码
varchar
100
4
图书管理
bit
5
期刊管理
bit
6
读者管理
bit
7
图书借还
bit
8
期刊借还
bit
9
系统设置
bit
10
系统查询
bit
11
系统排行
bit
12
排行榜
bit
13
系统维护
bit
书架表
序号
属性名
类型
长度
主键
备注
1
编号
varchar
50
√
2
书架名称
varvhar
200
图书罚款表
序号
属性名
类型
长度
主键
备注
1
罚款编号
int
√
2
图书编号
varchar
50
外键
3
读者编号
varvhar
20
外键
4
罚款日期
smalldatetime
5
应罚金额
money
6
实收金额
money
7
是否交款
bit
8
备注
varchar
100
图书馆表
序号
属性名
类型
长度
主键
备注
1
名称
varchar
200
√
2
馆长
vhar
200
3
负责人
varchar
10
4
电话
varchar
30
5
说明
varchar
200
6
备注
varchar
200
图书归还表
序号
属性名
类型
长度
主键
备注
1
归还编号
int
√
2
图书编号
varvhar
50
外键
3
读者编号
varchar
40
4
退还押金
money
5
归还时间
smalldatetime
6
操作员
varchar
20
7
确定归还
bit
图书借阅表
序号
属性名
类型
长度
主键
备注
1
借阅编号
int
√
2
图书编号
varvhar
50
外键
3
读者编号
varvhar
40
4
借阅时间
smalldatetime
5
应还时间
smalldatetime
6
续借次数
int
7
操作员
varvhar
20
8
状态
varvhar
10
图书类型表
序号
属性名
类型
长度
主键
备注
1
类型编号
varchar
50
√
2
类型名称
varvhar
100
可借天数
int
图书信息表
序号
属性名
类型
长度
主键
备注
1
条形码
varchar
40
2
编号
varvhar
50
√
3
书名
varchar
200
4
类型
varchar
100
5
作者
varchar
100
6
译者
varchar
100
7
ISBN
varchar
40
8
出版社
varchar
100
9
价格
money
10
页码
int
11
书架名称
varchar
200
12
现存量
int
13
库存总量
int
14
入库时间
smalldatetime
15
操作员
varchar
20
16
简介
varchar
100
17
借出次数
int
18
是否注销
bit
7.1程序安装
解压程序包,在本机安装Sql Server20100
1.点击“代码\lib.exe”提示输入用户名,密码。管理员默认登陆用户名:admin,密码:admin。
2.进入图书管理系统之后,可以分别对读者管理,图书管理,图书流通管理(图书借阅,图书归还,逾期清单,图书罚款)进行操作。
设计代码
登陆图书馆窗体部分代码(图书馆主页.frm):
Private Sub Command1_Click()
Form3.Hide
Form5.Show
End Sub
图书馆目录窗体部分代码(Form5.frm):
向窗体背景插入图片:
Private Sub Form_Load()
Form5.Picture = LoadPicture("d:\新建文件夹\Fl2107.jpg")
End Sub
图书馆教科书信息窗体部分代码(Form7.frm):
书目编号查找:
Private Sub Command1_Click()
Dim temp, findstring As String
temp = InputBox("编号:", "书目查询")
findstring = "编号='" + temp + "'"
Adodc1.Recordset.Find (findstring)
End Sub
图书借出、还书入库:
Private Sub Command2_Click()
Text6.Text = Text6.Text - 1
Text7.Text = Text7.Text + 1
If Text7.Text > (Text7.Text + 1) + (Text6.Text - 1) Then
Text7.Text = (Text7.Text + 1) + (Text6.Text - 1)
End If
If Text6.Text < 0 Then
Text6.Text = 0
End If
End Sub
图书馆小说信息窗体部分代码(图书馆.frm ):
窗体内增加菜单栏:
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu 编辑, vbPopupMenuRightButton
Else
End If
End Sub
Private Sub 保存_Click()
CommonDialog1.ShowSave
End Sub
Private Sub 查询_Click()
Dim temp, findstring As String
temp = InputBox("编号:", "书目查询")
findstring = "编号='" + temp + "'"
Adodc1.Recordset.Find (findstring)
End Sub
Private Sub 打开_Click()
CommonDialog1.ShowOpen
End Sub
Private Sub 打印_Click()
CommonDialog1.ShowPrinter
End Sub
Private Sub 删除_Click()
Adodc1.Recordset.Delete
End Sub
Private Sub 添加_Click()
Adodc1.Recordset.AddNew
End Sub
Private Sub 退出_Click()
Me.Hide
End Sub
Private Sub 字体_Click()
CommonDialog1.Flags = cdlCFScreenFonts Or cdlCFEffects
CommonDialog1.Action = 4
Dim i As Integer
For i = 0 To 7
Label1(i).FontItalic = CommonDialog1.FontItalic
Label1(i).FontBold = CommonDialog1.FontBold
Label1(i).FontSize = CommonDialog1.FontSize
Label1(i).FontName = CommonDialog1.FontName
Next i
End Sub
图书馆杂志信息窗体部分代码(Form6.frm):
Private Sub Command1_Click(Index As Integer)
Select Case Combo1.Text
Case "北京电视"
Combo2.Clear
Combo2.AddItem "北京电视日期为1999-1"
Combo2.AddItem "日期为1999-3"
Combo2.AddItem "日期为1998-11"
Combo2.AddItem "日期为1998-12"
Combo2.AddItem "日期为2000-3"
Combo2.AddItem "日期为2002-5"
Combo2.AddItem "日期为2000-4"
Combo2.AddItem "日期为1999-11"
Combo2.AddItem "日期为1999-6"
Case "知音"
Combo2.Clear
Combo2.AddItem "知音日期为2000-4"
Combo2.AddItem "日期为1999-3"
Combo2.AddItem "日期为2000-5"
Combo2.AddItem "日期为1998-10"
Combo2.AddItem "日期为1998-12"
Combo2.AddItem "日期为2002-3"
Combo2.AddItem "日期为1998-2"
Combo2.AddItem "日期为1999-2"
End Select
End Sub
Private Sub Form_Load()
Form6.Picture = LoadPicture("d:\新建文件夹\Fl2091.jpg")
Combo1.AddItem "知音"
Combo1.AddItem "北京电视"
Combo1.Text = "北京电视"
End Sub
读者信息登陆窗体部分代码(Form9.frm):
Private Sub Command2_Click()
Form9.Hide
Form2.Show
Dim findstring As String
findstring = "编号='" + Text1.Text + "'"
Form2.Adodc1.Recordset.Find (findstring)
End Sub
读者信息窗体部分代码(读者信息.frm):
Private Sub Command4_Click()
Adodc1.Recordset.AddNew
End Sub
Private Sub Command5_Click()
Adodc1.Recordset.Delete
End Sub
End Sub
Private Sub Form_Load()
'Command4.Visible = False
'Command5.Visible = False
End Sub
管理员登陆密码窗体代码(密码.frm):
Private Sub Command2_Click()
Unload Me
Form8.Show
End Sub
Private Sub Command3_Click()
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Command4_Click()
pw$ = "12345"
Title$ = "密码核对框"
info1$ = " 你输入了正确的密码"
info2$ = "你输入的密码不正确"
If Text1.Text = pw$ Then
answer = MsgBox(info1$, 65, Title$)
Else
answer = MsgBox(info2$, 277, Title$)
End If
If Text1.Text = pw$ Then
Command2.Visible = True
If answer = 2 Then End
End If
End Sub
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
Command2.Visible = False
End Sub
管理员窗体代码(Form8.frm):
Dim a(10) As String
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
Form8.Picture = LoadPicture("d:\新建文件夹\zhufu.jpg")
a(1) = "只允许管理员进入修改资料"
a(2) = "管理员要慎重修改"
a(3) = "你可以添加、删除读者和图书"
End Sub
Private Static Sub Timer1_Timer()
i = i + 1
display (i)
If i >= 3 Then i = 0
End Sub
Private Sub display(i)
Label1.Caption = a(i)
End Sub
结 论
——
展开阅读全文