用VB编写一个简单的图书管理系统分解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用编写一个简单的图书管理系统
2011009(学号)石二辽(姓名)指导教师徐哲鑫
【摘要】笔者采用 6.0 为开发工具,设计一款具备友好的图形用户界面、简便操作的图书管理系统。

充分利用计算机功能实现读者管理、书籍管理、借还书籍管理等信息的自动化控制,将使图书管理员从繁杂、重复的劳作中解放出来。

【关键词】图书;面向对象;软件工程
1概述
1.1开发背景
用计算机管理图书馆里一切信息是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的.现在一般的图书馆都是采用计算机作为工具,使用实用的图书管理程序来帮助图书馆管理员进行更有效的图书管理。

1.2图书管理系统产生的背景
图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。

而对于前端应用程序则要求应用程序具备功能完备、友好的图形用户界面、便捷使用等特点[1]。

1.3 系统功能要求的分析
开发本系统的总体任务是实现图书管理系统的系统化和自动化,帮助图书管理员更好更高效地完成图书管理工作,本系统要完成的功能主要有:
书籍管理部分:图书类别管理和图书信息管理。

其中,书籍类别管理包括添加书籍类别、修改书籍类别、删除书籍类别等;书籍信息管理包括书籍信息的添加、修改、查询、删除等。

读者管理部分:读者类别管理和读者信息管理,读者类别管理包括读者类别添加、修改、删除等;读者信息包括读者添加读者信息、修改读者信息、查询读者信息、删除读者信息等。

借阅管理部分:借书信息管理和还书信息管理,借书信息管理、还书信息管理均包括其信息的添加、修改、查询等。

系统管理部分:添加管理员,修改密码,退出系统。

2开发环境及实现技术介绍
2.1开发软件介绍
由于我的工作单位是一所中心小学,有大量的书籍,读者有学生、老师,于是本人想设计一款实用的图书管理系统,方便学校图书管理员工作,增强图书借阅力度,良好地管理书籍及其借阅信息。

2.2模块设计[2]
书籍管理部分实现对书籍类别、书籍信息的添加、修改、删除等操作。

读者管理部分实现对读者类别、读者信息的添加、修改、删除等操作。

借阅管理部分实现对借书信息、还书信息的添加、修改、查询等操作。

系统管理部分实现超级用户对普通用户的用户名和密码对注册、修改等操作。

2.3程序预览
运行本系统程序,首先出现登录界面(图2),输入正确用户名及密码后进入主窗体(图3),主窗体上的主菜单栏有:书籍管理、读者管理、借阅管理、系统设置及帮助。

图2
图3
2.3.1书籍管理功能
“书籍管理”菜单下有两个一级菜单:“书籍信息管理”和“书籍类别管理”。

具体操作如下:1.“书籍类别管理”下有三个子菜单:“新增”、“修改”、“删除”。

单击“新增”菜单,打开“新增书籍类别”窗体(图4)。

单击“修改”或“删除”,都会打开“书籍类别信息管理”窗体(图5)。

图4 图5
2.“书籍信息管理”下有四个子菜单:“新增图书”、“修改书籍信息”、“删除书籍信息”、“查询书籍信息”。

单击“新增图书”菜单,打开“新增书籍”窗体(图6)。

单击“修改”或“删除”,都会打开“书籍信息管理”窗体(图7)。

单击“查询书籍信息”菜单,打开“查询图书”窗体(图8)
图6
图7
图8
2.3.2读者管理功能
“读者管理”菜单下有两个一级菜单:“读者类别管理”和“读者信息管理”。

1.“读者类别管理”下有3个子菜单:“添加读者类别”、“修改读者类别”、“删除读者类别”。

单击“添加读者类别”菜单,打开“添加读者类别”窗体(图9);单击“修改读者类别”和“删除读者类别”菜单,都会打开“读者类别管理”窗体(图10)。

图9 图10
2.“读者信息管理”菜单下有4个子菜单:“添加读者信息”、“修改读者信息”、“删除读者信息”和“查询读者信息”。

单击“添加读者信息”菜单,打开“添加读者信息”窗体(图11),单击“修改读者信息”和“删除读者信息”菜单,都会打开“读者信息管理”窗体(图12),单击“查询读者信息”菜单,打开“查询读者信息”窗体(图13)。

