《学校图书借阅管理系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《学校图书借阅管理系统课程设计报告.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学号学校图书借阅管理系统课程设计报告题目:学校图书借阅管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录1、设计内容及要求31.1设计内容31.2设计要求32、概要设计42.1功能结构图42.2主要功能说明:53、设计过程或程序代码63.1 主程序:63.2 封面代码83.3 入口83.4 读者登陆界面:93.5 管理员登陆界面:113.6 读者录入界面:133.7 读者修改界面:153.8 查询借阅,归还表单:173.9 图书录入表单:183.10 图书修改界面:213.11 退出界面224、设计结果与分析235、参考文献271、设计内容及要求1.1设计内容
2、(1) 系统名称:图书管理系统(2) 系统概况:随着科技的进步和人们日益增长的精神需求,书籍成为了人们日常生活中不可缺少的一部分,图书馆成为了当代学生甚至社会名流的主要学习场所,在学习工作之余,去图书馆借上一两本书是人们的一种趋势,并且随着因特网和计算机技术的飞速发展,建立一套功能完善的图书管理系统是非常必要的,可以让图书管的管理更加流畅和安全,高效。1.2设计要求本系统的功能模块包括5大板块:图书管理,读者管理,图书服务,数据安全,系统管理。本系统具有的主要功能:1.不同的身份登录本系统具有不一样的权限,管理员具有全部权限,而读者只有借阅和查询图书的权限。2.图书管理功能,用于实现录入和修改
3、图书信息。3.图书服务,用户借阅图书和还书以及查询图书。4.读者管理功能,用于对新读者的信息录入和已经存在的读者的信息的修改。5.数据安全主要是用于对数据的备份和恢复,方便管理。6.系统管理功能,主要是用于对本系统的维护和管理。1.3 数据字典用数据字典描述数据库的设计,便于维护和修改。为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:规范化地重组数据结构;对数据进行规范化表达。关系数据结构的建立,在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中
4、,一个规范化数据库系统结构就建立起来了。字段名类型宽度小数位数索引编号字符型10书号字符型28书名字符型40作者字符型20出版社字符型15定价数值型60册数数值型30图书种类字符型18 入库日期日期型8备注备注型4表Booksinfo字段名类型宽度小数位数索引用户名字符型10登录时间日期型 8离开时间日期型8表Dairy字段名类型宽度小数位数索引读者编号字符型6书号字符型28借阅日期日期新8预约日期日期型8借阅天数字符型8归还日期日期新8借阅情况字符型8是否延期罗辑型1备注备注型4表Lendinfo字段名类型宽度小数位数索引用户名字符型8密码字符型7册数数值型30表passwordinfo字段
5、名类型宽度小数位数索引读者编号字符型10密码字符型10姓名字符型6性别字符型6年龄字符型2详细住址字符型28联系电话字符型11注册日期日期型8是否允许借逻辑型1备注备注型4表Readeruinfo1.4 数据流图2、概要设计2.1结构图主程序main.prg欢迎界面(start.scx)入口.scx读者登陆.or.管理员登陆图书管理读者管理图书服务数据安全系统管理图书入库图书信息修改读者信息录入读者信息修改图书查询借书还书数据备份数据恢复密码设置退出打开数据库.library.dbc主菜单.menu_main.mnx2.2 主要功能说明: 一欢迎界面:改界面主要是作为本系统的封面,程序运行后该
6、界面会出 现在屏幕中间,操作者可以点击该界面即可计入下一个窗体。 二入口:本系统中权限的设置主要是靠入口,选择不同的登录身份进入 系统后将会得到不一样的执行权限。若选择退出系统,则将会退出整个软件。三. 读者登陆界面:该窗体主要是给一般读者登陆系统执行图书的查询和借阅功能的,当读者输入的编号和密码正确后即可进入系统,当用户输入用户名和密码出现错误后,系统会提示用户重新输入。当用户三次输入均出现错误时,系统会自动关闭。四.管理员登陆界面:该窗体主要是提供给系统管理员进入系统进行操作的,其中用法和读者登陆界面一样,不同的是进入系统后具有的操作权限不同。管理员具有全部权限。五.图书管理:(1)图书信
7、息录入界面:此界面主要用于首次录入图书信 息,因此该界面应该具有输入图书所有信息的元素, 如图书编号,书名,书号,作者. (2)图书信息修改界面:此界面主要是用于已经存在馆里的图书的信息的修改,因此该界面应该有查找和修改的功能,所以除了具有图书信息录入界面的元素外,还应该有上一条,下一条,查询等元素。六.读者管理:(1)读者注册界面:此界面主要是用于录入新读者的信息, 因此此界面应该具有读者的所有信息,另外应该还具 有赋予读者一个进入系统的密码的元素。 (2)读者信息修改:此界面主要用于对已经注册过本系统 的读者的信息的修改,包括密码等等元素。七图书服务:(1)图书查询界面:此界面主要是用于查
8、询,借阅,预 约图书,查询时可按图书的书名,作者,出版社来 查询,查询到的图书用表格显示,并且可以显示图书 的借阅情况。 (2)借书还书界面:该界面主要是用于读者的借书和还 书的情况,并且读者可以归还图书。八数据安全:(1)数据备份界面:该界面主要用于对本系统的重要数 据进行备份,以便不小心失去数据后可以恢复数据 提高系统的安全性。 (2)数据恢复界面:该界面是和数据备份界面配合使用的,当需要恢复已经备份的数据时,即可使用该窗体。九系统管理:(1)帮助和相关界面:该界面主要是向使用本系统的读者或者管理员提供相应的提示和帮助,同时显示一些关于本系统的相关信息。 (2)密码设置界面:该界面主要是用
9、于管理员的注册和密码修改,注册界面可以注册新的管理员,密码修改界面可以对已经存在的管理员的信息的修改。 (3)退出本系统界面:该界面主要是用来安全退出整个软件,包括退出了vfp软件 (4)恢复vfp系统界面:该界面主要是用来退出当前运行的图书管理系统,恢复到vfp系统继续进行操作。2.3 E-R图1.表Booksinfo E-R图Booksinfo编号书号图书种类册数定价出版社作者书名2.表DairyDairy E-R图作者编号图书种类 3.表Lend infoE-R图Lendinfo备注预约日期读者编号是否延期归还日期书号借阅情况册数借阅天数借阅日期4.表Passwordinfo E-R图P
10、asswordinfo密码用户名5.表Lendin备注Lendinfofo E-R图是否允许借读者编号性别密码注册日期详细地址联系电话册数年龄姓名3、设计过程或程序代码3.1 主程序:set talk offset safe offset sysmenu offclose all *系统环境设计release windows 常用,项目管理器,表单控件,布局,命令modify window screen title 迷你图书管理系统zoom window screen max*屏幕和标题设置set defa to left(sys(16),rat(,sys(16)*设置路径set path t
11、o data;form;pic;class*系统环境设计open database library*打开数据库_screen.visible=.f._screen.icon=.icon_love_11.icopublic cyonghu,cmima,jiage,checkedchecked=1cyonghu=cmima=do form start *执行表单,开始进入系统read events_screen.visible=.t._screen.picture=lib.gifdo form 入口read events do menu_main.mprread eventsquit3.2 封面代
12、码SET BELL ONSET BELL TO win.wav,2CHR(7)计时器:if thisform. label5. left thisform. widththisform. label5. left = thisform. label5. left + 1elsethisform. label5. left = -110endif3.3 入口其中读者入口的click event 代码为:do form dzdlthisform.release管理员入口的click events 代码为:do form logo thisform.release3.4 读者登陆界面:登陆按钮的cl
13、ick代码为:sele readerinfoif n3if allt(thisform.text1.value)= thisform.text1.setfocus wait window at 17.5,65 用户名为空,请输入else if allt(thisform.text2.value)= thisform.text2.setfocus wait window at 20,65 密码为空,请输入 else locate for allt(读者编号)=allt(thisform.text1.value) if found() if allt(密码)=allt(thisform.text2
14、.value) thisform.release clear event else thisform.text2.value= thisform.text2.setfocus wait window at 20,65 密码错误,请重新输入 n=n+1 endif else thisform.text1.value= thisform.text2.value= thisform.text1.setfocus wait window at 17.5,65 没有此用户,请重新输入 n=n+1 endif endifendifelse n=1 thisform.text1.enabled=.f. th
15、isform.text2.enabled=.f. mand1.enabled=.f. thisform.label1.caption=登录已错误三次,系统即将自动退出!”endif该表单的初始化init代码:public nn=1checked=03.5 管理员登陆界面:确认按钮的click代码:sele passwordinfoif nnum go bottom thisform.init else go nhere thisform.init endifendif(子表单)馆藏图书表单3.8 查询借阅,归还表单:3.9 图书录入表单:该表单右边的统计册数的功能的实现方法:在表单的初始化的
16、init :public ceshu,result1,result2,result3,result4SET EXCLUSIVE ON use booksinfosum 册数 to ceshuthisform.label13.caption=allt(str(ceshu)+册index on 图书种类 tag tszlsum for 图书种类=计算机 to result1sum for 图书种类=基础学科 to result2sum for 图书种类=文学小说 to result3sum for 图书种类=其他 to result4thisform.label16.caption=allt(st
17、r(result1)+ 册thisform.label18.caption=allt(str(result2)+ 册thisform.label20.caption=allt(str(result3)+ 册thisform.label22.caption=allt(str(result4)+ 册(该部分代码运用了全局变量,建立索引,统计求和等方面的知识点)“确定“按钮的click 代码:use booksinfoif allt(thisform.text1.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text1.setfocuselse if
18、allt(thisform.text2.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text2.setfocus else if allt(thisform.text3.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text3.setfocus else if allt(thisform.text4.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text4.setfocus else if allt(thisform.text5.value)= me
19、ssagebox(请输入完整的必要信息!,64,提示) thisform.text5.setfocus else if allt(thisform.text6.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text6.setfocus else if allt(thisform.text7.value)= messagebox(请输入完整的必要信息!,64,提示) thisform.text7.setfocus else append blank repl 书号 with allt(thisform.text1.value) repl 编号 wi
20、th allt(thisform.text2.value) repl 书名 with allt(thisform.text3.value) repl 作者 with allt(thisform.text4.value) repl 出版社 with allt(thisform.text5.value) repl 定价 with allt(thisform.text6.value) repl 册数 with val(allt(thisform.text7.value) repl 备注 with allt(thisform.edit1.value) repl 入库日期 with date() if
21、allt(bo1.value)= repl 图书种类 with allt(bo1.displayvalue) else repl 图书种类 with allt(bo1.value) endif mand2.click endif endif endif endif endif endifendifuse“重填” click代码:thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thisform.text5.value=thisform.text6.value=thisform.
22、text7.value=thisform.edit1.value=thisform.text1.setfocus3.10 图书修改界面:3.11 退出界面退出系统时,点击“系统管理”“退出本系统”即可。4、设计结果与分析4.1运行结果选择用什么方式登陆管理员入口读者入口修改图书记录读者注册管理员可以来修改读者信息,需要先点击修改后才可修改查询、借阅、预约图书查询个人借阅及归还图书情况数据备份数据恢复可以用来注册管理员账号或者修改管理员自己的密码最后退出系统时,需要点击菜单“系统管理”“退出本系统”、4.2 分析本系统主要是针对广大喜爱知识、愿不断充实自己的学生而准备的,最主要的功能是管理员权限
23、的管理功能,不仅可以处理用户的借还书操作,也支持图书的添加、删除、修改操作,对用户的操作分为管理员和普通用户两种角色,每种角色都有添加、删除、修改的功能,为了方便管理,不论身份都可以浏览所有图书资料,也可查询,管理员比普通用户多一项选择,这样更容易管理。每个登录到系统,都有信息提示当哪种用户类型,用户的姓名等信息,使读者用起来一目了然。普通用户功能相对简单,只能浏览图书、查看已借、查询图书、修改资料4个功能。修改功能中的有些项不能进行更改,这时就存在权限限制,如若还需修改这些信息,则要联系管理员。整个系统的运行环境简单,对技术、数据库的要求相对较高,但整个操作过程,简单易懂,为刚接触的用户作出了巨大的贡献。使用过程中数据做到了实时更新,而且管理比较方便,许多地方都是通过代码实现,不需太我的手动操作,这是该系统的一大特色。由于是第一次独立完成一个小型系统,因经经验不足,技术欠缺,系统也存在一定的问题,我会以后的过程中不断学习,提高自我能力,争取将来能做出好的作品。5、参考文献1刘瑞新,汪远征.VFP程序设计教程.2015.1.1,第三版:页码1-3122吴波、郭川军. Visual FoxPro 6.0程序设计.2015.2.1第一版: 页码:1-212
限制150内