图书管理系统设计论文34788.doc

上传人:文库蛋蛋多 文档编号:3937508 上传时间:2023-03-28 格式:DOC 页数:24 大小:239.50KB
返回 下载 相关 举报
图书管理系统设计论文34788.doc_第1页
第1页 / 共24页
图书管理系统设计论文34788.doc_第2页
第2页 / 共24页
图书管理系统设计论文34788.doc_第3页
第3页 / 共24页
图书管理系统设计论文34788.doc_第4页
第4页 / 共24页
图书管理系统设计论文34788.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《图书管理系统设计论文34788.doc》由会员分享,可在线阅读,更多相关《图书管理系统设计论文34788.doc(24页珍藏版)》请在三一办公上搜索。

1、图书管理系统设计摘要:随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书管理系统就必不可少了,本文介绍了在Visual Foxpro6.0环境开发本系统的详细过程,提出实现图书信息管理基本目标,从而推动迈向数字化图书馆的步伐,并阐述系统结构设计和功能设计,从图书的入库登记到查询浏览,从读者的注册到图书的借阅,形成了一个整体自动化管理模式。关键词:图书管理,借阅,浏览,读者注册,Visual

2、Foxpro图书管理系统一、系统设计的目的意义当今计算机及网络技术飞速发展,计算机应用在全球范围内日益普及,而社会也正快速向信息化社会前进,信息系统的作用也越来越大。现在我国的各中小城市的图书馆的图书管理和借阅管理还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被以计算机为基础的信息管理所取代,因此根据图书馆目前的实际情况来开发一套新的图书管理系统是十分必要的。图书管理信息化是信息发展的必然趋势。通过对管理系统模型的研究,提出一套构造图书信息管理系统模块的方法,并利用数据库、信息系统分析所学的知识,结合其它图书管理业务常识,

3、建立相关数据模型,利用面向对象开发工具对其进行设计与开发。建立一套有效的图书信息管理系统,可以减少工作量,将管理工作科学化、规范化,提高图书馆管理的工作质量和工作效率。二、系统需求分析1.系统概述适用于单位、机关、院校等部门的图书馆及各中小型书店管理软件,该系统界面友好,操作简便,能完成添加图书信息,修改图书信息,查询图书信息,添加读者类别,修改读者类别,查询读者信息,修改读者信息等一系列图书管理功能,开发本系统的总体任务是实现图书管理的系统化和自动化,帮助管理人员更好更高效地完成图书管理工作。2.用户需求分析信息需求:随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐

4、地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书管理系统就必不可少了,本系统从图书的入库登记到查询浏览,从借书证发放到图书的借阅,形成了一个整体自动化管理模式。功能需求:一方面是图书馆工作人员通过图书管理系统来管理各类图书,使得图书馆的各项工作能够有序地进行,从而满足用户的需求;另一方面是用户能通过该系统来查询图书馆中的各类图书,来确定自己需要的书籍的借阅情况,为借阅做好准备;第三方面是对图书馆数据库管理的需求,数据库在系统中扮演着极其重要的角色,所以能对系统

5、数据库进行安全和全面的管理也成为了图书管理者的一个重要需求。系统功能模块图如图2-1:图书管理系统借阅者管理员查询个人信息查询图书信息借阅图书预订图书归还图书读者信息管理图书信息管理系统维护图2-1 系统功能模块图安全性要求:计算机系统的安全治理是一个庞大、复杂、面广的系统工程。安全的核心是人,必须以人为核心进行安全管理。采用各种先进的安全技术,便系统免受非法攻击,排除没有访问权限的使用者窃取机密信息,确保系统安全可靠的运行。本系统将每个用户的口令存入起来,形成口令表,通常以文件或数据库形式存放。如果以明文的形式存放,则很容易被熟悉系统的人偷取,为了提高基于口令的身份识别方案的坚强度,应该在口

