设为首 页  加入收藏  联系我们    
程序代码快速生成源码生成
辅导计算机软件程序 毕业设计 程序代码 代写做软件程序毕设 免费开发资料 -> 毕业设计 -> (office Access VBA )图书借阅管理系统设计-371-(代码+文档) 退出登录 用户管理
客服联系方式:
 
 
    特色优势
 
软件简介:
视频地址链接:
本站尽最大可能将系统开发过程,系统流程分析,系统数据库表结构,免费提供您参考阅读!请下载演示参考系程序细节,更多详情请咨询客服!
技术经验 | VB毕业设计 | JSP毕业设计 | VC毕业设计 | 文献参考 | C#毕业设计 | vb.net毕业设计
Delphi毕业设计 | Asp.NET毕业设计 | VBA (Access) 毕业设计 | VBA (Excel) 毕业设计 | ASP毕业设计 | PB毕业设计 | android(安卓)毕业设计
Nodejs ES6前端全栈 vue react 小程序 express koa2 mern | python(web开发Django框架) | html5游戏开发 | Jquery毕业设计 | XSLT毕业设计
VBA编写的 ACCESS 程序 请确认后在下载 咨询
 
 
图书借阅管理系统设计文档

一、            系统概述

为学校图书借阅室设计图书管理系统,完成新增图书上架、读者办理图书借阅证、图书查询、借书、还书工作的自动处理。

二、            需求分析

1. 图书借阅处理过程简述

处理过程主要包含:新增图书上架、办理图书借阅证、图书查询、借书、还书等。

(1) 新增图书上架

新书上架时,需要登记新书的:书名、作者、出版社、出版时间(年)、版次、价格、总册数的信息;并对图书统一编号(书号为8位数字)。

(2) 办理图书借阅证

读者办理借书证时,需要登记读者(学生)的学号(6位)、姓名、班级、扫描学生证照片,并对借书证统一编号(借书证号为6位数字,值与学号相同)。

(3) 图书查询

读者可以按照书名、作者、出版社查询图书基本信息,并可以得知现还有几册可以借阅。

(4) 借书

每个学生读者最多借3本书;借书时间为2周,如果有超期未还的图书则不能再借书。
读者借书时,应登记借书证号、书号、借书日期(年月日);并打印借书条交给读者,借书条上包括借书证号、所借各本书的书名、应还书的时间。

(5) 还书

读者还书时,应查看是否超期,如果超期则每天罚款0.1元,计算出应交罚款。

2. 数据分析

数据处理过程中涉及到两个实体:图书和读者;各实体应具有的属性如下:
²       图书(书号、书名、作者、出版社、出版时间、版次、价格、总册数)
²       读者(借书证号、学号、姓名、班级、照片)
由于同一种图书可以有多册上架,每个读者最多可以借阅3本书,所以图书和读者之间是多对多的关系;为了表示多对多关系,应将图书借阅定为实体,构造两个一对多关系。图书借阅的属性如下:
²       借阅(借书证号、书号、借书日期)

3. 功能分析

系统功能模块包括:图书上架、借书证办理、图书查询、借书、还书;另外还包括图书信息修改和读者信息修改;共七个模块。各模块功能如下:
a)        图书上架
登记新书信息并编号
b)        借书证办理
登记读者信息并编号
c)        图书查询
允许读者选择查询方式,并按照读者输入的信息查找到相关图书的信息并显示
d)        借书
查看是否能借书,如果可以则登记相关信息,打印借书条。
e)        还书
查看是否超期,如果超期,则计算应交罚款。

三、            数据库设计

1. 数据库

数据库名称为library.mdb。

2. 表

数据库中包含三个表:图书表(book)、读者表(reader)、借阅表(borrow)各表结构如下:
book
字段名
书号
书名
作者
出版社
出版时间
版次
价格
总册数
类型
文本
文本
文本
文本
数字
数字
数字
数字
字段大小
8
20
10
10
整数
字节
单精度型
字节
其它
数字字符
必填
必填
必填
1990至当年
1~9
两位小数
1~10
主键
主键
 
 
 
 
 
 
 
reader
字段名
借书证号
学号
姓名
班级
照片
类型
文本
文本
文本
文本
OLE对象
字段大小
6
6
4
6
 
