毕业设计(论文)-图书信息管理系统设计.doc

上传人:李司机 文档编号:7026261 上传时间:2024-04-18 格式:DOC 页数:34 大小:305.08KB
返回 下载 相关 举报
毕业设计(论文)-图书信息管理系统设计.doc_第1页
第1页 / 共34页
毕业设计(论文)-图书信息管理系统设计.doc_第2页
第2页 / 共34页
毕业设计(论文)-图书信息管理系统设计.doc_第3页
第3页 / 共34页
毕业设计(论文)-图书信息管理系统设计.doc_第4页
第4页 / 共34页
毕业设计(论文)-图书信息管理系统设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

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

1、前言图书管理系统是一个教育单位不可缺少的部分,它的内容对于学校图书馆的管理十分重要,所以,图书管理系统不但要为图书管理者提供充足的信息和快捷的查询手段。而且也要为学生查询提供必要和快捷的查询手段,但一直以来人们仍使用传统人工的方式管理图书系统,这种管理方式存在着许多缺点,如:效率低、工作量大等,而且,随着图书数量的增长,对于图书信息的查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅

2、速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件。摘要本图书信息管理系统以Visual FoxPro 6.0为前台软件,整个论文共五部分,主要内容有:绪论、正文、结论、致谢、参考文献。其中正文部分详细介绍了系统整个项目中的数据库、表单与系统运行代码的编排。论文末附录了系统功能结构图、结构总流程图和数据流图三张设计图件。图书管理系统是典型的小型信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而

3、对于后者则要求应用程序功能完备,易使用等特点。本论文描述系统内容详尽,可操作性强,稍加修改后可作为图书馆及小型书店(包括借阅与销售两服务项目)的实际应用系统。关键词:项目 子模块 快速定位 典型数据 目录 第一章绪论-4第二章需求分析-52.1图书信息管理系统现状及发展-52.2可行性分析-52.3数据库管理系统的现状-6第三章系统设计-83.1数据库设计-83.1.1数据库范式-83.1.2概念设计-83.1.3逻辑设计-93.1.4物理设计-103.2系统功能模块-123.2.1系统设计目标和功能-123.2.2系统的模块设计-123.2.3图书信息管理系统中各主要界面设计的功能介绍-12

4、3.2.4各模块功能的应用介绍及具体代码实现-14第四章图书信息管理系统的调试-314.1系统设计的主要步骤-314.2操作时遇到的问题及解决办法-314.3系统尚存的问题及改进的意见-32结束语-33致谢-34参考文献-35第一章绪论社会的发展,时代的进步,使人类对知识的需求与日俱增,而承载知识的书籍无疑是人类长期要好的朋友。如今各位睿智的商家根据读者们迥然不同的需求开设了各具特色的书店、图书馆。然而种类繁多、数目庞大的书籍管理及运营让商家们伤透脑筋。转眼间,人类已迈入二十一世纪,计算机已普及到各行各业。具有某种特定应用环境的软件也应运而生。数据库开发软件Visual FoxPro就是其一。

5、Visual FoxPro 6.0是一种速度快、灵活、并功能强大的数据库前端开发工具,能够大大缩短开发周期及节省人力。利用计算机来进行书店的管理与运营已不再是什么新鲜话题。目前的书店管理系统多数针对借阅或销售单一方面来开发的,而有些书店则兼顾借阅和销售两个方面的服务,如果使用单一功能的管理系统,则可能一台计算机上安装两个系统,因此使用起来较为不便。针对此种情况,用户可选择功能较综合的管理系统,既方便管理,也节省资金。本系统就是利用Visual FoxPro 6.0编写的图书信息管理系统。主要实现借阅和销售两方面的功能。能完成:1、图书基本信息的录入和修改;2、销售图书基本信息录入以及对已销售图