图11
图12 图13
2.3.3图书借阅管理功能
“借阅管理”菜单下有2个一级菜单:“借书管理”和“还书管理”。

1.“借书管理”菜单下有2个子菜单:“添加借书信息”和“查询借书信息”。

单击“添加借书信息”先打开的是“查询图书”窗体(图8),找到需要借阅的图书后,单击“借这本书按钮”,打开“借书”窗体(图14);单击“查询借书信息”菜单,打开“查询借书信息”窗体(图15)。

图14 图15
2.单击“还书管理”,打开“还书”窗体(图16)。

图16
2.3.4系统管理功能
“系统管理”菜单下有3个子菜单,分别是“添加管理员”、“修改密钥”和“退出系统”。

单击“添加管理员”子菜单,打开“添加管理员”窗体(图17),单击“修改密钥”子菜单,打开“修改密码”窗体(图18),单击“退出系统”,备份数据并退出本系统。

图17 图18
2.3.5帮助菜单
单击“帮助”菜单,打开系统信息窗体(图1),点击系统信息窗体任何一处,关闭该信息窗体,返回主窗体。

图1
2.4数据库设计
数据库名为,在库中设计六张表,它们分别为(读者类别表)、(读者信息表)、(借阅信息表)、(书籍信息表)、(书籍类别表)、(系统管理表)。

2.4.1读者类别表,表名为,字段名称有读者类别名称、读者借书数量、借书期限及有限期限,设置“读者类别名称”为主键,是必填字段,不允许空值。

2.4.2读者信息表: 设置“读者编号”为主键,“读者编号”、“读者姓名”为必填字段,不允许空值。

2.4.3 借阅信息表:
2.4.4书籍信息表: 设置“图书编号”为主键,“图书编号”、“书籍名称”为必填字段,不允许空值。

2.4.5图书类别表:
2.4.6系统管理表:
2.4.7数据库连接方式选择
6.0连接数据库的主要方式有以下几种方式:一是用控件进行数据库链接,二是利用( )进行数据库链接。

三是:利用进行数据库链接,四是利用( )进行编程。

利用对数据库进行操纵[3]:
在中提供了两种与数据引擎接口的方法控件与数据访问对象()是的英文缩写,要访问数据库一方面数据库要提供访问接口,另一方面要在编程环境中有对数据库的支持.
模型是设计关系数据库系统结构的对象类的集合.他们提供了管理关系型数据库系统所需要的全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库等.
关系数据库介绍[4]:
关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。

20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。

在数据库发展的历史上,最重要的成就就是关系模型。

关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。

结构化查询语言()是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。

目前已成为关系数据库的标准语言。

介绍:
使用,可以在单一的数据库文件中管理所有的信息。

在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。

如果要保存数据,请为每一种类型的信息创建一个表。

如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。

如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。

查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。

如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。

在打开一个窗体时,将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。

如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。

例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。