其它
数字字符
数字字符/必填
必填
 
 
主键
主键
 
 
 
 
borrow
字段名
流水号
借书证号
书号
借书日期
已归还
类型
自动编号
文本/查阅
文本/查阅
日期
是/否
字段大小
 
6
8
 
 
其它
 
数字字符/必填
数字字符/必填
默认值:Date()
默认值:否
主键
主键
 
 
 
 
book表与borrow表为一对多的关系,连接字段为book的书号和borrow的书号;
reader表与borrow表为一对多的关系,连接字段为reader的借书证号和borrow的借书证号。

四、            总体设计

1. 总体功能设计

系统功能总体分为五个模块:管理员登录、图书上架、借阅证办理、图书查询和借书还书。

2. 系统功能模块图

总控模块
图书上架
借阅证办理
图书查询
借书还书
管理员登录

总控模块以主窗体形式出现。其中,默认情况下,管理员登录、图书查询和借书还书模块可以使用,即所有用户都可以使用。只有进行合法的管理员登录后,图书上架、借阅证办理才可以使用。

3. 子模块功能设计

l        管理员登录子模块用来判断用户输入的密码是否正确,以决定是否进入管理员模式
l        图书上架子模块用来输入图书基本信息
l        借阅证办理子模块用来输入读者基本信息
l        图书查询子模块包括按照书名、读者、出版社进行选择查询、条件查询和模糊查询三大部分
l        借书还书子模块包括借书和还书两个二级子模块。其中,
Ø        借书二级子模块包括借书信息输入和打印借书条两部分
Ø        还书二级子模块包括还书信息输入和计算超时欠费两部分

五、            详细设计

1. 系统初始化模块

系统初始化模块的作用是声明系统全局变量,初始化系统变量设置等。
¨模块init
Option Compare Database
Public Login As Boolean                   '全局变量Login - 记录管理员是否登录

2. 系统主控模块——主窗体

(1) 功能说明

系统主窗体是用户进入系统后首先打开的窗体,主要用于方便用户进行工作选择,因此采用按钮和菜单两种方式完成。

(2) 界面设计——按钮

i 主窗体界面图

系统主窗体界面设计如图 1。
图 1

ii 主窗体及控件属性

系统主窗体及控件属性如表 1。
表 1
名称
属性
属性值
主窗体
标题
图书借阅管理系统
滚动条
两者均无
记录选择器
否
导航按钮
否
分割线
否
自动调整
否
自动居中
是
边框样式
细边框
最大最小化按钮
最小化按钮
命令0
单击事件
运行宏“管理员登录”
Label0
标题
管理员登录
命令1
单击事件
运行宏“图书上架”
可见性
否
Label1
标题
图书上架
可见性
否
命令2
单击事件
运行宏“借阅证办理”
可见性
否
Label2
标题
借阅证办理
可见性
否
命令3
单击事件
运行宏“图书查询”
Label3
标题
图书查询
命令4
单击事件
运行宏“借书还书”
Label4
标题
借书还书

iii 主窗体及控件事件宏和代码

¨主窗体“加载”事件
Private Sub Form_Load()
    Login = False
End Sub
¨主窗体“打开”事件
Private Sub Form_Open(Cancel As Integer)
    命令1.Visible = Login
    Label1.Visible = Login
    命令2.Visible = Login
    Label2.Visible = Login
    命令0.Visible = Not Login
    Label0.Visible = Not Login
End Sub
¨ “管理员登录”宏
操作
参数
参数值
Close
对象类型
窗体
对象名称
主窗体
OpenForm
窗体名称
管理员登录
¨ “图书上架”宏
操作
参数
参数值
OpenForm
窗体名称
图书上架
数据模式
增加
¨“借阅证办理”宏
操作
参数
参数值
OpenForm
窗体名称
借阅证办理
数据模式
增加
¨“图书查询”宏
操作
参数
参数值
OpenForm
窗体名称
图书查询
¨“借书还书”宏
操作
参数
参数值
OpenForm
窗体名称
借书还书

(3) 界面设计——菜单

i 系统主菜单

系统主菜单(略)
如表 2。()
表 2
菜单项
子菜单
宏
参数
管理
 
 
 
 
管理员登录
打开窗体OpenForm
 
 
图书上架
打开窗体OpenForm
 
 
图书信息修改
打开窗体OpenForm
 
 
借阅证办理
打开窗体OpenForm
 
 
退出系统
Quit
 
