vf图书管理系统

上传人:飞*** 文档编号:35987659 上传时间:2018-03-23 格式:DOC 页数:21 大小:702.50KB
返回 下载 相关 举报
vf图书管理系统_第1页
第1页 / 共21页
vf图书管理系统_第2页
第2页 / 共21页
vf图书管理系统_第3页
第3页 / 共21页
vf图书管理系统_第4页
第4页 / 共21页
vf图书管理系统_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《vf图书管理系统》由会员分享,可在线阅读,更多相关《vf图书管理系统(21页珍藏版)》请在金锄头文库上搜索。

1、陕西理工学院管理系数据库管理系统课程设计报告书学号: 1020014060 班级: 电子商务 102 班 姓名: 王海斌 指导教师: 周作涛 时间: 2011-2012-1 附件二 课程设计评阅书数据库管理系统课程设计评阅书题目小型图书室管理程序设计设计目的(1)综合运用所学的数据库知识编制一个具有一定功能的图书室管理程序。(2)学会运用合适的工具进行系统分析与设计工作,并独立完成程序的编制,培养独立工作与研究的能力。(3)学习课程设计报告书的撰写方法,使学生受到基本的科研素质训练。设计要求(1)对系统进行业务流程分析的数据流程分析,确定系统功能,划分功能模块,要求功能完整、准确。(2)程序实

2、现要求编程简练,可用,功能全面。应包含图书登记入库、图书查询、图书借还、统计汇总除等基本功能。(3)要求按照科技文格式撰写不少于 3000 字的课程设计说明书,并按时上交。正文应包括以下几个方面的内容:需求分析、概要设计、详细设计、测试分析报告、用户使用说明、测试结果、参考文献。(4)设计结果包括报告书 1 份(打印),其中附源程序(打印)。教师评语及成绩教师签名:年 月 日图书管理系统程序设计作者:王海斌摘 要 利用一周时间,用 Visual Foxpro 6.0 作为开发工具,结合所学的数据库理论知识,编制了一个简单的图书管理系统程序。程序具有图书登记入库、图书查询、图书借还、统计汇总等基

3、本功能。关键词visual foxpro:;图书管理;程序1 设计任务设计任务根据所学的数据库知识,运用 Visual Foxpro 6.0(以下简称 VFP)作为开发工具,设计与 实现一个简单的图书管理程序。 本次任务要求的程序尽管业务过程较简单,但功能要求全面,报告书格式要求严格, 时间紧迫,因此工作量是充分的,难度也很大。2 设计目的设计目的本次设计有两个目的:一是加深对所学 VFP 知识的理解与掌握,提高熟练运用计算机 的能力;二是掌握问题分析与解决方法,加强工程素质训练。 3 需求分析需求分析3.1 系统功能分析图书管理系统的主要任务是对图书馆管理员登陆,图书信息、读者信息、图书借阅

4、归还信息的查询、统计并且能按一定要求输出报表。3.2 数据描述三个实体:图书基本信息与读者基本信息,管理员信息。 其中图书基本信息(图书编号,书名,出版社,库存量、借阅状态),读者基本信息 (读者学号,班级,姓名,性别)。 由于读者信息限定,因此,可将图书数据与读者数据合为一个借书表。该借书表的数 据项包括: 借书表:=读者学号,图书编号,书名 由于图书与读者两个实体之间存在多对多关系,因此,从关系规范化理论角度看,两 个实体之间需要通过一个表(即借书表)产生联系。而不能将图书基本信息与读者基本信 息放在一个表中,否则存在大量数据冗余。所以,上面的设计,只是针对读者基本信息限 定这一条件所做的

5、简化处理。3.3 功能说明3.3.1 登陆系统管理员登陆系统的唯一入口,便于系统的安全管理 3.3.2 登记入库 能够让即将入库的图书及时登记在图书基本信息 3.3.3 图书查询 可以根据图书书名,作者,出版社,库存量,图书编号查找图书馆是否有自己需要找 的图书 3.3.4 借还书记录记录借出的和还的书进行图书登记 3.3.5 读者信息查询查询已借出去的书的读者的基本信息 3.3.6 图书汇总通过报表显示图书的基本信息、读者的基本信息、借书的基本信息4 设计与实现设计与实现4.1 数据库设计创建数据库是设计系统的第一步,其关键问题在于确定所需的表结构并为之建立索引。为了使系统设计精练实用,体现

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

7、图书基本信息表.dbf)列名数据类型可否为空图书编号字符型(10)否书名字符型(50)否作者字符型(10)否出版社数值型(50)否库存量数值型(3)否借书状态逻辑性(1)否所借图书的读者与图书信息表(借书表.dbf)列名数据类型可否为空图书编号字符型(10)否书名字符型(50)否读者学号字符型(10)否借书日期字符型(10)否 读者的基本信息表(读者基本信息.dbf)列名数据类型可否为空读者学号字符型(10)否班级字符型(6)否姓名字符型(10)否性别字符型(6)否管理员信息表(user1.dbf)列名数据类型可否为空用户名字符型(10)否密码字符型(10)否4.2 界面设计与功能代码具体说明

8、如下: 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 表单 2thisform.releaseelse message(“密码错误请重新输入“)thisform.text2.value=“thisform.text2.setfoc

9、usendifelsemessage(“用户名输入不正确“)Endifcommand1 的 click event 代码: thisform.release4.2.2功能:图书管理系统界面表单名:表单 2图 2 程序界面 command1 的 click event 代码: do form 表单 3command2 的 click event 代码: do form 表单 4command3 的 click event 代码: do form 表单 5command3 的 click event 代码: do form 表单 6Command4 的 click event 代码: Do for

10、m 表单 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(thisform.text5.value)if select(“图书基本信息表“)=0 me

11、ssagebox(“数据表图书基本信息表不存在,请检查后再试“)else locate for allt(thisform.Text1.value)=allt(图书编号) if found()messagebox(“操作失败,此用户名已经存在!“,0+64,“错误“) else messagebox(“操作成功“) insert into 图书基本信息表(图书编号,书名,作者,出版社,库存量) value( a,b,c,d,f)thisform.refreshthisform.init endifEndif Command2 的 click event 代码: Thisform.release

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

13、ype=0 sele 图书基本信息表 go topdo while .not. eof()if 借阅状态=.T.t3=allt(图书编号)thisform.pageframe1.page2.Combo2.additem(t3)endifskip enddoCommand1 的 click event 代码: t1=allt(thisform.pageframe1.page1.Combo1.value) t2=allt(thisform.pageframe1.page1.Combo2.value) s1=.T. sele 图书基本信息表locate for t2=allt(图书编号) if fo

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

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

16、allt(图书编号) if found() t4=allt(书名) endifif allt(thisform.pageframe1.page2.text3.value)=“未找到“Messagebox(“未找到此书“,0,“提示“)thisform.pageframe1.page2.Combo2.setfocuselsesele 借书表go toplocate for allt(read 编号)=x1 and allt(书名)=t4if found()messagebox(“归还成功“,0+48,“提示“)delepacksele 图书基本信息表replace 借阅状态 with y1 for x2=allt(isbn) elsemessagebox(“此人未借此书“,0+48,“提示“) endif endifCommand2 的 click event 代码: thisform.releaseCombo

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

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号