图书管理系统设计与实现原文.docx

上传人:b****5 文档编号:8004581 上传时间:2023-01-27 格式:DOCX 页数:13 大小:235.92KB
下载 相关 举报
图书管理系统设计与实现原文.docx_第1页
第1页 / 共13页
图书管理系统设计与实现原文.docx_第2页
第2页 / 共13页
图书管理系统设计与实现原文.docx_第3页
第3页 / 共13页
图书管理系统设计与实现原文.docx_第4页
第4页 / 共13页
图书管理系统设计与实现原文.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

图书管理系统设计与实现原文.docx

《图书管理系统设计与实现原文.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计与实现原文.docx(13页珍藏版)》请在冰豆网上搜索。

图书管理系统设计与实现原文.docx

图书管理系统设计与实现原文

图书管理系统设计与实现

摘要:

图书管理系统是一个学校不可缺少的部分,它的功能对于学校的管理者和读者来说都至关重要,直接关系到图书的借用率,开发图书管理系统能够为管理员和读者提供充足的信息和快捷的查询手段。

本文在详细调查了图书管理业务流程的基础上,对学校图书管理系统的功能结构和数据库进行了设计,并采用VisualBasic和Access技术实现了系统主要功能。

关键词:

图书管理,VisualBasic,Access,ADO

1.项目开发的背景、意义及来源

1.1系统开发的背景和意义

随着信息技术的发展,在图书馆的管理中运用传统的手工操作方式在现在这个数字化的时代已显得极不适应,因此,工作人员和读者对于运用计算机来辅助协调和管理自身工作的需求正在逐步提高。

随着我国现代化技术的不断提高和普及,学校也在不断的提高它的各个部门的管理质量,而图书馆管理就是对图书的编目、查询及读者信息的管理,重要的是图书的信息管理,包括图书的采购、编目、下架、遗失等。

因此,图书的管理是一个工作量比较大而且较为繁杂的工作,至今还有很多学校仍然采用人工管理的方式,由两三个工作人员管理图书档案,对于借书还书都是用手工来进行操作,而一旦借阅者较多时就容易因忙碌导致错误的产生,这样的情况在今天这样一个科技高速发展、工作节奏加快的年代真是感觉太原始了。

自从管理信息系统这一新兴的管理方法引入我国,在我国企业管理中已有20多年的时间。

现在,管理信息系统已经广泛应用于各行各业。

因此在这样的前提下,我选择了“图书馆管理信息系统”这样一个较为普遍,同时又较为典型的课题。

在当今这样一个科技高速发展的社会里,仅有理论知识是显然不行的,所以,我希望通过开发这个系统,能更好地把理论与实际结合起来,充分将自己所学的专业知识应用于实践之中,并在实践中不断充实自己,提高自己的专业技能水平,以获取更多的教益......

1.2系统来源

本课题由学院和辅导老师提出,基于Delphi7.0及SQLServer2000数据库平台开发图书馆管理信息系统,用于解决图书在馆内的信息变更、查询,以及读者借阅图书等问题。

2.系统研究的内容及须解决的问题

2.1国内外发展现状

目前,国际上大多数发达国家的图书馆基本上实现了电脑管理,尤其是那些较大型的图书馆还采用了大型数据库开发的软件,部分大型图书馆也使用Foxpro、SQLServer等。

而基于Access数据库的多数是中小型图书馆。

但在大多数不发达国家,基于SQLServer数据库的图书馆管理信息系统应用得很广泛。

而在中国,许多中小型图书馆用的还是手工图书管理,大多数图书馆对计算机管理信息还没有一定的认识,而SQLServer数据库具有使用方便、学习简单、易学易用的特点,所以基于SQLServer数据库在非发达国家有着很广阔的发展前景。

2.2课题研究的内容

课题研究的内容是关于图书馆管理信息系统的流通部子系统,是图书馆运用计算机管理和实际运用的具体体现,可以让大量的图书信息得到合理的安排。