6、书的查询和统计;3、读者信息的录入和修改;4、图书服务功能,如查询图书、预约图书、借阅图书以及读者借阅情况查询和归还图书的工作。 第二章需求分析需求分析是开发任何软件系统的第一步,主要对管理信息系统的需求进行分析,分析系统要解决的问题,对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到系统的可利用价值,是开发软件所不可缺少的重要环节。2.1图书信息管理系统现状及发展处于科技飞速发展的时代,传统的人力管理信息的办法已逐渐被淘汰,用计算机来进行图书管理,体现了计算机管理信息系统的处理信息量大,速度快的优点,这已成为必不可挡的趋势。用计算机来代替人在管理中的工作,其系

7、统的功能必须完备。以往用手工完成的图书信息管理系统工作,管理人员填写许多统计表格,然后再加以整理,进行修改和查询时,再从表中提取出来,一条条查看记录,直到找到所需要的信息;统计时又要查看过所有的记录后,才能得出结论。如此进行管理不仅速度慢,而且准确性差。据此,该编制的系统具有录入、查询、修改、统计,打印的功能,不但处理速度快,准确度高,而且界面友好,大大提高了管理人员的工作效率。通过对书店的实地考察和切身体会,对书店运作系统有了更深层次的思考。虽然要做的是图书信息管理系统,但并不仅仅像字面上一样只需要对图书进行管理,与其相关的每一个环节都不能置之不理,比如对图书信息,读者信息都要做一致的管理,

8、才能保证在图书管理中不出纰漏。经过仔细的研究,以下列出了图书信息管理系统的基本需求分析,它包括以下几点:(1) 图书基本信息的录入和修改。(2) 销售图书基本信息录入以及对已销售图书的查询和统计。(3) 读者信息的录入和修改。(4) 图书服务功能,如查询、借阅图书以及读者借阅情况查询和归还借阅。2.2可行性分析关于可行性研究,根据书店实际情况得出如下结论:可带来一定的经济效益。通过图书信息管理系统的使用,可节约时间,减少开支。计算机代替人来进行繁索、枯燥的日常图书管理工作,可节省大量劳动力,并保证工作准确快速地完成。技术上可行:有一定的编程能力,对Visual FoxPro 6.0比较熟练,运

9、用比较自如。设计成果即使不如专业人员的设计,但也有个人的特点和优势,又是锻炼自我、挑战自我的机会。经济上可行:本系统要求计算机只需486或以上即可,而开发的成本比较低廉,这对一个书店来说是丝毫不成问题的。本系统具有一定的容错能力,对常见的操作错误能予以提示并允许修改。运行可行性分析:通过以上几点的分析,我得出本图书信息管理系统完全有开发的必要,并具有普遍可行性。系统运行的环境要求不高,一般流行的电脑配置均可非常良好地运行本软件,一般运行Windows 98的计算机均可运行本系统。本软件可以运行在Windows 98或更高版本的Windows操作系统上。后台数据库需要Microsoft Acce

10、ss 2000及其更高版本支持。2.3数据库管理系统的现状数据库是70年代末发展起来的一门计算机技术科学,经过30多年的发展,它逐渐渗透到了人们日常的学习和工作中。现在,无论是工矿企业,还是航空航;无论是银行金融,还是家政服务,到处都能看见它的身影。随着经济的发展,数据库还会在人们的生活中发挥更大的作用。本图书信息管理系统是书店对图书的借、还、销售、查询等书籍流通进行管理的软件,是一款针对书店的数据库管理系统。开发图书信息管理系统采用Visual FoxPro 6.0作为开发工具。Visual FoxPro 6.0是Visual公司推出的用于企业级应用开发的开发工具。Visual FoxPro

11、是面向对象的开发工具,与传统的开发工具有着本质的区别。传统的开发思路是“控制流”,给程序员预先定义可运行路径,需要开发人员写大量的程序去控制程序的流程,并且程序在运行时,用户不能偏离这一路径。而Visual FoxPro的编程思想是事件驱动,在编程的的过程中首先是创建各种对象,然后为对象赋予属性,为对象编写事件驱动程序。Visual foxPro6.0相对以往的开发工具具有以下一些优异的功能和特点:1、具有内置的关系数据库Visual FoxPro本身带有一套关系数据库系统。Visual FoxPro通过ODBC接口与Visual SQL Anywhere数据库连接在一台机器上。这样做的好处是