借还书
 
 
 
 
图书查询
打开查询OpenQuery
 
 
借书
打开报表OpenReport
 
 
还书
打开报表OpenReport
 
窗口
 
 
 
 
最小化
Minimize
 
帮助
 
 
 
 
关于…
打开窗体OpenForm
 
 
系统说明
打开窗体OpenForm
系统设计说明

ii 宏设计

(略)如表 2。()
表 3
 

3. 管理员登录子模块——“管理员登录”窗体

(1) 功能说明

在系统主界面中当用户选择管理员登录功能时,打开管理员登录窗体,要求用户输入管理员密码。密码正确才能进入。密码输入错误,给出提示并返回主控窗体。

(2) 界面设计

“管理员登录”窗体界面设计如图 2:
图 2
控件
属性
属性值
标签
名称
标签1
标题
请输入管理员密码:
文本框
名称
密码
输入掩码
密码
按钮
名称
命令2
标题
确定
默认
是

(3) 功能实现

单击“确定”按钮时,进行密码验证,决定登录是否成功。在“确定”按钮的“单击”事件中,写入如下代码:
Private Sub命令2_Click()
    If 密码<> "admin" Then
        MsgBox "密码输入错误!即将进入读者登录界面。"
        Login = False
    Else
        MsgBox "欢迎进入管理员登录界面!"
        Login = True
    End If
    DoCmd.Close
    DoCmd.OpenForm "主窗体"
End Sub

4. 图书上架子模块——“图书上架”窗体

(1) 功能说明

在系统主界面中当用户选择“图书上架”功能时,打开“图书上架”窗体,要求用户输入图书基本信息。输入完成后关闭窗体,即可完成图书信息输入,并返回主控窗体。

(2) 界面设计

“图书上架”窗体界面设计如下图 3:
图 3
其中,窗体及主要控件属性设置如下:
控件
属性
属性值
窗体
记录源
“book”表
按钮
名称
关闭
标题
关闭

(3) 功能实现

¨“关闭”按钮
Private Sub 关闭_Click()
On Error GoTo Err_关闭_Click
    DoCmd.Close
Exit_关闭_Click:
    Exit Sub
Err_关闭_Click:
    MsgBox Err.Description
    Resume Exit_关闭_Click
End Sub

5. 借阅证办理子模块——“借阅证办理”窗体

(1) 功能说明

在系统主界面中当用户选择“借阅证办理”功能时,打开“借阅证办理”窗体,要求用户输入读者基本信息。输入完成后关闭窗体,即可完成读者信息输入,并返回主控窗体。

(2) 界面设计

“借阅证办理”窗体界面设计如图 4:
图 4
其中,窗体及主要控件属性设置如下:
控件
属性
属性值
窗体
记录源
“reader”表
“借书证号”
文本框
名称
借书证号
控件来源
借书证号
输入掩码
000000
是否锁定
是
按钮
名称
结束
标题
办理结束
默认
是
“班级”组合框属性如下图:

(3) 功能实现

¨窗体加载后,自动将焦点设置在“学号”文本框上
Private Sub Form_Load()
    [学号].SetFocus
End Sub
¨输入学号后,自动将“借书证号”设置为与“学号”相同
Private Sub 学号_Change()
    [借书证号] = [学号]
End Sub
 
Private Sub 学号_LostFocus()
    [借书证号] = [学号]
End Sub
¨ “结束”按钮
Private Sub 结束_Click()
On Error GoTo Err_结束_Click
   ch = MsgBox("输入的读者信息将会保存。请确认数据输入是否正确。" & vbCrLf _
        & "单击“是”将保存数据,单击“否”将回到输入窗口继续输入或修改。", _
        vbQuestion + vbYesNo + vbDefaultButton2, "确认保存")
    If ch = vbYes Then
        DoCmd.Close
    End If
Exit_结束_Click:
    Exit Sub
Err_结束_Click:
    MsgBox Err.Description
    Resume Exit_结束_Click
End Sub

6. 图书查询子模块——“图书查询”窗体

(1) 功能说明

在系统主界面中当用户选择“图书查询”功能时,打开“图书查询”窗体,允许用户选择按照书名、读者、出版社查询或使用模糊查询。

(2) 界面设计

“图书查询”窗体界面设计如图 5:
图 5
窗体属性如下表:
属性
属性值
标题
图书查询
滚动条
两者均无
记录选择器
否
导航按钮
否
分割线
否
自动调整
否
自动居中
是
边框样式
细边框
最大最小化按钮
最小化按钮
“Combo条件”文本框属性如下图:

(3) 功能实现

¨单击“按书名查询图书及现有册数”按钮(名称为“按书名查询”),打开“按书名查询图书及现有册数”窗体
Private Sub 按书名查询_Click()
On Error GoTo Err_按书名查询_Click
 
    DoCmd.OpenForm "按书名查询图书及现有册数"
 
Exit_按书名查询_Click:
    Exit Sub
 
Err_按书名查询_Click:
    MsgBox Err.Description
    Resume Exit_按书名查询_Click
    
End Sub
¨单击“按作者查询图书及现有册数”按钮(名称为“按作者查询”),打开“按作者查询图书及现有册数”窗体
Private Sub 按作者查询_Click()
On Error GoTo Err_按作者查询_Click
 
    DoCmd.OpenForm "按作者查询图书及现有册数"
 
Exit_按作者查询_Click:
    Exit Sub
 
Err_按作者查询_Click:
    MsgBox Err.Description
    Resume Exit_按作者查询_Click
   
End Sub
¨单击“按出版社查询图书及现有册数”按钮(名称为“按出版社查询”),打开“按出版社查询图书及现有册数”窗体
Private Sub 按出版社查询_Click()
On Error GoTo Err_按出版社查询_Click
 
    DoCmd.OpenForm "按出版社查询图书及现有册数"
 
Exit_按出版社查询_Click:
    Exit Sub
 
Err_按出版社查询_Click:
    MsgBox Err.Description
    Resume Exit_按出版社查询_Click
   
End Sub
¨如果在“查询条件”组合框(名称为“Combo条件”)中选择“全部”,则不显示“查询内容”文本框,否则显示
Private Sub Combo条件_Change()
    If Combo条件.ListIndex = 0 Then
        Text查询内容.Visible = False
        Label查询内容.Visible = False
    Else
        Text查询内容.Visible = True
        Label查询内容.Visible = True
    End If
End Sub
 
Private Sub Combo条件_Click()
    If Combo条件.ListIndex = 0 Then
        Text查询内容.Visible = False
        Label查询内容.Visible = False
    Else
        Text查询内容.Visible = True
        Label查询内容.Visible = True
    End If
End Sub
¨单击“条件查询”按钮(名称为“Cmd查询”),根据条件分别打开不同窗体
Private Sub Cmd查询_Click()
    Select Case Combo条件
        Case "全部"
            DoCmd.OpenForm "查询结果"
        Case "书名"
            DoCmd.OpenForm "书名查询", OpenArgs:=Text查询内容
        Case "作者"
            DoCmd.OpenForm "作者查询", OpenArgs:=Text查询内容
        Case "出版社"
            DoCmd.OpenForm "出版社查询", OpenArgs:=Text查询内容
    End If
End Sub
¨单击“模糊查询”按钮(名称为“模糊查询”),根据条件查询(使用SQL命令)后显示
Private Sub 模糊查询_Click()
On Error GoTo Err_模糊查询_Click
 
    sqlstr = ""
    num = 1
    If 书号 <> "" Then
        If num <> 1 Then
            sqlstr = sqlstr & " and "
        End If
        num = num + 1
        sqlstr = sqlstr & "书号 like '*" & 书号 & "*'"
    End If
    If 书名 <> "" Then
        If num <> 1 Then
            sqlstr = sqlstr & " and "
        End If
        num = num + 1
        sqlstr = sqlstr & "书名 like '*" & 书名 & "*'"
    End If
    If 作者 <> "" Then
        If num <> 1 Then
            sqlstr = sqlstr & " and "
        End If
        num = num + 1
        sqlstr = sqlstr & "作者 like '*" & 作者 & "*'"
    End If
    If 出版社 <> "" Then
        If num <> 1 Then
            sqlstr = sqlstr & " and "
        End If
        num = num + 1
        sqlstr = sqlstr & "出版社 like '*" & 出版社 & "*'"
    End If
    If 出版时间 <> "" Then
        If num <> 1 Then
            sqlstr = sqlstr & " and "
        End If
        num = num + 1
        sqlstr = sqlstr & "出版时间 like '*" & 出版时间 & "*'"
    End If
    If 版次 <> "" Then
        If num <> 1 Then
            sqlstr = sqlstr & " and "
        End If
        num = num + 1
        sqlstr = sqlstr & "版次 like '*" & 版次 & "*'"
    End If
    If 价格 <> "" Then
        If num <> 1 Then
            sqlstr = sqlstr & " and "
        End If
        num = num + 1
        sqlstr = sqlstr & "价格 like '*" & 价格 & "*'"
    End If
    If sqlstr <> "" Then
        DoCmd.OpenForm "查询结果", OpenArgs:=sqlstr
    Else
        MsgBox "请输入查询要求!"
    End If
 
