图书租赁管理系统设计报告.docx
《图书租赁管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《图书租赁管理系统设计报告.docx(25页珍藏版)》请在冰豆网上搜索。
图书租赁管理系统设计报告
绪论
在当今社会,随着计算机的发展及网络技术的应用,计算机应用在全球范围内的普及。
当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。
而在日常生活中信息技术的不断融入,在技术越来越先进的同时,我们应该从以前繁琐的事务中解放出来,来提高了我们的工作效率。
而目前在大的学校的图书馆已经有一整套比较完整的信息管理系统,而在一般小型的学校图书馆中工作大部分还是进行着手工管理,工作起来效率很低,并且不能及时了解图书馆各类图书的库存,学生们比较需求的图书难以在短时间里找到、图书的入库和更新比较麻烦等等,不便于动态及时调整图书结构。
由于不可避免的人为因素,造成数据的遗漏、误报。
为了更好的适应当前学生的借阅需求,缓解手工管理还存在这许多弊端,计算机信息化管理有着储存信息量大,速度快、便于管理等特点,提供给我们的处理信息及时快捷,在工作中不仅减缓了压力,同时提高了我们工作人员的自身素质。
因此我们利用计算机提供给我们信息,及时的调整学校图书馆图书结构,并且对学生们的借阅过程形成一整化动态的管理。
现行文件应用计算机技术源于企业管理信息系统(MIS)的建立,什么是MIS,解释不一。
虽然各自的文字表述不尽相同,但有两点内涵是共同的,即其一,管理信息系统的建立是依托于企业管理职能系统,并为之服务。
它一般都先从会计核算电算化开始,应用商品化的会计软件管理帐务、应收和应付帐款及固定资产核算。
在会计核算电算化的基础上完成财务管理电算化,运用计算机辅助完成财务分析和编制财务计划。
随后,把计算机技术扩展到采购、销售、库存及人事管理。
运用计算机实现财务管理及这些管理在数据上的一体化处理,极大地提高了企业管理的效率。
最后,再把计算机技术运用于生产管理,实现生产计划编制和生产指挥调度的计算机化;其二,管理信息系统的职能主要是对正在形成的现行信息进行收集、加工及处理。
图书租阅管理系统是一种在学校中常用的一种系统。
它从图书的入库登记到查询浏览,形成了一个整体自动化管理模式。
我从的图书馆信息管理系统出发,了解到图书馆信息管理系统的基本运作的同时,并提出实现图书馆信息管理、资源共享的基本目标。
从而推动迈向数字化图书馆的步伐,并阐述系统结构设计和功能设计。
本文的系统设计是采用了C/S模式的实例,我想我的思想对学校的图书馆信息管理具有一定的参考价值
第一章概述
1.1VisualFoxPro6.0简介
VisualFoxPro6.0是Visual公司推出的用于企业级应用开发的开发工具。
VisualFoxPro是面向对象的开发工具,与传统的开发工具有着本质的区别。
传统的开发思路是“控制流”,给程序员预先定义可运行路径,需要开发人员写大量的程序去控制程序的流程,并且程序在运行时,用户不能偏离这一路径。
而VisualFoxPro的编程思想是事件驱动,在编程的过程中首先是创建各种对象,然后为对象赋予属性,为对象编写事件驱动程序。
VisualFoxPro6.0相对以往的开发工具具有以下一些优异的功能和特点:
1.具有内置的关系数据库
VisualFoxPro本身带有一套关系数据库系统。
VisualFoxPro通过ODBC接口与VisualSQLAnywhere数据库连接在一台机器上。
这样做的好处是,VisualFoxPro可以脱离数据库服务器独立运行,从而在开发阶段可以独立于网络服务器上的数据库。
当然,利用这一功能也可以开发出单用户的独立数据库应用程序。
2.独创的数据窗口(DataWindow)对象
VisualFoxPro拥有数据窗口这个具有专利技术的智能对象,SQL语句被内嵌在该对象中,利用该对象可以操作关系数据库的数据而无需编写SQL语句。
用户可以查询、修改、插入、删除、浏览、打印,以多种文件格式打开和存储数据,或在数据窗口中直接定义功能按钮,实现预定义的系统功能,如插入、删除数据的操作。
它还支持数据库的事务管理和并发控制等机制。
3.丰富的数据窗口数据源(DataSource)和多种样式的数据显示格式(PresentationStyle)数据窗口可以用来维护数据和显示数据,可以定义显示风格和数据显示格式的种类,通过各种数据源和数据显示风格的不同组合,可以以多种方式显示数据。
1.2系统应用背景
随着时代的进步,社会生产力高速发展,新技术层出不穷信息量急剧膨胀,整个人类社会已成为信息化的社会人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。
如在查找情报资料、处理银行帐目、仓库管理、科研生产等方面,无不需要利用大量的信息资源。
因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。
信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。
处在信息时代的今天,信息的作用越来越为人们所重视。
制定工作计划,研究投资策略,都离不开对信息的充分利用。
管理信息系统(ManagementInformationSystem,缩写MIS)是一种“人机系统”,它以特定的模式支持一个组织内各级组织机构之间的通讯,对信息资源进行综合开发,管理和利用,实现对该组织的有效管理。
它通过对数据的加工处理,及时为管理与决策分析提供信息。
其特点有:
●数据全部存储于计算机系统中;
●用户使用简单、操作方便、查询速度快;
●有极强的人-机对话功能;
●能直接从计算机系统中提供决策所需的参考信息。
管理信息系统基本框架如图2-1:
一个现代化的图书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息、传统的管理方法既浪费人力物力财力,又容易导致各种错误的发生,面对图书馆数以万计的图书、纷繁复杂的读者信息、频繁更替的借还书信息,传统的直接方法不但管理起来及其不方便,而且极容易出现漏洞,从而造成不可估量的损失。
因此实现一个智能化、系统化、信息化的管理系统是十分必要的。
充分利用计算机的功能实现对图书的管理,将会使图书管理工作大大减轻,方面友好的图形用户界面,简便的操作,完善的数据库管理,将会使得图书管理系统极大限度地应用于现代化图书管理,成为图书管理人员的得力助手.
第二章需求分析
信息化是当今世界经济和社会发展的大趋势,信息化建设程度和信息利用水平的高低,在整个国民经济信息化建设中具有举足轻重的地位。
早在70年代世界上一些发达国家的计算机软件就已逐步应用到商业活动中,改变了人工处理的繁重的信息时代,各行各业对计算机软件的需求更是必不可少,特别是我国正处于发展过程中,不断的摸索提高管理水平,计算机软件的应用无疑将加快我们的步伐,提高我们的国际竞争力。
2.1现有系统分析
现在有不少书屋都靠人工来管理,每借一本书都要用笔和纸登记。
既浪费金钱又浪费时间。
而现有的有关书籍管理的系统要求较高,成本也较昂贵。
并不适合私人的小型书屋使用。
2.2新系统分析
本系统适用于规模较小的租阅型的书屋使用。
帮助管理者进行查询,添加,删除,修改,打印等相关数据,能够更系统地完成租阅工作的管理,使租阅情况一目了然,有效的提高了工作效率;同时也方便租阅者查询想租阅的小说,根据租阅者选择的不同方式进行多种方法的查询,节省租阅者因查找小说而浪费的时间。
经济上可行.本系统要求计算机只需586或以上即可,而开发的成本也较低廉,这对一个书屋图来说是丝毫不成问题的。
运行可行性分析.通过以上几点的分析,我觉得本管理系统完全有开发的必要,并具有普遍可行性,特别适合小型图书馆和书屋使用。
系统运行的环境要求不高,一般的流行的电脑配置均可以非常良好的运行本软件。
本软件可以运行在Windows95/98/XP或更高版本的Windows操作系统之上。
本系统主要功能介绍
设计一个小说租阅管理系统。
适用于中小型的租阅型的书屋使用。
该租阅管理系统可以协助管理人员进行浏览、查询、添加、删除、修改、打印等相关数据。
使租阅情况一目了然,检索迅速,查找方便,避免为找某一本书而消耗掉过长的时间,从而更系统的管理小说的租阅工作。
有效的提高工作效率,便于对书籍进行统计和管理。
主要功能
1.待开发软件能对所有书籍进行分类录入。
2.该软件能帮助租阅者对书籍的自然资料进行浏览,以便方便选择。
3.该软件能帮助管理人员对书籍进行修改,更新所需小说以及编辑各个部分小说的租阅情况,同时完成密码修改的工作。
4.该软件能对书籍进行资料统计和查询。
5.该软件能对书籍进行添加、删除。
6.该软件能帮助管理人员将所需要的信息以报表的形式打印出来。
7.该软件能提供帮助即敬告读者了解本书屋的借阅规则和小说租阅管理系统的说明的有关事项。
第三章系统设计
3.1小说租阅管理系统功能分析
3.1.1小说租阅管理系统结构
开发本系统的总体任务是实现图书管理的系统化和自动化,帮助图书管理人员更好更高效地完成图书管理工作。
本系统要完成的功能有:
书籍管理部分:
这一部分包括书籍类别管理和书籍信息管理两部分。
其中,书籍类别管理包括添加书籍类别、修改书籍类别等:
书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。
借阅管理部分:
借阅管理包括借书信息的添加、借书信息的修改、借书信息的删除等。
系统管理部分:
包括修改系统用户密码、增加新书以及退出系统等。
3.1.2小说租阅管理模块设计
系统设计目标和功能
在计算机业高度发展的今天,各行各业都有电脑的需求,希望通过电脑的快捷管理来提高效率。
例如书屋,随着图书储备的不断加大和读者的日益增多,使得管理人员面临着很大的难题。
如何才能将图书全面系统的管理。
使借阅省时高效,提高工作质量,工作效率。
方便读者借阅,为读者更好的服务。
本系统就是根据以上的种种的困难进行开发设计的。
其具体的设计功能是:
(1)方便的数据输入性能。
(2)较灵活的查询性能,可以根据不同的需要快速实现按某种查询方式对图书资料进行查找并显示相应记录。
(3)具有模糊查找的功能,可以根据不太确切的信息查找出相近的资料以供进一步的查询,提高了系统的应用能力,也为资料的管理提供了方便。
本系统有以下几种模块:
根据图书馆业务的需求,该系统主要是为了方便会员管理,图书管理和借阅管理等。
为此设计了,会员管理模块、图书管理模块、借阅管理模块等。
本系统采用菜单操作方式,每个主模块下又有少量的子功能使操作者可能根据需要方便的使用。
3.2图书租阅管理数据库设计
3.2.1数据库系统
本人设计的是一个关于图书管理的数据库系统,通过这个系统管理员可以简捷、方便的对图书记录查阅、增加、删除等功能,而用户也可以通过这个系统对进行图书查询等功能。
数据库技术是计算机科学的重要分支,数据库应用成为当今计算机应用的主要领域之一。
数据库系统本质上是一个用计算机存储记录的系统。
数据库本身可被看作为一种电子文件柜:
也就是说,它是收集计算机数据文件的仓库或容器。
系统用户可以对这些文件执行插入数据、检索数据、更改数据、删除数据等一系列操作。
总之,数据库系统是一个计算机存储记录的系统,即,它是一个计算机系统,该系统的目标存储信息并支持用户检索和更新所需要的信息。
确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,有能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。
M
N
……
3.2.2图书租阅管理系统数据库设计
1书籍管理部分
书籍管理部分包括书籍信息管理和书籍类别管理,其功能是实现对
各部分数据内容添加、修改、删除等操作。
各管理部分的明细如下:
1)、书籍信息管理:
包括书籍信息的添加、书籍信息的修改、书籍信息的查询和书籍信息的删除4部分功能。
其中,书籍信息包括图书编号、书名、图书类别、作者、出版社、出版日期。
2)、书籍类别管理:
包括书籍类别的添加、书籍类别的修改、书籍类别的闪出3部分功能,其中,书籍类别包括类别名称和类别编号两部分。
2系统管理部分
设置操作人员。
系统初始设置一个密码,操作人员可以利密码登录。
根据上面分析的系统的各种功能要求,系统所需的数据库应该有以下几个表组成:
小说自然资料数据表
序号
字段名
类型
描述
1.
编号
字符型
宽度为3,按升序排列,设为主索引
2.
书系
字符型
宽度为20
3.
书名
字符型
宽度为20,按升序排列,设为普通索引
4.
作者
字符型
宽度为10,按升序排列,设为普通索引
5.
出版社
字符型
宽度为20
6.
出版时间
日期型
宽度为8,系统默认
7.
印刷数目
字符型
宽度为10
8.
定价
数值型
宽度为8,小数位数为2,按升序排列,设为普通索引
9.
书中人物
备注型
宽度为4,系统默认
10.
主人公
字符型
宽度为20
11.
内容提要
备注型
宽度为4,系统默认
表1数据表
序号
字段名
类型
描述
1.
编号
字符型
宽度为3,按升序排列,设为普通索引
2.
书系
字符型
宽度为20
3.
书名
字符型
宽度为20
4.
借阅日期
日期型
宽度为8,系统默认,按升序排列,设为普通索引
5.
还书日期
日期型
宽度为8,系统默认,按升序排列,设为普通索引
6.
租金
数值型
宽度为8,小数位数为2
7.
押金
数值型
宽度为8,小数位数为2
8.
付押证件
字符型
宽度为20
表2数据表
序号
字段名
类型
描述
1.
作者
字符型
宽度为10,按升序排列,设为普通索引
2.
书系
字符型
宽度为20
3.
编号
字符型
宽度为3,按升序排列,设为普通索引
4.
书名
字符型
宽度为20
表3数据表
序号
字段名
类型
描述
1.
密码
字符型
宽度为10,密码为810720
3.3添加图书租阅管理菜单
使用菜单编辑器编辑系统主菜单
浏览
…………快速浏览
…………分页浏览
查询
…………分项查询
…………综合查询
…………租阅情况查询
修改
…………添加/删除
…………修改/保存
…………密码修改
…………租阅记录添加
打印
…………小说租阅情况一览表
…………作者作品一览表
…………小说自然资料一览表
帮助
…………读者敬告
…………关于小说租阅系统
退出
…………退至VFP
…………退至WINDOWS
第四章测试和应用
4.1测试
在开发大型软件系统的过程中,需要面对错综复杂的问题,人的主观认识不可能完美无缺,因此,在软件生存周期的每个阶段都不可避免地会产生错误。
在软件生命周期的每个阶段都不可避免地回产生差错。
我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正差错。
测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。
目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
软件测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤地继续。
大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。
因此,大型软件系统的测试基本上有下述几个步骤组成:
1、模块测试:
在这个测试过程中所发现的往往是编码错误和详细设计的错误。
2、子系统测试:
这个步骤着重测试模块的接口。
3、系统测试:
在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
4、验收测试:
在这个测试步骤中发现的往往是系统需求说明书中的错误。
对于以上的几个步骤,分别要完成功能测试、强度测试及性能测试、可用性测试等。
5、功能测试:
测试是否满足开发要求,是否能够提供设计所描述的功能,是否用户的需求都得到满足。
功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
例如:
在登录注册模块的测试中,针对要求输入合法和不合法的用户名及口令进行测试,反复几次,若无错误,则保证基本正确。
6、强度测试及性能测试:
测试系统的能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。
如要求软件某一行为的大量重复、输入大量的数据或大数值数据、对数据库大量复杂的查询等。
测试软件的运行性能,这种测试常常与强度测试结合进行,需要事先对被测软件提出性能指标,如计算的精度、记录的精度、响应的时限和恢复时限等。
7、可用性测试:
测试用户是否能够满意使用。
具体体现为操作是否方便,用户界面是否友好等。
因为在软件编辑时听取了用户的意见。
因此,用户界面的设计上并没有太大的问题。
4.2应用
进入界面后,只输入正确的密码,系统菜单才能发生作用。
每打开一个表单时,需关闭前一个已打开的表单
附件:
在项目管理器窗口的数据选项卡中选择数据库,单击右边的新建按钮,在弹出的新建数据库对话框在选择新建数据库,进入到数据库设计器环境之后,在空白处单击右键,从弹出的快捷菜单中选择新建表,进入到表设计器环境,具体的表结构如下表所示.
将此表以SYSTEN为名保存,再次回到数据库设计器环境当中,再次单击右键,再次选择新建表,将进入一个新的表设计器窗口,输入各个字段,具体如下.
将此表以TSZL为名保存.
经过上述步骤,整个数据库文件就建立好了.
七 建立交互表单
1 回到项目管理器窗口中,单击文档选项卡,从中选择表单选项,单击右边的新建按钮,从弹出的新建表单对话框中选择新建表单按钮,从表单菜单中选择创建表单集,在FORM2表单设计器窗口中添加一个组合框,一个文本框,三个图片框,二个标签.设计好的界面如图所示.(其中退出和进入两个都是图片框)
在FORM1的表单设计器窗口中添加三个文本框,七个标签,二个图片框,界面如下图所示.
其中具体的代码如下:
TEXT1的LOSTFOCUS代码:
thisform.image2.click()
IMAGE的CLICK代码:
clearevents
IMAGE的CLICK代码:
czz=allt(bo1.value)
mm=allt(thisform.text1.value)
mi=0
n=len(czz)
m=len(mm)
fori=1ton
mi=mi+asc(substr(czz,i,1))*2.698
endfor
forj=1tom
mi=mi+asc(substr(mm,j,1))/1.3
endfor
ifstr(mi,9,4)==str(mima,9,4)
ZOOMWINDOWSCREENMax
_screen.visible=.t.
thisformset.release
domain.mprelse
=messagebox("操作者或密码不正确,请重新输入!
",16,"提示")
endif
Formset1的destroy事件中的代码:
setclasslibto('tszl')
kj=creat('tszl')
kj.dock(0)
kj.show
Formset1的init事件代码:
ifempt(xm)
this.form2.hide
this.form1.show
else
this.form1.hide
this.form2.show
endif
Text3的lostfocus事件代码:
thisform.image1.click()
最后关闭所创建的表单集,将表单集以LOGO为名保存到\FORMS目录下.
2 再次回到项目管理器窗口中,选择文档选项卡下的表单,同样单击右边的新建按钮,选择新建表单,向空白表单中添加三个标签,三个文本框,两个命令按钮,一个图片框,界面如下所示.
具体的代码:
TEXT2的LOSTFOCUS代码:
if!
empt(this.value)
locateforallt(xm)==allt(czz)
mm=allt(thisform.text2.value)
mi=0
n=len(czz)
m=len(mm)
fori=1ton
mi=mi+asc(substr(czz,i,1))*2.698
endfor
forj=1tom
mi=mi+asc(substr(mm,j,1))/1.3
endfor
ifstr(mi,9,4)==str(mima,9,4)
thisform.text3.enabled=.t.
thisform.text4.enabled=.t.
mand1.enabled=.t.
else
=messagebox("密码错误请重新输入!
",16,"提示")
thisform.text2.setfocus
endif
endif
COMMAND1(确认)的CLICK代码:
ifempt(thisform.text3.value)
=messagebox("新密码不能为空,请输入新密码",16,"提示")
return
endif
ifallt(thisform.text3.value)==allt(thisform.text4.value)
locateforallt(xm)==allt(czz)
iffound()
mm=allt(thisform.text3.value)
mi=0
n=len(czz)
m=len(mm)
fori=1ton
mi=mi+asc(substr(czz,i,1))*2.698
endfor
forj=1tom
mi=mi+asc(substr(mm,j,1))/1.3
endfor
replmimawithmiforallt(xm)==allt(czz)
thisform.release
endif
else
=messagebox("新密码检测未通过,两次输入的密码必须相同!
",16,"提示")
endif
COMMAND2(退出)的CLICK代码:
thisform.release
最后关闭表单设计器窗口,将表单以MIMA为名保存到\FORMS目录下.
3 回到项目管理器窗口,从文档选项卡下重新选择表单,单击右边的新建按钮,选择新建表单按钮,在空白表单中添加控件,界面如图所示.
具体的代码:
FORM1的LOAD代码:
publict1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13
t1=""
t2=""
t3=0.0
t4=0.0
t5=date()
t6=""
t7=0.0
t8=0.0
t9=date()
t10=date()
t11