该系统使用的是Delphi7.0,以SQLServer2000数据库平台进行开发。

2.3需要解决的关键问题

用户需求分析

系统整体规划方案及设定

功能模块的划分及设定

利用SQLselect实现数据的连接

实现最终系统代码的设计

3.图书管理系统解决方案

3.1方案内容

我们可以用两层体系结构作为图书馆管理信息系统软件解决方案的核心,它的基本思想是将读者操作的界面同工作人员的操作界面分离,把信息系统按功能划分为管理和维护、信息服务和信息查询三大块,分别放置在相同或不同的硬件平台上。

之后从需求出发构造数据库表,然后再由数据库表结合需求划分系统功

能模块。

这样,就把一个大的系统分解成了几个小系统。

系统划分了子系统后,下一步的工作是继续划分子系统的小模块。

先考虑在进入子系统时应该做什么,进入系统之后又应该做什么,提供哪些服务等。

例如,对于图书信息服务子系统,在工作人员进入时首先得调用相关数据库表,找出该工作人员的基本信息;进入系统后,子系统得提供图书查询,图书借阅和还书的功能。

3.2方案论证

3.2.1方案选择

两层客户机/服务器技术在结构、开发环境、应用平台的开发方式上已经非常成熟。

请求另一计算机为之服务的计算机称为客户机(Client).而处理数据库的计算机称为服务器(Server)。

客户机/服务器是将处理工作分散到工作站和服务器上去处理,服务器不仅负责存取数据,还要对数据作一定的处理工作,这

样在数据发送给工作站之前即取得查询结果集,从而在大部分情况下可大大减少网络传输的开销,因此,也减轻了工作处理负担,用户只需关心界面的处理工作即可。

客户机/服务器系统的成功与否在很大程度上依赖于服务器。

用户越多,服务器的处理负担越重,相应服务器硬件性能也要跟得上,否则就会导致影响时间比本地型数据库还要差的结果。

客户机运行数据请求程序,并将这些请求传送到服务器。

由客户机执行的计算称为前端处理。

前端处理具有所有与提供、操作和显示数据相关的功能。

C/S[1]数据库应用程序中客户端的主要功能:

●从用户接收数据

●处理应用逻辑

●生成数据库请求

●向服务器发送数据库请求

●从服务器接收结果并显示结果

在服务器上执行的计算称为后端处理。

后端处理设备是一台管理数据资源并执行数据库引擎功能(如存储、操作和保护数据)的计算机。

C/S数据库应用程序中服务器端的主要功能:

●从客户机接收数据库请求

●处理数据库请求

●传送结果给客户机

●执行完整性检查

●提供并行访问控制

●事务处理失败后,执行事务恢复

●优化查询和更新处理

3.2.2方案技术实现

在设计图书馆管理信息系统时,我们采用了传统的基于两层的C/S结构来构建系统。

根据需求的分析结果,在此C/S结构中,客户端有两种的操作用户:

工作人员和读者。

Delphi客户机/服务器结构原理:

这里前端应用程序发送命令给基于服务器数据库引擎,再由后者负责从物理磁盘上读取数据并加以处理,最后返回给前端应用程序。

服务器负责数据库处理工作,而工作站负责用户界面处理工作:

读者查询信息及工作人员对系统的操作和维护。

Delphi客户机/服务器的前端应用程序实际上不直接与数据库引擎打交道。

每个客户服务器提供一个数据库通信接口,该数据库通信接口运行于前端。

这些接口也称为数据库通信API等。

数据库通信接口的工作流程如下:

图1工作流程图

Delphi中的BDE提供了丰富和强壮的特性支持客户机/服务器应用的开发。

它提供了支持多种数据库如:

Oracle,SQLServer以及任何ODBC数据源的统一和一致的应用程序编程接口。

开发者可以不用修改数据库应用程序就能直接访问不同的数据库站点和数据格式。

4.系统总体设计

4.1系统总体设计