2.5系统代码[5]
2.5.1主界面代码:
2.5.1.1添加管理员菜单
()
2.5.1.2添加读者类别菜单
()
2.5.1.3添加读者信息菜单
()
2.5.1.4添加还书信息菜单
()
2.5.1.5添加借书信息菜单
()
2.5.1.6添加图书类别菜单
()
2.5.1.7查询读者信息菜单
()
2.5.1.8查询借书信息菜单
2.5.1.9查询书籍信息菜单 ()
2.5.1.10删除读者类别菜单 ()
2.5.1.11删除读者信息菜单 ()
2.5.1.12删除书籍类别菜单 ()
2.5.1.13帮助菜单
()
2.5.1.14退出系统菜单
()
2.5.1.15修改读者类别菜单 ()
2.5.1.16修改读者信息菜单 ()
2.5.1.17修改书籍类别菜单 ()
2.5.1.18修改用户密码菜单 ()
2.5.1.19修改书籍信息菜单 ()
2.5.1.20新增图书信息菜单
2.5.2添加图书类别
添加图书类别代码:
1()
1
= " * 类别名称='" & 1 & "'"
, , ,
(1) = ""
"图书类别不能为空", + , "注意"
1
(2) = ""
"图书编号不能为空", + , "注意"
2
=
(0) = (2)
(1) = (1)
"成功地添加 " & 1 & " 这一图书类别", , "恭喜"
" " & 1 & " 这一图书类别已存在", + , "图书类别不能重复"
1
1 = ""
2 = ""
2()
2.5.3修改图书类别:
修改图书类别代码:
()
1
1 = " * "
=
1, , ,
=
=
=
=
:
()
=
=
=
=
( , , X , Y )
= "点击此处也可以添加" = 3000
()
=
=
=
=
=
=
()
= ("确定要删除吗?", ) =
=
:
()
()
=
=
"修改成功", + , "恭喜成功"
= 1550
= "高级"
=
()
=
=
=
=
=
:
<> 0
( )
=
2.5.4添加读者类别界面:
1()
(1) = ""
"读者类别名称不能为空", + , "注意" 1
(2) = ""
"借书数量不能为空", + , "注意"
2
(3) = ""
"借书期限不能为空", + , "注意"
3
(4) = ""
"有效期限不能为空", + , "注意"
4
, , ,
(0) = (1)
(1) = (2)
(2) = (3)
(3) = (4)
" 您已经成功添加" & 1 & "这一读者类别 ", + , "添加成功!"
"读者类别名称为" & 1 & " 重复", + , "注意重复"
1
1 = ""
:
2()
()
1 '定义一个字符串变量
'定义一个对象变量
2.5.5查询读者信息代码:
()
1 '定义一个字符串变量
'定义一个对象变量
1 = " * "
1, , ,
1 (0)
Loop
1 = 0
1()
'定义一个字符串变量
'定义一个对象变量
1 =
= "读者编号='" & (1 & "") & "'"
= "读者姓名='" & (2 & "") & "'"
= & " 读者编号='" & (2 & "") & "'"
3 =
() = ""
= "读者类别='" & (1 & "") & "'"
= & " 读者类别='" & (1 & "") & "'"
= ""
"请选择一种查询依据", + , "查询方式"
= " * " &
=
, , ,
=
=
=
=
2()
2.5.6图书借阅管理模块代码:
2.5.6.1查询书籍窗体代码
()’窗体加载时就书籍类别加载到列表框中。

1 '定义一个字符串变量
'定义一个对象变量
1 = " * "
1, , ,
1 (1)
Loop
1 = 0
1()’查询命令按钮代码
'定义一个字符串变量
'定义一个对象变量
= "书籍名称='" & (1 & "") & "'"
2 =
() = ""
= "图书编号='" & (2 & "") & "'"
= & " 图书编号='" & (2 & "") & "'"
3 =
() = ""
= "作者='" & (3 & "") & "'"
= & " 作者='" & (3 & "") & "'"
4 =
() = ""
= "出版社='" & (4 & "") & "'"
= & " 出版社='" & (4 & "") & "'"
5 =
() = ""
= "类别='" & (1 & "") & "'"
= & " 类别='" & (1 & "") & "'"
= ""
"请选择一种查询依据", + , "查询方式"
= " * " &
=
, , ,
=
=
=
=
为了获取表格某一单元格值,为控件添加如下代码: ( , )
= (7)()
= (0)()’和是公共模块中定义的一个公共变量,用来记录表格中某一书籍的图书编号,便于在借书窗体中再次调用。

:
2()
3()’这是“借这本书”命令按钮,如果条件满足,就进入借书窗体了。

() = ""
"请选择要借阅的书籍", + , "选择书籍"
() = "是"
"此书已经被借出,请选择其它书籍", + , "选择书籍"
2.5.6.2借书窗体代码
'该读者类别
'该读者可借书的期限
'该读者已借书的数量
'该读者借书量的限制
‘由在查询书籍的窗体满足了可以借书的条件进入此借书窗体,根据此书的图书编号,在本窗体加载时就加载了书籍的信息和读者列表。

()
= " * 图书编号='" & & "'"
, , ,
8 = (0)
9 = (1)
10 = (2)
11 = (3)
12 = (4)
13 = (5)
14 = (6)
= " * "
, , ,
1 (0)
Loop
1 = 0
"请先登记读者", + , "注意"
‘由于读者编号与读者姓名是一一对应的,必须对用来加载这两个信息的两个列表框编写如下代码: 1()
2 = 1
2()
1 = 2
1()’这是借书的“确定”按钮
= " * 读者编号='" & 1 & "'"
, , ,
= (3)
= (8)
= " * 读者类别名称='" & & "'"
, , ,
= (2)
= (1)
>=
"该读者借书数额已满!", +
‘以上条件满足了,就将新借书信息添加到借阅信息数据库中,代码如下:
= " * "
, , ,
(1) = 1
(2) = 2
(3) = 8
(4) = 9
(5) =
(6) = ("", , )
‘同时,将此书在书籍信息()表中的“是否被借出”设置为“是”。

