1、六、参考文献.28一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个较典型的数据管理系统,其使用者被假定为某图书馆的借阅管理人员,系统应该具有安全、稳定、功能齐全的特点。1. 安全性分析系统管理的数据涉及到图书馆的所有同学借阅情况,数据量较大且是一种基础性数据,能够为其它方面的图书管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修改。2. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3. 主要功能分析(1)系统登录:允许用户输入编号、密码等进入系统。(
2、2)数据维护:该模块是针对于管理员操作,一般包括浏览、修改等,对于输入的数据,或被修改的数据应该保存到某个磁盘文件中,实现永久存储。(3)数据查询:用户输入查询条件,系统规则地在界面显示查询结果,且显示的数据尽量全面。当输入图书编号时,可查询到借阅该书的学生的学号、姓名、借书时间等信息;当输入藏书馆编号时,可查询到关于此书所在图书馆的位置。(4)功能界面:主要分析本系统的功能界面的主要特点,及实现的具体二、系统主要功能模块学生管理系统基于Visual FoxPro 6.0中文版开发,VFP在数据库开发方面具有方面,实用,简单,直接等优点,同时其也具有一定的局限性。本系统主要面图书管理员开发使用
3、,因此主要侧重于系统的使用性和方便性,同时在安全性方面,我们也十分重视。特别是操作员级别的划分等密码管理,我们都做了仔细的分析研究。1. “图书馆图书借阅系统”的模块结构图(如图1) 用户名 密码 错误 正确 图1 系统模块划分2、本系统的主要内容(如图2)图 2 项目管理器三、数据库设计数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。本系统的数据库包括4个表,即学生基本信息表,学生成绩表等。1.学生借阅信息表(xsjb.dbf)学生借阅信息表(xsjb.dbf)用于记录学号、姓名、班级等信息,其逻辑结构
4、如表1所示。表1 学生基本信息表字段名称字段类型宽度小数位NULL学号C13否姓名10班级7借书日期D8还书日期借书编号NC2.图书借阅信息表(tsb.dbf)图书借阅信息表(tsb.dbf)用于图书的基本等信息,包括出版社、图书编号、借阅状态、藏书馆编号等信息,其逻辑结构如表2所示。 表2 图书借阅信息表藏书馆编号出版社20图书编号15借阅状态L1图书名18四、各功能模块的具体设计根据系统规划和需要分析,把系统划分为学生信息管理,学生成绩查询,系统管理三个模块。本系统用到的主要有以下文件:图书馆图书借阅系统.pjx、登陆界面.scx、主界面.scx、读者信息管理.scx、图书借阅系统.MPR
5、。程序的调用关系如下:登陆界面scx中调用主界面界面表单.scx,口令正确则调用系统菜单main_menu.mpr。各菜单项调用相对应的表单。1在登陆界面中用户名和密码到下一个界面实现为: 图3 登陆界面(1)登陆界面中主要控件属性如表3所示对象名称属性名称属性值Form1Caption登陆界面Auto center.T.Command1caption确定Command2取消Text1nameText2passwordchar*(2)数据环境:密码.dbf(3)事件代码:1)command1的click事件:set exact on select 密码 if allt(thisform.tex
6、t1.value)= messagebox(用户名为空,请输入!,64,提示) thisform.text1.setfocuselse if allt(thisform.text2.value)= thisform.text2.setfocus else locate for allt(用户名)=allt(thisform.text1.value); and allt(密码)=allt(thisform.text2.value) if found() do form 主界面 thisform.release输入用户名或密码错误,45, thisform.text1.value= thisfor
7、m.text2.value= endif endif 2)command2的click事件:close all2、运行登陆界面后,进入到主界面 (图3)图3 系统主界面1)将图书借阅系统.MPR菜单挂到系统调主界面中。2)Form1的init事件代码:do 图书借阅系统1.mpr with this,.t.3)属性show window属性值:2-作为顶层表单4)点击图书信息维护出现两个子菜单:图书信息管理,图书查询界面。点击读者信息管理进入到读者信息管理.scx,点击借书,还书分别进入到借书scx、还书scx,点击退出退出系统。5)依次进入到每一个表单中并实现其命令;图书信息管理(图4)(1
8、)图书信息管理scx界面中主要控件属性如表4所示图书信息管理AutocenterGrid1Recordsourcetype1-别名Recordsource图书借阅信息表Controlsource图书借阅信息.图书名图书借阅信息.图书编号Text3图书借阅信息.出版社Text4图书借阅信息.借阅状态CursorlExclusive(2)数据环境中添加表:图书借阅信息dbf(3)事件代码:1)“上一个”按钮的click事件代码:skip -1if bof()go bottomendifthisform.refresh2)“下一个”按钮的click事件代码:skip if eof()go top3)
9、“添加”按钮的click事件代码:if this.caption=添加this.caption=保存select 图书借阅信息append blankthisform.text1.setfocus()4)“修改”按钮的click事件代码:replace 图书名 with alltrim(thisform.text1.value)replace 图书编号 with alltrim(thisform.text2.value)replace 出版社 with alltrim(thisform.text3.value)replace 借阅状态 with thisform.text4.valuemess
10、agebox(修改成功,1)5)“删除”按钮的click事件代码:sel=messagebox(真的要删除吗?,4,提示信息if sel=6deletepackusethisform.grid1.recordsourcetype=0thisform.grid1.recordsource=图书借阅信息6)“打印”按钮的click事件代码:report form 图书借阅信息.frx to printer7)“打印预览”按钮的click事件代码:report form 图书借阅信息.frx preview8)“退出”按钮的click事件代码:thisform.release3.图书查询scx界面设
11、计(1)图书查询界面表5图书查询界面图书借阅信息Optiongroup1Buttoncount3ValueTxt图书名Txt出版社图书借阅信息. 出版社Txt图书编号图书借阅信息. 图书编号Txt藏书馆编号图书借阅信息. 藏书馆编号Name图书借阅信息.dbf 图书借阅信息查询 图(5)1)“查找”按钮的click事件代码:set filter todo case case thisform.optiongroup1.value=1 set filter to 图书名=alltrim(thisform.text1.value) locate for 图书名=alltrim(thisform.t
12、ext1.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) endcase2)“打印”按钮的click事件代码:
13、3)“打印预览”按钮的click事件代码:4)“退出”按钮的click事件代码:4、运行查询界面:(如图7)5.读者信息管理表单的设计学生人事信息的查询,是基于dzjy.dbf表,提供学号,姓名,编号。分别利用不同的命令代码方式实现查询打印功能。功能是便于图书管理员,学生用户的检索查询。1)读者信息管理界面中主要控件属性如表6所示读者信息管理Gird1Txt班级读者信息管理.班级Txt学号读者信息管理.学号Txt姓名 读者信息管理.姓名2)数据环境中添加表:读者信息管理.dbf3)“打印”按钮的click事件代码:report form 读者信息管理.frx to printer4)“打印预览
14、”按钮的click事件代码:report form 读者信息管理.frx preview5)“退出”按钮的click事件代码: 读者信息管理(如图8)6.借书菜单的设计(1)借书借书菜单的设计主要分为图书编号、借阅者学号、姓名、班级、退出系统等六项。在查询出该书的图书编号后可根据借阅者的借书编号记录借阅者的相关信息。数据环境中添加表:读者信息管理.dbf、图书借阅信息.dbf借书的菜单运行如下:(图9)Command1按钮的click事件代码:set filter to 图书编号=alltrim(thisform.text5.value)locate for 图书编号=alltrim(this
15、form.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()借书书成功“退出”按钮的click事件代码:7.还书菜单的设计还书菜单界面和借书界面比较类似,但较之借书界面,还书界面更复杂,在设计中,会根据借阅者的还书情况去修改图书借阅信息管
16、理中的记录项。1)还书界面设计如图(10)3)Command4按钮的click事件代码:*set filter to 图书编号=alltrim(thisform.text6.value)locate for 图书编号=alltrim(thisform.text6.value)replace 借阅状态 with .F.*set filter to 借书编号=alltrim(thisform.text6.value)locate for 借书编号=alltrim(thisform.text6.value)replace 借书编号 with replace 借书日期 with null还书成功还书界
17、面运行如图(11)8退出系统,返回windows界面五、个人总结为期一周的课设在繁忙中结束了,这一周里,我们复习并运用了我们在大学里所学的VF基础知识来完成课程设计。半年没有接触VF知识了,我们都忘得差不多了,在机房里我们面面相觑,好在老师耐心的帮我们梳理知识,耐心的给我们举例子讲解,我们似乎又回到了当初学习的状态,虽说知识掌握的不是很牢,但我们至少不再是一窍不通,加之和同学们互补、互相学习,每一天我们都在学习,每天都有新收获。在这期间,老师每天都和我们在一起,为每一个同学详细的解答每一个疑问。这一周过的很快,我们过得也很充实,这一周我学到了很多知识,在老师和同学们的帮助下我也完成了自己设计的程序。我设计的程序是:图书馆借阅管理系统。这个项目设计起来不是很难,结合在图书馆借书、还书的经历,我很快就想好了思路,我的程序简明、清晰,各功能运行操作简单,便于图书馆里人员的运用和维护,优越性好,但也有瑕疵,就是设计时忽略了图书的储备,将图书馆所有的图书均按一本来设计,降低了设计难度。(写出在课程设计过程中的收获和体会,说明程序的优点和缺憾。六、参考文献(参考的书籍或互联网资源)1 数据库及运用VisualFoxPro程序设计实验指导书2 互联网资源
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1