VB+Access图书管理系统
图书管理系统的设计与实现
目录
一、序言····················································································································· 4
二、需求分析说明书···································································································· 4
2.1系统介绍................................................................................................................................................. 4
2.2系统面向的用户群体............................................................................................................................. 4
2.3系统的功能性需求................................................................................................................................. 4
2.4系统的非功能性需求............................................................................................................................. 5
2.4.1用户界面需求.................................................................................................................................. 5
2.4.2软硬件环境需求.............................................................................................................................. 5
2.4.3软件质量需求.................................................................................................................................. 5
三、可行性分析报告···································································································· 5
3.1技术可行性............................................................................................................................................. 5
3.2人员可能性............................................................................................................................................. 5
3.3时间、设备可能性................................................................................................................................. 5
3.4系统工作量............................................................................................................................................. 5
3.5代码工作量............................................................................................................................................. 5
3.6文档要求................................................................................................................................................. 5
四、开发环境与项目规划····························································································· 5
4.1开发环境................................................................................................................................................. 5
4.2项目规划与管理..................................................................................................................................... 5
4.2.1开发人员安排.................................................................................................................................. 5
4.2.2开发进度安排.................................................................................................................................. 6
五、软件界面设计标准与规范······················································································ 6
5.1编写目的................................................................................................................................................. 6
5.2界面设计思想......................................................................................................................................... 6
5.3界面设计原则......................................................................................................................................... 6
5.4界面设计样式......................................................................................................................................... 6
5.5常见提示信息样式................................................................................................................................. 6
5.6常见错误信息样式................................................................................................................................. 7
5.7其他界面约定......................................................................................................................................... 7
六、软件编码设计标准与规范······················································································ 7
6.1对象命名约定......................................................................................................................................... 7
6.2常量和变量命名约定............................................................................................................................. 8
6.3结构化编码约定..................................................................................................................................... 8
6.4数据源的约定......................................................................................................................................... 9
6.5数据库访问约定..................................................................................................................................... 9
6.6其他约定................................................................................................................................................. 9
七、数据库分析与设计································································································ 10
7.1数据库环境说明...................................................................................................................................... 10
7.2数据库命名标准与规范.......................................................................................................................... 10
7.3数据库逻辑设计...................................................................................................................................... 10
7.4数据库物理设计...................................................................................................................................... 10
7.4.1表、视图汇总.................................................................................................................................. 10
7.4.2各表、视图设计详解...................................................................................................................... 11
八、软件体系结构设计说明书······················································································ 15
8.1系统概述................................................................................................................................................. 15
8.2设计约束................................................................................................................................................. 15
8.3设计策略................................................................................................................................................. 15
8.4系统概要设计说明书............................................................................................................................. 16
8.4.1图例说明.......................................................................................................................................... 16
8.4.2系统总体结构图.............................................................................................................................. 16
8.5系统详细设计说明书............................................................................................................................. 17
8.5.1系统模块汇总.................................................................................................................................. 17
8.5.2系统核心模块详解.......................................................................................................................... 18
8.5.3系统模块详解.................................................................................................................................. 28
九、用户界面设计报告································································································ 42
9.1界面设计规范......................................................................................................................................... 42
9.2系统窗体汇总......................................................................................................................................... 42
9.3主界面设计............................................................................................................................................. 43
9.4子界面设计............................................................................................................................................. 43
9.5界面资源设计......................................................................................................................................... 44
十、软件测试分析报告································································································ 44
10.1测试范围与主要内容........................................................................................................................... 44
10.2测试方法............................................................................................................................................... 44
10.3测试报告............................................................................................................................................... 44
10.4改进建议与措施................................................................................................................................... 45
十一、软件使用说明书································································································ 45
11.1软件概述................................................................................................................................................ 45
11.2使用说明................................................................................................................................................ 45
11.2.1系统登陆.......................................................................................................................................... 45
11.2.2系统退出.......................................................................................................................................... 46
11.2.3图书类别管理.................................................................................................................................. 46
11.2.4图书信息管理.................................................................................................................................. 48
11.2.5查询图书信息.................................................................................................................................. 48
11.2.6读者类别管理.................................................................................................................................. 49
11.2.7读者信息管理.................................................................................................................................. 49
11.2.8查询读者信息.................................................................................................................................. 50
11.2.9借书管理.......................................................................................................................................... 50
11.2.10还书管理........................................................................................................................................ 50
参考资料····················································································································· 51
一、序言
图书管理系统的设计与推出是多方面原因促成的,比如学校的图书管理,日常管理工作都是人工操作,历史数据很难保存和利用。而其他的小型图书馆大多如此。针对这种状况,我计划开发一个面向小型图书馆的图书管理系统,实现对人员、物流的全面管理,以帮助这些图书馆早日实现书店管理信息化。
为了系统的顺利开发和维护,特编制如下技术文档:
二、需求分析说明书
2.1系统介绍
本系统定位于小型图书馆,暂时考虑单机环境下的实现;操作系统选择目前常用的Windows 98/2000。系统性质为MIS(管理信息系统)或财务软件。
本系统采用会员制管理,系统功能应包含图书管理、读者管理、图书借阅管理、系统管理等。系统界面力求简洁、易用,在标准化的基础上考虑界面的美观和新颖。
2.2系统面向的用户群体
系统面向小型图书馆,用户群体为这些图书馆的学生、老师或者工作人员等。
2.3系统的功能性需求
功能序号
功能名称
功能说明
1
图书管理
包含图书类别、信息管理、查询图书信息等
2
读者管理管理
包含读者类别、读者信息、查询读者信息等
3
图书借阅管理
包含借书管理、还书管理
4
系统管理
系统退出
2.4系统的非功能性需求
2.4.1用户界面需求
简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。
2.4.2软硬件环境需求
软件环境:兼容当前主流操作系统 Windows 95/98/NT/Me/2000/XP 等。
硬件环境:386以上计算机。
2.4.3软件质量需求
易用、健壮、兼容性好、运行稳定、有一定安全保障。
三、可行性分析报告
3.1技术可行性
系统的性质为MIS或财务软件,因而数据库的设计与操纵是系统设计的核心。我在2005年6月至2005年7月曾经成功完成了“图书管理系统“的开发,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;因而该系统的实现在技术上是可行的。
3.2时间、设备可能性
系统设计与开发工作预计耗时一个星期。实验设备如:计算机。
3.3代码工作量
预计需7天左右。
3.4文档要求
依据国家《计算机软件产品开发文件编制指南》和《管理信息系统基础与开发技术》的理论与原则编制标准的软件技术文档。
VB+Access图书管理系统
四、开发环境与项目规划
4.1开发环境
前台开发环境:Microsoft Visual Basic 6.0
后台数据库环境:Microsoft Access 2000/2002
4.2项目规划与管理
11月29日至11月30日:系统分析,进行需求定义,定义系统概况
11月1日至12月2日:数据库分析与设计
12月3日至12月4日:软件体系结构设计
12月5日至12月6日:软件编码
12月6日至12月6日:系统测试
五、软件界面设计标准与规范
5.1编写目的
制定界面设计标准规范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。
5.2界面设计思想
首先考虑标准化,在标准化的基础上进行界面的美工设计。
5.3界面设计原则
简单易用、简洁明了、兼容性好、标准、规范。
5.4界面设计样式
采用简单的界面.
若图片无法显示请联系站长QQ3710167
图1.系统界面
六、软件编码设计标准与规范
6.1对象命名约定
对象名
对象类型
命名约定(前缀码)
Form
窗体
Form
Command
按钮
Command
Label
标签
Label
TextBox
文本框
TextBox
ComboBox
组合框
ComboBox
ListBox
列表框
ListBox
Adodb
数据库访问对象
Adodb
DataGrid
数据表格显示组件
DataGrid
Frame
框架
Frame
Option
单选框
Option
CheckBox
复选框
CheckBox
CommonDialog
通用对话框组件
CommonDialog
Menu
菜单
Menu
6.2结构化编码约定
编码应清晰、可读性好,运用缩进、空行,结合大小写区别等方法保持程序结构良好。凡与数据库操作相关的模块一律加上容错代码,涉及多表操作的模块应运用“事务”处理,以保持数据完整性。
编码风格参照下例进行:
Private Sub cmdCancel_Click()
'设置全局变量为 false
'不提示失败的登录
LoginSucceeded = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
'检查正确的密码
If txtPassword = "user" Then
'将代码放在这里传递
'成功到 calling 函数
'设置全局变量时最容易的
LoginSucceeded = True
Me.Hide
Form1.Show
Else
MsgBox "无效的密码,请重试!", , "登录"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End Sub
6.3数据源的约定
需用数据源的组件如:DataGrid一律采用Adodb控件。有特殊需求的情况如:身份验证应引用DAO(数据访问对象)。
6.4数据库访问约定
数据库引擎采用Microsoft.Jet.OLEDB.4.0,由Adodb组件进行数据库的访问,并为其他组件提供数据源。特殊情况、身份验证等由 DAO访问数据库。
6.5其他约定
无需数据显示的情况由DAO提供数据库支持,有数据显示的情况由ADODB组件提供数据库支持。
七、数据库分析与设计
7.1数据库环境说明
考虑该系统的定位与现有技术力量,决定采用Microsoft Access 2000/2002作为系统的后台数据库开发环境。
7.2数据库命名标准与规范
说明:下表所列为数据库及各表的命名方法,具体信息请参阅7.4.1表、视图汇总。
名称
类型
命名办法约定
Db1
系统数据库
字母
表
基本表
汉字或字母
查询
查询
汉字
字段
字段
汉字或字母
7.3数据库逻辑设计
user
用户ID
…
读者信息
读者类别
…
图书管理
图书类别
…
Book
图书信息
…
读者表
…
图书借阅
借书
还书
…
查询图书
图书编号
…
图4.数据库逻辑结构图
7.4数据库物理设计
7.4.1表
视图/表名
类型
说明
dzlb
基本表
读者类别信息
dzxx
基本表
读者信息
jyxx
基本表
借阅信息
sjxx
基本表
书籍信息
tslb
基本表
图书类别信息
7.4.2各表设计详解
[说明]:空缺位置表示无要求,主键在约束栏注明。
基本表:[dzlb]
字段
类型
长度
格式
约束
种类名称
文本
50
主键
借书数量
数字
长整型
借书期限
数字
长整型
有限期限
备注
基本表:[dzxx]
字段
类型
长度
格式
约束
读者姓名
文本
50
主键
读者编号
文本
50
主键
性别
文本
2
读者类别
文本
50
工作单位
文本
50
家庭住址
文本
50
电话号码
文本
12
登记日期
日期/时间
已借书数量
数字
长整型
基本表:[jyxx]
字段
类型
长度
格式
约束
借阅编号
自动编号
长整型
主键
读者编号
文本
50
读者姓名
文本
50
书籍编号
文本
50
书籍名称
文本
50
出借日期
日期/时间
还书日期
日期/时间
基本表:[sjxx]
字段
类型
长度
格式
约束
图书编号
文本
50
主键
书名
文本
50
类别
文本
50
作者
文本
250
出版社
文本
出版日期
日期/时间
登记日期
日期/时间
是否被借出
文本
2
基本表:[tslb]
字段
类型
长度
格式
约束
类别名称
文本
50
主键
类别编号
文本
50
VB+Access图书管理系统
八、软件体系结构设计说明书
8.1系统概述
在单机环境下进行系统安全的考虑,有必要进行用户权限的划分与控制,因而系统在总体上应包含安全子系统之下的各类用户工作环境。用户权限的合理划分与有效控制是本系统体系结构设计的核心。
8.2设计约束
系统将实现人员、物流的全面管理,而物流管理是系统的核心部件,怎样实现二者的共存,互不干扰,是本系统设计的难点。本系统必须实现对用户权限的有效合理控制。
8.3系统概要设计说明书
8.3.1图例说明
过程、模块若图片载法显示请联系站长QQ37101671.处理过程:
2.数据流:(单向)
3.数据流:(双向)
8.3.2系统总体结构图
读者管理
图书管理系统
图书管理
图书借阅管理
退出系统
图书类别管理
图书信息管理
查询图书信息
读者类别管理
读者信息管理
查询读者信息
借书管理
还书管理
添加借书信息
查询借书信息
图10.系统总体结构图
8.3.3图书管理流程图
若图片无法显示请联系站长QQ3710167
图书类别
图书信息
查询图书息
图书管理
图11. 图书管理流程图
8.3.4读者管理流程图
读者管理
读者类别管理
读者信息管理
查询读者信息
读者管理
图12. 读者管理流程图
8.3.5图书借阅流程图
图书借阅管理
借书管理
还书管理
添加借书信息
查询还书信息
图13. 图书借阅流程图
8.4系统详细设计说明书
8.4.1系统核心模块详解
全局变量定义:
Option Explicit
Public conn As New ADODB.Connection
Public select_menu As String
Public userID As String
Public userpow As String
Public book_num As String
Private Sub cmdCancel_Click()
'设置全局变量为 false
'不提示失败的登录
LoginSucceeded = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
'检查正确的密码
If txtPassword = "user" Then
'将代码放在这里传递
'成功到 calling 函数
'设置全局变量时最容易的
LoginSucceeded = True
Me.Hide
Form1.Show
Else
MsgBox "无效的密码,请重试!", , "登录"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End Sub b
窗体名:Form1
代码:
Private Sub A11_Click()
Form2.Show
End Sub
Private Sub A12_Click()
Form3.Show
End Sub
Private Sub A13_Click()
Form4.Show
End Sub
Private Sub B11_Click()
Form5.Show
End Sub
Private Sub B12_Click()
Form6.Show
End Sub
Private Sub B13_Click()
Form7.Show
End Sub
Private Sub C12_Click()
Form4.Show
End Sub
Private Sub C13_Click()
Form9.Show
End Sub
Private Sub C15_Click()
Form10.Show
End Sub
Private Sub exit_Click()
End
End Sub
窗体名:Form2
代码:
Private Sub Command1_Click()
On Error GoTo command1error
Command2.Enabled = False
Command3.Enabled = False
Command1.Enabled = False
Command4.Enabled = True
Command5.Enabled = True
DataGrid1.AllowAddNew = True
DataGrid1.AllowUpdate = True
Exit Sub
command1error:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
On Error GoTo Command2
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command1.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
DataGrid1.AllowUpdate = True
Command2:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command3_Click()
Dim answer As String
On Error GoTo command3error
answer = MsgBox("确定要删除吗?", vbYesNo, "")
If answer = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveLast
End If
DataGrid1.Refresh
MsgBox "删除成功!", vbOKCancel + vbExclamation, ""
DataGrid1.AllowDelete = False
Else
Exit Sub
command3error:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command4_Click()
If Not IsNull(DataGrid1.Bookmark) Then
DataGrid1.Refresh
End If
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command5.Enabled = False
Command4.Enabled = False
DataGrid1.AllowUpdate = False
DataGrid1.AllowAddNew = False
MsgBox "操作成功!", vbOKCancel + vbExclamation, ""
End Sub
Private Sub Command5_Click()
DataGrid1.Refresh
DataGrid1.AllowAddNew = False
Command2.Enabled = True
VB+Access图书管理系统
Command1.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
End Sub
Private Sub Form_Load()
Command4.Enabled = False
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
If userpow = "guest" Then
Frame2.Enabled = False
End If
Exit Sub
loaderror:
MsgBox Err.Description
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set DataGrid1.DataSource = Nothing
End Sub
窗体名:Form3
代码:
Private Sub Command1_Click()
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = True
Command5.Enabled = True
DataGrid1.AllowAddNew = True
DataGrid1.AllowUpdate = True
Exit Sub
command1error:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
On errror GoTo Command2
Command1.Enabled = False
Command3.Enabled = False
Command2.Enabled = False
Command1.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
DataGrid1.AllowUpdate = True
Command2:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command3_Click()
Dim answer As String
On Error GoTo command3error
answer = MsgBox("确定要删除吗?", vbYesNo, "")
If answer = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast
End If
DataGrid1.Refresh
MsgBox "成功删除!", vbOKCancel + vbExclamation, ""
DataGrid1.AllowDelete = False
Else
Exit Sub
End If
command3error:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command4_Click()
If Not IsNull(DataGrid1.Bookmark) Then
DataGrid1.Refresh
End If
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
MsgBox "操作成功!", vbOKCancel + vbExclamation, ""
End Sub
Private Sub Command5_Click()
DataGrid1.Refresh
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
End Sub
Private Sub Form_Load()
Command4.Enabled = False
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
If userpow = "guest" Then
Frame2.Enabled = False
End If
Exit Sub
loaderror:
MsgBox Err.Description
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set DataGrid1.DataSource = Nothing
End Sub
窗体名:Form4
代码:
Private Sub Command1_Click(Index As Integer)
Dim sql As String
If Check1.Value = vbChecked Then
sql = "书名" & Trim(Text1.Text & " ") & "'"
End If
If Check2.Value = vbcheckde Then
If Trim(sql) = "" Then
sql = "类别='" & Trim(Combo1.Text & " ") & "'"
Else
sql = sql & "and 书名='" & Trim(Combo1.Text & "'") & "'"
End If
End If
If Check3.Value = vbcheckde Then
If Trim(sql) = "" Then
sql = "作者='" & Trim(Text2.Text & " ") & "'"
Else
sql = sql & "and 作者='" & Trim(Text2.Text & " ") & "'"
End If
End If
If Check4.Value = vbChecked Then
If Trim(sql) = "" Then
sql = "出版社='" & Trim(Text3.Text & " ") & "'"
Else
sql = sql & "and 出版社='" & Trim(Text3.Text & " ") & "'"
End If
End If
If Check5.Value = vbChecked Then
If Trim(sql) = "" Then
sql = "书籍编号='" & Trim(Text4.Text & " ") & "'"
Else
sql = sql & "and 书籍编号='" & Trim(Text4.Text & " ") & "'"
End If
End If
If Trim(sql) = " " Then
MsgBox "请选择查询方式!", vbOKOnly + vbExclamation
Exit Sub
End If
Adodc1.RecordSource = "select * from sjxx where " & sql
Adodc1.Refresh
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
If Trim(book_num) = "" Then
MsgBox "请选择要借阅的图书!", vbOKOnly + vbExclamation
Exit Sub
End If
If panduan = "是" Then
MsgBox "此书已被借出!", vbOKOnly + vbExclamation
Exit Sub
End If
VB+Access图书管理系统
Form9.Show
End Sub
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
If Not Adodc1.Recordset.EOF And Adodc1.Recordset.EOF Then
book_num = DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark)
panduan = DataGrid1.Columns(7).CellValue(DataGrid1.Bookmark)
End If
End Sub
Private Sub Form_Load()
Dim i As Integer
Dim sql As String
Combo1.Clear
Adodc2.Recordset.MoveFirst
For i = 0 To Adodc2.Recordset.RecordCount - 1
Combo1.AddItem Adodc2.Recordset.Fields(0).Value
Adodc2.Recordset.MoveNext
Next
Combo1.ListIndex = 0
End Sub
窗体名:Form5
代码:
Private Sub Command1_Click()
On Error GoTo command1error
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = True
Command5.Enabled = True
DataGrid1.AllowAddNew = True
DataGrid1.AllowUpdate = True
Exit Sub
commanderror:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
On Error GoTo Command2
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = True
Command5.Enabled = True
DataGrid1.AllowUpdate = True
Command2:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command3_Click()
Dim answer As String
On Error GoTo command3error
answer = MsgBox("确定要删除吗?", vbYesNo, "")
If answer = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast
End If
DataGrid1.Refresh
MsgBox "成功删除!", vbOKOnly + vbExclamation, ""
DataGrid1.AllowDelete = False
Else
Exit Sub
End If
command3error:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command4_Click()
If Not IsNull(DataGrid1.BackColor) Then
DataGrid1.Refresh
End If
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
MsgBox "操作成功!", vbOKOnly + vbExclamation, ""
End Sub
Private Sub Command5_Click()
DataGrid1.Refresh
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
Command2.Enabled = True
Command1.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
End Sub
Private Sub Form_Load()
Command4.Enabled = False
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
If userpow = "guest" Then
Frame2.Enabled = False
End If
Exit Sub
loaderror:
MsgBox Err.Description
End Sub
窗体名:Form6
代码:
Private Sub Command1_Click()
On Error GoTo commanderror
Command2.Enabled = False
Command3.Enabled = False
Command1.Enabled = False
Command4.Enabled = True
Command5.Enabled = True
DataGrid1.AllowAddNew = True
DataGrid1.AllowUpdate = True
Exit Sub
command1error:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
On Error GoTo Command2
Command1.Enabled = False
Command3.Enabled = False
Command2.Enabled = False
Command4.Enabled = True
Command5.Enabled = True
Command1.Enabled = True
DataGrid1.AllowUpdate = True
Command2:
If Error.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command3_Click()
Dim answer As String
On Error GoTo command3error
answer = MsgBox("确定要删除吗:", vbYesNo, "")
If answer = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
End If
DataGrid1.Refresh
MsgBox "成功删除!", vbOKOnly + vbExclamation, ""
DataGrid1.AllowDelete = False
Else
Exit Sub
command3error:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
Private Sub Command4_Click()
If Not IsNull(DataGrid1.Bookmark) Then
DataGrid1.Refresh
End If
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
MsgBox "操作成功!", vbOKOnly + vbExclamation, ""
End Sub
Private Sub Command5_Click()
DataGrid1.Refresh
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
VB+Access图书管理系统
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
End Sub
Private Sub Form_Load()
Command4.Enabled = False
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
If userpow = "guest" Then
Frame2.Enabled = False
End If
Exit Sub
loaderror:
MsgBox Err.Description
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set DataGrid1.DataSource = Nothing
End Sub
窗体名:Form7
代码:
Private Sub Command1_Click()
Dim rs_findreader As New ADODB.Recordset
Dim sql As String
If Check1.Value = vbChecked Then
sql = "读者编号='" & Trim(Text1.Text & " ") & "'"
End If
If Check2.Value = vbChecked Then
If Trim(sql) = "" Then
sql = "读者姓名='" & Trim(Text2.Text & " ") & "'"
Else
sql = sql & "and 读者姓名='" & Trim(Text2.Text & " ") & "'"
End If
End If
If Check3.Value = vbChecked Then
If Trim(sql) = "" Then
sql = "读者类别='" & Trim(Combo1.Text & " ") & "'"
Else
sql = sql & "and 读者类别='" & Trim(Combo1.Text & " ") & "'"
End If
End If
If Trim(sql) = "" Then
MsgBox "请选择查询方式!", vbOKOnly + vbExclamation
Exit Sub
End If
Adodc1.RecordSource = "select * from dzxx where " & sql
Adodc1.Refresh
DataGrid1.ReBind
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim i As Integer
Dim sql As String
Combo1.Clear
Adodc2.Recordset.MoveFirst
For i = 0 To Adodc2.Recordset.RecordCount - 1
Combo1.AddItem Adodc2.Recordset.Fields(0).Value
Adodc2.Recordset.MoveNext
Next
Combo1.ListIndex = 0
End Sub
窗体名:Form8
代码:
Private Sub Combo1_Change()
Combo2.ListIndex = Combo1.ListIndex
End Sub
Private Sub Combo2_Change()
Combo1.ListIndex = Combo2.ListIndex
End Sub
Option Explicit
Dim leibie As String
Dim qixian As Integer
Dim shumn As Integer
Dim maxnum As Integer
Private Sub Command1_Click()
Dim rs_borrowbook As New ADODB.Recordset
Dim sql As String
Adodc1.RecordSource = "select * from 读者信息 where 读者编号='" & Combo1.Text & ","
Adodc1.Refresh
leibie = Adodc1.Recordset.Fields(3)
shumu = Adodc1.Recordset.Fields(8)
Adodc1.RecordSource = "select * from 读者类别 where 种类名称='" & leibie & "'"
Adodc1.Refresh
qixian = Adodc1.Recordset.Fields(2)
maxnum = Adodc1.Recordset.Fields(1)
If shumu >= maxnum Then
MsgBox "该读者借书数额已满!", vbOKOnly + vbExclamation
Exit Sub
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
Dim i As Integer
Adodc2.RecordSource = "select * from 书籍信息 where 书籍编号='" & book_num & "'"
Adodc2.Refresh
Label8.Caption = Adodc2.Recordset.Fields(0)
Label9.Caption = Adodc2.Recordset.Fields(1)
Label10.Caption = Adodc2.Recordset.Fields(2)
Label11.Caption = Adodc2.Recordset.Fields(3)
Label12.Caption = Adodc2.Recordset.Fields(4)
Label13.Caption = Adodc2.Recordset.Fields(5)
Label14.Caption = Adodc2.Recordset.Fields(6)
Combo1.Clear
Combo2.Clear
Adodc1.RecordSource = "select * from 读者信息"
Adodc1.Refresh
Adodc1.Recordset.MoveFirst
For i = 0 To Adodc1.Recordset.RecordCount - 1
Combo1.AddItem Adodc1.Recordset.Fields(1).Value
Combo2.AddItem Adodc1.Recordset.Fields(0).Value
Adodc1.Recordset.MoveNext
Next
Combo1.ListIndex = 0
Combo2.ListIndex = 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub
窗体名:form9
代码:
Private Sub Command1_Click()
Dim sql As String
If Option1.Value = True Then
sql = "是否被借出='是'"
End If
If Option2.Value = True Then
sql = "是否被借出='否'"
End If
Adodc1.RecordSource = "select * from sjxx where " & sql
Adodc1.Refresh
DataGrid1.ReBind
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
模块名:Module1
代码:
Option Explicit
Public conn As New ADODB.Connection
Public select_menu As String
Public userID As String
Public userpow As String
Public book_num As String
VB+Access图书管理系统
九、用户界面设计报告
9.1系统窗体汇总
窗体名称
窗体类型
简要说明
FrmLogIn
启动窗体
系统登陆
Form1
MDI主窗体
系统主窗体
Form2
模式窗体
图书类别管理窗体
Form3
模式窗体
图书信息管理窗体
Form4
模式窗体
查询图书信息窗体
Form5
模式窗体
读者类别管理窗体
Form6
模式窗体
读者信息管理窗体
Form7
模式窗体
查询读者信息窗体
Form8
模式窗体
借书窗体
Form9
模式窗体
查询借书信息窗体
Form10
模式窗体
还书窗体
9.3主界面设计
主界面如下图所示:
图14.系统主界面设计样式
9.4子界面设计
除系统中主要的、基本的功能之外,子系统或非共享功能的实现均采用子界面的设计来实现,如图书管理、读者管理、图书借阅管理、系统管理等。
图书类别管理如下图所示:
若图片无法显示请联系站长QQ3710167
图书信息管理如下图所示:
查询图书信息管理如下图所示:
读者类别管理如下图所示:
读者信息管理如下图所示:
查询读者信息管理如下图所示:
添加图书信息如下图:
查询借书信息如下图:
添加还书信息如下图:
VB+Access图书管理系统
十、软件测试分析报告
10.1测试范围与主要内容
测试范围
主要内容
简要说明
系统登陆验证
验证用户身份
功能性测试
信息检索功能测试
测试数据库检索代码的健壮性
功能性测试
图书管理功能测试
测试系统实用性、方便性
功能性测试
统计分析测试
测试按时段统计的准确性
功能性测试
数据完整性测试
测试登记失败时的数据完整性控制
功能性测试
核心代码复检
检验核心代码的质量
逻辑检错性测试
10.2测试方法
功能性测试:黑盒测试 逻辑检错性测试:白盒测试
参考资料:
1. 《计算机软件产品开发文件编制指南》
2. 《管理信息系统与开发技术》 陈承欢 彭勇 主编. 人民邮电出版社. 2006.1
3. 《工程应用软件开发技术》 唐任仲 编著. 化学工业出版社. 1999.5
4. 《Visual Basic 6.0 中文版 参考详解》 李怀明 等著. 清华大学出版社. 1999.11
5. 《Visual Basic 6.0 高级编程技巧》 李善茂 等著. 电子工业出版社. 1999.5
6. 《Visual Basic 6.0 中文版 提高与应用》 谭浩强 主编. 电子工业出版社. 1999.11