6、令方案中引入加密机制。3.系统功能模块本系统由图书管理、图书销售、读者管理、图书服务、系统管理五个主要子系统组成。(1)图书管理部分:这一部分包括图书入库和修改图书信息两部分。其中,图书入库操作可以添加图书信息;修改图书信息操作可以修改图书的相关信息,如书名、作者、编号等,还可以删除图书信息,另外还提供一定的条件查询,使管理员能够及时地掌握图书状态信息,使管理员和读者能够快速的找到需要的图书。(2)图书销售部分:这一部分包括销售记录和销售查询两部分。其中销售记录可以记录售出的图书的相关信息及售出的数量;销售查询可以通过书名、作者、出版社查询已售出的图书,并向管理员和读者提供打印功能。(3)读者

7、管理部分:这一部分包括录入读者信息和修改读者信息两部分。其中,录入读者信息也即添加读者信息;修改读者信息,可以修改读者的相关信息,如姓名、编号、联系电话等,还可以删除读者的信息。(4)图书服务部分:这一部分包括图书查询和借还图书两部分,图书查询提供按书名查询、按作者查询和按出版社查询,还提供预约图书的功能;借还图书可以通过输入自己的编号来归还图书,并可查询自己已借出的图书。 (5)系统管理部分:这一部分包括用户注册、密码修改以及退出系统。用户注册用来新用户加入本系统;修改密码向用户提供密码修改服务。4.各子系统的数据流图(1)图书信息数据流图已入库图书信息图书图书入库查询图书信息管理员图书入库

8、图书信息图书信息图书信息已入库图书信息图书信息图书信息入库图书信息表图2-2 图书信息数据流图已注册读者信息(2)读者信息数据流图读者读者注册查询读者信息管理员读者注册读者信息表读者信息读者信息读者信息已注册读者信息读者信息读者信息图2-3 读者信息数据流图(3)图书售出信息流图已售出图书信息图书查询已售出图书信息管理员已售出图书信息表图书信息图书信息已售出图书信息图2-4 图书售出信息流图(4)图书借还情况流图读者图书借还查询借还信息管理员图书借还图书借还信息表借还情况借还情况借还情况读者借还图书信息读者借还图书信息借还情况借还情况图2-5 图书借还情况流图(5)总数据流图图书入库管理员图书

9、信息表查询图书信息图书入库图书已入库图书信息已入库图书信息图书信息图书信息图书信息图书信息查询读者信息读者注册读者读者注册读者信息表图书信息读者信息读者信息读者信息读者信息已注册读者信息已注册读者信息已售出图书信息表图书信息图书信息已售出图书信息已售出图书信息图书借还查询借还信息图书借还图书借还信息表借还情况借还情况借还情况读者借还图书信息读者借还图书信息借还情况借还情况查询售出图书信息图2-6 总数据流图5.数据字典(1)数据项:图书信息数据字典:表2-1 图书信息数据字典属性名类型长度备注编号Char10图书入库时的号码书号Char28书本上的号码书名Char40图书的全名作者Char20

10、参与本书写作的所有作者出版社Char15定价Char6册数Int3该种图书入库的数量入库日期Date8借还情况数据字典:表2-2 借还情况数据字典属性名类型长度备注书号Char28读者所借或所还图书的书号读者编号Char6读者借阅证上的编号借阅日期Date8读者借阅本书的日期预约日期Date8读者预约本书的日期借阅天数Date8从借阅到归还本书时的天数归还日期Date8读者归还本书的日期借阅情况Char6标注本书是否已归还或预约是否延期Logical1标示本书是否需要延期注册信息数据字典:表2-3 注册信息数据字典属性名类型长度备注用户名Char8读者注册时的名字密码Char7读者注册时所设的

11、密码读者信息数据字典:表2-4 读者信息数据字典属性名类型长度备注读者编号Char10读者注册时的号码姓名Char6读者的姓名性别Char6年龄Char2详细住址Char28读者的详细家庭住址联系电话Char11读者的联系方式注册日期Date8读者的注册日期压金Numeric4读者注册时所交的压金是否允许借Logical1图书售出信息数据字典:表2-5 图书售出信息数据字典属性名类型长度备注书号Char26图书上的号码书名Char20图书的全名作者Char18参与本书写作的所有作者出版社Char16定价Numeric6销售价格Numeric6本书的售出价格销售数量Numeric6售出本书的数量