12、,Visual FoxPro可以脱离数据库服务器独立运行,从而在开发阶段可以独立于网络服务器上的数据库。当然,利用这一功能也可以开发出单用户的独立数据库应用程序。2、独创的数据窗口(DateWindow)对象Visual FoxPro拥有数据窗口这个具有专利技术的智能对象,SOL语句被内嵌在该对象中,利用该对象可以操作关系数据库的数据而无需编写SQL语句。用户可以查询、修改、插入、删除、浏览、打印,以多种文件格式打开和存储数据,或在数据窗口中直接定义功能按钮,实现预定义的系统功能,如插入、删除数据的操作。它还支持数据库的事务管理和并发控制等机制。3、丰富的数据窗口数据源(Datasource)

13、和多种样式的数据显示格式(PresentationStyle)数据窗口可以用来维护数据和显示数据,可以定义显示风格和数据显示格式的种类,通过各种数据源和数据显示风格的不同组合,可以以多种方式显示数据。第三章系统设计3.1 数据库设计3.1.1 数据库范式信息系统通常采用数据库存储和管理大量的数据,所谓数据库是指按一定的组织方式存储在外存储器中的逻辑相关的数据集合。由于数据存储的复杂性,在设计数据库时,不得不先考虑数据冗余、插入异常、修改异常、和删除异常等几个常见的数据库问题。这里有必要介绍一下解决问题的方法数据库范式的概念。IBM的创始人科德首先提出了关系数据库的规范化理论。他对数据结构共进行

14、了五种规范化定义,并命名为规范化模式,称为“范式”。这里,根据需要,只介绍前三种:第一范式:若数据表R的每一字段值为单一的,则R属于【第一规范化形式】(简称1NF)第二范式:若数据表R属于1NF,且所有非主键的字段皆【完全函数依赖】于主键,则R属于【第二阶段化范式】(简称2NF)第三范式:若数据表R属于2NF,且所有非主键的字段无【传递函数依赖】于主键,则R属于【第三阶段范式】(简称3NF)在规范化理论中,一个二维的关系表应具有下面四个性质:(1) 在表中任一列上,数据项应属于同一属性。(2) 表中所有行都是不相同的。(3) 在表中,行的顺序无关紧要。(4) 在表中,列的顺序也无关紧要,但不能

15、重复。基于以上理论,本系统设计采用了目前较为流行的关系数据库。严格的按照数据库设计的三个步骤,即概念设计,逻辑设计以及物理设计,来建立数据库。而且根据数据规范化理论,把数据库划分到最为合理的第三范式。3.1.2 概念设计编号姓名地址读者借、还、买书号书名是否借出书籍 - -图3.1ER图3.1.3逻辑设计由ER图可以看出,为避免冗余,须建立独立的数据表。具体实施可见物理设计。设计图书信息管理系统数据库时如果缺少规范化过程,则会出现许多问题,例如,数据重复,更新异常,新增异常等等。同以上可知,未规范化的数据将会导致浪费储蓄空间、系统效率低、数据不一致、维护不容易等问题,这样就会给管理人员带来很多

16、不必要的麻烦,也大大的浪费了管理人员的时间。但只要经过规范化后,以上的这些问题就可以得到很好地解决,也可以提高工作效率,加强管理。(1)、文件名规范表3.1库文件名规范序号文件名称标识符1入库图书信息booksinfo.dbf2图书销售信息saleinfo.dbf3读者信息readerinfo.dbf4借阅lendinfo.dbf5信息系统用户信息passwordinfo.dbf(2)、图书信息管理系统各文件间的关联当我们进行规范化后,有可能将原本放在数据表内的完整信息分割至数个数据表上,为了方便操作者使用提高工作效率,就必须通过数据表间关联的建立,能够很容易地找到分散在各数据表间的数据。由数