对于图书馆主要负责提供的功能是指从图书的购入开始直到该图书过期下架的整个流通过程,这其中包括图书入库、借出、归还以及对参与此流通过程的读者的信息管理。

(1)新图书信息入库:

建立图书信息库,以便读者进行查询和借阅。

(2)修改图书信息:

在建立信息库时可能因操作错误或其它情况而造成数据库里图书信息的错误,需要修改这些错误。

(3)整理图书库:

图书因使用过久或信息过时需做下架处理,或者在读者借阅书籍时发生遗失的情况下需做遗失处理,这些都需要修改数据库关于书籍的信息。

(4)读者信息管理:

读者一般都是在校的学生和教师。

教师的信息一般在建立档案后一般不需要修改(或修改量较小),而对于学生则会有新生入学和老生毕业等情况出现,这些都需要修改数据库关于读者的信息。

(5)借书:

图书馆主要的功能就是提供书籍供读者借阅,在借阅图书时应按图书馆的规则进行借阅,例如不超过5本,如果已有超时借阅的图书,则在归还前不允许再借阅等等。

(6)还书:

对于图书遗失或超期归还的情况应根据图书馆的规则进行处罚。

(7)规则管理:

对于读者借阅书籍的权限(可借阅书籍数目,每人每本书可持有天数等)应该能按其类型加以分类,若有图书遗失或超期未还的情况发生,图书馆都应该规定处罚的条例。

另外对于操作此系统的前端工作人员的权限也应该有一定限制。

这些都应该只能由系统管理员来进行操作和修改。

(8)信息查询:

一般读者在借阅书籍前都需查询图书馆关于所借书籍的大概信息:

该图书是否在馆—是否已借出—在馆中的书架号;除查询书籍外读者还可查询关于自身的信息:

是否有超期未还的图书,还可借阅书籍数目等。

4.2系统功能结构图

图书管理系统主要包括图书信息服务子系统、图书管理和维护子系统、信息查询子系统等三个模块,其功能结构体如图2所示。

图2系统功能结构图

4.3数据库设计

4.3.1数据库的选择

图书馆管理信息系统是一个小型的数据库系统。

在这里我们选择SQLServer数据库进行开发。

MicrosoftSQLServer是一种关系型数据库管理系统。

关系模型是当前最受欢迎的数据存储和数据检索模型。

所有的数据处理都涉及存储和检索数据的操作,MicrosoftSQLServer是作为一个组织内部的全部数据的中心存储器来设计的。

组织中数据的关键特征强调了这一方法的重要性。

在客户机/服务器框架内,服务器数据库也要求与服务器的通信组件集成,

以便和客户系统连接。

MicrosoftSQLServer的客户机/服务器使用WindowsNT的内置网络组件。

MicrosoftSQLServer还在其网络组件的顶部添加了服务特有的中介组件:

开放式数据库连接(OpenDatabaseConnectivity,ODBC)能使不同客户机进行相互连接,而不要求变更服务器及其他现存客户应用程序。

4.3.2数据库设计

(1)书籍表结构设计(Book)

书籍表主要用于存储关于书籍的信息,主键BookID,外键TypeID引用表BookType,其表结构如表1所示。

表1书籍表结构

编号

字段名称

字段类型

字段说明

1

BookID

文本(15)

图书编号

2

BookName

文本(50)

书名

3

BookWriter

文本(50)

作者

4

BookPublic

文本(50)

出版社

5

BookBorrowed

是/否

是否借出

6

BookPosition

文本(30)

读书位置

7

TypeID

文本(6)

图书类别

8

Publicdate

日期/时间

出版日期

9

BookPrice

货币

价格

10

BookIntime

日期/时间

入库日期

11

Note

备注

备注

(2)读者表结构(Reader)

读者表主要存储关于读者的信息,主键ReaderID,外键:

DepartmentID引用表Department,JobID引用表Job,ClassID引用表Class,其表结构如表2所示。

表2读者表结构

编号