12、销售日期Date8售出本书的时间标识Logical1(2)数据结构表2-6 数据结构表数据结构名组成图书信息编号,书号,书名,作者,出版社,定价,册数,入库日期读者借还信息书号,读者编号,借阅日期,预约天数,借阅天数,归还日期,借阅情况,是否延期读者信息读者编号,性别,年龄,详细地址,联系电话,注册日期,压金图书销售信息书号,书名,作者,出版社,定价,销售价格,销售数量,销售日期注册用户信息用户名,密码(3)数据流表2-7 数据流数据流名数据流来源数据流去向组成登记入库图书图书图书信息表图书相关信息查询入库图书图书信息表管理员图书相关信息登记读者信息读者读者信息表读者相关信息查询读者信息读者信

13、息表管理员待添加的隐藏文字内容2读者相关信息登记读者借还信息读者图书借还信息表图书借还情况查询读者借还信息图书借还信息表管理员图书借还情况登记售出图书信息图书售出图书信息表售出图书信息查询售出图书信息售出图书信息表管理员售出图书信息(4)数据存储表2-8 数据存储表数据存储名输入的数据流输出的数据流组成图书信息表图书信息图书信息图书信息读者信息表读者信息读者信息读者信息图书借还信息表图书借还信息预约图书信息图书借还信息预约图书信息图书借还信息预约图书信息售出图书信息表售出图书信息售出图书信息售出图书信息(5)处理过程图2-9 处理过程表处理过程名输入数据流输出数据流登记入库图书图书信息图书信息

14、查询入库图书图书信息图书信息登记读者信息读者信息读者信息查询读者信息读者信息读者信息登记读者借还信息读者借还信息读者借还信息查询读者借还信息读者借还信息读者借还信息登记售出图书信息售出图书信息售出图书信息查询售出图书信息售出图书信息售出图书信息三、概念结构分析1.各子系统E-R图(1)图书管理子系统:图书信息图书编号书号书名作者者出版社定价wwjwwj 价入库日期册数图3-1 图书管理子系统(2)借还情况子系统:借还情况书号读者编号借阅日期预约日期借阅天数归还日期借阅情况是否延期图3-2 借还情况子系统(3)注册用户信息子系统:注册用户用户名密码图3-3 注册用户信息子系统(4)读者信息子系统

15、:读者信息读者编号姓名性别年龄详细住址联系电话注册日期压金图3-4 读者信息子系统(5)图书销售子系统:图书销售书号书名作者出版社定价销售价格销售数量销售日期图3-5 图书销售子系统2.全局E-R图图书信息图书编号书号册数入库日期定价出版社wwjwwj 价作者书名借还情况归还日期借阅日期预约日期借阅天数读者编号借阅情况是否延期读者信息姓名性别年龄详细住址联系电话注册日期压金图书销售销售价格销售数量销售日期图3-6 全局E-R图四、逻辑结构设计1.E-R图向关系关系模式转化 booksinfo(编号,书号,书名,作者,出版社,定价,册数,入库日期) lendinfo(书号,读者编号,借阅日期,预

16、约天数,借阅天数,归还日期,借阅情况,是否延期) readerinfo(读者编号,性别,年龄,详细地址,联系电话,注册日期,压金) saleinfo(书号,书名,作者,出版社,定价,销售价格,销售数量,销售日期)passwordinfo(姓名,密码)2.关系模式的优化在关系模式passwordinfo (姓名,密码)中,姓名,密码F因此,passwordinfo2NF。在关系模式booksinfo(编号,书号,书名,作者,出版社,定价,册数,入库日期)有如下函数依赖:(书号,书名,作者)编号入库日期(书号,书名,作者)册数编号所以,booksinfo3NF。在关系模式lendinfo (书号,

17、读者编号,借阅日期,预约天数,借阅天数,归还日期,借阅情况,是否延期)中,有如下函数依赖:借阅日期(读者编号,借还情况,是否延期)它只有一个码“读者编号”,这里没有任何属性对lendinfo部分依赖与传递依赖,所以,lendinfo3NF。同时lendinfo中读者编号是唯一决定因素,所以lendinfoBCNF。在关系模式readerinfo (读者编号,性别,年龄,详细地址,联系电话,注册日期,压金)中,有如下函数依赖:(性别,年龄,注册日期)读者编号它只有一个码“读者编号”,这里没有任何属性对readerinfo部分依赖与传递依赖,所以,readerinfo3NF。同时readerinf