17、据表中共有的字段指针连结在一起,使得各分散的数据表再度找回,本系统的会员表,图书表,借阅表等建立的关联为:读者表通过读者编号与借阅表相关联,其中读者编号为主索引。再通过借阅表中的图书编号与图书表建立关联,其中图书编号为主索引。3.1.4物理设计经过概念设计与逻辑设计,可以确定出与系统有关数据表格的各项内容。而表格具体字段还需进一步的设计。以下就来进行数据库的物理设计。表3.2入库图书信息(boobsinfo.dbf)字段名类型宽度小数位数编号字符型10书号字符型28书名字符型20作者字符型16出版社字符型15定价货币型8数量数值型30入库日期日期型8备注备注型4表3.3图书销售信息(salei

18、nfo.dbf)字段名类型宽度小数位数书号字符型28书名字符型20作者字符型18出版社字符型16定价字符型6销售价格货币型6销售数量数值型30销售日期日期型8表3.4读者信息(readerinfo.dbf)字段名类型宽度小数位数读者编号字符型10姓名字符型6性别字符型2年龄字符型2地址字符型18联系电话字符型11是否允许借阅逻辑型1备注备注型4表3.5借阅信息(lendinfo.dbf)字段名类型宽度小数位数书号字符型28读者编号字符型10借阅日期日期型8借阅天数字符型4归还日期日期型8表3.6系统用户信息(passwordinfo.dbf)字段名类型宽度姓名字符型8密码字符型73.2系统功能

19、模块3.2.1 系统设计目标和功能在计算机行业高度发展的今天,各行各业都有电脑的需求,希望通过电脑的快捷管理来提高效率。例如一个大的图书馆,随着图书储备的不断加大和读者的日益增多,使得图书管理人员面临着繁忙重复的工作。如何才能将图书全面系统的管理。使借阅省时高效、图书销售方便、统计快捷,以提高工作质量及工作效率。另外如何对读者的资料进行管理,方便读者借阅,又不至于让书籍外流。为读者更好的服务。本系统就是根据以上的种种困难进行开发设计的。其具体的设计功能是:(1) 方便的数据输入性能,良好的人机界面尽是避免了一些经常性汉字的重复输入(采用组合框按钮)(2) 较灵活的查询性能,可以根据不同的需要快

20、速实现按某种查询方式对图书资料或读者资料进行查找并显示相应记录。(3) 具有模糊查找的功能,可以根据不太确切的信息查找出相近的资料以供进一步查询,提高了系统的应用能力,也为资料的管理提供了方便。3.2.2系统的模块设计根据书店业务的需求,该系统主要是为了方便会员管理、图书管理、销售管理和借阅管理等。为此设计了读者管理模块、图书管理模块、图书销售管理模块、图书服务模块和系统管理模块。每个主模块下都有两至三个子功能,使操作者可根据需要方便使用。具体的图书信息管理系统功能结构图如下:3.2系统功能结构图3.2.3图书信息管理系统中各主要界面设计的功能介绍图书信息录入界面。此界面主要用于首次录入图书信

21、息,因此该界面中应有用于输入图书的所有信息的元素,如图书编号、书号、书名等内容。图书信息修改界面。此界面主要用于显示要修改的图书信息,因此该界面必须有查找和修改的功能,如除了图书信息录入界面中的所有元素外,还需“查询”、“上一条记录”、“下一条记录”等按钮。图书销售界面。此界面主要用于显示将要销售的图书信息。图书销售查询界面。此界面主要用于查询和统计图书销售的情况。读者注册界面。此界面主要用于录入借阅图书的读者信息,因此该界面中可包括读者编号、姓名、性别、年龄、联系电话、住址等内容。读者信息修改界面。此界面主要用于显示并修改已录入的读者信息,因此界面中除了读者注册界面中的元素外,还需一些查询的