字段名称

字段类型

字段说明

1

ReaderID

文本(15)

读者编号

2

ReaderName

文本(20)

姓名

3

ReaderSex

文本

(2)

性别

4

DepartmentID

文本(5)

部门编号

5

JobID

文本(5)

职位编号

6

ClassID

文本(10)

班级编号

(3)读者类别表结构(Class)

读者类别表主要存储关于读者等级的信息,主键ClassID,其表结构如表3所示。

表3读者类别表结构

编号

字段名称

字段类型

字段说明

1

ClassID

文本

(2)

读者类别编号

2

ClassName

文本(20)

类别名称

3

BorrowSum

数字(整型)

可借书量

4

Deadline

数字(整型)

可借天书

(4)读者借阅表结构(BorrowRecorder)

读者借阅表主要存储关于书籍借阅的信息,主键BookID-ReaderID,外键:

BookID引用表Book,ReaderID引用表Reader,其表结构如表4所示。

表4读者借阅表结构

编号

字段名称

字段类型

字段说明

1

BookID

文本(15)

图书编号

2

ReaderID

文本(15)

书名

3

BookDate

文本(50)

作者

4

Deadline

文本(50)

截至时间

5

BookReturn

是/否

是否归还

6

PastTime

数字(整型)

超期

7

Penalty

货币

罚款

8

Note

备注

备注

4.3.3数据库关系图

图书管理系统各表之间的关系如图3所示。

图3数据库关系图

5.图书管理系统的实现

5.1系统结构

我们用两层体系结构作为图书馆管理信息系统软件解决方案的核心,把信息系统按功能划分为管理和维护、信息服务和信息查询三大块,分别放置在相同或不同的硬件平台上,并将系统的操作人员划分为三类:

读者,工作人员,系统管理员。

图书管理系统的操作流程如图4所示。

图4操作界面示意图

5.2登录系统界面的设计

(1)从列表框里选择用户,此列表框内的用户直接与数据库里工作人员的表相关联。

(2)输入密码。

判断该密码与工作人员表中定义的密码是否相符。

(3)如果不正确,提示输入正确的信息。

(4)如果正确,用户登录,并根据工作人员表中的用户权限设定其可操作界面。

(5)对于用户的权限规定:

权限为‘1’的用户(系统管理员)拥有全部的权限。

权限为‘2’的用户:

除不能修改图书馆的规则管理以外,拥有其他的全部管理权限,相当于底层的工作人员:

系统初始化、新书的入库、图书整理、修改图书信息、规则维护、用户信息管理、查询图书借阅、图书借出、图书归还。

权限为‘3’的用户为前台的工作人员;他只能负责前台的工作:

图书借出、图书归还。

系统登录界面如图5所示。

图5系统的登录窗体

5.3信息服务子系统的设计

5.3.1图书借阅子模块设计

对于读者借书是应考虑的情况有:

(1)该图书是否在馆;

(2)该读者是否有借阅此图书的权限;

(3)该读者所借图书数目是否已满其可借图书数目或该读者是否有超期未还的图书。

图书借阅子模块的界面如图6所示。

图6图书借阅子模块界面

5.3.2还书子模块设计

对于读者归还图书时应考虑的情况主要是该图书是否超期,若有则应根据规则予以处罚。

还书子模块的界面如图7所示。

图7还书子模块界面

6.开发过程遇到的问题及解决方法

(1)关于字段为datetime型时产生的问题

在修改图书信息时:

其中关于书籍的入库时间在数据库里定义为datetime型。

当对书籍的信息进行修改后,若图书的入库时间为空时,则在插入数据时将产生错误。

解决方法:

当此字段为空时,将该书的入库时间默认为当前时间。

(2)对于有外键约束的表,在界面端用SQL语句向表中插入记录时,该外键属性值必不能为空,且必须将插入记录的所有属性都在语句中列出。

如在图书遗失情况下,首先应向LostBook表中添加该图书的记录,但此处因有外键约束:

BookID,ReaderID,则不能用语句:

insertintoLostBookvalues(:

sno,:

sreaderid,:

sname,

:

swriter,:

spublic,:

sprice,:

slostdate,:

srepay)。

(3)图书遗失的表单中:

首先需根据其读者编号查询该读者和书籍的信息。

因此表单中的Query的SQL查询语句是预先已经定义好的,只是在运行时对其参数进行一次赋值(读者编号)操作。

但在几次的操作之后发现:

当打开该表单后只能查询一次读者的信息,即使对其参数赋不同的值,但显示的结果都是第一次所赋读者编号的所有信息。

解决方法:

在表单里对Query的SQL语句先清空,然后重新写SQL语句。

(4)关于图书整理表单的统计页的问题

在此我定义了统计所有未按时归还的图书总数,其代码是:

qrydel.SQL.Add('selectcount(BookID)fromBorrowRecorderwherePastTime=:

stime');qrydel.ParamByName('stime').AsString:

='是';

但此处的PastTime:

=‘是’存在某些疑惑,因为在此系统里对于图书借阅表中是否超期的字段都是在还书时根据借书时间和可借期限进行统计然后再赋值的,所以若某些图书虽未归还但根据其借书期限已经超期了,但因该图书尚未归还则在图书借阅表中该超期字段并不是‘是’。

这种情况下的统计出来的结果则会发生错误!

解决方法:

在数据库段建立过程,只要图书已经超期则修改图书借阅表中是否超期字段

7.心得体会

在Delphi中出现的错误大体有以下几种:

(1)编译错误:

这种错误出现一般都是代码的语法问题。

因为编译而导致Delphi停运行;

(2)运行错误:

这个错误是发生在你准备运行Delphi时的,例如:

如果你试图给一个变量赋值,但是却超出了该变量允许的范围;

(3)逻辑错误:

逻辑错误是最难发现的,这种错误经常是一种结构错误。

这就需要我们彻头彻尾地检查我们的代码;

(4)如何处理错误:

发生错误后,我一般都是设置断点,对语句进行一条一条的调试。

8.致谢

经过一段时间的开发设计和调试,我基本实现了在系统设计时所设计的所有功能,设计出了一个功能比较完善的图书馆管理信息系统。

在开发的过程中,我查阅了大量的资料,与同学特别是本小组的成员进行交流,向老师请教,学到了不少课本上学不到的知识。

通过这次开发,我充分感受到了开发的艰辛,很多看起来简单的问题实际动手起来却不是那么回事,往往有这样或那样的错误,需要我一步一步地去解决,虽然在出现问题是感觉很头痛,特别是查找不出问题的原因时,然而更多的是实现功能后所享受到的喜悦。

最后,向在此次设计过程中给与我帮助的同学表示感谢,同时更加感谢指导老师给予的这次机会,谢谢!

参考文献

[1]梅绍租.电子商务基础[M].第2版.北京:

清华大学出版社,2005:

120-125.

[2]林红,陈宇岳,任煜,等.经等离子体处理的蚕丝纤维结构与性能[J].纺织学报,2004,25(3):

9-11.

[3]周仪.电子商务法律及案例[M].中国国际广播出版社.

[4]杨恩科.棉织物酶精练工艺探讨[EB/OL].

2003-10-04.

[5]宋玲.电子商务——21世纪的机遇与挑战[M].电子工业出版社.

StudyonApplicationFieldsofGeotextileTube

Abstract:

Geotextiletubehasmuchrecordationinforeignapplication.Byintroductiononworkingprincipleofgeotextiletubetechnology,thepaperdealswithapplicationofthetechnologyinenvironmentprotection,agriculture,dikeengineer.Thepaperthinksthetechnologyhasverygoodeconomicvalueanddevelopmentvalue.

Keywords:

geotextiletube,applicationfields,environmentprotection,agriculture,dikeengineer

附录

(1)**源代码

(2)**源代码

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1