毕业设计(论文)-图书管理系统设计 (2).doc_第1页
毕业设计(论文)-图书管理系统设计 (2).doc_第2页
毕业设计(论文)-图书管理系统设计 (2).doc_第3页
毕业设计(论文)-图书管理系统设计 (2).doc_第4页
毕业设计(论文)-图书管理系统设计 (2).doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第一章 前言随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。管理信息系统的开发方法有生命周期法、原型法和面向对象的开发方法等。生命周期法(life cycle method)是20世纪60年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,它的基本思想是将系统的开发工作从开始到结束划分为若干个阶段,每个阶段都有明确的任务,而系统开发出来后,并不意味着生命周期的结束,而意味着根据组织的需要对系统的修改和重建的开始;原型法(prototyping method)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法,该法的开发思路是首先根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型,再在此基础上与用户交流,将模型不断补充、修改、完善,如此反复,最终直至用户和开发者都比较满意为止,从而形成一个相对稳定、较为理想的管理信息系统;面向对象(object oriented)的开发方法于20世纪80年代开始兴起的,是一种基于问题对象的自底向上的一种系统开发方法,这种方法的特点是以对象为基础,对象是分析问题和解决问题的核心。基于以上三种方法的特点和各自的优缺点,本图书馆管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。管理信息系统的开发是一个开发周期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间、降低成本。本图书系统计划利用三个月的时间开发完成:系统调研和系统分析为10天;系统设计为10天;系统程序设计为45天;系统调试为10天;系统试运行为15天。第二章 系统需求分析2.1现行业务描述:通过调查,先画出图书馆的组织结构图如下:馆 长采编组书库阅览室工具书室目录厅借阅室通过调研了解到,该图书馆各个部门负责的主要业务如下:(1)采编组主要负责图书采编工作,包括购置新书、打印编目、增加数量。(2)目录厅主要负责读者查询工作,包括可借图书(按图书类别、图书名称或图书作者查询);新书目录(按图书类别、日期查询);借书情况(按读者借书证号查询)(3)借阅组主要负责图书流通、查询统计、借阅查询等工作。(4)阅览室、工具书室主要负责读者阅览工作,包括:阅览各种杂志、报纸、阅览各种工具书。下面绘制出图书馆流通业务中借书的流程图。(1)读者在目录厅查阅索引卡;(2)读者写出所借图书的分类号、种次号、交给图书管理员,并出示本人的借书证;(3)图书管理员根据图书的分类号、种次号到书库找书;(4)将图书交给读者,并由读者填写所借图书的借书卡。(5)图书管理员把借书卡保存到写有该读者借书证号的口袋里。得出该图书馆业务流程图如下所示:22现行系统存在问题的分析该图书馆工作大部分还是进行着手工管理,工作起来效率很低,并且不能及时了解图书馆各类图书的存库,学生们比较需求的图书等等,不便于动态及时地调整图书结构,以便更好地适应当前学生的借阅需求。手工管理还存在这许多弊端,由于不可避免的人为因素,经常造成数据的遗漏、误报。计算机信息化管理有着储存信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。23解决方案基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。图书馆信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为四个方面:一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自已需要的书籍,为借阅做好准备;三方面是工作人员对学生们的借书证发放,登记能作好全面的掌握,及时得到每个借书证的当前状态和历史借阅记录;四方面也是图书馆的核心工作,对图书的借阅管理。这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。24可行性分析通过对该图书馆的各个方面进行了具体的了解之后,现对该单位开发图书管理系统的可行性进行分析。技术上可行:该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用windows系列操作系统,数据库管理系统采用visual basic,这些软件在mis开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。经济上可行:由于学校急需采用计算机来进行图书馆的管理,因此对开发图书管理系统大力支持,开发经费没有问题。管理上可行:该学校的图书馆有很多的管理体制,每位借书人均有借书证,同时图书馆还为每位借书人建立了档案。因此管理上可行。另外,图书馆管理人员对开发该系统也是大力支持的,同时制定了培训计划,并进行了实施mis的物质准备和工作准备。综上所述,开发图书管理系统在技术上、经济上、管理上都是可行的。第三章 新系统逻辑方案31初步调研在本系统被批准立项之后,我实地去该图书馆进行了参观和学习,现对该单位图书馆的整体情况进行调研,调研分两步进行,一是初步调研,二是详细调研。由于该图书馆职工人数较少,因此在调研时采用了会议讨论法和个人访谈法两种方法,通过会议讨论法了解图书馆的整体情况,对开发新系统的态度等。通过个人访谈法了解各个部门的主要职能及具体运作方式、过程等。对该图书馆进行初步调研的具体内容为:(1)图书馆的规模:现藏书册数、种类;(2)图书馆的主要业务;(3)图书馆下高几个部门;(4)图书馆职工人数;(5)职工受教育程度;(6)主要购书单位;(7)图书编码方式;(8)现在多少读者在此借书;(9)读者借书凭证;(10)读者分类;(11)图书馆的上级领导;(12)对开发新系统的态度;(13)开发新系统所需的时间(规定多长时间开发完成)。32详细调研321组织结构调研在对该图书馆的手工管理模式和业务流程进行认真分析和研究的基础上,经过与该图书馆的相关人员的反复协商、论证,最后确定了该图书管理系统的逻辑模型。下面以数据流图和数据字典的方式来描述新系统的逻辑功能。322数据流图323数据字典:下面为借书业务流程图中的每一部分编制数据字典。(1)数据元素:每本书都有单价这个信息,其描述内容如下:数据元素名称:单价 类型:数字 长度:6位,其中整数部分占3位,小数部分占2位 数据值类型:离散 取值范围:0-999.99相关的数据结构:索书号+藏书号+作者+书名+出版社+单价+册数+内容摘要(2)数据流。数据流“借书信息”条目如下:数据流名称:借书信息 说明:读者的借书内容数据流来源:读者数据流去向:图书管理员数据流组成:分类号种次号数据流的流通量:大约份/天()数据存储:数据存储“借书情况”条目如下:数据存储名称:借书情况简述:存放的是每个读者的借书情况输入数据:借书情况数据存储组成:借书证号藏书号借书日期存储方式:按借书的先后顺序排列()数据处理。数据处理“查询图书”条目如下:数据处理名称:查询图书数据处理编号:.简要描述:根据读者写的图书的分类号和种次号查询输入数据流:借书信息输出数据流:查询结果处理逻辑:根据读者写的图书的分类号和种次号检索相应的图书信息。()外部实体。外部实体“图书管理员”的条目如下:外部实体名称:图书管理员输入数据流:借书信息、借书证号、已填借书卡、查询结果输出数据流:待填借书卡、借书信息。数目:人第四章 系统总体结构设计41软件模块结构设计411系统方案确定。通过对系统调研与分析,系统主要应完成的功能如下:书库信息管理、读者档案管理、借阅管理、还书管理、图书检索、系统维护。412软件结构设计。图书馆管理系统包含图书采编、读者管理、流通、查询等功能。该系统执行时,先输入数据,然后根据输入的数据选择执行路径;购入图书进行登记、编目调用图书采编功能,借书、还书调用功能,查询调用查询功能。图书馆管理系统属于事务型系统,其系统示意图如下图所示:接受数据事务中心图书采编读者管理图书流通查询 图书馆管理系统示意图系统结构图示意如下:图书馆管理系统图书采编读者管理图书流通 查询输入图书信息 借书 还书图书馆管理系统结构图系统功能图如下:图书馆管理系统系统登陆系统管理图书管理借书证管理借 书帮 助登 陆修改密码注 消退 出新书入库图书信息查询新开借书证借书证查询借 书还 书关 于42数据库设计数据库采用了microsoft推出的access数据库,这是微软集成到office中的一个桌面数据库,能够快速方便的和office的其他套件综合使用。由于access具有显著的简易性和有效性,大量的桌面数据库系统都采用access作为后台数据库。使用access的好处还在于,如果你的系统扩展到client/server模式的时候,可以使用microsoft的数据库服务器软件sql server,此时,程序只需要简单的修改一下链接(ado的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。本系统使用的系统中包括四个表,名称及功能说明如下:tbloperator操作员表,定义操作员的id和密码,作为系统登录检查的依据,提供唯一的管理员id。tblloan借阅表,通过借书证id和图书id反映图书的借阅关系。tblcard借书证表,提供读者信息等,同时包括借书证是否可用,提供唯一的借书证id。tblbook图书表,保存馆内所有图书的信息,提供唯一的图书id。本系统涉及到的实体:(1)本系统中所涉及到的主要实体及其属性有:tblbook(图书管理)表:图书编号,馆藏编号,书名,作者,出版社,出版日期,入库日期,价格,操作员tblcard(借书证)表:借书证编号,是否有效,姓名,男女,身份证号,部门,电话,地址,最大供书量,操作员,创建日间tblloan(借阅)表:借书证编号,书号,借书日期,还书日期,操作员tbloperator(操作员)表:操作员编号,姓名,密码,备注(2)本系统的实体-联系(e-r)图图书编号馆藏编号书名作者出版社出版日期价格数量入库时间操作员备注图书管理为了使e-r图表示得更加清晰,现将e-r图分成实体及其属性图和实体及其联系图。分别如下图所示:借书证编号是否有效姓名男女身份证号部门地址有效日期电话最大借书量操作员借书证管理办证时间操作员操作员编号姓名密码备注借阅借书证编号图书编号借书日期还书日期操作员各表的物理结构如下:tblbook(图书管理)表:字段代码字段名称类型宽度小数位数bookid图书编号长整型libid馆藏编号文本8bookname书名文本100author作者文本60publisher出版社文本50publishdate出版日期文本50price价格货币2amount馆藏册数数字整形2createdate入库时间日期/时间operator操作员数字memo备注文本255tblcard(借书证管理)表:字段代码字段名称类型宽度小数位数cardid借书证编号自动编号长整型enabled是否有效是/否name姓名文本8gender男女数字长整型idcard身份证号文本18vocation部门文本50phone电话文本50address地址文本50maxbooknum最大借书量数字整型availdatenum有效时间数字长整型operator操作员数字长整型createdate办证时间日期/时间tblloan(借阅)表:字段代码字段名称类型宽度小数位数cardid借书证编号数字长整型bookid图书编号数字长整型loandate借书日期日期/时间returndate还书日期日期/时间operator操作员文本tbloperato表:字段代码字段名称类型宽度小数位数operatorid操作员编号自动编号name姓名文本50password密码文本50memo备注文本255e-r图向关系模型转换的结果如下:图书管理(图书编号,馆藏编号,书名,作者,出版社,出版日期,入库日期,价格,操作员)图书编号为此关系的码。借书证(借书证编号,是否有效,姓名,男女,身份证号,部门,电话,地址,最大借书量,操作员,创建日间)借书证编号为此关系的码。借阅(借书证编号,书号,借书日期,还书日期,操作员)借书证编号为此关系的码。操作员(操作员编号,姓名,密码,备注)操作员编号为此关系的码。4.3计算机系统的配置方案硬件环境:内容最低配置建议配置主机p/200pii/266以上内存64mb128mb以上硬盘10gb20gb以上显示器vga以上软件环境:操作系统:windows 98中文版或windows xp中文版编程软件和数据库:visual basic6.0中文版+access2000中文版44系统的安全性和可靠性设计对所有登录本系统的使用用户进行严格的用户名和密码的管理,如果不属于系统事先设定好的合法用户,则系统无法登录,为了防止密码外泄,本系统具备密码修改功能。第五章 系统详细设计程序按照三个主要管理功能进行组织,其中借书和还书由于经常使用,单独列出来。下面我们按照操作顺序对程序的操作、界面的源程序进行详细说明。5.1启动:双击图标运行程序以后,就可以看到程序的主界面。由于这个时候还没有登陆系统,因此系统提示未登录。这是,需要通过通过系统管理菜单进行登录操作。图 1 启动后的主界面52登录系统进行登录时,用户单击了菜单“登录”,此时系统开始显示登录窗口。private sub mnusyslogin_click() frmlogin.show vbmodal if currentuser.loginsuccess then me.caption = app.title & ( & currentuser.name & ) else me.caption = app.title & (未登录) end ifend sub程序首先显示frmlogin窗口,由于这个窗口是模态(vbmodal)显示的,因此如果用户只能关闭这个窗口后才能进行其他的操作。vb的窗口分成模块窗口和非模态窗口两种,普通情况下都是非模态窗口,但是多数对话框是模态窗口。程序的后面使用了一个结构体,这个结构体在公共模块定义,程序的任何地方都可以访问这个结构体,同时程序初始化了一个全局变量currentuser。该变量用来指示当前是否有用户登陆,用户的id和名称是什么等信息。type users id as integer name as string password as string loginsuccess as booleanend typepublic currentuser as users这里我们首先运行了frmlogin窗体,然后根据frmlogin窗体对用户信息的判断,由frmlogin窗体设置currentuser信息。如果成功,currentuser的loginsuccess属性将为true,否则为false。如果currentuser的loginsuccess属性为true,则主窗体显示当前用户登录的用户名。下面我们主要看frmlogin窗体的操作。图 2 登录窗体这里我们详细讲解登录的全部过程,因为这个过程中涉及到dao数据库访问的全部过程,因此我们将着重介绍这些过程。以后程序中使用同样功能的部分将不再介绍。private sub cmdok_click()dim struserid as stringdim struserpwd as stringdim db as databasedim rs as recordset 获取用户输入 if txtusername.text = then msgbox 请输入正确的用户名, vbinformation txtusername.setfocus exit sub end if struserid = txtusername.text if txtpassword.text = then msgbox 请输入用户密码, vbinformation txtpassword.setfocus exit sub end if struserpwd = txtpassword.text 开始校验密码 set db = opendatabase(db_name) set rs = db.openrecordset(select * from tbloperator where name= _ & chr(34) & struserid & chr(34) & and password= & _(34) & struserpwd & chr(34) if rs.recordcount 0 then rs.movefirst currentuser.name = struserid currentuser.id = rs!operatorid currentuser.loginsuccess = true else currentuser.name = currentuser.loginsuccess = false currentuser.id = 0 msgbox 无效的用户名或者密码,请重新登录, vbcritical end if set db = nothing set rs = nothing unload me end sub程序首先定义了四个变量,其中struserid、struserpwd是基本变量,用来临时存储用户的登录信息;db和rs是dao对象变量,其中db是数据库对象,用于连接数据库,也可以用来直接执行部分sql语句(insert、delete、update等,通过使用database对象的execute方法)。rs是记录集对象(recordset),它可以对应数据库的一个表,或者是一个查询执行结果。recordset是最为常用的数据对象,可以实现数据的漫游,数据的添加和删除。表 1 recordset的常用方法addnew增加一条新记录delete删除当前的记录movefirst移动到最前面一条记录movelast移动到最后一条记录moveprevious移动到前一条记录movenext移动到后一条记录edit当前记录进入修改状态update刷新当前记录集,将addnew或者edit所进行的操作提交到数据库对象变量在使用前需要进行实例化,这一点和普通变量是不同的。对象变量的实例化使用set语句进行的。 set db = opendatabase(db_name) set rs = db.openrecordset(select * from tbloperator where name= _ & chr(34) & struserid & chr(34) & and password= & _(34) & struserpwd & chr(34)这里我们使用了dao提供的opendatabase来进行db的实例化,其中db_name是一个全局常量,在系统初始化时定义。 db_name = app.path & library.mdb其中app是一个vb的对象,保存了应用程序的很多属性。在整个程序中我们使用了app对象的两个属性,即path属性(表示应用程序所在的路径)和title属性(表示应用程序的标题)。db初始化完成以后就可以使用他的方法和属性。这里我们使用database对象的openrecordset方法来进行初始化,openrecordset可以直接对一个表进行操作,例如openrecordset(“tblcard”),也可以通过执行一个sql语句来获得记录集,如上面的例子。我们查询数据库的管理员表,如果用户提交的登录信息存在,也就是用户是合法用户,则recordset中有记录,否则recordset将返回一个空记录集。这里我们通过recordset的recordcount属性来访问。 if rs.recordcount 0 then rs.movefirst currentuser.name = struserid currentuser.id = rs!operatorid currentuser.loginsuccess = true else currentuser.name = currentuser.loginsuccess = false currentuser.id = 0 msgbox 无效的用户名或者密码,请重新登录, vbcritical end if如果用户存在,则我们将用户的信息复制到currentuser中,同时设置登录成功的标志。保存用户id是因为针对管理员的所有操作都是通过其id来访问的(而不是名称),这在其他几个表中有所反映。由于用户的id绝对是唯一的,而用户的名字可能不是唯一的。因为如果一个用户使用某一个用户名进行登记,此时这个用户名将备这个用户占用,别的用户将不能使用同样的名字。但是如果用户销户以后,用户名就可以被别的用户使用。只有用户id是唯一的,即即使以后的用户使用同样的用户名进行注册,系统也会分配给他一个不同的id,这样就可以区别他们是两个不同的用户。在程序中主要的表都使用了唯一的id,都是基于这样的原因。对象使用完成以后必须显式的进行关闭和注销,这也是使用了set语句。进行注销时,只需要简单的将对象的值设置为nothing就可以了。 set db = nothing set rs = nothing整个数据库访问过程就结束了。程序段的最后一句是unload me,me是一个窗体级变量,指向窗体变量自身,这句语句相当于unload frmlogin,也就是关闭当前的窗口。如果用户登录失败或者未登录,用户只能使用登录菜单或者帮助的关于菜单。该菜单上面有系统的版本信息。图 3 关于对话框在未登录的情况下,如果用户试图使用系统的其他功能,系统将会显示提示登录窗口。因为在程序在运行每一项功能的时候,都会检查用户的登录情况(也就是currentuser 的各项属性,主要是loginsuccess属性),如果loginsuccess为false,则意味者用户没有登录,系统将提示登录。如果我们不是简单的使用boolean的字段,而是使用功能较为完备的机制,我们将可以实现复杂的权限控制。图 4 提示登录鉴权代码如下: if currentuser.loginsuccess then frmnewbook.show else msgbox loginprompt, vbcritical end if通用的流程是,根据权限设置判定用户是否有权使用某项功能,如果有,则允许使用;如果没有,则给出错误的提示。用户登录成功以后就可以使用系统的所有功能。同时,主窗体上将会显示当前登录用户的名称。当然,如果用户选择注销,则主窗体会显示未登录。用户登录成功以后就可以使用系统的所有功能。图书管理包括新书入库和信息查询两项功能,都包含在图书管理的菜单下。5.3新书入库图 5 新书入库新书入库的程序段采用了更为完备的功能,它首先检测用户输入是否合法,然后整理用户的输入信息,通过database的execute方法将sql语句写入到数据库中,由于写入过程有可能出错(数据库共享冲突、硬件故障等),所以代码段中使用了差错控制机制,vb的差错控制通过两个语句来完成on error goto line_indentity或者on error resume next其中第一句表示如果发生错误时将转到line_indentity开始的地方进行处理,第二句表示如果发生错误时强制程序继续运行以后的语句。 str1 = libid str2 = chr(34) & text1.text & chr(34) 5.4图书信息查询图书信息查询用于显示所有的图书信息,或者根据用户设定的条件进行查询,因此你将会在窗口的左上方看到两个radio选项,如果选择“显示所有记录”,则查询条件将不可用。如果选择“按条件查询”,则系统根据查询条件中设置的查询条件进行查询。图 6 图书信息查询系统允许用户使用三种查询的方法,即按照书名查询、按照作者查询和按照出版社进行查询。查询匹配包括精确匹配(=)和步精确匹配(like),如果使用精确匹配,则系统按照用户输入的去匹配整个字段,相当于使用sql语言的号功能,如果使用模糊匹配,则系统按照用户的输入,在前后添加%,然后使用sql语言的like功能进行查询。因此,所有包含有用户输入的字符串的字段所在的记录都会被显示出来。如果根据用户条件查询不到任何记录,则系统显示图 7查询不到符合条件的记录5.5新证登记新证登记和借书证查询都是针对借书证信息管理进行的,位于主界面的借书证管理菜单下。新证登记和新书入库基本上相似,因此这里不再详细介绍。图 8 新证登记5.6借书证信息查询借书证信息查询是管理员用来实现对借书证管理的主要界面,查询方法和图书查询一样。当然,它也提供了例如借书证有效时间等指标,如果借书证过期,那么该证将不能借书。系统同时提供了管理员将制执行借书证不可用等功能。图 9 借书证信息查询5.7借书登记借书登记和还书登记就是管理员最为常用的功能了,借书登记和还书登记都是根据用户id和图书id来进行的,相应的信息记录在tblloan表中。如果用户新借了一本书,那么相应的用户id、图书id和借书日期等信息将会被添加道tblloan表中。同样的,如果用户还书,则相应的记录将会被删除。因此,tblloan是经常动态修改,用于反映图书的借阅情况。如果他和tblbook相配合,则也可以统计出目前图书馆各种书的剩余数量。借书登记要求管理员提供用户id,这个id将在用户的借书证上可以找到。当然,比较先进的图书馆管理系统一般都采用条形码扫描技术,操作快捷而且不易出错,但是其基本原理是一样的。输入用户id以后,系统会自动显示用户的名字,当然也可以包括其他更多的信息。此时管理员可以查询用户已经借阅的书籍(这部分功能也可以交给系统后台处理,因为需要限制用户借书的数量)。用户需要借用任何一本书,都可以在现有图书表中选择相应的图书,然后单击借书,就可以看到该书的信息被添加到已借图书表中。这就是说,借书已经成功。图 10 借书借书部分使用了vb数据库访问技术的第二种,也就是ado技术。从上图种我们可以看到两个adodc控件,他们就是ado data connection。图 11 adodc属性页adodc通过ado连接数据库,你可以在程序中配置静态的连接,这是我们可以按照属性页中的提示一步一步完成配置。但是静态连接的缺陷在于,如果数据库路径被修改,则程序连接数据库将导致失败。因此,一般情况下我们都会使用动态配置。程序安装的时候,数据库一般都会被安装在和主程序同样的路径下,因此我们需要在程序运行的时候,进行数据库的连接。adodc1.connectionstring = provider=microsoft.jet.oledb.4.0;data source= & db_name & ;persist security info=false这就是ado数据库连接的语句,它通过设置ado的connectionstring属性来进行设置,provider是ado的一种概念,你可以认为就是驱动程序,这里使用的驱动程序为microsoft.jet.oledb.4.0,这种驱动程序专门用来连接access数据库。当然,provider还包括sql server、oracle或者odbc等。data source就是我们要访问的数据库。db_name我们前面已经介绍过了,就是数据库的路径和文件名。ado提供了dao相同的recordset,在这个控件中表现为recordsource 属性,我们通过指定这个属性,就可以实现和数据库的连接,这和dao的openrecordset是一样的功能。完整的语句是这样的。adodc2.recordsource = select * from qryloanbook where bookid in (select bookid from tblloan where cardid = & txtcardid.text & )adodc2.refresh如果adodc的recordsource属性被修改,需要强制调用refresh方法来刷新数据源,这是需要特别注意的。另外,显示图书信息的数据表格是vb的一种控件,叫做datagrid。它经常和adodc配合使用,显示数据库的一个表。当然,它也支持数据的添加、修改和删除。5.8还书还书的基本操作和借书相同,通过检索用户的id和图书的id,在tblloan表中删除相应的记录完成还书操作。还书第六章 实施概况61系统开发环境:系统开发环境包括硬件平台和软件平台两种。硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的mis管理系统,因此对计算机硬件的要求不高,比较经济,只要配备有pii处理器(或以上)、64m内存(或以上)、10g硬盘(或以上)的普通微机即可顺利运行。软件平台是指系统开发与运行的软件环境。本系统在开发时选用了稳定性较强的windows xp中文专业版和visual basic6.0作为开发语言,同时选用了access数据库,由于这些软件产品都是microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。visual basic 6.0具有可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,使得可以轻松方便的对数据库管理。数据库采用microsoft access,由于我们的系统要求,采用它完全可以适合我们的工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易升级。 本系统在单机上运行。6.2系统测试:在开发本系统时,为了使系统能够稳定运行,对本系统进行了有针对性的全面测试,采取的方式是:1、菜单项测试:为了保证每一项下拉菜单能够正确实现系统设计的功能,我把该图书馆有关图书的所有基础数据,基本上全部输入到本系统中,并对每一个菜单项反复进行了增加、删除、修改等操作,从而保证了菜单级功能的正确实现。2、数据跟踪:完成菜单项测试后,我又对系统内的每一个数据进行了跟踪。例如:例如对最多可借书数的管理,我首先在借书证管理模块中对某个读者的可借书数进行设定,然后在借书模块进行数据操作,随时观察这两个数值之间是否有冲突产生,经过对可借书数的数值多次不同大小的设置并进行验证,说明该功能完全正常。3、综合测试:在以上测试的基础上对系统功能进行了整体的测试,依次来检验系统功能是否符合系统设计的要求。6.3 系统运行与维护:系统的运行:1初始数据的输入本系统的的输入采用鼠标和键盘相结合的输入方法。2、怎样进入系统a、将本系统所在的文件夹拷贝到硬盘,然后执行其中的图书管理系统的程序文件即可,应注意要将全部文件的属性变以存档,消除只读属性。b、在随后出现的登录界面上输入正确的用户名和密码即可3、怎样使用本系统:点击鼠标左键即可进行相应功能的选择。系统的维护:本系统是个较复杂的人-机系统,由于系统外部环境与内部因素的变化,不断影响系统的运行,同时需要系统不断地适应这些变化,不断地完善系统,以提高系统运行的效率与服务水平,这就需要自始至终进行系统的维护工作。系统的维护主要包括四个方面:(1)程序的维护:指的是修改部分或全部程序,这种维护往往是在条件发生变化或原系统的效率低的情况下进行的。(2)数据文件的维护:指的是按照用户的要求对数据文件进行不定期的修改。(3)代码的维护:随着系统的发展和变化,可能会出现旧代码不能适应新要求的问题,因此,有必要变更代码,予以维护。(4)硬件的维护:指的是对系统所使用的设备进行维护。本系统的日常维护由图书馆的专人来负责,如果出现一些不能解决的问题,则由开发者来负责。64系统的转换方案:本次开发的图书管理系统采用了并行转换方式,以保证平衡可靠的过度。即一方面使用本系统来进行工作,另一方面又继续沿用老的方式手工方式,这种状况持续了半个月的时间,在这期间发现了一些程序中存在的漏洞和错误,用户也提出一些修改意见,经过程序的进一步完善后,正式投入了使用,中止了以前老的手工的操作方式。结束语在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对图书管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在图书管理系统中的应用已经很普遍,但在开发过程由于硬件的限制,未能实现网络功能,在大多数图书管理系统单机版中,数据库是用普通的单机版数据库,那么在以后的系统更新过程中会造成不必要的损失。尽管该图书管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是图书管理系统所必需的。相信该图书管理系统将是一套图书馆管理员必不可少的管理软件,在本次毕业设计中,我从指导老师身上学到了很多东西。他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。另外,在系统开发过程中还有同组的同学也给了我不少帮助,这里一并表示感谢。 参考文献1.刘明周. visual basic数据库开发高级指导.计算机软件.2003:2.田金兰. visual basic6使用指南.电子工业出版社.2000:3.潘锦平. 软件开发技术. 西安电子科技大学出版社.20014. 王珊. 数据库系统概论. 高等教育出版社.20005.刘藩.软件工程导论.清华大学出版社, 2000:附 录一、部分程序源代码:1、登录界面(frmlogin.frm):option explicitpublic loginsucceeded as booleanprivate sub cmdcancel_click() 设置全局变量为 false 不提示失败的登录 loginsucceeded = false me.hideend subprivate sub cmdok_click()dim struserid as stringdim struserpwd as stringdim db as databasedim rs as recordset 获取用户输入 if txtusername.text = then msgbox 请输入正确的用户名, vbinformation txtusername.setfocus exit sub end if struserid = txtusername.text if txtpassword.text = then msgbox 请输入用户密码, vbinformation txtpassword.setfocus exit sub end if struserpwd = txtpassword.text 开始校验密码 set db = opendatabase(db_name) set rs = db.openrecordset(select * from tbloperator where name= _ & chr(34) & struserid & chr(34) & and password= & chr(34) & struserpwd & chr(34) if rs.recordcount 0 then rs.movefirst currentuser.name = struserid currentuser.id = rs!operatorid currentuser.loginsuccess = true else curr

温馨提示

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

评论

0/150

提交评论