22、功能,如“查询”、“一上条”、“下一条”等按钮。图书查询界面。此界面主要用于查询、借阅、预约图书。查询时可按书名、作者、出版社进行查询,查询到的图书将用表格来显示,并显示图书的借阅状态;此界面也可用于借阅或预约图书。借还查询界面。此界面主要用于查询读者的借还图书情况,读者的借阅情况将用表格来显示,对选定的图书需显示其基本的信息,并可归还选定的图书。用户注册界面。此界面主要用于系统用户注册,因此该界面需有输入和确定用户名和密码的文本框。修改用户界面。此界面主要用于修改用户注册密码,因此该界面作了需要输入用户名和旧密码,并需有输入和确定新密码的文本框。 修改图书信息图书入库销售记录销售查询录入读者

23、信息修改读者信息图书查询借还图书用户注册密码修改退出系统图书管理图书销售读者管理图书服务系统管理图书信息管理系统进入系统流程图为:开始登录界面是否通过验证?是否重验?主界面退出 Y N Y N图3.3 结构流程图3.2.4各模块功能的应用介绍及具体代码实现(1)、系统主程序主程序是用来启用VFP主界面的,并更改主界面的标题和关闭主界面中与“图书信息管理系统”无关的内容,同时运行系统登录界面。下面是“图书信息管理系统”的主程序:main.prg:set talk off &关闭对话模式set safe offset stat off set dele on &不处理已删除的记录set cent