= " * 图书编号='" & & "'"
, , ,
(7) = "是"
‘同时将该读者已借书数量上加1。

= " * 读者编号='" & 1 & "'"
, , ,
(8) = (8) + 1
"《" & 9 & "》这本书成功地借给了读者姓名为 " & 2 & " 的读者!", + , "借阅成功" 2()
2.5.6.3查询借书窗体代码
1()
'定义一个字符串变量
'定义一个对象变量
1 =
= " * 是否被借出='是'"
2 =
= " * 是否被借出='否'"
3 =
= " * 读者姓名='" & & "'"
=
, , ,
=
=
=
=
2()
3()
=
2.5.6.4还书窗体代码
()
= " * "
, , ,
1 (0)
2 (1)
Loop
= " * "
, , ,
3 (3)
4 (4)
Loop
1()
2 = 1
2()
1 = 2
3()
4 = 3
4()
3 = 4
1()
=
= " * 读者姓名='" & 2 & "' "
, , ,
=
=
=
=
2()
=
= " * 书籍编号='" & 3 & "' " =
, , ,
=
=
=
=
3()
W
= (3)()
= (1)()
W = ("确定要还这本书吗?", , "") W =
= " * 书籍编号='" & & "' " =
, , ,
= " * 图书编号='" & & "'" =
, , ,
(7) = "否"
= " * 读者编号='" & & "' " =
, , ,
(8) = (8) - 1
=
1
2
"还书成功!", + , ""
=
:
4()
2.5.7系统管理
2.5.7.1登录界面代码
’用来记录点击“确定”的次数
()’
= ".4.0 "
’是公用模块中定义的一个公共变量。

= 0
()
()
(1) = ""
"用户名不能为空", + , "注意"
1
= " * '" & 1 & "'"
, , ,
=
"没 " & 1 & " 有这个用户", + , ""
1
((1)) = (2)
' = 1
' = (2)
"密码不正确", + , "注意"
2
2 = ""
= + 1
= 3
( , , X , Y )
= "确定登录" ‘只为增强动画效果,移动鼠标到按钮上时,显示的文字由原来的“确定”变为“确定登录”
2.5.7.2添加用户界面代码
()
1 "管理员"
1 "来宾用户"
=
=
= ";"
= 30
= _
"数据库加载成功,欢迎进入“添加管理员”界面!!"
1()
1 '定义一个字符串变量
'定义一个对象变量
(1) = "" '首先检查用户名是否为空
"用户名不能空", + , "注意!"
1
1 = " * "
1, , ,
( = )
((0)) = (1)
" " & 1 & " 这个用户名已存在", + , "注意!"
1 = ""
2 = ""
3 = ""
1 = ""
(2) <> (3)
"两次输入的密码不一致,请重新设置 ", + , "注意!"
2
2 = ""
3 = ""
(0) = 1
(1) = 2
" 您已经成功添加" & 1 & " 这个用户", + , "注册成功!" 2()
2.5.7.3修改用户界面密码代码
1()
1 '定义一个字符串变量
'定义一个对象变量
(1) <> (2)
"两次输入的密码不一致,请重新设置 ", + , "注意!"
1
1 = ""
2 = ""
1 = " * '" & 3 & "'"
1, , ,
=
"没有" & 3 & " 这个用户", + , ""
3
(1) = 1
" 密码修改成功", + , "成功!"
2()
后记:经过指导教师徐哲鑫老师的指点,本人已经竭尽全力对本系统进行具体设计,现已趋向完善,在此感谢老师的教导。

参考文献
[1]谭浩强,薛淑斌,袁玫程序设计.北京清华大学学研大厦:北京清华大学出版社.2004
[2] 林陈雷,郭安源,葛晓东教育信息系统开发实例导航. 人民邮电出版社.2006
[3] 张小勤.一种改进的数据库连接的设计与实现[J].电脑知识与技术(学术交流).2006年05期
[4] 田君.数字图书馆管理平台系统的研究[D].天津工业大学.2004年
[5] 陈志泊.数据库系统原理与应用教程.北京市崇文区夕照寺街14号.人民邮电出版社.2011,72-1128。

相关文档
最新文档