18、o中读者编号是唯一决定因素,readerinfoBCNF。在关系模式saleinfo (书号,书名,作者,出版社,定价,销售价格,销售数量,销售日期)中,有如下函数依赖:销售日期(书号,书名,作者)所以saleinfoj2NF。3.设计用户子模式为了方便查询,建立了如下用户视图:图书信息视图(编号,书号,书名,作者,出版社,定价,册数,入库日期)图书借还视图(书号,读者编号,借阅日期,预约天数,借阅天数,归还日期,借阅情况)读者信息视图(读者编号,性别,年龄,详细地址,联系电话,注册日期,压金)图书销售视图(书号,书名,作者,出版社,定价,销售价格,销售数量,销售日期)五、物理结构设计数据库存

19、储方法分析目前,大多数主流数据库管理系统把用户数据表示为关系,现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。为了对比结构差的关系和结构好的关系之间的差别,以本文所设计的图书管理系统中的图书和图书借阅者关系为例来说明,假若设计关系R1(借书证号,姓名,性别,身份编号,身份证,联系电话,图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量);这个关系的问题出在它有关于两个不同主题的数据,就是图书借阅者和图书。用这种方式构成的关系在进行修改时,会出现问题。因为一个图书借阅者可能借阅多本书

20、,如果某个图书借阅者的某个字段(如联系电话)出现变更,它所借阅的图书记录(可能多个)也就必须变化,这是不好的。因此数据用两个关系表示更好。现在如果某图书借阅者改变了它的联系电话,只有关系(表)user的对应行需要改变。当然,要想产生一个,显示图书名称及其借阅者联系电话的报表,就需要将这两个表的行结合起来。结果表明,将关系分别存储,在生成报表的时候将它们结合起来,比把它们存储在一个合成的表中更好: 读者(读者编号,性别,年龄,详细地址,联系电话,注册日期,压金) 图书(编号,书号,书名,作者,出版社,定价,册数,入库日期)六、系统核心模块的设计与实现1.功能简介(1)图书管理模块 录入图书和修改