Exit_模糊查询_Click:
    Exit Sub
 
Err_模糊查询_Click:
    MsgBox Err.Description
    Resume Exit_模糊查询_Click
   
End Sub

7. 图书查询各子模块(子窗体)

(1) “按书名查询图书及现有册数”窗体、“按作者查询图书及现有册数”窗体、“按出版社查询图书及现有册数”窗体

¨界面设计
“按书名查询图书及现有册数”窗体界面如图 6(其他类似):
图 6
各窗体“记录源”属性如下表:
窗体
属性值
“按书名查询图书及现有册数”
“按书名查询图书及现有册数”查询
“按作者查询图书及现有册数”
“按作者查询图书及现有册数”查询
“按出版社查询图书及现有册数”
“按出版社查询图书及现有册数”查询
¨查询实现
“按书名查询图书及现有册数”查询设计如图 7:(其余类似)
图 7
¨“查询图书借出册数”查询实现

(2) “书名查询”窗体、“作者查询”窗体、“出版社查询”窗体

¨界面设计
“书名查询”窗体界面如图 8(其他类似):
图 8
¨查询功能实现
“书名查询”窗体加载代码和查询按钮代码如下:(其余窗体类似)
Private Sub Form_Load()
    查询书名 = Me.OpenArgs
    Me.RecordSource = "select * from 查询图书及现有册数 where 书名='" & Me.OpenArgs & "'"
    记录数.Caption = "共" & DCount("书号", "查询图书及现有册数", "书名='" & Me.OpenArgs & "'") & "条记录"
    查询书名.SetFocus
End Sub
 
Private Sub 查询_Click()
    Me.RecordSource = "select * from 查询图书及现有册数 where 书名='" & 查询书名 & "'"
    记录数.Caption = "共" & DCount("书号", "查询图书及现有册数", "书名='" & 查询书名 & "'") & "条记录"
    查询书名.SetFocus
End Sub
¨“查询图书及现有册数”查询实现

(3) “查询结果”窗体

¨界面设计
“查询结果”窗体界面如图 9:
图 9
¨功能实现
“查询结果”窗体加载代码如下:
Private Sub Form_Load()
    If Me.OpenArgs <> "" Then
        Me.RecordSource = "select * from 查询图书及现有册数 where " & Me.OpenArgs
        查询条件.Caption = "查询条件:" & Me.OpenArgs
    End If
    记录数.Caption = "共" & DCount("书号", "查询图书及现有册数", Me.OpenArgs) & "条记录"
End Sub

8. 借书还书

(1) 功能说明

(略)

(2) 界面设计

(略)
 
 

(3) 功能实现

(略)

9. 设置启动窗体

将主窗体设置为启动窗体。
不能下载计算机源码, 毕业设计论文资料,
大作业!报告错误,谢谢
 
找到您需要的资源啦!?本站所有软件高速免费下载,记得下次再来哦,毕业设计免费获取,3Q2008.Com您下载的首选
  软件大小:342 KB 下载次数:3513  
  更新时间:2007/11/27 9:40:52  
无需注册 演示程序直接下载

输入您的题目信息关键字,查询更多

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright ©2024 3Q2008.Com 网络
 

定做服务操作流程 主站   关于我们   联系程序员   企业建站 

辽ICP备2024022997号-1
 业务(企业网站制作,系统制作,毕业设计资料辅导,系统开发 ,项目定制,辅导讲解,算法分析)
联系方式:jjwebCoder@QQ.Com    QQ:63353282    Tel:(86) 0411-84062008 。
Copyrights ©3Q2008.Com 网站制作 3Q2008网络
网站制作,系统开发 记得http://www.3Q2008.Com http://www.QY2S.Com http://www.99wk.Com
首页 |  定制流程 |  检索数据 |  联系我们 | 关于本站 |  Top △