版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕 业 设 计 (论 文)设计题目:图书借阅管理系统姓 名 准考证号 指导教师 年 月 日【摘要】二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢?科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,图书管理系统也以方便
2、、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息 。【关键词】图书管理 系统设计 信息 VC+5【Abstract】21 centuries is resources that information that society, social most in conduct and actions in information, will become the strategy resources cause the e
3、xtensive concern in people.How to obtain the information?Books is work that the way that we obtain the information bestly, but collect and keep to have great capacity the big increment because of the library books, make traditional books managing person increasingly heavy to get up.Forcing people ri
4、ses to manage the books with the new management method, howing to set free out the books the managing person from the heavy work?The advance of the science technique continuous changes and improvements, let mankind the life took place the enormous variety, the calculator flies technically to develop
5、 soon, making the every trade get the extensive universality with use in the aspects of calculator technique applying.The information turns the ages comes the current that become cant resist, human civilization enter a brand-new ages.Therefore, books management system too with the convenience, fast,
6、 low advantage in expenses is entering people life slowly, manage the traditional books to way to set free out thoroughly, lift high-efficiency, alleviate workers personnel former busy work, let up to come amiss all rate, can make the reader spend more time at choose the book with read the in the bo
7、ok.From but make that people have more time to obtain the information, understand the information and control the information.目录【摘要】2【关键词】2【Abstract】3目录4前言5第一章 现行系统调查61.1系统调研与可行性分析61.1.1 现状调查61.1.2 可行性分析61.2需求分析71.2.1现行管理存在问题分析71.2.2新系统计划目标81.3所用开发语言简介91.3.1 VC+的特点91.3.2本程序中使用的VC+控件及其属性简介91.3.3系统数据访
8、问接口的选择10第二章 系统目标11第三章 图书馆管理信息系统设计113.1概要设计113.2详细设计133.2.1 模块功能细化及界面设计133.2.2数据库设计结构163.2.3程序总体框架的设计183.3建立程序框架203.3.1 使用MFC AppWizard(exe)向导203.3.2 窗体的切换213.3.3个窗体的界面实现23第四章 系统实施254.1 系统测试与调试254.2系统运行与维护254.2.1系统运行环境254.3系统评价264.3.1经济评价264.3.2性能评价274.3.3管理评价27第五章 其他需要说明的问题285.1程序设计完成情况285.2程序设计心得28
9、5.3系统特点295.4后期工作计划30致 谢32参 考 文 献33前言目前,在高校系部图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库帐目,不仅工作量大,而且,在新书入库后要经历较长的时间方能借出。另外,有的系部因图书数量有限,必须对图书实行限量借阅,因此,要实施弹性借书方法是件很困难的事。为提高图书查询效率,减少系
10、部图书管理员的工作负担,有必要开发一个小型图书管理软件来对系部图书实施有效管理。该系统必须具备以下功能:1、能对各类图书实行分类管理;2、提供必要的读者信息;3、能进行各种高级查询(如未还书目的查询;已还书目的查询等);4、具有图书检索功能;5、能管理登录系统的图书管理员等。这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。第一章现行系统调查1.1系统调研与可行性分析1.1.1 现状调查一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过
11、程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作
12、人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书的流通情况。1.1.2 可行性分析本次毕业设计题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建
13、成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计、系统输入/输出设计等。作这些工作需对数据库知识有足够认识,并深入的了解VC+6.0的使用和管理系统的相关知识。在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代
14、的信息管理系统几乎都以数据库技术作为核心。1.2需求分析1.2.1现行管理存在问题分析当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理的客观环境。计算机处理的最大好处在于利用它能够进行信息高效管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。图书馆管理信息系统的开发就是为了管理好图书馆信息而设计的,而通过对调研对象的详细调查,发现该图书馆现行管理中存在如下不足之处。 (1)信息处理出错率高。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多信息数据的管理,而本
15、次调研的图书馆尚未使用计算机进行信息管理。他们对信息管理的主要方式是基于文本、表格等纸介质的手工处理,数据信息处理工作量大,容易出错。对于基础的图书数据处理效率低,由于数据繁多,容易丢失,且不易查找,总的来说,缺乏系统、规范的信息管理手段。(2)历史信息查询统计困难。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂。对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。一般借阅情况是记录在图书借阅登记卡上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,
16、时间一长,如再要进行查询和统计,就得在众多的资料中翻阅、查找了,造成查询费时、费力。(3)信息共享率低、使用效率低。手工管理的一大弊端就是信息共享能力差,导致信息的利用率低,重复工作繁多。由于数据处理手工操作,工作量大,出错率高,出错后又不易更改,导致整个管理水平的下降。 从上面的论述中可以看出,图书馆如果在这个效率至上、科技发展日新月异的时代,如果还停滞在原始的手工管理阶段是远悖时代发展的需要的。因此,我们极力主张在依旧使用手工管理的图书馆中应用计算机的管理技术,加强管理效能,提高管理效率。这里提到的计算机管理就是指当前广泛应用于各项管理工作之中的MIS(信息管理系统),应用该系统除了可以提
17、高管理效率以外更可以带动管理水平的大幅度提升。对于图书馆这个部门行业规范统一的部门,应用MIS更是必要的选择,但是在管理信息系统的引进的同时也要充分的考虑到它与原有手工操作的过渡和融合问题,这样才不会使先进的管理技术反而给管理工作造成不便。1.2.2新系统计划目标 随着信息时代的到来,计算机技术迅速发展并广泛应用于社会各个领域,作为知识基础储备的图书馆,在自动化道路理所当然应迈出信息化的步伐。然而了解我国图书馆界,这一发展很不均衡,中小型图书馆计算机的应用还远未普及,不仅影响图书馆管理水平的提高,而且使图书馆的社会服务能力受到限制。我认为,要想使中小型图书馆尤其是各大专院校图书馆的自动化发展赶
18、上和适应整体水平,必须采用新型的信息管理系统,强化管理意识和管理水平,正如上面所提到的,现在处于手工管理的图书馆管理普遍存在着效率低、误差大、信息流通不通畅等缺点,那么MIS在图书馆管理中的应用就是为了有效的解决这些问题而提出的。使用新的管理信息系统所要达到的目标,即针对图书馆管理开发的信息系统应满足如下系统目标。(1)实现原有业务需求,带来新的工作方法。信息系统的开发在任何行业和部门的运用都应以满足原有业务需求为基本的系统目标,在实现和完善的原有管理工作的基础上,管理信息系统将给用户带来新的管理方法和管理手段,通过它的应用提高整个业务流程的效率。在本系统中所涉及到的基本业务包括新书订购和校验
19、、图书登录、图书分类编目、图书借阅管理和藏书的管理等各项基础性工作。 (2)从根本上解决原手工管理的弊端。图书馆管理的特点是信息处理量相当大。手工管理耗费了大量的人力、不可避免会出现错漏造成一些混乱、信息的查询数据的统计费时费力、信息量大固然与图书的种类多、册数多、借还书量大有关,也与同一信息要出现在许多不同的表格、书卡上,有大量的冗余有关。而管理信息系统的开发就要解决诸如出错率高、共享性差、查询统计困难之类的管理缺陷,实现信息共享、提高检索、查询和统计的效率,从技术层面提升管理水平。(3)完善图书馆管理模式,提高职工工作积极性。管理的信息化能提高整个图书馆的宏观管理水平,使管理模式上升到一个
20、新的高度。此外管理信息系统的开发必须考虑图书馆管理的特点,克服不足且充分照顾图书馆管理人员的计算机水平。在系统开发方面应遵循以下原则,其一,尽可能实现系统提供的功能人性化,系统易学易用且各项处理功能全面、完善,调动职工工作的积极性;其二,尽可能保证数据信息完整性、可靠性和安全性,为读者提供良好的服务保障。(4)信息共享与信息安全。在图书管理工作中应该保证信息共享流通和信息安全的保证8。信息的共享是自动化办公时代的主要要求,实现信息共享信息实时传递也是图书馆管理系统要达到的一个目标,在计算机的管理中,信息可以随时被有管理权限的人员进行调用查看和对比统计等,解决了原来手工管理中的重复性数据整理和录
21、入工作,是保证工作效率提高的必要功能。信息安全也是当前信息资源高速发展的时代的必然要求和各种信息化建设的坚实保障。可以看出MIS在图书馆的信息化过程中对各项工作能起到健全管理工作、减轻管理者工作量和工作负担,提高工作效率,简化查询工作,方便教职工及学生。总结来说就是起到了提高工作效率和增强管理水平的作用,这也就是时代发展的必然要求,也是满足广大师生对图书馆工作职能要求的必然趋势。1.3所用开发语言简介1.3.1 VC+的特点Visual C+是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C+又称作是一个集成开发工具,
22、它提供了软件代码自动生成和可视化的资源编辑功能。Visual C+具有的优点:提供了面向对象的应用程序框架MFC(Microsoft Foundation Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、ClassWizard、Visual Studio、WizardBar等,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。1.3.2本程序中使用的VC+控件及其属性简介(1
23、)CStatic(静态控件):显示一些几乎固定不变的文字或图形描述。(2)CButton(按钮控件):产生某些命令或改变某些选项设置。(3)CEdit(编辑框控件):完成文字的输入输出双向操作,查看并编辑文字。(4)CListBox(列表框控件):显示一个列表,让用户从中选取一个或多个项。(5)CComboBox(组合框):将列表框和编辑框有机地组合在一起,可选择列表中已有的项,还可以编辑出新的项。1.3.3系统数据访问接口的选择Visual C+中可用的数据访问对象接口有三种:ODBC(Open Database Connectity,开发数据库连接)、DAO(Data Access Obj
24、ects,数据访问对象)及OLE DB(OLE data Base,OLE数据库)。1ODBC(Open Database Connectity,开发数据库连接)ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱动器与指定DBMC相联,用户的程序就可以通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。作为Microsoft Windows Open Standards Architecture(WOSA,Windows开放式服务体系结构)的主要组成部分,ODBC一直沿用至今。2.DAO(Data Access Objects,数据访问对象)DAO 提供了
25、一种通过程序代码创建和操纵数据库的机制。多个DAO 对象构成了一个体系结构,在这个结构里,各个DAO 对象协同工作,通过 Microsoft Jet 数据库访问数据库中的数据和数据库的结构定义。可以访问的数据库类型主要有:Microsoft Jet 数据库、ODBC 数据源、可安装的ISAM数据库。DAO 是我们可以通过程序访问和操纵本地的或远程的数据和数据定义,管理数据库中的对象或结构。DAO 支持两种不同的数据库环境称为工作区(Workspace). Microsoft Jet Workspace 这是一种使用Microsoft Jet 数据库引擎来访问数据源的工作区。ODBC Direc
26、t Workspace 这是一种使用 ODBC Direct 来直接访问一个ODBC 数据源,并绕过Microsoft Jet 数据库引擎的工作区。可通过ODBC访问数据库服务器,而无须安装Microsoft Jet 数据库引擎。3OLE DB(OLE data Base,OLE数据库)OLE DB试图提高一种统一的数据访问接口,并能处理除了标准的关系型数据库中的数据之外,还能处理包括邮件数据、Web上的文本或图形、目录服务(Directory Services),以及主机系统中的IMS和VSAM数据。OLE DB提供一个数据库编程COM(组件对象模型)接口,使得数据的使用者(应用程序)可以使
27、用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。这个COM接口与ODBC相比,其健壮性和灵活性要高的多。但是,由于OLE DB的程序比较复杂,因而对于一般用户来说使用ODBC和DAO方式已能满足一般数据库处理的需要。第二章 系统目标图书管理系统主要致力于为图书借阅人提供方便快捷的服务,以及为图书管理人员提供准确可靠的信息。具体目标如下: 提高图书管理的效率,节约相关管理成本。 增强图书管理的安全性。 为学校提供系统、规范的图书管理手段。 满足借阅人、图书管理人员和学校领导的不同层次和不同方面的需求。 为学校的整体信息化建设提供必要的支持第三章 图书馆管理信息系统设计3.1概
28、要设计在设计时,首先要明确开发设计思想,并建立在设计开发过程中应遵循的一系列原则。本图书借阅信息管理系统设计的首要原则是任何数据库信息管理系统所必须具备的使用性原则,即开发的系统应能够在保证效率的前提下,最大可能得增强系统的使用性,尽量使用户界面友好、操作简便,同时在操作方式上与传统管理方式保持一致。由于本信息管理系统所管理的对象为数以万计的图书和为数总多的读者。与之的大量信息是十分宝贵的,因此本系统需要为此提供一个能够稳定、可靠运行的安全环境。另外,本系统还应具有交好的宽容性和可反馈性。宽容性指的是系统允许拥护以多种条件进行不同目的的查询;可反馈性指的是系统能够及时向用户反馈其操作结果。基于
29、上述原则,本系统拟采用Windows 2000 Professional作为操作平台,以Microsoft Visusl C+6.0作为数据库管理系统的前端开发软件,以Microsoft Access2000作为数据源。对系统应实现的功能模块的分析应在前面的需求分析基础上进行。基于前述分析得出的应实现的基本功能,可将系统划分为信息管理和信息查询两大模块。信息管理模块又可进一步划分为借书卡信息管理、借阅信息管理、供应商信息管理和书目信息管理等4部分。信息查询模块主要包括书目信息查询和借阅信息查询。划分好的功能模块组成如图 1所示图书借阅管理系统信息管理模块信息查询模块借阅信息管理书目信息管理供应
30、商信息管理借书卡信息管理书目信息查询借阅信息查询 图1 功能模块划分接下来对本系统使用的数据源的数据库结构进行设计。数据库结构的好坏将直接影响到系统的效率以及实现的效果。好的数据库结构将能够减少数据库的存储量、冗余度,提高数据的完整性和一致性。在数据量大的情况下将有效提高系统的查询响应速度。为了使所设计的数据库句有良好的结构,除了严格按照关系数据库的方法进行设计外,还要使其在结构上能够符合实际业务的需要。这就需要在进行数据库结构设计之前深入行业基层进行调研,了解哪些内容是必须的,哪些是没有必要的,以及各内容之间的相互业务联系。例如,对于本图书借阅管理系统,根据前面的功能模块划分和用户对系统的需
31、求可以由以下4个相关的表组成:供应商表、馆藏图书表、借书卡表和书目信息表。这4个表将可以为图7-1中所示的供应商信息管理模块、借阅信息管理模块、借书卡信息管理模块和书目信息管理模块直接提供数据来源。至于信息模块查询中的书目信息查询和借阅信息查询也是针对其中的书目信息表和馆藏图书表来尽心的。以上四个表实际也就是本数据库的基表。在图2中给出了本系统的数据库表结构组成关系:图书借阅管理系统数据库馆藏图书表供应商表借书卡表书目信息表 图2 数据库表结构3.2详细设计3.2.1 模块功能细化及界面设计在详细设计阶段需要对前面划分的各个功能模块做进一步的细化。下面分别对各个模块进行功能上的细化分析,并以此
32、为依据完成对各模块的操作界面设计:1. 借书卡信息管理模块借书卡是图书馆为用户(读者)登记发放的用于办理图书借阅首席的一种平整。用户在交纳一定金额的押金并提交必要的个人信息后取得经过注册的借书卡,此后该用户的所有图书借阅活动均凭此卡进行,直至该卡注销。由此可见,对借书卡的管理主要涉及借书卡的发放与注销。发放过程与借书卡信息(卡号、签发日期)与用户个人信息(姓名、住址、联系电话)等内容的输入构成。注销过程则根据指定的卡号将该卡相关信息删除。根据上述细化结果可以设计出如图3和图4所示的借书卡信息管理模块的程序界面。图3 借书卡注册界面 图4 借书卡注销界面2.馆藏图书书目信息管理模块书目信息管理模
33、块负责对馆藏图书的书目信息进行管理,由于一本图书在购置入库时其书目信息即已确定。因此该管理模块只须具备显示内容和添加新书目信息的功能即可,而不必添加信息修改和删除操作功能。虽然馆藏图书也有遗失的可能,但图书馆中同一种书可能存在多本,不能因为其中某一本丢失就把该种图书的书目信息删除。这部分功能应放在图书借阅信息管理模块进行。通常,对于一本书来说,其书名、作者、出版机构、出版日期、书号、中图分类号以及定价等构成了书目信息的主要内容,至于内容提要等辅助性说明可以通过备注的方式予以注明。由此也就可以完成书目信息管理模块的界面设计,如图5所示。图5 书目信息显示、添加界面3.供应商信息管理模块供应商信息
34、管理模块对图书采购这一环节实施了管理。对于图书馆,其藏书来源除了靠不定期的个人或组织捐赠外,大部分图书需要依靠调拨或采购。对于大多数图书馆来说,其采购渠道一般是相对稳定的。需要通过本管理模块对供应商的书店或单位名称、联系人、联系地址、联系电话等有关联系方式的信息进行管理。除了对供应商信息的显示、添加功能外,还应具备删除记录的功能以清楚不再需要的供应商的记录信息。图6 为本模块的显示、操作界面:图6 供应商信息管理模块操作界面4.图书借阅信息管理模块在前面分析时曾经说过,本信息管理模块是系统的核心模块之一。本模块负责管理图书观的日常借阅、归还、遗失书籍的注销以及新进图书的录入等工作,要管理的信息
35、也较多,涉及被借图书和借书者这两方面的内容。在书的方面,除了包含书目信息管理模块中的内容外,还要有观藏图书编号、入观日期、是否在库以及该书的来源即供应商的相关信息。在人的方面,需要包含借走该书的借书卡持有者的详细信息和借出、归还日期等内容。在功能操作上,需要具备添加、删除以及编辑的功能。尤其是在删除记录信息时,如果该书是同一种书里的最后一本时,应把与该书关联的书目信息记录一并删除。图7是根据此分析过程设计的本模块的操作显示界面。图7 图书借阅信息管理模块操作显示界面5图书借阅信息查询模块使用数据库的真正优势在于拥有强大的查询、统计数据的能力。通过查询将可以从数据库基本表中存储的大量数据中提取出
36、感兴趣的信息。图书借阅信息查询模块即针对图书借阅信息而进行多种条件的查询。尽管从理论上有多种查询条件的可能,但是从用户实际使用的角度考虑,有许多查询是不会用到的。例如,用户并不关心要借的书当时是何时从何地买回来的,也不会把借书人联系电话、住址以及持有的借书卡签发日期等作为查询条件。更多的可能是想知道图书是否在库、查找指定书名的记录、查找指定作者的记录、查找指定书号的记录以及指定卡号的借书卡或是指定姓名的借书卡借走了哪几本书。这些有实际意义的内容做为查询条件才和合情合理的。图8给出了由此设计出的借阅信息查询界面,查询得到的结果将通过图7所示的界面反馈给用户:图8 借阅信息查询界面6书目信息查询模
37、块书目信息查询实际是馆藏图书借阅信息查询的一个子查询,只负责对书目信息表中的数据进行筛选。图9为该模块的查询界面,查询结果将通过图5所示的界面反馈给用户。图9 书目信息查询界面3.2.2数据库设计结构在概要设计阶段将数据库源的构成划分为4个基本表,在此将根据前述对各主要模块的功能细分对数据库各基本表进行详细设计。根据前面作出的一系列分析过程,可以基本确定出各数据库基本表的字段构成,具体情况如图10所示。这里对字段的设计是按照关系数据库的设计方法进行安排的。例如,馆藏图书信息表中有相当一不分字段非别与书目信息表、供应商表、借书卡信息表中的字段重复,如果不进行处理而让这些字段在数据库中重复出现,除
38、了浪费存储空间外,也不利于管理。为此,这里首先为每一个基表各添加了一个主关键字,通过这个主关键字来标识表中的每一条记录,这将确保表中记录的惟一性。该字段的内容并没有实际意义,只是用来保证每一条记录的索引。这样在馆藏图书信息表中与其他表相重复的各字段,可用一个与该字段建立对应关系的字段来代替。也就是说,替换后的馆藏图书信息表将不再包含与其他表相重复的字段,而是通过一个与之有对应关系的索引建立起来映射关系。经过这样处理,馆藏图书信息表的冗余信息大大减少,也方便维护。具有这样对应关系得到数据库即为关系数据库。借书卡信息表 供应商信息表 书目信息表 馆藏图书表 图10 各基本的字段构成目前创建的数据库
39、各表中的所有字段均采用默认设置(为“文本”数据类型),这不利于信息的维护管理。需要根据不同字段的具体含义设置相应的数据类型,并指定其占用的空间大小等属性。图11为各基本表的字段的数据类型设置: 借书卡表 馆藏图书信息表 书目信息表 供应商表 图11 各基本字段的数据类型设置3.2.3程序总体框架的设计根据本系统需要完成的任务以及前面对各主要功能模块的划分和数据库结构的设计,可以完成编码前的总体程序框架搭建的工作。总的来说,本程序结构上可以划分为两层。位于上层的是框架界面层,负责程序整体框架的创建、管理,用户通过该层提供的用户界面接口完成对本系统软件的操作和使用。所有的操作结果也都是通过该层信息
40、反馈给用户;位于程序低层的是数据访问层,负责建立应用程序到数据库源的数据连接,应用程序将通过该层向数据库发出各种操作请求,并接受由数据库源返回的操作结果。在数据访问层,本系统拟采用ODBC开放式数据库连接方式建立到数据库源的访问链路。下面将对MFC对ODBC的支持作简要介绍:MFC主要通过CDatabase、CRecordset和CRecordView提供ODBC的支持。这些数据库类通过对ODBC API的封装,为用户提供了一种高级编程接口,而避免直接使用ODBC API所涉及的种种繁琐处理,大大简化了对ODBC数据库的应用程序编程。CDatabase类是操作ODBC数据源的基础,封装了应用程
41、序对ODBC数据源连接的处理,此外也提供了控制数据传输和执行SQL语句的功能。CDatabase类对象有两种类型:动态集(dynaset)和快照(snapshot)。CRecordset类提供了应用程序中记录集对象变量与数据库字段之间的数据交换能力,并允许对于数据库执行各种操作。CRecordView类从CForm View类派生并总是与CRecordset类相关联。CrecordView类用于在窗体上显示数据库记录,并利用记录字段交换相关联的对话数据交换实现对记录集变化的自动跟踪。从这几个ODBC支持类的介绍上看,可采用CRecordset类和CrecordView类构建位于底层的数据访问模
42、块。从结构化程序设计的角度考虑,在CDatabase建立到数据源的连接后,将后成数据库的没一个基表分别用CRecordset派生的相应子类进行一一对应的管理,这几个CRecordset派生类的类对象即为程序的上层结构提供了数据源各基表的访问功能。这些CRecordset派生类通过与其建立关联的CrecordView类的派生对象与界面层发生关系。属于界面层的其他类如CmainFrame等可以通过这些CRecordeView派生类对象对数据访问层获取到的数据进行访问。这些类之间的相互关系如图12所示。其中,记录集类CProviderSet、CBookInfoSet、CBorrowerCard和CL
43、ibrarySet分别对应数据库中的供应商表、书目信息表、借书卡表和借阅信息表,并分别与界面层的CProviderView、CBookInfoView和CLibraryView相对应(CBorrowerCard不与视图类发生关联)。 界面层数据库CLibraryViewCBookInfoViewCProviderViewCMainFrameCLihratSetCBookUnfoSetCBorrowerCardCProviderSetCDatabase借阅信息表书目信息表借书卡表供应商表图12 程序结构层次示意图对于这种结构层次,使用文档-视图结构的应用程序框架比较合适,但由于用到的这几个记录集
44、视图类的基类为CRecordView,而它又是从CFormView派生,这样就只能采用单文档结构的程序构架。为了能够在需要的时候显示相应的视图,该单文档结构的程序框架应具有动态切换窗体视图的能力。3.3建立程序框架3.3.1 使用MFC AppWizard(exe)向导在新建工程项目时选择“MFC App Wizard(exe)”类型的应用程序向导。在随后的工程选项中按如下配置项进行设置:单文档、无须文件支持的数据视图支持、CRecordView作为视图类的基类。其中,在选择无须文件支持的数据库视图支持时,同时指定要建立关联的数据库表。再点击【Data Source】按扭配置数据源选择对话框。
45、如图13所示:图 13 选择数据源由此创建的工程已通过CDatabase类完成到数据源的连接,并通过CRrcordSet类的派生类CLibrarySet与馆藏图书建立了联系。从CLibrarySet类的实现代码可以看出其类成员变量与数据库表中各字段的绑定过程:图14 选择数据库表3.3.2 窗体的切换当前程序只包含一个与馆藏图书表相关的记录集CLibrarySet 相关联的窗体视图,根据在详细设计阶段所作出的设计,还要添加其他两个窗体视图。首先要添加窗体资源到工程:插入资源时,从Dialog项目下选择IDD_FORMVIEW类型的对话框,并将其语言改为中国(Chinese(P.R.C))、资源
46、ID更改为IDD_PROVIDER_FORM。随后通过Insert菜单下的【New Class】菜单项启动如图15所示的向导页面,完成与数据库表相关联的窗体视图和记录集类的添加。图15 添加新的视图类在上述添加操作完成后,工程中将增加与供应商表相关联的新类CProviderSet 和CProviderView。并以同样的方式添加与其他信息相关联的类。对各窗体视图的切换操作是在程序框架中进行的,因此相关处理函数应在框架类CMainFrame 中添加。首先添加视图切换的核心处理函数SwitchToForm():void CMainFrame:SwitchToForm(int nForm)/ 获取原
47、来的活动窗体的视图句柄CView* pOldActiveView = GetActiveView();/ 获取由nForm标识的窗体所对应的视图句柄CView* pNewActiveView = (CView*) GetDlgItem(nForm);/ 若视图句柄为空,则创建一新的。./ 选择pNewActiveView为活动窗体SetActiveView(pNewActiveView);/ 显示活动窗体,隐藏非活动窗体pNewActiveView-ShowWindow(SW_SHOW);pOldActiveView-ShowWindow(SW_HIDE);/ 设置IDint ID;if(pO
48、ldActiveView-GetRuntimeClass()= RUNTIME_CLASS(CLibraryView)ID = IDD_LIBRARY_FORM;if(pOldActiveView-GetRuntimeClass()=RUNTIME_CLASS(CBookInfoView)ID = IDD_BOOKINFO_FORM;if(pOldActiveView-GetRuntimeClass()=RUNTIME_CLASS(CProviderView) ID = IDD_PROVIDER_FORM;/设置窗体的ID号pOldActiveView-SetDlgCtrlID(ID);pNe
49、wActiveView-SetDlgCtrlID(AFX_IDW_PANE_FIRST);RecalcLayout(); 下面给出“显示书目信息”菜单响应函数OnShowbookInfo(),其他几个函数的实现过程与之类似:void CMainFrame:OnShowbookInfo() / 显示书目信息表if (GetActiveView()-IsKindOf(RUNTIME_CLASS(CBookInfoView)return;SwitchToForm(IDD_BOOKINFO_FORM); 为了使用户能够清楚知道当前位于哪一个窗体,应当在使用菜单选中某个窗体时对其标记。这通常是在菜单更系
50、函数中进行,OnUpdataShowbookInfo()的实现代码如下:void CMainFrame:OnUpdateShowbookinfo(CCmdUI* pCmdUI) / 标记当前表为书目信息表pCmdUI-SetCheck(GetActiveView()-IsKindOf(RUNTIME_CLASS(CBookInfoView);上述代码将能够实现框架在各窗体之间的相互切换。3.3.3个窗体的界面实现在这一步,将根据前面在详细设计阶段完成的设计实现各窗体截面,并将其与对应类的类成员变量建立绑定关系。下面一土7所示的图书借阅信息表窗体视图为例,讲述窗体空件与类成员变量的绑定处理过程。
51、在如图17所示的Class Wizard类向导的MemberVariables属性页中,选中要绑定变量的控件ID,然后点击【Add Variable】按钮,弹出如图18所示的对话框,该对话框的三个组合框分别为要绑定的变量名称、变量类型(是控件还是数值)、变量的数据类型。图17 MemberVariables属性页面图18 添加与之绑定的类的成员变量第四章 系统实施4.1 系统测试与调试系统的测试与调试含义有所不同,测试的目标是发现系统中的错误,当然发现错误不是目的,改正错误才是测试的最终目标,那么在测试后发现了错误、诊断错误、改正错误就是系统调试的工作。首先系统的测试对象是开发的软件,目标是发
52、现软件中存在的错误。在本次系统开发过程中,由于毕业设计的特殊性,不可能实现系统测试避免开发人员进行的要求,因此在系统的开发过程中自己就进行分步的系统测试,即每完成一个模块功能就进行对应的测试工作,在VC+的运行编译过程中会自动提示出编码错误和系统错误等错误类型,当运行编译通过后再对已运行的系统进行黑盒测试,通过采用相关的测试用例,从程序的输入和输出特性上测试是否满足设定的功能。通过模拟操作过程可以得出功能十分完善,考虑的问题是否周到,输入的正确数据能否经过设计的处理得到期望的结果,输入的错误数据能否被系统拒绝等等。其次的调试工作是将测试过程中发现的问题解决掉,如果在VC+的编译过程中出现了错误
53、,就可以根据VC+提出的错误提示进行相应的修改;如果是在软件的运行过程中出现了脚本错误提示,则可以利用VC+的分步调试功能进行设计脚本的调试;如果通过了系统的处理过程可是得到的结果数据不是正确的期望结果,就需要核查对应的处理脚本或者SQL语句等有可能产生错误结果值的脚本。4.2系统运行与维护4.2.1系统运行环境这里所说的运行环境是指该系统所能运行的基本环境要求2。根据开发工具和开发环境的选择,以及当前计算机产品普及应用情况,本次设计的图书馆管理信息系统的最低运行环境如下:表4.1系统基本运行环境硬件设备CPUInter Pentium III 内存64M(推荐128M)硬盘20G(剩余硬盘空
54、间应大于30M)显示器分辨率达到800*600 输入设备鼠标,键盘输出设备针刺打印机CD-ROM40X软 件操作系统Windows98 4.3系统评价 对于本系统开发后的评价主要是从经济、性能和管理三个方面进行论证,这三方面也正是对应我们在系统调研的可行性分析,评价该系统能否达到在经济、技术和管理的可行性预计。4.3.1经济评价由于本系统是面向大专院校的校内图书馆进行分析设计的信息管理系统,在经济收益中它能带来的直接经济效益和间接经济效益相比,间接的经济效益要高出直接经济效益。一方面,因为职业技术学院图书馆不是盈利性质,该系统的开发主要用于提高馆内工作人员对图书管理的工作效率,并提高为学生服务的效率,方便全校师生图书借阅,实现信息资源的共享和提高图书信息的时效性,为师生的学习和工作提供有效的信息保证服务。另一方面,图书馆信息技术的应用提升了学院整体形象,通过宣传等途径可以提高学院的声誉,在今后的招生中占据了一定的优势,同时生源就会增加,这样就能给学院带来更好的发展空间和直接的经济效益。另外,毕业生对于学院的良好口碑也给学院带来了更高的无形收益,从学院的长远发展的角度讲,系统给学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学科学课程中探究式学习的实践与评价体系构建课题报告教学研究课题报告
- 面向大学生的《唐诗三百首》讲解
- 校园图书借阅行为数据驱动下的图书馆资源采购优化课题报告教学研究课题报告
- 城市道路工程施工安全管理保证措施
- 废水处理系统安装专项方案
- 《开展森林防火活动实施方案》
- 初中英语俚语在跨文化交际中的社会文化适应问题研究课题报告教学研究课题报告
- 康复科质量管理制度范文
- 植筋施工专项施工方案
- 数学统计图表在校园垃圾分类中废弃物处理成本效益分析课题报告教学研究课题报告
- 数据中心DCIM技术系统培训
- 2026湖北荆州市监利市沛然供水有限公司考试聘用人员8人笔试参考题库及答案详解
- 2026广西北海市市场监督管理局招聘后勤人员控制数2人笔试备考试题及答案详解
- 2025年新疆维吾尔自治区克拉玛依市八年级地生会考真题试卷(+答案)
- 河南省开封市2026届九年级中考二模历史试卷(有答案)
- 2026云南昆明昆明晋宁产业园区运营管理有限公司员工招聘4人笔试参考题库及答案解析
- 小升初2025~2026学年浙江省宁波市鄞州区(人教版)数学考试试题 含答案
- 挥发性有机物污染治理技术指南
- 第十一章盐土和碱土
- 五年级下数学水中浸物问题20道pdf
- 2026广东广州花都城投住宅建设有限公司第二次招聘项目用工人员4人笔试历年典型考点题库附带答案详解
评论
0/150
提交评论