《数据库课程设计图书馆图书借阅管理系统》Word格式文档下载.docx
《《数据库课程设计图书馆图书借阅管理系统》Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《数据库课程设计图书馆图书借阅管理系统》Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
六、参考文献………………………...28
一、需求分析
根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。
该系统是一个较典型的数据管理系统,其使用者被假定为某图书馆的借阅管理人员,系统应该具有安全、稳定、功能齐全的特点。
1.安全性分析
系统管理的数据涉及到图书馆的所有同学借阅情况,数据量较大且是一种基础性数据,能够为其它方面的图书管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修改。
2.稳定性分析
指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。
3.主要功能分析
(1)系统登录:
允许用户输入编号、密码等进入系统。
(2)数据维护:
该模块是针对于管理员操作,一般包括浏览、修改等,对于输入的数据,或被修改的数据应该保存到某个磁盘文件中,实现永久存储。
(3)数据查询:
用户输入查询条件,系统规则地在界面显示查询结果,且显示的数据尽量全面。
当输入图书编号时,可查询到借阅该书的学生的学号、姓名、借书时间等信息;
当输入藏书馆编号时,可查询到关于此书所在图书馆的位置。
(4)功能界面:
主要分析本系统的功能界面的主要特点,及实现的具体
二、系统主要功能模块
学生管理系统基于VisualFoxPro6.0中文版开发,VFP在数据库开发方面具有方面,实用,简单,直接等优点,同时其也具有一定的局限性。
本系统主要面图书管理员开发使用,因此主要侧重于系统的使用性和方便性,同时在安全性方面,我们也十分重视。
特别是操作员级别的划分等密码管理,我们都做了仔细的分析研究。
1.“图书馆图书借阅系统”的模块结构图(如图1)
用户名
密码
错误
正确
图1系统模块划分
2、本系统的主要内容(如图2)
图2项目管理器
三、数据库设计
数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。
本系统的数据库包括4个表,即学生基本信息表,学生成绩表等。
1.学生借阅信息表(xsjb.dbf)
学生借阅信息表(xsjb.dbf)用于记录学号、姓名、班级等信息,其逻辑结构如表1所示。
表1学生基本信息表
字段名称
字段类型
宽度
小数位
NULL
学号
C
13
否
姓名
10
班级
7
借书日期
D
8
还书日期
借书编号
NC
2.图书借阅信息表(tsb.dbf)
图书借阅信息表(tsb.dbf)用于图书的基本等信息,包括出版社、图书编号、借阅状态、藏书馆编号等信息,其逻辑结构如表2所示。
表2图书借阅信息表
藏书馆编号
出版社
20
图书编号
15
借阅状态
L
1
图书名
18
四、各功能模块的具体设计
根据系统规划和需要分析,把系统划分为学生信息管理,学生成绩查询,系统管理三个模块。
本系统用到的主要有以下文件:
图书馆图书借阅系统.pjx、登陆界面.scx、主界面.scx、读者信息管理.scx、图书借阅系统.MPR。
程序的调用关系如下:
登陆界面scx中调用主界面界面表单.scx,,口令正确则调用系统菜单main_menu.mpr。
各菜单项调用相对应的表单。
1.在登陆界面中用户名和密码到下一个界面实现为:
图3登陆界面
(1)登陆界面中主要控件属性如表3所示
对象名称
属性名称
属性值
Form1
Caption
登陆界面
Autocenter
.T.
Command1
caption
确定
Command2
取消
Text1
name
Text2
passwordchar
*
(2)数据环境:
密码.dbf
(3)事件代码:
1)command1的click事件:
setexacton
select密码
ifallt(thisform.text1.value)="
"
messagebox("
用户名为空,请输入!
64,"
提示"
)
thisform.text1.setfocus
else
ifallt(thisform.text2.value)="
thisform.text2.setfocus
else
locateforallt(用户名)=allt(thisform.text1.value);
andallt(密码)=allt(thisform.text2.value)
iffound()
doform主界面
thisform.release
输入用户名或密码错误"
45,"
thisform.text1.value="
thisform.text2.value="
endif
endif
2)command2的click事件:
closeall
2、运行登陆界面后,进入到主界面(图3)
图3系统主界面
1)将图书借阅系统.MPR菜单挂到系统调主界面中。
2)Form1的init事件代码:
do图书借阅系统1.mprwiththis,.t.
3)属性showwindow属性值:
2-作为顶层表单
4)点击图书信息维护出现两个子菜单:
图书信息管理,图书查询界面。
点击读者信息管理进入到读者信息管理.scx,点击借书,还书分别进入到借书scx、还书scx,点击退出退出系统。
5)依次进入到每一个表单中并实现其命令;
图书信息管理(图4)
(1)图书信息管理scx界面中主要控件属性如表4所示
图书信息管理
Autocenter
Grid1
Recordsourcetype
1-别名
Recordsource
图书借阅信息表
Controlsource
图书借阅信息.图书名
图书借阅信息.图书编号
Text3
图书借阅信息.出版社
Text4
图书借阅信息.借阅状态
Cursorl
Exclusive
(2)数据环境中添加表:
图书借阅信息dbf
(3)事件代码:
1)“上一个”按钮的click事件代码:
skip-1
ifbof()
gobottom
endif
thisform.refresh
2)“下一个”按钮的click事件代码:
skip
ifeof()
gotop
3)“添加”按钮的click事件代码:
ifthis.caption="
添加"
this.caption="
保存"
select图书借阅信息
appendblank
thisform.text1.setfocus()
4)“修改”按钮的click事件代码:
replace图书名withalltrim(thisform.text1.value)
replace图书编号withalltrim(thisform.text2.value)
replace出版社withalltrim(thisform.text3.value)
replace借阅状态withthisform.text4.value
messagebox("
修改成功"
1)
5)“删除”按钮的click事件代码:
sel=messagebox("
真的要删除吗?
4,"
提示信息"
ifsel=6
delete
pack
use
thisform.grid1.recordsourcetype=0
thisform.grid1.recordsource="
图书借阅信息"
6)“打印”按钮的click事件代码:
reportform图书借阅信息.frxtoprinter
7)“打印预览”按钮的click事件代码:
reportform图书借阅信息.frxpreview
8)“退出”按钮的click事件代码:
thisform.release
3.图书查询scx界面设计
(1)图书查询界面表5
图书查询界面
图书借阅信息
Optiongroup1
Buttoncount
3
Value
Txt图书名
Txt出版社
图书借阅信息.出版社
Txt图书编号
图书借阅信息.图书编号
Txt藏书馆编号
图书借阅信息.藏书馆编号
Name
图书借阅信息.dbf
图书借阅信息查询图(5)
1)“查找”按钮的click事件代码:
setfilterto
docase
casethisform.optiongroup1.value=1
setfilterto图书名=alltrim(thisform.text1.value)
locatefor图书名=alltrim(thisform.text1.value)
casethisform.optiongroup1.value=2
setfilterto图书编号=alltrim(thisform.text1.value)
locatefor图书编号=alltrim(thisform.text1.value)
casethisform.optiongroup1.value=3
setfilterto藏书馆编号=alltrim(thisform.text1.value)
locatefor藏书馆编号=alltrim(thisform.text1.value)
endcase
2)“打印”按钮的click事件代码:
3)“打印预览”按钮的click事件代码:
4)“退出”按钮的click事件代码:
4、运行查询界面:
(如图7)
5.读者信息管理表单的设计
学生人事信息的查询,是基于dzjy.dbf表,提供学号,姓名,编号。
分别利用不同的命令代码方式实现查询打印功能。
功能是便于图书管理员,学生用户的检索查询。
1)读者信息管理界面中主要控件属性如表6所示
读者信息管理
Gird1
Txt班级
读者信息管理.班级
Txt学号
读者信息管理.学号
Txt姓名
读者信息管理.姓名
2)数据环境中添加表:
读者信息管理.dbf
3)“打印”按钮的click事件代码:
reportform读者信息管理.frxtoprinter
4)“打印预览”按钮的click事件代码:
reportform读者信息管理.frxpreview
5)“退出”按钮的click事件代码:
读者信息管理(如图8)
6.借书菜单的设计
(1)借书
借书菜单的设计主要分为图书编号、借阅者学号、姓名、班级、退出系统等六项。
在查询出该书的图书编号后可根据借阅者的借书编号记录借阅者的相关信息。
数据环境中添加表:
读者信息管理.dbf、图书借阅信息.dbf
借书的菜单运行如下:
(图9)
Command1按钮的click事件代码:
setfilterto图书编号=alltrim(thisform.text5.value)
locatefor图书编号=alltrim(thisform.text5.value)
replace借阅状态with.t.
select学生借阅信息
setfilterto学号=alltrim(thisform.text1.value)
locatefor学号=alltrim(thisform.text1.value)
replace借书编号withalltrim(thisform.text5.value)
replace借书日期withdate()
借书书成功"
“退出”按钮的click事件代码:
7.还书菜单的设计
还书菜单界面和借书界面比较类似,但较之借书界面,还书界面更复杂,在设计中,会根据借阅者的还书情况去修改图书借阅信息管理中的记录项。
1)还书界面设计如图(10)
3)Command4按钮的click事件代码:
*setfilterto图书编号=alltrim(thisform.text6.value)
locatefor图书编号=alltrim(thisform.text6.value)
replace借阅状态with.F.
*setfilterto借书编号=alltrim(thisform.text6.value)
locatefor借书编号=alltrim(thisform.text6.value)
replace借书编号with"
replace借书日期withnull
还书成功"
还书界面运行如图(11)
8退出系统,返回windows界面
五、个人总结
为期一周的课设在繁忙中结束了,这一周里,我们复习并运用了我们在大学里所学的VF基础知识来完成课程设计。
半年没有接触VF知识了,我们都忘得差不多了,在机房里我们面面相觑,好在老师耐心的帮我们梳理知识,耐心的给我们举例子讲解,我们似乎又回到了当初学习的状态,虽说知识掌握的不是很牢,但我们至少不再是一窍不通,加之和同学们互补、互相学习,每一天我们都在学习,每天都有新收获。
在这期间,老师每天都和我们在一起,为每一个同学详细的解答每一个疑问。
这一周过的很快,我们过得也很充实,这一周我学到了很多知识,在老师和同学们的帮助下我也完成了自己设计的程序。
我设计的程序是:
图书馆借阅管理系统。
这个项目设计起来不是很难,结合在图书馆借书、还书的经历,我很快就想好了思路,我的程序简明、清晰,各功能运行操作简单,便于图书馆里人员的运用和维护,优越性好,但也有瑕疵,就是设计时忽略了图书的储备,将图书馆所有的图书均按一本来设计,降低了设计难度。
(写出在课程设计过程中的收获和体会,说明程序的优点和缺憾。
六、参考文献
(参考的书籍或互联网资源)
1数据库及运用——VisualFoxPro程序设计实验指导书
2互联网资源