24、onset date to ansiclose allrelease window 常用 modify window screen title 图书信息管理系统 zoom window screen max_screen.backcolor=rgb(80,180,150) _screen.controlbox=.t. deactivate window 项目管理器 public cyonghu,cmima,jiagecyonghu=cmima=mypath=left(sys(16),rat(,sys(16) set defa to (mypath) set path to data;form

25、open database library do form logo read eventsquit(2)、系统登录运行“图书信息管理系统”应用程序后,将要打开图3.4所示的登录界面,在“输入密码”文本框中输入密码后,单击“确认”按钮将调用自定义的主菜单和工具栏,同时关闭VFP主窗口中的所有其他元素。若单击“退出”按钮将退出并关闭主窗口。图3.4 登录界面其中“用户登录”界面中“确认”按钮command1 -click event如下:sele passwordinfoif allt(thisform.text1.value)= thisform.text1.setfocuselse if a

26、llt(thisform.text2.value)= thisform.text2.setfocus else locate for allt(用户名)=allt(thisform.text1.value); .and.allt(密码)=allt(thisform.text2.value) if eof() messagebox(用户名或密码错误,请重新输入!,64,提示) thisform.text1.value= thisform.text2.value= thisform.text1.setfocus() else cyonghu=allt(thisform.text1.value) c

27、mima=allt(thisform.text2.value) do menu.mpr thisform.release-(3)、图书管理界面图书信息管理系统的主要功能就是对图书信息的管理,其包括图书信息录入界面和图书信息管理界面。、图书入库界面图书入库界面主要功能是用来录入图书的基本信息,可直接通过文本框录入,然后确定保存到连接的数据表中即可,图3.5为图书入库界面的设计图。图3.5 图书入库界面该界面的功能介绍:系统登录后,执行“图书管理”“图书入库”命令,打开“录入图书信息”对话框,如上图3.4,在该对话框中输入图书信息后单击“确定”按钮保存信息;单击“返回”按钮关闭该对话框并返回主窗口

28、。其中“确定”按钮commnd1,其click event功能实现的部分代码为:use booksinfo 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) repl 定价 with allt(thisform.text6

29、.value) repl 册数 with allt(thisform.text7.value) repl 备注 with allt(thisform.edit1.value) repl 入库日期 with date() mand2.click此模块流程图为:开始输入图书信息信息完整吗?保存到库中录入下一个?退出 N Y Y N图3.6 图书入库流程图 、图书信息修改界面图书修改界面的功能主要是用于修改已入库的图书信息,在设计该界面时可通过文本框显示要修改的信息,然后单击“修改”按钮后可直接进行修改。该界面还设置了查询功能,以便查找需修改的图书信息,图3.7为“修改图书记录”界面的设计图。图3.

30、7修改图书界面该界面的功能介绍为:执行“图书管理”“修改图书信息”命令,打开“修改图书记录”界面,如上图3.7所示。在该界面上角录入的记录总数和当前为第几条。使用查询按钮可查询相应的信息;单击“修改”按钮后,可直接对查询到的信息进行修改;单击“删除”按钮可删除查询到的信息。该界面中文本框text1-text7和编辑框edit1 ,其中text1-text6和edit1用于显示图书信息,text7用于输入要查的图书名称。为了初始化文本框Text1-text6和编辑框edit1:、表单form1 的init event实现主要代码为:public nhere,num &nhere保存删除记录的位置

31、,num保存删除前后记录总数thisform.text1.readonly=.t.&使文本框为只读状态-thisform.edit1.value=allt(备注)thisform.label8.caption=allt(str(recno()&显示当前为第几条记录、“修改”按钮command1,其功能是使text1-text6和edit1处于编辑状态。 、“删除”按钮command2,功能是删除当前记录,其click event功能实现部分代码为:use booksinfo exclusive&以独占方式打开数据库go nhere- delete&添加删除标记 pack&删除记录 thisfo

32、rm.label11.init -、“第一条”按钮command3,其click event功能实现代码为:go topnhere=recno()thisform.label8.caption=allt(str(recno()mand4.enabled=.t.mand6.enabled=.t.thisform.init、“最后一条”按钮command4,其click event功能实现代码为:go bottomnhere=recno()thisform.label8.caption=allt(str(recno()mand3.enabled=.t.mand5.enabled=.t.thisfo

33、rm.init“快速定位”按钮command7,其click event功能实现代码为:sele booksinfogo topif allt(thisform.text7.value)= messagebox(请输入要查询的内容!,64,提示) thisform.text7.setfocus else locate for allt(书名)=allt(thisform.text7.value) if eof() go bottom thisform.init messagebox(此书不存在,请重新输入!,64,提示) thisform.text7.setfocus else thisfor

34、m.init endif nhere=recno()endif(4)、图书销售管理图书销售界面的主要功能是用来录入查询售出图书的详细记录,便于对图书销售情况的管理。其包括销售录入界面和销售查询界面。、销售记录界面销售记录界面的功能主要是用于录入售出图书的详细信息,并打印出售书清单。在设计中采用对图书的信息可使用文本框进行录入,在录入时只输入书号即可自动显示其他相应的信息,并在列表中显示当前要售出的书名和价格,图3.8为销售记录界面的设计图。 图3.8 图书销售界面该界面的功能介绍:执行“图书销售”“销售记录”命令,弹出“图书销售”界面,如上图3.8所示。在“书号”文本框中输入书号将显示该书的相

35、应信息,然后选择优惠价,并在“数量”文本框中输入销售册数,单击“确定”按钮即可在“销售列表”中显示相应的信息。并在列表下面显示价格总计。、该表单“确定”按钮command1,使当前图书信息存入saleinfo表中,并在list1中显示售出图书书名和价格,其click event功能实现部分代码为:if allt(thisform.text2.value)= thisform.text1.setfocuselse thisform.list1.additem(allt(thisform.text2.value) thisform.list1.additem( +allt(thisform.tex

36、t3.value) thisform.list1.additem( +allt(thisform.text4.value) thisform.list1.additem(销售价:+allt(thisform.text7.value)+元+allt(thisform.text6.value) thisform.list1.additem(*) jiage=jiage+val(allt(thisform.text7.value)*val(allt(thisform.text6.value) thisform.label11.caption=价格总计:+allt(str(jiage,7,2)+元 s

37、ele saleinfo append blank repl 书号 with booksinfo.书号 - mand2.clickendif、该表单“打印清单”按钮Command3,用于打印list1中显示的清单,其click event功能代码为: if !printstatus()sele saleinforeport 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 、销售查询界面销售查询界面主要

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号