毕业设计设计题目:图书管理系统学院:成人教育学院专业:计算机科学与技术年级:2009学生姓名:杨洋学号:09318641011指导教师:赵晓侠日期:2010.12.1教务处制目录摘要关键字1系统设计1.1系统目标设计1.2开发设计思想1.3开发和运行环境选择1.4系统功能分析1.5系统功能模块设计2数据库设计2.1数据库需求分析2.2数据库逻辑结构设计3数据库结构的实现4各个功能模块的创建6:41系统主界面的设计4.2系统用户管理模块的设计614.3读者种类管理模块的设计4.4读者信息管理模块的设计6:4书籍种类信息模块的设计4.6书籍信息管理模块的设计4.7借阅信息管理模块的设计6:48帮助文档的设计5开发中的难点和解决技巧5.1在VisualFoxPro0中添加和修改删除记录5.2在VisualFoxPro0中编程的技巧6系统的编译和发行1设置主文件2构造主文件3在.app和.exe文件中包含和排除文件7运行结果8总结9参考文献摘要图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。我们将以一个图书馆管理信息系统为例子,来讲述如何建立一个图书馆管理信息系统。因为VisualFoxPro6.0具有强大的数据库管理功能,我们选定VisualFoxPro6.0实现图书馆管理信息系统中的各项功能。1系统设计1.1系统目标设计通过一个图书馆管理信息系统,使图书馆的信息管理工作系统化、规范化、自动化,从而达到提高企业人事管理效率的目的。1.2开发设计思想本系统的开发设计思想:.系统应符合图书馆信息管理的规定,满足图书馆日常管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求;.系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护;.系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。1.3开发和运行环境选择开发工具:VisualFoxPro6.0。运行环境:Windows9x、WindowsNT或Windows2000。1.4系统功能分析.有关读者种类标准的制定、种类信息的输入,包括种类编号、种类名称、借书数量、借书期限、有效期限、备注等。.读者种类信息的修改、查询等。.读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。.读者基本信息的查询、修改,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等等。.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称、关键词、备注信息等。.书籍类别信息的查询、修改,包括类别编号、类别名称、关键词、备注信息等。.书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页书、关键词、登记日期、备注信息等。.书籍信息的查询、修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页书、关键词、登记日期、备注信息等。.借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。.借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。.还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。.还书信息的查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。1.5系统功能模块设计在系统功能分析的基础上,考虑VisualFoxPro6.0程序编制的特点,得到如图6-1所示的系统功能模块图。图6-1系统功能模块图2数据库设计设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:.数据库需要分析。.数据库逻辑结构设计。2.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析调查有关图书馆管理信息需求的基础上,将得到如图6-2所示的本系统所处理的数据流程。图6-2图书馆管理信息系统数据流程图针对一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:.读者种类信息,包括的数据项有:种类编号、种类名称、借书数量、借书期限、有效期限、备注等。.读者信息,包括的数据项有:读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。.书籍类别信息,包括的数据项有:类别编号、类别名称、关键词、备注信息等。.书籍信息,包括的数据项有:书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息等。.借阅信息,包括的数据项有:借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。2.2数据库逻辑结构设计现在需要将上面的数据库概念结构转化为VisualFoxPro数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。图书馆管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。表6-1为读者基本信息表。3数据库结构的实现首先建立建立一个“图书馆管理信息系统”的项目,以便管理本系统中所有数据,打开的“图书馆信息管理系统”项目后,用鼠标选中数据库,单击右侧的“新建”按钮,在弹出的对话框中将该数据库文件存储为c:\图书馆管理信息系绷图书馆管理.dbca.在弹出的如图6-4所示的数据库设计器中单击鼠标右键,选择“新建表”,为数据库添加数据表(表的内容见表6-1至表6-5)。下面以表6-1为例来介绍表的建立过程。图6-4新建数据表选择“新建表”,在弹出的对话框中将表存储为c:\图书馆管理信息系统、读者信息种类.曲f.在弹出的如图6-5所示的表设计器中填写表的内容。图6-5设计表的内容请读者将其与表6-l比较,可以发现表的字段名就是列名。由于在以后编写的程序中对数据库数据的操作通常是引用表的字段,因此读者在设计字段名时要挑选容易理解的名称。字段设置完成后,单击“确定”按钮后为表输入数据,如不想现在输入,可以先“取消”,以后再输入。具体方法如下:(1)如图6-6所示,选中要输入数据的表,单击“浏览”按钮。VisualFoxPro6.0也提供了菜单的实现方法,以建立一个类似于Windows风格的操作界面。下面就利用菜单选项制作如图6-8所示的界面。图6-8系统主界面打开“图书馆信息管理系统”项目后,在项目管理器中展开“其他”文件夹,如图6-9所示。用鼠标选中菜单,单击右侧的“新建”按钮,在弹出的对话框中将该数据库文件存储为。C:\图书馆管理信息系绑系统菜单。图6-9创建系统菜单然后单击右侧的“插入”按钮,在左侧填入菜单第一项的名称,将“结果”设为“子菜单”,再单击“创建”按钮,如图6-10所示。图6-6为表输入数据(2)弹出无数据的表,在VisualFoxPro的主窗口中选择“表”,选择“追加新记录”后,就可以在表中输入数据了,如图6-7所示。不过这种方法只能一次输入一条记录,要输入第二条记录时,需再次选择追加新记录。如果有一个已有数据的表,可以使用“使用追加记录”将这个有数据的表追加到当前表中,不过执行该操作要求这两个表的结构完全相同。图6-7追加新记录4各个功能模块的创建下面的操作均在图书馆管理信息系统的项目管理器中进行,以下所有表单的“桌面”属性全部设为“.T.一真”。4.1系统主界面的设计这一模块的主要功能是作为系统主界面为进入本系统不同功能界面选择提供一个接口,像上面介绍的一样再次添加菜单项,名称为“修改密码”,结果设为“过程”,再单击“创建”按钮。*将程序的资源路径设为当前程序所在文件夹screen.windowstate=2screen.width=625screen.height=550*设定原始窗口大小。-screen.autocenter=.T.*将窗口定义在屏幕中间显示pushmenurnsysmenu*保存原来的系统菜单do系统菜单.mpr*执行系统菜单doform用户登录*运行登录界面onshutdownquit*这行代码的作用是为窗口提供关闭功能readevents*等待事件popmenumsysmenu*还原系统菜单注:(1)如果不添加onshutdownquit这段代码,则当关闭有可能出现“CannotExitfromFoxPro”。(2)readevents表示现在系统初始化完毕,等待下一个事件的发生。VisualFoxPro6.0以事件为驱动,最后以clearevents结束。(3)在“系统菜单”的二级菜单“退出”里,创建代码“clearevent.保存菜单。保存“主程序.prg”后,继续在“代码”文件夹下面,鼠标选中“主程序.prg”,右键单击,在出现的菜单中选择“设置为主文件”,如图6-14所示。图6-14设置主程序这样就把“主程序.Prg”设置成为主文件,由它调用其他的功能模块。4.2系统用户管理模块的设计系统用户管理模块主要实现:.用户登录。.添加用户。.修改用户密码。这个功能模块和第1章的一样,这里就不再详细介绍了。需要值得注意的是,当完成了表单和程序的设计后,应当在其功能菜单内添加相应的过程,使得菜单能正确调用表单。图6-15显示了用户登录的界面运行结果,该模块的其他功能希望读者自行完成。图6-15用户登录界面4.3读者种类管理模块的设计图书馆需要管理不同种类的读者,并且不同读者享受的服务不同。读者种类管理模块主要实现如下功能:.添加读者种类。.修改读者种类。.删除读者种类。在前面的几章的例子中已经详细介绍了关于如何定制具有标准查询并修改功能的表单,其实VisualFoxPro6.0本身也具有生成具有上述功能表单的功能。下面就介绍如何通过表单向导完成读者种类管理表单的设计,设计的最终结果将如图6-16所示。图6-16读者种类信息表首先在项目管理器的文档视图下单击“新建”按钮,然后选择“表单向导”.在接下来的向导中,“数据库和表”选择“图书馆管理”以及“读者种类信息表”,这是前面定义好的数据库和表。由于设备入库需要显示所有的字段,因此我们将可用字段全部移至选定字段。在表单样式中,选择“阴影式”以及“文本按钮”。左上角的窗口提供了表单样式的预览功能,图片按钮和文本按钮的区别在于显示的时候是以图片来表达功能还是用文字来表示,实现功能的函数没有区别。而不用的表单样式的区别在于选用不用风格的文本框和标签。选择“上一步”按钮可以跳回上一步对表单中所要显示的字段进行修改。设置好表单样式后,单击“下一步”按钮。单击“下一步”后,向导进行到步骤3一排序次序。选择“种类编号”为索引,并选择升序排列。最后预览表单,核对每项的设置,完成表单向导,如图6-23所示。值得注意的是,在结束表单向导前,可选择“保存表单以备将来使用”,“保存并运行表单”,或者“保存表单并用表单设计器修改表单”。由于VisualFoxPro6.0向导生成的表单只具有普遍性,对于当前设计的读者种类管理信息表还需要一定的改变,所以我们选择“保存表单并用表设计器修改表单”,单击“完成”按钮。图6-24根据表单向导生成的表单需要提醒读者,表单向导生成的表单中的按钮都是继承自标准的按钮类,并集合成一个ButtonSet类型。如果要修改内部按钮的属性,可以通过表单属性的下拉列表选中所用的按钮,进而修改其属性。以上就结束了读者种类管理表单的设计。可以看见VisualF