最新vf图书管理系统.doc

上传人:1595****071 文档编号:47526072 上传时间:2022-10-02 格式:DOC 页数:74 大小:805.50KB
返回 下载 相关 举报
最新vf图书管理系统.doc_第1页
第1页 / 共74页
最新vf图书管理系统.doc_第2页
第2页 / 共74页
点击查看更多>>
资源描述

《最新vf图书管理系统.doc》由会员分享,可在线阅读,更多相关《最新vf图书管理系统.doc(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datevf图书管理系统陕西理工学院管理系陕西理工学院管理系数据库管理系统课程设计报告书学号: 1020014060 班级: 电子商务102班 姓名: 王海斌 指导教师: 周作涛 时间: 2011-2012-1 附件二 课程设计评阅书数据库管理系统课程设计评阅书题目小型图书室管理程序设计设计目的(1)综合运用所学的数据库知识编制一个具有一定功能的图书室管理程序。(2)学会运用

2、合适的工具进行系统分析与设计工作,并独立完成程序的编制,培养独立工作与研究的能力。(3)学习课程设计报告书的撰写方法,使学生受到基本的科研素质训练。设计要求(1)对系统进行业务流程分析的数据流程分析,确定系统功能,划分功能模块,要求功能完整、准确。(2)程序实现要求编程简练,可用,功能全面。应包含图书登记入库、图书查询、图书借还、统计汇总除等基本功能。(3)要求按照科技文格式撰写不少于3000字的课程设计说明书,并按时上交。正文应包括以下几个方面的内容:需求分析、概要设计、详细设计、测试分析报告、用户使用说明、测试结果、参考文献。(4)设计结果包括报告书1份(打印),其中附源程序(打印)。教师

3、评语及成绩教师签名: 年 月 日图书管理系统程序设计作者:王海斌摘 要 利用一周时间,用Visual Foxpro 6.0作为开发工具,结合所学的数据库理论知识,编制了一个简单的图书管理系统程序。程序具有图书登记入库、图书查询、图书借还、统计汇总等基本功能。关键词visual foxpro:;图书管理;程序1 设计任务根据所学的数据库知识,运用Visual Foxpro 6.0(以下简称VFP)作为开发工具,设计与实现一个简单的图书管理程序。本次任务要求的程序尽管业务过程较简单,但功能要求全面,报告书格式要求严格,时间紧迫,因此工作量是充分的,难度也很大。2 设计目的 本次设计有两个目的:一是

4、加深对所学VFP知识的理解与掌握,提高熟练运用计算机的能力;二是掌握问题分析与解决方法,加强工程素质训练。 3 需求分析3.1 系统功能分析图书管理系统的主要任务是对图书馆管理员登陆,图书信息、读者信息、图书借阅归还信息的查询、统计并且能按一定要求输出报表。3.2 数据描述三个实体:图书基本信息与读者基本信息,管理员信息。其中图书基本信息(图书编号,书名,出版社,库存量、借阅状态),读者基本信息(读者学号,班级,姓名,性别)。由于读者信息限定,因此,可将图书数据与读者数据合为一个借书表。该借书表的数据项包括:借书表:=读者学号,图书编号,书名 由于图书与读者两个实体之间存在多对多关系,因此,从

5、关系规范化理论角度看,两个实体之间需要通过一个表(即借书表)产生联系。而不能将图书基本信息与读者基本信息放在一个表中,否则存在大量数据冗余。所以,上面的设计,只是针对读者基本信息限定这一条件所做的简化处理。3.3 功能说明3.3.1 登陆系统 管理员登陆系统的唯一入口,便于系统的安全管理3.3.2 登记入库能够让即将入库的图书及时登记在图书基本信息3.3.3 图书查询 可以根据图书书名,作者,出版社,库存量,图书编号查找图书馆是否有自己需要找的图书3.3.4 借还书记录 记录借出的和还的书进行图书登记3.3.5 读者信息查询 查询已借出去的书的读者的基本信息3.3.6 图书汇总 通过报表显示图

6、书的基本信息、读者的基本信息、借书的基本信息4 设计与实现4.1 数据库设计创建数据库是设计系统的第一步,其关键问题在于确定所需的表结构并为之建立索引。为了使系统设计精练实用,体现关系型数据库的特点,本系统还为各相关表建立关系。4.1.1数据项设计通过需求分析,可确定系统的数据项和数据结构如下:a图书的基本信息(图书编号、书名、作者、出版社、库存量、借阅状态)b.借书表信息(图书编号、书名、读者学号、借书日期)c.读者的基本信息(读者学号、班级、姓名、性别)d.管理员信息(用户名、密码)4.1.2 概念结构设计本系统在需求分析的基础上设计出能够满足用户需求的各种实体。根据上面的分析所得的实体有

7、:图书的基本信息实体(图书基本信息表)、所借图书的读者与图书信息实体(借书表)、读者的基本信息实体(读者基本信息表)。各实体间的关系如图:4.1.3 逻辑结构设计图书的基本信息表(图书基本信息表.dbf)列名数据类型可否为空图书编号字符型(10)否书名字符型(50)否作者字符型(10)否出版社数值型(50)否库存量数值型(3)否借书状态逻辑性(1)否所借图书的读者与图书信息表(借书表.dbf)列名数据类型可否为空图书编号字符型(10)否书名字符型(50)否读者学号字符型(10)否借书日期字符型(10)否 读者的基本信息表(读者基本信息.dbf)列名数据类型可否为空读者学号字符型(10)否班级字

8、符型(6)否姓名字符型(10)否性别字符型(6)否管理员信息表(user1.dbf)列名数据类型可否为空用户名字符型(10)否密码字符型(10)否4.2 界面设计与功能代码具体说明如下:4.2.1功能:图书管理员登陆界面 表单名:表单1 数据环境:管理员信息表.dbf图1程序界面command1的click event 代码:sele 管理员信息表 locate for allt(thisform.text1.value)=allt(用户名) if found() if allt(thisform.text2.value)=allt(密码) messagebox(登陆成功) do form 表

9、单2 thisform.release else message(密码错误请重新输入) thisform.text2.value= thisform.text2.setfocus endif else message(用户名输入不正确) Endifcommand1的click event 代码:thisform.release4.2.2功能:图书管理系统界面 表单名:表单2 图2程序界面command1的click event代码:do form 表单3command2的click event代码:do form 表单4command3的click event代码:do form 表单5com

10、mand3的click event代码:do form 表单6Command4的click event代码:Do form 表单7Command5的click event代码:thisform.release4.2.3功能:图书登记入库界面 表单名:表单3 数据环境:图书基本信息表表.dbf 登记入库后: 图3程序界面Command1的click event代码:a=allt(thisform.Text1.value)b=allt(thisform.text2.value)c=allt(thisform.Text3.value)d=allt(thisform.text4.value)f=val

11、(thisform.text5.value) if select(图书基本信息表)=0messagebox(数据表图书基本信息表不存在,请检查后再试) elselocate for allt(thisform.Text1.value)=allt(图书编号) if found() messagebox(操作失败,此用户名已经存在!,0+64,错误)elsemessagebox(操作成功)insert into 图书基本信息表(图书编号,书名,作者,出版社,库存量) value( a,b,c,d,f)thisform.refresh thisform.initendif EndifCommand2

12、的click event代码:Thisform.release4.2.4功能:读者借还书界面 表单名:表单4 数据环境:图书基本信息表.dbf、读者基本信息表.dbf、借书表.dbf 图5程序界面Form1的init代码:thisform.pageframe1.page1.Combo2.rowsourceType=0sele 图书基本信息表go topdo while .not. eof() if 借阅状态=.F. t4=allt(图书编号) thisform.pageframe1.page1.Combo2.additem(t4) endif skip enddothisform.pagefr

13、ame1.page2.Combo2.rowsourceType=0sele 图书基本信息表go top do while .not. eof() if 借阅状态=.T. t3=allt(图书编号) thisform.pageframe1.page2.Combo2.additem(t3) endif skip enddoCommand1的click event代码:t1=allt(thisform.pageframe1.page1.Combo1.value)t2=allt(thisform.pageframe1.page1.Combo2.value)s1=.T.sele 图书基本信息表locat

14、e for t2=allt(图书编号)if found()s2=allt(书名)endifsele 借书表locate for allt(书名)=s2if found()aa=1elseaa=2endifCommand2的click event代码:thisform.releaseCombo2的Lostfocus event代码:sele 图书基本信息表locate for allt(thisform.pageframe1.page1.Combo2.value)=allt(isbn)if found()thisform.pageframe1.page1.text3.value=书名elseth

15、isform.pageframe1.page1.text3.value=未找到endifthisform.pageframe1.page1.text3.setfocusCombo1的lostfocus event代码:thisform.refreshthisform.initCommand1的click event代码:x1=allt(thisform.pageframe1.page2.Combo1.value)x2=allt(thisform.pageframe1.page2.Combo2.value)y1=.F.sele 图书基本信息表locate for x2=allt(图书编号)if

16、found()t4=allt(书名)endifif allt(thisform.pageframe1.page2.text3.value)=未找到 Messagebox(未找到此书,0,提示) thisform.pageframe1.page2.Combo2.setfocus else sele 借书表 go top locate for allt(read编号)=x1 and allt(书名)=t4 if found() messagebox(归还成功,0+48,提示) dele pack sele 图书基本信息表 replace 借阅状态 with y1 for x2=allt(isbn)

17、else messagebox(此人未借此书,0+48,提示)endifendifCommand2的click event代码:thisform.releaseCombo1的lostfocus event代码:thisform.refreshthisform.initCombo2的lostfocus event代码:sele 图书基本信息表locate for allt(thisform.pageframe1.page2.Combo2.value)=allt(图书编号)if found()thisform.pageframe1.page2.text3.value=书名elsethisform.

18、pageframe1.page2.text3.value=未找到endifthisform.pageframe1.page2.text3.setfocus4.2.5功能:读者信息查询界面 表单名:表单5 数据环境:读者基本信息表.dbf、借书表.dbf 图6程序界面Command1的click event代码:if select(读者基本信息表)=0 messagebox(数据表图书基本信息表不存在)elseselec 借书表go topq2=do while .not.eof() if allt(读者学号)=allt(thisform.Combo1.value)q2=q2+allt(书名)e

19、ndif skipenddogo topselect 读者基本信息表locate for allt(thisform.Combo1.value)=allt(读者学号)if found()thisform.Text1.value=班级thisform.Text2.value=姓名thisform.text3.value=q2endifendifskipif eof()thisform.Command4.enabled=.F.thisform.Command3.enabled=.T.elseskip -2 if bof() thisform.Command3.enabled=.F.thisform

20、.Command4.enabled=.T.elsethisform.Command4.enabled=.T.thisform.Command3.enabled=.T.endif EndifCommand2的click event代码:thisform.release4.2.6功能:图书查询界面 表单名:表单6 数据环境:图书基本信息表.dbf 查询结果: 图7程序界面Command1的click event代码:if thisform.Combo1.value=图书编号if thisform.Text1.value= messagebox(你没有选择要查找的内容,0+16,提示) else l

21、ocate for allt(thisform.text1.value)=allt(图书编号) if found() messagebox(查找成功,0+48,提示) go top sele * from 图书基本信息表 where allt(thisform.Text1.value)=allt(图书编号) into cursor temp thisform.refresh thisform.init else messagebox(对不起,没有相关内容,0+48,提示) endif endif endifif thisform.Combo1.value=allt(书名)if thisform

22、.Text1.value= messagebox(你没有选择要查找的内容,0+16,提示) else locate for allt(thisform.text1.value)=allt(书名) if found() messagebox(查找成功,0+48,提示) go topsele * from 图书基本信息表 where allt(thisform.Text1.value)=allt(书名) into cursor tempthisform.refresh thisform.init elsemessagebox(对不起,没有相关内容,0+48,提示) endif endif endi

23、fif thisform.Combo1.value=作者if thisform.Text1.value=messagebox(你没有选择要查找的内容,0+16,提示)else locate for allt(thisform.text1.value)=allt(作者)if found()messagebox(查找成功,0+48,提示) go topsele * from 图书基本信息表 where allt(thisform.Text1.value)=allt(作者) into cursor tempthisform.refreshthisform.initelsemessagebox(对不起

24、,没有相关内容,0+48,提示) endif endif endif if thisform.Combo1.value=allt(出版社) if thisform.Text1.value=messagebox(你没有选择要查找的内容)else locate for allt(thisform.text1.value)=allt(出版社)if found() messagebox(查找成功) go topsele * from 图书基本信息表 where allt(thisform.Text1.value)=allt(出版社) into cursor tempThisform.refreshth

25、isform.initElsemessagebox(对不起,没有相关内容) endif endif endif if thisform.Combo1.value=借阅状态locate for thisform.text1.value=借阅状态if found()messagebox(查找成功,0+48,提示) go topsele * from books where thisform.Text1.value=借阅状态 into cursor tempthisform.refreshthisform.initElsemessagebox(对不起,没有相关内容,0+48,提示) endif En

26、difCommand2的click event代码:thisform.release4.2.7功能:报表显示关于表的的所有信息 表单名:表单7 数据环境:图书基本信息表.dbf、读者基本信息表.dbf、借书表.dbf,全部信息显示.dbf 图7程序界面运行结果;Command1的click event代码:report form 图书基本信息表Command2的click event代码:report form 读者基本信息表Command3的click event代码:report form 借书表Command4的click event代码:report form 全部信息5 难点 1.实

27、体的建立 2.借书还书程序的设计6 总结经过一周的设计和开发,图书管理系统基本开发完毕。其功能基本符合用户需求,能够完成图书资料管理、学生资料管理和借还书操作,同时也考虑到了单位编码以减少冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。可是在运用和进一步了解VFP的同时遇到的困难是开始时没有想象到的,从中我学到的宝贵知识是对VFP的了解和运用都有了很大的提高。当时遇到的困难和解决后的喜悦现在回想起来还是那么的有滋味,这对我今后的学习和工作都有着很大的帮助。但在完成后发现许多功能还不足,比如还书期限,库存量的统计,对教师的权限都没有涉及到等等不足,在以后对此还需完善。参考文献 1 visual foxpro及其应用系统开发(第二版)史济民主编 清华大学出版社 2萨师煊、王珊.数据库系统概论.北京:高等教育出版社 3史济民主编Visual FoxP及其应用系统开发,北京清华大学出版社 4王浩等.精通VisualFoxPro6.0中文版,上海:上海科学技术出版社,1998-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