21、图书的相关信息(如图6-1,图6-2)。在录入图书信息界面中双击“确定”按钮输入以下代码:use booksinfoif allt(thisform.text1.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text1.setfocuselse if allt(thisform.text2.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text2.setfocus else if allt(thisform.text3.value)= messagebox(请输入完整的必要信息!,64,提示) th

22、isform.text3.setfocus else if allt(thisform.text4.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text4.setfocus else if allt(thisform.text5.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text5.setfocus else if allt(thisform.text6.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text6.setfocus else if

23、allt(thisform.text7.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text7.setfocus else append blank repl 书号 with allt(thisform.text1.value) repl 编号 with allt(thisform.text2.value) repl 书名 with allt(thisform.text3.value) repl 作者 with allt(thisform.text4.value) repl 出版社 with allt(thisform.text5.value)

24、 repl 定价 with allt(thisform.text6.value) repl 册数 with allt(thisform.text7.value) repl 备注 with allt(thisform.edit1.value) repl 入库日期 with date() mand2.click endif endif endif endif endif endifendifuse双击“重填”按钮输入以下代码:thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thi

25、sform.text5.value=thisform.text6.value=thisform.text7.value=thisform.edit1.value=thisform.text1.setfocus双击“返回”按钮输入:thisform.release在修改图书界面中双击“第一条”按钮,输入如下代码:go topnhere=recno()thisform.label8.caption=allt(str(recno()mand4.enabled=.t.mand6.enabled=.t.thisform.init双击“上一条”按钮,输入如下代码:skip -1if bof() this.

26、enabled=.f. mand3.enabled=.f. messagebox(已经到第一条记录了!,48,提示) go top nhere=recno()else thisform.init nhere=recno()endifmand4.enabled=.t.mand6.enabled=.t.图6-1 录入图书信息图6-2 修改图书信息(2)图书销售模块记录图书售出的信息并可供管理员查询售出图书的相关信息,并提供相应的查询方法(如图6-3,图6-4)。代码的添加类似于图书录入界面的代码添加。其中按钮“打印清单”代码如下:if !printstatus()sele saleinforepo

27、rt form xsqd.frx for 标识=.t. to printerthisform.list1.clearthisform.label11.caption=价格总计:if allt(thisform.list1.value)= locate for 标识=.t. do while found() repl 标识 with .f. continue enddoendifelsemessagebox(打印机没而准备好!)endifthisform.refresh图6-3 销售记录图6-4 图书销售查询 (3)读者管理模块在此模块录入新注册读者的相关信息,并可修改已注册读者的相关信息(如图

28、6-5,图6-6)。界面上各种按钮代码的添加类似于图书录入界面的代码添加。图6-5 录入读者信息图6-6 修改读者信息(4)图书服务模块该模块供读者查询借阅的图书,而且也可以查询预约的图书(如图6-7,图6-8)。其中“归还”按钮的代码如下:sele lendinfoif allt(thisform.text5.value)= messagebox(请选择要归还的图书!,64,提示)else locate for allt(读者编号)=allt(thisform.text1.value); .and.allt(书号)=allt(thisform.text5.value); .and.allt(

29、借阅情况)=借阅 if !eof() repl 归还日期 with date() repl 借阅情况 with 已还 sele 书号,借阅日期,归还日期 from lendinfo into cursor lendls; where allt(读者编号)=allt(thisform.label9.caption); .and. allt(借阅情况)=借阅.or.allt(借阅情况)=已还 thisform.grid1.init endifendif图6-7 图书查询界面图6-8 借还图书(5)系统管理模块 该模块提供了新用户注册,已注册用户修改密码的功能(如图6-9,图6-10)。“注册”按钮

30、的代码如下:sele passwordinfoif allt(thisform.text1.value)= messagebox(请输入用户名!,64,提示) thisform.text1.setfocuselse locate for allt(用户名)=allt(thisform.text1.value) if !eof() messagebox(用户名已存在,请重新输入!,64,信息提示) thisform.text1.value= thisform.text2.value= thisform.text1.setfocus() else if allt(thisform.text2.va

31、lue)= messagebox(请输入密码!,64,提示) thisform.text2.setfocus else if !allt(thisform.text2.value)=allt(thisform.text3.value) messagebox(确认密码错误,请重新输入!,64,信息提示) thisform.text3.value= thisform.text3.setfocus else append blank repl 用户名 with allt(thisform.text1.value) repl 密码 with allt(thisform.text2.value) thi

32、sform.text1.value= thisform.text2.value= thisform.text3.value= endif endif endifendif“修改”按钮的代码可参照“注册”按钮的代码添加。图6-9 用户注册图6-10 修改密码五、总结一个完整的图书馆管理信息系统到此就制作完成了。通过这次课程设计,使我受到了一次用专业知识、专业技能分析和解决问题的全面系统的锻炼。使我在综合知识的选用方面,在应用软件开发的基本思想、方法方面,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。为日后成为合格的应用型人才打下良好的基础。这次在指导老师的帮助下,在同学的帮助下,基本上完成了设计任务,在软件的设计方面也有了一定的提高,熟练掌握了VISUAL FOXPRO命令和编程技巧,为今后走上工作岗位打下了专业基础。在这次的课程设计中,我深深地体会到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面都还有欠缺。最后,我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的课程设计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号