摘要
随着计算机技术的飞速发展,计算机在各行各业的应用越来越广泛,而且信息化是21世纪计算机技术发展的重要趋势之一。将计算机技术与图书馆相结合,建立图书管理系统具有重要的现实意义。通过自动化的图书管理系统,可以实现图书馆业务的办公自动化管理,提高工作效率,可以更好的为读者服务。本系统是在Visual Basic 6.0集成环境下采用SQL Server 2000数据库技术进行开发的。该系统主要包括管理员和读者两大模块的设计。读者系统主要包括查看自己的图书借阅信息,查询相关书籍罚款金额和续借图书操作以及检索图书信息。管理员系统主要包括图书信息的添加、修改、删除与查询,读者信息的添加、修改、删除与查询,图书借阅与归还等功能子模块。
关键词:图书管理;检索;借阅;续借
Abstract: Nowadays, computers are used more and more widely in many fields with the rapid development of computer technology and informatization is an important trend in the development of computer technology in 21st century. It is necessary to combine computer technology with library and establish a books management system. With the automated books management system, office automation can be realized in library services, improving efficiency and serving the readers better .This system is developed with SQL Server 2000 database technology in Visual Basic 6.0 integration environment, including design of both administrator module and readers module. The readers module consists of functions in checking one’s book borrowing information and fines, renewing and searching books. The administrator module includes submodules of revisal, election, checking and addition to information of books and readers, book borrowing and returning.
Key words :books management; search ;borrow; renew
目 录
1 系统开发环境与开发工具 1
1.1 操作系统平台 1
1.2 开发平台 2
1.3 数据库平台 2
1.3.1 SQL Server 2000 2
1.3.2 数据库操作语言 3
2 系统分析 3
2.1 可行性分析 3
2.2 需求分析 4
2.2.1 功能需求分析 4
2.2.2 性能需求分析 4
2.2.3 运行环境 4
2.3 业务流程图 4
2.4 数据流图 6
3 系统设计 7
3.1 系统功能结构图 7
3.2 系统数据库设计 8
3.2.1 数据库E-R图 8
3.2.2 数据库表设计 9
4 系统实现 9
4.1 数据库实现 9
4.1.1 建立数据库 9
4.1.2 建立数据库表 10
4.1.3 数据库访问 11
4.2 核心功能的程序实现 13
4.2.1 借阅功能 13
4.2.2 还书功能 14
4.2.3 续借功能 15
4.3 测试方法选择与测试用例设计 16
4.3.1 测试方法 16
4.3.2 测试用例设计 17
4.4 开发总结 18
结束语 19
参考文献 19
致谢 20
摘要:随着计算机技术的飞速发展,计算机在各行各业的应用越来越广泛,而且信息化是21世纪计算机技术发展的重要趋势之一。将计算机技术与图书馆相结合,建立图书管理系统具有重要的现实意义。通过自动化的图书管理系统,可以实现图书馆业务的办公自动化管理,提高工作效率,可以更好的为读者服务。本系统是在Visual Basic 6.0集成环境下采用SQL Server 2000数据库技术进行开发的。该系统主要包括管理员和读者两大模块的设计。读者系统主要包括查看自己的图书借阅信息,查询相关书籍罚款金额和续借图书操作以及检索图书信息。管理员系统主要包括图书信息的添加、修改、删除与查询,读者信息的添加、修改、删除与查询,图书借阅与归还等功能子模块。
关键词:图书管理;检索;借阅;续借
Abstract:Nowadays, computers are used more and more widely in many fields with the rapid development of computer technology and informatization is an important trend in the development of computer technology in 21st century. It is necessary to combine computer technology with library and establish a books management system. With the automated books management system, office automation can be realized in library services, improving efficiency and serving the readers better.This system is developed with SQL Server 2000 database technology in Visual Basic 6.0 integration environment, including design of both administrator module and readers module. The readers module consists of functions in checking one’s book borrowing information and fines, renewing and searching books. The administrator module includes submodules of revisal,deletion,checking and addition to information of books and readers, book borrowing and returning.
Key words:books management;search;borrow;renew
前言如今,计算机技术迅猛发展,计算机应用已渗透到各个领域,引起信息管理的革命,实现了信息的自动化处理,也提高了处理的及时性和正确性。随着人类社会的发展,人类对知识的需求也不断地增长。而图书是学生获取信息的最好方式。但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作也日益繁重起来。如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,建设以计算机为核心的图书管理系统,实现图书馆管理和服务的自动化,是图书馆发展的必由之路。本系统为广大图书爱好者提供了一个良好的图书信息检索和借还等功能的平台,此外还方便了图书馆管理员对图书馆信息的管理,减少大量人力物力,提高效率,减少出错概率。另外,本系统也最大限度的实现了易操作性,能够较好地满足图书借还、图书信息检索、图书馆管理等图书馆功能的基本需求,具有一定的实用价值。
1 系统开发环境与开发工具1.1 操作系统平台Windows XP中文全称为视窗操作系统体验版,是微软公司发布的一款视窗操作系统。它发行于2001年10月25日,原来的名称是Whistler。微软最初发行了两个版本,家庭版(Home)和专业版(Professional)。家庭版的消费对象是家庭用户,专业版则在家庭版的基础上添加了新的为面向商业的设计的网络认证、双处理器等特性。且家庭版只支持1个处理器,专业版则支持2个。字母XP表示英文单词的“体验”(experience)。Windows XP的特点有:(1)运行非常可靠、非常稳定。(2)用户界面设计焕然一新。(3)运行速度非常快,尤其是在处理与多媒体应用有关的计算任务上。(4)媒体播放器软件已经与操作系统完全融为一体。(5)支持遥控。(6)用户界面比以往的视窗软件更加友好。(7)建立严格的安全机制。
1.2 开发平台Visual Basic是一种可视化的、面向对象和采用事件驱动机制的结构化高级程序设计语言。它可用于开发Windows 环境下的各类应用程序。在VB环境下,开发人员利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数、动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。Visual Basic有学习版、专业版和企业版3种版本。本系统采用Visual Basic 6.0作为开发平台,Visual Basic 6.0的特点包括:
(1)易学易用的集成开发环境
Visual Basic 6.0为用户设计界面、编写代码、调试程序、编译程序、制作应用程序安装盘等提供了友好的集成开发环境。
(2)可视化的设计平台
开发者只需要按设计要求设置界面布局,使用开发系统提供的工具,在屏幕上面画出各种“部件”—即对象,就可以实时修改这些对象的属性。这种“所见即所得”的模式极大提高了程序设计的效率。
(3)面向对象的程序设计
Visual Basic 6.0中把程序和数据封装起来作为类和对象,并为每个对象赋予相应的属性,设计时更直观、具体。它还具有面向对象语言的继承特点,在程序开发中可以直接使用父类的特性。
(4)事件驱动机制
Visual Basic 6.0通过事件驱动机制来执行对象的操作。每个对象可能产生多个事件,每个事件可以通过一段程序来响应。程序开发人员完全将重心集中在编写如何响应用户动作的程序,如移动鼠标、选择命令等,而不必考虑程序中每个精确步骤,极大地提高了编程效率。
(5)强大的数据库功能
Visual Basic 6.0提供了访问数据库的功能,利用数据控件和数据库管理窗体,可以直接建立或处理Microsoft access格式数据库。通过OLEDB对象、ADO对象或开放式数据连接(ODBC)连接,用户可以编辑其他数据库,如dBASE、Visual Foxpro、SQL Server、Oracle等。
(6)结构化的程序设计语言
Visual Basic 6.0具有丰富的数据类型和众多的内部函数。其采用模块化和结构化程序设计语言,结构清晰,语法简单,容易学习。
1.3 数据库平台1.3.1 SQL Server 2000本系统后台数据库采用的是Microsoft 公司的 SQL Server 2000,这是一个大型的关系数据库管理系统(RDBMS),具有非常强大的关系数据库创建、开发、设计、管理功能。与以前的几个版本相比,SQL Server 2000 有如下几个特点:
(1)与 Internet 紧密结合
SQL Server 2000的数据库引擎集成了对 XML 的支持,并且可以进行自定义扩展,易于使用和安全,成为建设大型信息管理系统最好的数据存储设备之一。SQL Server 2000的编程模式在很大程度上与专用于开发通用的信息管理系统架构相集成。同时,SQL Server 2000为开发应用提供了友好而强大的查询界面。
(2)可扩展性和可用性
为了兼顾各种配置计算机的使用,SQL Server 2000 的数据库引擎既可以运行在装有Windows 98的台式机、笔记本电脑,又可以安装在以Windows 2000为操作平台的多处理器计算机上。SQL Server 2000企业版具有“聪明型”服务器、视图索引、超大规模内存支持等特性,完全可以满足大规模的信息资源处理的性能需求。SQL Server 2000 所支持的联机数据库服务器特性允许用户在多个数据库服务器上水平划分数据表,从而使得服务器彼此合作提供相似于集群服务器所能提供的强大性能。
(3)简单友好的操作方式
SQL Server 2000包含一整套的管理和开发工具,这些工具都具有非常友好的用户界面,在提供强大功能的同时,易于安装,使用和发布。
1.3.2 数据库操作语言SQL(Structured Query Language,结构化查询语言)是一个功能强大的数据库操作语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:(1)SQL语言语法简洁、功能丰富。(2)SQL语言是一种一体化的语言。(3)SQL是一种非过程化语言。(4)SQL语言既是交互式语言,又是嵌入式语言。(5)SQL是面向集合的操作方式。
2 系统分析软件需求分析是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。准确、完整和规范化的软件需求是软件开发成功的关键。需求分析的好坏直接影响到系统设计的好坏。图书管理系统是一个信息管理系统,主要是满足图书借还、图书信息检索、图书信息管理等基本需求,为读者提供多样的检索依据,提高管理员工作效率及安全性。
2.1 可行性分析可行性研究(Feasibility Study)是为了弄清所定义的项目是不是可能实现并值得进行。可行性研究的目的是用较小的代价尽可能快的确定问题是否能够解决,是否值得解决,并通过分析以避免冒太大的风险。
在技术方面,本系统是在Windows XP操作系统下,采用Visual Basic 6.0开发的系统。VB具有强大的数据库开发功能和丰富多样的编程手法,其设计、开发、调试和部署方便快捷。后台采用SQL Server 2000数据库,其具有跨平台性、可靠性、易用性。学习了数据库原理及应用,对SQL Server 2000有一定的了解,学习了VB程序设计语言,熟悉VB的开发环境,具备开发系统的能力,所以技术上是可行的。
在经济方面,本系统目标系统开发经济成本比较低,系统各功能由本人来实现,节省许多人力,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,使用VB开发,维护费用不高。从经济角度考虑,此信息系统开发可行。
在操作方面,网络化已经成为社会的趋势,本系统操作简单方便,系统的界面清晰明朗,用户可以通过网络对图书进行检索并能够实现对图书的续借和查询超期罚款操作,管理员能够负责读者的借书、还书,对该系统进行管理与维护等多项工作。
2.2 需求分析软件需求分析是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。它的重要性在于让用户完全清楚对软件系统的确切要求,它不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作。也就是对目标系统提出完整、准确、清晰、具体的要求。
2.2.1 功能需求分析本图书管理系统应该分2大模块,分别供管理员和读者使用。本系统要求用户界面友好,易操作,易维护,方便读者查阅图书信息,提高管理员工作效率和减小错误率。
(1)管理员功能
① 图书信息管理功能包括:图书信息的添加、图书信息的修改、图书信息的删除、图书信息的查询。
② 读者信息管理功能包括:读者信息的添加、读者信息的修改、读者信息的删除、读者信息的查询。
③ 借阅信息管理功能包括:图书借书信息管理和还书信息管理。借书管理包括所借图书、借书读者、借书日期、应还日期等信息,还书管理包括还书时间、罚款计算、超期天数等信息。
④ 密码管理功能包括:登录密码修改功能。
⑤ 系统帮助功能包括:系统介绍和退出系统。
(2)读者功能
① 读者借阅信息管理:读者可以查看自己当前借阅图书的信息,查阅相关书籍的罚款额,可以进行续借操作,同时,读者也可以查看自己历史图书借阅记录,了解自己曾经借过什么书籍,也能退出该系统。
② 检索图书信息:可通过图书编号、图书名称、图书作者、图书类型、出版社、是否出借这些查询方式对图书进行检索,方便自己借阅图书。
③ 密码管理功能包括:登录密码修改功能。
2.2.2 性能需求分析本系统由VB语言所开发,具有简单易学、效率高、功能强大的特点。
(1)时间需求
使用系统时,响应时间、更新处理时间都相对比较快,能满足用户需求。
(2)灵活性
当用户需求发生变化,如操作方式、运行环境变化时,系统要做适当的调整满足用户需求,灵活性大。
2.2.3 运行环境(1)硬件平台:PC机
(2)软件平台:
操作系统:Windows XP;
数据库:SQL Server 2000;
开发工具:Visual Basic 6.0;
2.3 业务流程图系统业务流程图是一种描述系统内部单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务员流程中的不合理的流向。系统主要的业务流程图如下:
(1)借书业务流程图,如图2-1所示。
word/media/image1.png
读者根据自己的信息和图书的信息填写一份借阅单,将借阅单给管理员,管理员进行操作,进行信息核对和检验,若检查无误,将批准借阅单返还给读者,同时将读者想借阅的图书一并给读者,进行借阅信息存档;若检查有误,比如填写图书编号的图书已经出借,就无法再借阅,就将未批准借阅单返还给读者。
(2)还书业务流程图,如图2-2所示。
word/media/image2.png
读者根据自己的信息和图书的信息填写一份还书单,将还书单给管理员,管理员进行操作,进行信息核对和检验,若检查无误,计算超期罚款,若无罚款额,将未罚款单返还给读者,还书信息存档,还书成功;若有罚款,就将罚款单返还给读者,同时还书信息存档,读者结交罚款后,还书成功。
2.4 数据流图数据流图(Data Flow Diagram)是描述实际业务管理系统工作流程的一种图形表示法。它描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。本系统数据流图如下:
word/media/image3.png
图书管理系统顶层数据流图,如图2-3所示。图中数据流定义如下:F1图书或读者信息、F2反馈结果、F3反馈结果、F4图书信息。
word/media/image4.png
图书管理系统第一层数据流图,如图2-4所示。图中数据流定义如下:F1.1图书信息处理单、F2.1图书信息处理结果、F1.2图书借阅归还单、F2.2图书借阅归还结果、F1.3读者信息处理单、F2.3读者信息处理结果、F3.1图书检索结果、F4.1图书检索申请单、F3.2读者借阅管理结果、F4.2读者借阅管理处理单、F5图书信息、F6借阅信息、F7读者信息。
3 系统设计系统设计的任务是在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型的设计。
3.1 系统功能结构图本系统功能结构图如图3-1所示。
word/media/image5.png
本系统分两大模块:系统管理员模块和读者模块。
(1)系统管理员模块
① 图书信息管理:包括图书信息的添加、图书信息的修改、图书信息的删除、图书信息的查询,方便管理员对图书信息的管理。
② 读者信息管理:读者默认为学生。包括读者信息的添加、读者信息的修改、读者信息的删除、读者信息的查询,方便管理员对读者信息的管理。
③ 图书借阅管理:包括图书借书管理和图书还书管理。图书借书管理包括借书人的读者编号和读者姓名、此图书的图书编号和图书名称、借书日期和应还日期的信息。图书还书管理包括此图书的图书编号和借书日期、读者编号、还书日期、超期天数等信息,来计算应交的超期罚款。此模块由管理员负责,当读者想要借某本图书,就可以将自己的图书证件(主要是读者编号)和图书(图书编号)带到管理员处,由管理员操作,检验无误后借书成功。
④ 密码管理:管理员可以自行修改密码。
⑤ 系统帮助:包括系统介绍和退出系统。
补充说明:本系统默认1个管理员,由于管理员相对读者人数太少,所以没有设置添加管理员信息模块,但是管理员可以通过直接操作数据库表admin来添加管理员人数。
(2)读者模块
① 读者借阅管理:读者可以查看自己当前借阅图书的信息,查阅相关书籍的罚款额,可以进行图书续借操作(此操作只能在距离应还日期10日以内才可使用),同时,读者也可以查看自己历史图书借阅记录,了解自己曾经借过什么书籍。
② 图书检索管理:只能查询图书信息,方便读者借阅图书,查询资料。
③ 密码管理模块:读者可以自行修改自己的登录密码。当管理员成功添加读者的信息时,读者的默认初次登录密码是123456,为了保证读者自己信息的安全性,最好是在初次登录时修改自己的密码。
3.2 系统数据库设计数据库是本系统的核心和基础。数据库把大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。
3.2.1 数据库E-R图概念模型的最常用的表示方法是实体-联系方法(Entity-relation Approach,简称E-R图方法)。E-R图方法是由P.P.S.Chen于1976年提出的。E-R模型是对现实世界的一种抽象,它抽取了客观事物中人们所关心的信息,忽略了非本质的细节,并对这些信息进行了精确地描述。整个系统数据库的E-R图,如图3-2所示。
word/media/image6.png
3.2.2 数据库表设计根据以上的逻辑结构设计后的E-R图,就可将得到的概念结构转换为逻辑结构,进行具体的物理设计。本系统共有4个表,分别为:图书信息表,读者信息表,借阅信息表,管理员信息表。具体表结构如下:
表3-1 图书信息表(books)
字段名称
数据类型
长度
是否主键
默认值
功能描述
图书编号
Char
8
是
Null
系统图书编号
图书名称
Char
50
否
Null
系统图书名称
图书作者
Char
20
否
Null
某图书的作者
出版社
Char
50
否
Null
图书的发行社
图书类型
Char
20
否
Null
图书所属类别
出版日期
Datetime
8
否
Null
出版图书的日期
是否出借
Char
1
否
0
图书是否在库 0在库1出借
表3-2 读者信息表(members)
字段名称
数据类型
长度
是否主键
默认值
功能描述
读者编号
Char
10
是
Null
读者的编号
读者姓名
Char
20
否
Null
读者的姓名
性别
Char
2
否
Null
读者的性别
学院
Char
30
否
Null
读者所在学院
专业
Char
50
否
Null
读者所在专业
班级
Char
4
否
Null
读者所在的班级
密码
Char
6
否
123456
登录时用的密码
表3-3 借阅信息表(trans)
字段名称
数据类型
长度
是否主键
默认值
功能描述
图书编号
Char
8
否
Null
图书的编号
读者编号
Char
10
否
Null
读者的编号
借书日期
Datetime
8
否
Null
借书的日期
应还日期
Datetime
8
否
Null
应还图书的日期
罚款
Money
8
否
0
超期罚款
是否归还
Char
1
否
0
是否归还图书0未还1已还
表3-4 管理员信息表(admin)
字段名称
数据类型
长度
是否主键
默认值
功能描述
管理员号
Char
2
是
Null
管理员的编号
管理员姓名
Char
10
否
Null
管理员名称
密码
Char
6
否
Null
管理员登录密码
4 系统实现4.1 数据库实现4.1.1 建立数据库使用SQL Server 2000创建数据库的方法有多种,其中最常用的是使用企业管理器和数据库创建向导的方法。本系统采用使用企业管理器创建数据库,具体操作流程如下:
(1)打开企业管理器,并展开服务器组。用鼠标右键单击“数据库”,然后在弹出的快捷菜单中选择【新建数据库】命令,打开“数据库属性”对话框,如图4-1所示;
word/media/image7.png
图4-1 数据库属性对话框
(2)在弹出的“数据库属性”对话框中输入数据库名,本系统中用liberary作为数据库名;
(3)选择“数据文件”选项卡,设置文件属性;
(4)选择“事务日志”选项卡,进行日志文件的设置,完成后单击【确定】按钮,新建的数据库将出现在数据库窗格里,如图4-2所示。
word/media/image8.png
图4-2 控制台根目录对话框
4.1.2 建立数据库表在数据库领域,表是一行列标题加上零行或多行数据值,用以保存数据库里的数据。在系统项目应用中,数据库表将保存项目的应用数据。SQL Server 2000数据库表的操作主要有创建、修改和删除3种。数据库表的创建也可以分别通过企业管理器和查询分析器两种方法实现。本系统采用企业管理器创建数据库表,操作流程如下,以books表建立为例。
(1)选中之前新建的liberary数据库,单击鼠标右键,选择【新建】→【表】命令;
(2)在出现的对话框的“列名”中输入“图书编号”作为字段名称,从“数据类型”的下拉列表中选择“char”作为此字段的数据类型,在长度中输入“8”,选中该行,右键单击选择【设置主键】,后面行以此类推,如图4-3所示,注意,是否出借的默认值为0;
word/media/image9.png
图4-3 设计表对话框
(3)单击“保存”图标,在弹出的“选择名称”对话框中输入表名“books”,单击【确定】按钮后完成设置;
(4)可以向表中添加数据。选中表books,鼠标右键单击,选择【打开表】→【返回所有行】,即可向表添加数据,之后关闭此窗口即可。如图4-4所示。
word/media/image10.png
图4-4 添加表数据
4.1.3 数据库访问使用ADO的对象模型,可以轻松地访问数据库接口,并将数据库功能添加到你的项目程序中。另外,还可以使用ADO访问与开放式数据库互连(ODBC)兼容的数据库。ADO可以使用VBScript、JavaScript脚本语言来控制数据库的存取及输出查询结果。ADO对象模型包括7个对象(Connection、Command、Parameter、Recordset、Field、Error、Property)和4个集合(Errors、Parameters、Fields、Properties)。
DataGrid 控件是一种电子数据表的绑定控件,可以显示一系列的行和列来显示Recordset对象的记录和字段,和ADO控件来结合使用。
ADO控件和数据库的连接的具体步骤如下:
(1)在所需连接数据库的窗体内插入1个ADO控件;
(2)用鼠标右键单击插入的ADO控件,选择【Adodc属性】,弹出“属性页”对话框,选择“使用连接字符串”单选按钮,如图4-5所示;
word/media/image11.png
图4-5 ADO属性页对话框
(3)单击【生成】按钮,在弹出的对话框的“提供程序”选项卡中,选择连接的数据类型为“Microsoft OLE DB Provider SQL Server”选项,如图4-6所示;
word/media/image12.png
图4-6 数据链接属性之提供程序对话框
(4)选择“连接”选项卡,按下图内容填写,如图4-7所示;
word/media/image13.png
图4-7 数据链接属性之连接对话框
(5)单击【测试连接】按钮,弹出测试连接成功提示框后表示连接完成,单击【确定】按钮返回到“属性页”;
(6)选择“记录源”选项卡,以登录窗体的为例,在“命令类型”中选“1-adCmdText”,命令文本中填写“select * from members”后单击【确定】按钮,完成全部设置。
4.2 核心功能的程序实现4.2.1 借阅功能借阅操作界面如图4-8所示。
word/media/image14.png
图4-8 借阅操作界面
借阅功能由管理员负责,完成读者的借书操作。读者需要拿着自己的证件(读者编号)和所想借的图书(图书编号)到管理员那借书,管理员完成上面窗体填写,读者姓名和图书名称根据管理员输入的读者编号和图书编号相应自动显示出来,借书日期和应还日期由电脑自动显示,完成填写后,按【借阅】按钮,若经检验无误即借阅成功。其中,读者编号是10位数字,图书编号是8位字符,首字符是A,之后7位是数字字符,每位读者最大借书量系统默认值为5本,最大借阅期限是30天。核心代码如下:
Private Sub Command1_Click() '借书
If Text1.Text = "" Then Text1.SetFocus: Exit Sub
If Text3.Text = "" Then Text3.SetFocus: Exit Sub
Text3.Text = UCase$(Text3.Text)
Adodc2.RecordSource = "select 是否出借 from books where 图书编号='" & Text3.Text & "'"
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
a = Adodc2.Recordset.Fields("是否出借").Value
If a = 0 Then
Static intbortimes As Integer
Adodc3.RecordSource = "select * from trans where 读者编号='" & Text1.Text & "' _
and 是否归还 ='0'"
Adodc3.Refresh
intbortimes = Adodc3.Recordset.RecordCount
If intbortimes >= maxbortimes Then
MsgBox "你已经借足5本书!" & vbCr & "不能再借书啦!", vbCritical, "警告"
Unload Me
Else
intbortimes = intbortimes + 1
Adodc3.Refresh
Adodc3.Recordset.AddNew
Adodc3.Recordset.Fields("图书编号") = Text3.Text
Adodc3.Recordset.Fields("读者编号") = Text1.Text
Adodc3.Recordset.Fields("借书日期") = Date
Adodc3.Recordset.Fields("应还日期") = Str$(Date + 30)
Adodc3.Recordset.Update
Adodc2.RecordSource = "select 是否出借 from books where 图书编号='" & _
Text3.Text & "'"
Adodc2.Refresh
Adodc2.Recordset.Fields("是否出借") = "1"
Adodc2.Recordset.Update
Adodc2.Recordset.Close
If MsgBox("这本书" & Text1.Text & " 已经成功借阅! " & vbNewLine & _
vbNewLine & "您是否要创建一条借阅图书记录?", vbInformation + vbYesNo, _
"借阅") = vbYes Then
Command2_Click
Else
Unload Me
End If
End If
Else
MsgBox "此书已经被借出,您不能借阅!", vbExclamation, "借书出错"
Command2_Click
End If
End If
End Sub
4.2.2 还书功能还书操作界面如图4-9所示。
word/media/image15.png
图4-9 还书操作界面
还书功能由管理员负责,完成读者的还书操作。读者只需要将想还的图书(图书编号)交到管理员那,管理员填写图书编号后,读者编号会相应显示出来,还书日期由电脑自动显示,然后单击【计算】按钮后算出超期罚款,具体信息会显示在“信息”框架中,方便管理员操作,完成填写收齐罚款后,按【还书】按钮,若经检验无误即还书成功。如果管理员未点击计算按钮直接点击还书按钮,系统会自动计算超期罚款,然后完成还书操作。核心代码如下:
Private Sub Command1_Click() '还书功能
If Text1.Text = "" Then Text1.SetFocus: Exit Sub
If Text2.Text = "" Then Text2.SetFocus: Exit Sub
Text1.Text = UCase$(Text1.Text)
Adodc1.RecordSource = "select * from trans where 图书编号 ='" & Text1.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
If Text4.Text = "" Then
MsgBox "必须先计算罚款额", vbInformation, "提示"
Command4_Click
End If
answer = MsgBox("确定要还这本书吗?", vbInformation + vbYesNo, "还书")
If answer = vbYes Then
Adodc1.Refresh
Adodc1.Recordset.Fields("罚款") = CCur(Text4.Text)
Adodc1.Recordset.Fields("是否归还") = "1" '1代表重置成已归还
Adodc1.Recordset.Update
Adodc2.RecordSource = "select 是否出借 from books where 图书编号 ='" & _
Text1.Text & "'"
Adodc2.Refresh
Adodc2.Recordset.Fields("是否出借") = "0"
Adodc2.Recordset.Update
If MsgBox("这本书" & Text1.Text & " 已经归还 " & Text2.Text & vbNewLine & _
vbNewLine & "您是否要创建一条归还图书记录?", vbInformation + vbYesNo, "还书") _
= vbYes Then
Command2_Click
Else
Unload Me
End If
End If
End If
End Sub
4.2.3 续借功能续借功能操作界面如图4-10所示。
word/media/image16.png
图4-10 续借操作界面
续借功能由读者自行完成。要先选中一本想要续借的图书,单击【续借】按钮,倘若经检验无误,即可将应还日期从即日起延后30天,即续借成功。注意,续借操作只有在距应还日期10天内有效!倘若图书超期,则续借操作无法实现。核心代码如下:
Private Sub Command1_Click()
If Label7.Caption = "" Then
MsgBox "请先选择一本图书!", vbExclamation, "提示"
Else
Adodc5.RecordSource = "select * from trans where 图书编号='" & Label7.Caption & "'"
Adodc5.Refresh
Label17.DataField = "应还日期"
i = CDate(Label17.Caption) - Date
If i < 0 Then
MsgBox "您图书已经超期,不能续借,请及时上交罚款!", vbInformation, "警告"
ElseIf i < 10 Then
Label17.Caption = Str$(Date + 30)
Adodc5.Recordset.Fields("应还日期") = Label17.Caption
Adodc5.Recordset.Update
Adodc1.Recordset.Update
Adodc5.Refresh
Adodc1.Refresh
MsgBox "您已经成功续借" & Label7.Caption & vbNewLine & vbNewLine & "您应在" _
& Label17.Caption & "之前归还此书!", vbInformation, "续借提示"
Else
MsgBox "续借只有在距应还日期十天内有效!", vbInformation, "提示"
End If
End If
End Sub
4.3 测试方法选择与测试用例设计4.3.1 测试方法软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复查,是软件质量保证的关键步骤。早在1973年,W.Hetzel曾经指出,测试是对程序或系统能否完成特定任务建立信心的过程。现今,测试作为软件开发的一个重要的环节,己经越来越被重视。任何软件产品都可以使用以下的两种方法之一进行测试。
(1)黑盒测试
己知产品的功能设计,可以进行测试证明每个实现了的功能是否符合设计规格要求。软件的黑盒测试是指在接口进行测试。也就是说,这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据需求说明书,检查程序的功能是否符合要求。
(2)白盒测试
已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计要求,所有内部成分是否已经过检查。软件的白盒测试是对软件的过程性细节做细致的检查。这一方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构和有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。白盒测试主要靠编写测试程序来实现。
本系统功能性测试采用黑盒测试,编写测试程序采用白盒测试。
4.3.2 测试用例设计为了能及时发现图书管理系统中存在的缺陷或者错误,结合本系统的特点,使用黑盒法设计了一些测试用例,下面是对登录功能,添加、修改、删除、查询图书信息功能,借书、还书、续借功能的测试用例。
表4-1 登录系统测试用例
【测试用例名】:登录系统测试
功能描述:进入系统登录界面后,选择身份填入信息点击“登录”进入系统。
测试目的:验证是否能正确根据用户身份登录系统,进行权限控制,功能性测试
序号
操作描述
数据输入
预期结果
实际结果
结论
1
用读者编号、密码登录管理员界面
2006051101
密码:111111
显示:2006051101不是系统用户,请检查输入!
同期望结果
正常
2
正确管理员号、错误密码
01
密码:admin
显示:密码错误,请重新输入密码!
同期望结果
正常
3
输入3次错误登录信息
01/adm
01admi
01/a
你已经超过允许的登入验证数!应用程序将结束!
同期望结果
正常
4
正确管理员号、密码
01/admin
欢迎使用图书管理系统!
同期望结果
正常
表4-2 添加、修改、删除、查询图书信息功能测试用例
【测试用例名】:添加/修改/删除/查询图书信息测试
功能描述:管理员对图书信息进行添加、修改、删除、查询操作
测试目的:验证管理员是否能正确添加、修改、删除、查询图书信息,测试代码的健壮性,功能性测试
序号
操作描述
数据输入
预期结果
实际结果
结论
1
输入图书编号,点击“保存”按钮
A12345
图书编号必须有8位
同期望结果
正常
2
输入图书编号,点击“保存”按钮
C1234567
图书编号必须是“A”及其他7位数字组成
同期望结果
正常
3
输入相应信息,点保存
A0404040/弦歌南望/小佚/浙江出版社/小说/ 2008-8-1
已经成功添加新的数据!您是否要再创建一条添加图书记录?
同期望结果
正常
4
输入已存在图书编号,及相应信息
A0202020/夏至未至/郭敬明/浙江出版社/小说/ 2006-9-1
您确实要修改这条数据吗?
同期望结果
正常
5
查询窗体中,什么都不选择,填写,直接点击查询
----
请先选择查询依据!
同期望结果
正常
6
选择查询依据并填写
选“图书编号”,填写“0”
查无此信息!
同期望结果
正常
表4-3 借书、还书、续借功能的测试用例
【测试用例名】:借书、还书、续借测试
功能描述:实现图书借书、还书、续借功能。
测试目的:验证管理员是否能实现图书借阅、归还操作,读者能否实现续借操作,测试代码的健壮性,功能性测试
序号
操作描述
数据输入
预期结果
实际结果
结论
1
填写系统不存在的读者编号
200605110
查无此读者编号,请重新输入!
同期望结果
正常
2
填写已经出借的图书编号
A1234562
此书已经被借出,您不能借阅!
同期望结果
正常
3
已经借阅5本书后,在借书
A1231230
你已经借足5本书!不能再借书啦!
同期望结果
正常
4
正常输入正确的借阅信息
2006051103 /A1112223
这本书已经成功借阅!您是否要创建一条借阅图书记录?
同期望结果
正常
5
还书窗体输入不准确的图书编号
A12345
借阅中查无此图书编号,请重新输入!
同期望结果
正常
6
不单击“计算”
--
必须先计算罚款额
同期望结果
正常
7
填写正确还书信息
A0651184
确定要还这本书吗?
同期望结果
正常
8
没有选择具体图书,单击“续借”
--
请先选择一本图书!
同期望结果
正常
9
选择一本距应还日期多于10天的图书,按续借
A0621326
续借只有在距应还日期十天内有效!
同期望结果
正常
10
选择一本超期的图书,按续借
A1234560
您图书已经超期,不能续借,请及时上交罚款!
同期望结果
正常
4.4 开发总结在这次的系统开发中,通过复习以前学过的知识,以及查阅大量书籍、期刊、网上资源,对系统开发有了更深入的了解和实际性的操作。在VB开发工具方面,尤其是对窗体和控件的常用属性和常用方法,通用对话框的属性和方法,菜单编辑器的使用和设置,更重要的就是对数据库技术这一章内容的应用:ADO数据控件属性、事件、常用方法的应用,以及对记录集数据的添加、删除、修改操作的理解和应用,使用SELECT结构化查询语言查询信息,都有了系统的理解和掌握。在SQL Server 2000方面,进一步熟练了在SQL Server 2000中创建数据库和表,学会了如何在SQL Server 2000中备份数据库以及还原数据库。系统实现进行系统测试时,要选择适当的测试方法和测试用例,充分考虑到代码的健壮性,使测试结果达到预期的目的。
结束语本系统是在Visual Basic 6.0集成环境下采用SQL Server 2000数据库开发工具进行开发,具有易操作、易维护的特点,能满足用户的基本需求。应用本系统,既方便了图书馆管理员对图书馆的管理,也方便了读者对图书信息的查询,实现了图书管理的智能化。
通过这次毕业设计,对系统开发的整个过程有了大致的了解,对Visual Basic 6.0环境的操作更加熟练,对数据库开发有了更深的理解,掌握了调试程序的一般技巧,同时也培养了自己独立分析问题、解决问题和实际操作的能力。
同时,也使我认识到自己所学的知识还很肤浅和欠缺,这也正是我今后要努力提高的地方。本系统虽然已经基本满足所想要达到的功能要求,但是还不够完善,对系统的设计和程序的编排上还存在一些不足之处,还有些功能需要改进,也需要添加一些新的功能来增强该系统的实用性,比如添加罚款单打印功能,图书损害赔偿等功能。希望老师们能够给予指导,也希望通过自身的努力在以后的工作过程中把该程序的不足之处一一弥补并改正。
参考文献
[1]黄梯云,李一军.管理信息系统.北京:高等教育出版社,2005.
[2]张海藩.软件工程导论.北京:清华大学出版社,2008.
[3]李春葆,曾慧.SQL Server 2000应用系统开发教程.北京:清华大学出版社,2008.
[4]卓越科技.SQL Server 数据库开发培训教程.北京:电子工业出版社,2009.
[5]辛本柱.Visual Basic从入门到实践.北京:清华大学出版社,2009.
[6]张令军,张京,常秉乾.Visual Basic程序设计.北京:科学出版社,2008.
[7]薛小龙.Visual Basic核心开发技术从入门到精通.北京:电子工业出版社,2009.
[8]朱二莉.图书管理系统的设计与实现.软件导刊,2008,7(6).
[9]黎梅.图书借阅管理系统的设计与实现.科教纵横,2008,(8).
[10]汤婷.图书管理系统的分析与设计.中国现代教育装备,2009,(13).
[11]单天宇.图书管理系统的设计与实现.电脑知识与技术,2009,5(14).
[12]赵晨.图书管理系统.吉林大学硕士学位论文,2008.
致谢
在我的毕业设计过程中,指导老师刘宏老师渊博的知识、严谨的治学态度、敬业的工作精神给我留下了深刻的印象,让我受益匪浅,所有这一切必将在我将来的工作和学习中激励我继续努力,鞭策我不断上进。同时,也要感谢教研室的其他老师,在我系统实施和论文修改的过程中,给予我帮助,在此表示衷心的感谢。
感谢所有在我的学习和生活上给予过大力支持和热情帮助的辽宁师范大学管理学院的老师和朋友们,谢谢你们的关心与照顾,你们不仅让我学到了知识,而且教会了我做人。
最后,感谢家人对我的关怀与照顾,是他们作我的坚强后盾,在我的毕业设计过程中给了我前进的动力,使我顺利的完成毕业论文设计。
在设计中,由于本人水平有限,毕业设计以及论文的写作难免出现错误和不足,希望答辩老师提出宝贵的意见和建议,给予指正。
《图书馆管理系统设计(与实现)》相关文档:
酒店项目(酒店管理系统公司管理系统)托管规定合同-通行版-09-14
软件管理系统买卖合同范本(3篇)09-16
2023年软件管理系统买卖合同09-16
汽配软件管理系统买卖合同书09-25
2023年管理系统学习心得体会7篇10-25
2023年管理系统学习心得体会(7篇)10-25
全国食品药品监督管理系统先进个人事迹简介10-29
管理系统的心得体会3篇11-03