数据库课程设计-图书馆图书借阅管理系统.doc_第1页
数据库课程设计-图书馆图书借阅管理系统.doc_第2页
数据库课程设计-图书馆图书借阅管理系统.doc_第3页
数据库课程设计-图书馆图书借阅管理系统.doc_第4页
数据库课程设计-图书馆图书借阅管理系统.doc_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计2012年 03 月 13 日课程设计任务书一、课程设计时间2012年3月5日至2012年3月11日,共计1周,20学时。二、课程设计内容用vf数据库软件完成以下任务:本系统用来对图书馆图书借阅进行数字化管理,主要涉及的管理任务有:图书信息管理,读者信息管理,功能模块:借书,还书(超期要交费)等。三、课程设计要求1. 程序质量: 贯彻事件驱动的程序设计思想,使用可视化对象来维护数据库。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰,如有登陆界面等。 用户界面中的菜单至少应包括:“图书信息管理”、“读者信息管理”、“借书”、“还书”、 “退出”等。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和数据库系统程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师: 学生签名: 五、说明书成绩:六、教师评语: 沈阳航空航天大学设计用纸目录一、 需求分析1二、 系统主要功能模块5三、 数据库设计7四、 各功能模块的具体设计9五、 个人总结.28六、 参考文献.2825一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个较典型的数据管理系统,其使用者被假定为某图书馆的借阅管理人员,系统应该具有安全、稳定、功能齐全的特点。1. 安全性分析系统管理的数据涉及到图书馆的所有同学借阅情况,数据量较大且是一种基础性数据,能够为其它方面的图书管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修改。2. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3. 主要功能分析(1)系统登录:允许用户输入编号、密码等进入系统。(2)数据维护:该模块是针对于管理员操作,一般包括浏览、修改等,对于输入的数据,或被修改的数据应该保存到某个磁盘文件中,实现永久存储。(3)数据查询:用户输入查询条件,系统规则地在界面显示查询结果,且显示的数据尽量全面。当输入图书编号时,可查询到借阅该书的学生的学号、姓名、借书时间等信息;当输入藏书馆编号时,可查询到关于此书所在图书馆的位置。(4)功能界面:主要分析本系统的功能界面的主要特点,及实现的具体二、系统主要功能模块学生管理系统基于visual foxpro 6.0中文版开发,vfp在数据库开发方面具有方面,实用,简单,直接等优点,同时其也具有一定的局限性。本系统主要面图书管理员开发使用,因此主要侧重于系统的使用性和方便性,同时在安全性方面,我们也十分重视。特别是操作员级别的划分等密码管理,我们都做了仔细的分析研究。1. “图书馆图书借阅系统”的模块结构图(如图1)操作系统登陆界面 用户名密码错误主界面 正确主菜单 系统管理读者信息管理图书馆信息维护退出还书操作员管理借书更改数据图书查询界面图书信息管理 图1 系统模块划分2、本系统的主要内容(如图2)图 2 项目管理器三、数据库设计数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。本系统的数据库包括4个表,即学生基本信息表,学生成绩表等。1.学生借阅信息表(xsjb.dbf)学生借阅信息表(xsjb.dbf)用于记录学号、姓名、班级等信息,其逻辑结构如表1所示。表1 学生基本信息表字段名称字段类型宽度小数位null学号c13否姓名c10否班级c7否借书日期d8还书日期d8借书编号nc102.图书借阅信息表(tsb.dbf)图书借阅信息表(tsb.dbf)用于图书的基本等信息,包括出版社、图书编号、借阅状态、藏书馆编号等信息,其逻辑结构如表2所示。 表2 图书借阅信息表字段名称字段类型宽度小数位null藏书馆编号c10否出版社c20否图书编号c15否借阅状态l1图书名c18四、各功能模块的具体设计根据系统规划和需要分析,把系统划分为学生信息管理,学生成绩查询,系统管理三个模块。本系统用到的主要有以下文件:图书馆图书借阅系统.pjx、登陆界面.scx、主界面.scx、读者信息管理.scx、图书借阅系统.mpr。程序的调用关系如下:登陆界面scx中调用主界面界面表单.scx,口令正确则调用系统菜单main_menu.mpr。各菜单项调用相对应的表单。1在登陆界面中用户名和密码到下一个界面实现为: 图3 登陆界面(1)登陆界面中主要控件属性如表3所示对象名称属性名称属性值form1caption登陆界面form1auto center.t.command1caption确定command2caption取消text1nametext1text2nametext2text2passwordchar*(2)数据环境:密码.dbf(3)事件代码:1)command1的click事件:set exact on select 密码 if allt(thisform.text1.value)= messagebox(用户名为空,请输入!,64,提示) thisform.text1.setfocuselse if allt(thisform.text2.value)= messagebox(用户名为空,请输入!,64,提示) thisform.text2.setfocus else locate for allt(用户名)=allt(thisform.text1.value); and allt(密码)=allt(thisform.text2.value) if found() do form 主界面 thisform.release else messagebox(输入用户名或密码错误,45,提示) thisform.text1.value= thisform.text2.value= thisform.text1.setfocus endif endif endif2)command2的click事件:close all thisform.release2、运行登陆界面后,进入到主界面 (图3) 图3 系统主界面1) 将图书借阅系统.mpr菜单挂到系统调主界面中。2) form1的init事件代码:do 图书借阅系统1.mpr with this,.t.3) 属性show window属性值:2-作为顶层表单4)点击图书信息维护出现两个子菜单:图书信息管理,图书查询界面。点击读者信息管理进入到读者信息管理.scx,点击借书,还书分别进入到借书scx、还书scx,点击退出退出系统。5)依次进入到每一个表单中并实现其命令;图书信息管理(图4)(1)图书信息管理scx界面中主要控件属性如表4所示对象名称属性名称属性值form1caption图书信息管理autocenter.t.grid1recordsourcetype1-别名recordsource图书借阅信息表text1controlsource图书借阅信息.图书名text2controlsource图书借阅信息.图书编号text3controlsource图书借阅信息.出版社text4controlsource图书借阅信息.借阅状态cursorlexclusive.t.(2)数据环境中添加表:图书借阅信息dbf(3)事件代码:1)“上一个”按钮的click事件代码:skip -1if bof()go bottomendifthisform.refresh2)“下一个”按钮的click事件代码:skip if eof()go topendifthisform.refresh3)“添加”按钮的click事件代码:if this.caption=添加this.caption=保存endifselect 图书借阅信息append blankgo bottomthisform.text1.setfocus()thisform.refresh4)“修改”按钮的click事件代码:select 图书借阅信息replace 图书名 with alltrim(thisform.text1.value)replace 图书编号 with alltrim(thisform.text2.value)replace 出版社 with alltrim(thisform.text3.value)replace 借阅状态 with thisform.text4.valuemessagebox(修改成功,1)thisform.refresh5)“删除”按钮的click事件代码:select 图书借阅信息sel=messagebox(真的要删除吗?,4,提示信息)if sel=6deletepackusethisform.grid1.recordsourcetype=0thisform.grid1.recordsource=图书借阅信息endif6)“打印”按钮的click事件代码:report form 图书借阅信息.frx to printer7)“打印预览”按钮的click事件代码:report form 图书借阅信息.frx preview8)“退出”按钮的click事件代码:thisform.release3.图书查询scx界面设计(1)图书查询界面表5对象名称属性名称属性值form1caption图书查询界面autocenter.t.grid1recordsourcetype1-别名recordsource图书借阅信息optiongroup1buttoncount3value1txt图书名controlsource图书借阅信息.图书名txt出版社controlsource图书借阅信息. 出版社txt图书编号controlsource图书借阅信息. 图书编号txt藏书馆编号controlsource图书借阅信息. 藏书馆编号text1nametext1(2)数据环境中添加表:图书借阅信息.dbf 图书借阅信息查询 图(5)(3)事件代码:1)“查找”按钮的click事件代码:select 图书借阅信息set filter todo case case thisform.optiongroup1.value=1 set filter to 图书名=alltrim(thisform.text1.value) locate for 图书名=alltrim(thisform.text1.value) case thisform.optiongroup1.value=2 set filter to 图书编号=alltrim(thisform.text1.value) locate for 图书编号=alltrim(thisform.text1.value) case thisform.optiongroup1.value=3 set filter to 藏书馆编号=alltrim(thisform.text1.value) locate for 藏书馆编号=alltrim(thisform.text1.value) endcasethisform.refresh2)“打印”按钮的click事件代码:report form 图书借阅信息.frx to printer3)“打印预览”按钮的click事件代码:report form 图书借阅信息.frx preview4)“退出”按钮的click事件代码:thisform.release4、运行查询界面:(如图7)5.读者信息管理表单的设计学生人事信息的查询,是基于dzjy.dbf表,提供学号,姓名,编号。分别利用不同的命令代码方式实现查询打印功能。功能是便于图书管理员,学生用户的检索查询。1) 读者信息管理界面中主要控件属性如表6所示对象名称属性名称属性值form1caption读者信息管理autocenter.t.gird1recordsourcetype1-别名recordsource读者信息管理txt班级controlsource读者信息管理.班级txt学号controlsource读者信息管理.学号txt姓名 controlsource读者信息管理.姓名2)数据环境中添加表:读者信息管理.dbf3)“打印”按钮的click事件代码:report form 读者信息管理.frx to printer4)“打印预览”按钮的click事件代码:report form 读者信息管理.frx preview5)“退出”按钮的click事件代码:thisform.release 读者信息管理(如图8)6.借书菜单的设计(1)借书借书菜单的设计主要分为图书编号、借阅者学号、姓名、班级、退出系统等六项。在查询出该书的图书编号后可根据借阅者的借书编号记录借阅者的相关信息。数据环境中添加表:读者信息管理.dbf、图书借阅信息.dbf借书的菜单运行如下:(图9)command1按钮的click事件代码:select 图书借阅信息set filter to 图书编号=alltrim(thisform.text5.value)locate for 图书编号=alltrim(thisform.text5.value)replace 借阅状态 with .t.select 学生借阅信息set filter to 学号=alltrim(thisform.text1.value)locate for 学号=alltrim(thisform.text1.value)replace 借书编号 with alltrim(thisform.text5.value)replace 借书日期 with date()thisform.refreshmessagebox(借书书成功)“退出”按钮的click事件代码:thisform.release7.还书菜单的设计还书菜单界面和借书界面比较类似,但较之借书界面,还书界面更复杂,在设计中,会根据借阅者的还书情况去修改图书借阅信息管理中的记录项。1)还书界面设计如图(10)2) 数据环境中添加表:读者信息管理.dbf、图书借阅信息.dbf3) command4按钮的click事件代码:select 图书借阅信息*set filter to 图书编号=alltrim(thisform.text6.value)locate for 图书编号=alltrim(thisform.text6.value)replace 借阅状态 with .f.select 学生借阅信息*set filter to 借书编号=alltrim(thisform.text6.value)loca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论