634522570毕业设计(论文)C++高校图书管理系统_第1页
634522570毕业设计(论文)C++高校图书管理系统_第2页
634522570毕业设计(论文)C++高校图书管理系统_第3页
634522570毕业设计(论文)C++高校图书管理系统_第4页
634522570毕业设计(论文)C++高校图书管理系统_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、anyang institute of technology 本本 科科 毕毕 业业 论论 文文 高高 校校 图图 书书 管管 理理 系系 统统 library management system 系(院)名称: 计算机科学与信息工程系 专业班级: 09 届计算机科学与技术(专升本) 学生姓名: 指导教师: 指导教师职称: 讲 师 2009 年 5 月 目目 录录 引引 言言.1 第第 1 1 章章 绪论绪论.2 1.1问题的提出.2 1.1.1 历史背景.2 1.1.2 发展现状.2 1.2系统的开发模式.3 1.3系统开发工具介绍.3 1.3.1 vc+ 简介.3 1.3.2 sql se

2、rver 2000 简介.4 1.3.3 mfc 简介.5 1.4小结.5 第第 2 2 章章需求分析和概要设计需求分析和概要设计.6 2.1图书管理系统概述.6 2.2图书管理系统目标.6 2.3可行性研究.6 2.3.1 技术上的可行性.6 2.3.2 经济上的可行性.7 2.3.3 操作可行性.7 2.4文件组成说明.7 2.5系统概要设计.7 2.5.1 图书管理模块.8 2.5.2 读者管理模块.8 2.5.3 图书借阅管理模块.9 2.5.4 数据库管理模块.9 2.5.5 基础数据设置模块.9 2.5.6 系统模块.9 2.6小结.10 第第 3 3 章章数据库的创建及连接数据库

3、的创建及连接.11 3.1数据库需求分析.11 3.2数据库概念结构设计.12 3.3数据库逻辑结构设计.13 3.4小结.15 第第 4 4 章章系统详细设计系统详细设计.16 4.1系统管理.16 4.1.1 登录系统.16 4.1.2 注销/重新登陆.17 4.1.3 退出系统.17 4.2读者管理.18 4.2.1 读者登记.18 4.2.2 读者查询.20 4.2.3 读者注销.22 4.3图书管理.23 4.3.1 新书入库.23 4.3.2 图书查询.25 4.3.3 图书挂失.28 4.4借阅管理.29 4.4.1 借书.30 4.4.2 还书.32 4.4.3 借阅查询.35

4、 4.4.4 还书查询.35 4.5数据库管理.35 4.5.1 数据库备份.36 4.5.2 数据库恢复.36 4.6基础信息设置.37 4.6.1 罚款设置.37 4.6.2 读者类别设置.38 4.7小结.39 第第 5 5 章章系统测试系统测试.40 5.1系统测试.40 5.1.1 系统管理.40 5.1.2 读者管理.40 5.1.3 图书管理.40 5.1.4 借阅管理.40 5.1.5 数据库管理.40 5.1.6 基础信息设置.40 5.2小结.40 结结 论论.41 致致 谢谢.42 参考文献参考文献.43 高高 校校 图图 书书 管管 理理 系系 统统 专业班级:07 计

5、科 2 班(应用专升本) 学生姓名: 指导老师: 职 称: 讲师 摘要摘要 随着大学生知识层次的提高,高校图书馆成为日常生活中不可缺少的一部分。而图 书馆的存书量和业务量庞大,仅仅靠传统的记账式管理是不可行的。图书馆管理系统应 运而生,逐渐成为高校信息化建设的重要组成部分。高校图书馆不但是学校文献信息中 心,也是为教学和科研服务的教育学术性机构,现代信息技术是影响图书馆发展最深刻 的环境因素。高密度的信息储存技术,高速度的信息传递技术,高效率、高质量的信息 查询技术,在变革了人们生产、收集、组织、传递和使用知识信息的方式的同时,也使 信息服务的机制、结构以及服务手段发生了巨大的变化。 该图书管

6、理系统正是针对高校图书馆的这种工作需求,将专业知识的学习、实验能 力的培养、信息技能的提高结合起来,实现了图书管理信息系统的有机整合。本课题运 用信息系统的思想并结合可视化编程技术建设高校图书管理系统。通过本系统的运用, 图书馆管理员可以完成读者和图书的信息维护、图书借阅的记录、日常信息查询等各种 功能,还可以通过设置系统基本信息,完成对各项图书借阅方面的一些设置。同时,系 统还拥有强大的数据库管理,可以完成数据库的备份与恢复,从而保护数据的安全性。 系统将 visual c+ 6.0 和数据库开发有机地结合起来,以其简洁的界面,全面的功能, 提高了图书借阅的工作效率。对减轻图书管理员负担,提

7、高图书馆工作质量以及改进传 统记账式借阅方式还发挥着积极作用。 关键词关键词 图书管理 vc+ sql server odbc library management system abstract with the development of the university students knowledge level enhancement, the university library becomes an essential portion of the daily life. but the library storage and the business volume are h

8、uge, depending on the traditional accounts management is merely not feasible. the library management system arises at the historic moment, gradually becomes an important component of the university informationization construction . the library management system is not only the school literature mess

9、age center, but also the education academic organization which serves for the teaching and the scientific research. the present information technology is the most profound environmental factor affecting the library development . high density information storage technology, high velocity information

10、transmission technology, high efficiency, high grade information of inquiry technology, having transformed the people on produce, collection, organization, transmission and use knowledge information way, also caused the mechanism information service , the structure as well as the service method have

11、 had the huge change. this library management system is precisely in view of this kind of work demand of the university library. it connect with the specialized knowledges study, experiment abilitys raise, information skills enhancement unifies and realized the information system of library manageme

12、nt organic conformity. this topic using information systems thought unifies the visualization programming technology construction university library management system. through this systems utilization, the librarian may complete maintenance of the reader and the information of books, borrowing recor

13、d of the books and so on, and also can through the basic information of establishment system, complete some books borrowing aspect establishments. at the same time, the system has the formidable data bank administration, may complete the backup and the restoration of the database , thus protection t

14、he data security. the system unifies visual c+ 6.0 and the database development organically, its succinct contact surface and comprehensive function enhances the working efficiency of the books borrowing. the system will reduces the librarian bear, improves the quality of library work as well as pla

15、y the positive role on the improvement the traditional borrowing type of accounts. key words book management vc+ sql server odbc 引引 言言 二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们 广泛的关注。信息的主要来源就是书籍,特别是在高校,仅仅课本上的知识是远远不够 的,还得靠课后的不断学习和补充。高校的图书馆就是学生最主要的学习地和知识的主 要来源地。但由于高校图书馆图书收藏量大大增加,要随时对馆内图书和学员进行管理, 要随时更新、修改各种

16、信息等等,从而使传统的图书管理员的工作日益繁重起来。随着 计算机软件技术的发展,高校图书管理系统越来越受到人们的关注。因此,高校图书管 理系统也以方便、快捷、费用低的优点正慢慢地进入大学的生活,将传统的图书管理方 式彻底的解脱出来,提高效率,减轻管理员的工作,减小出错的概率,让读者可以花更 多的时间在选择书和看书上,使高校图书馆管理上了一个新台阶。以现代软件技术为基 础的信息管理主要是朝着信息化、现代化的目标迈进。作为新型的图书馆管理模式,它 具有对于教育、管理过程来说极为宝贵的特性,可以为现代化图书馆管理模式的建构提 供理想的环境。我国的图书馆自动化管理应用系统的研制工作从 70 年代末开始

17、,目前国 内开发、使用的图书馆自动化管理系统达 30 多种,从总体上说国内的图书馆自动化管理 系统已进入应用完善阶段。 有了图书馆管理系统,我们可以对图书进馆实行书目编排,并对其进行数据库备份, 以便对其进行管理和出错恢复;图书借阅时,可以通过查询实现对用户要求图书的查找, 如果用户需要借阅的图书已被借出,可以及时反馈给用户,避免时间的浪费;对于各类 用户的借阅权限,可以通过系统进行设定,满足各类用户的最大需求。 本文详细阐述了基于 sqlserver 数据库和 mfc 的设计与实现过程,包括系统需求分 析、系统功能设计以及数据库设计。系统实现了高校图书馆管理工作等处理。系统设计 的工作重点放

18、在基于数据库的图书查询、借阅查询等信息交互上,系统将 mfc 编程技术 与数据库编程技术有机结合起来,以信息管理为手段,同时注重 mfc 语言的技术特色, 并把它应用到图书管理系统中,以此减轻图书馆管理员负担,提高工作效率,并促进现 代化图书管理方式的发展。 第第 1 1 章章 绪论绪论 当今时代是飞速发展的信息时代。在各行各业中离不开对信息的处理,这正是计算 机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。 使用计算机进行图书管理,不仅提高了工作效率,而且大大的提高了数据安全性。尤其 对于复杂的高校图书馆管理,计算机能够充分发挥它的优越性。计算机进行信息管理与

19、信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了高校图 书馆管理人员方便日常工作,以提高图书馆的工作效率为最终目标,同时加强图书馆相 关信息的安全管理1。 1.1 问题的提出 传统的图书管理方式都是人工来进行的,不仅容易出错,而且效率也不高。正是基 于这样的情况下,同时随着计算机的飞速发展,图书管理系统才应运而生。 1.1.1 历史背景 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数 据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管 理。根据调查得知,以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理, 对于图

20、书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借 书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。 数据信息处理工作量大,容易出错,由于数据繁多,容易丢失,且不易查找。总的来说, 缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理, 没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境2。 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式 对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复 杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件

21、中,图书馆的工作 人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资 料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加 困难了3。 计算机信息化管理具有储存量大、速度快等许多优点,提供信息及时快捷,因此利 用计算机提供的信息对借阅过程形成一整套动态的管理。 1.1.2 发展现状 随着高校信息建设的逐步深入,我国的校园信息技术教育经过了三次浪潮、三个阶 段的发展,目前正面临一个前所未有、迅猛发展的大好局面。2002 年 9 月,教育部发布 了教育管理信息化标准 ,标志着我国教育管理信息化建设开始朝标准化、规范化的方 向发展。在校园管理信息化的

22、进程中,除了校园办公自动化以外,一套完善优秀的高校 图书馆管理系统已经成为校园管理高效、实用的重要体现。高校希望提高图书馆管理水 平,实现读者检索图书、图书编目、预约、借阅、归还等功能,实现图书信息、读者信 息的统计分析等各管理环节的自动化,减轻图书馆管理员的工作量,通过使用先进科学 的条形码技术,减少人为失误,提高图书信息准确性和工作效率,提高学生对图书馆服 务的满意度。总之,传统的校园图书馆管理模式使管理存在信息不畅、效率低下、操作 不规范等一系列问题,而基于网络的校园图书馆管理系统很大程度上缓解了这方面的问 题和压力,为学校实现了真正的信息化管理4。 1.2 系统的开发模式 本设计采用

23、vc+和 sql server2000 混合数据库编程模式来开发一个高校图书管理 系统。 1.3 系统开发工具介绍 1.3.1 vc+ 简介 vc+是微软公司开发的一个 ide(集成开发环境),换句话说,就是使用 c+的一个 开发平台。但是,vc+是 windows 平台上的 c+编程环境,学习 vc+要了解很多 windows 平台的特性并且还要掌握 mfc、atl、com 等的知识,难度比较大。windows 下编程需要了解 windows 的消息机制以及回调(callback)函数的原理;mfc 是 win32api 的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;com

24、 是代码共 享的二进制标准,需要掌握其基本原理等等。 vc+作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入 门感到难于上青天,究其原因主要是大家对它错误的认识造成的,严格来说 vc+不是门 语言,虽然它和 c+之间有密切的关系,如果形象点比喻的话,可以把 c+看作为一种 “工业标准” ,而 vc+则是某种操作系统平台下的“厂商标准” ,而“厂商标准”是在遵 循“工业标准”的前提下扩展而来的。 vc+应用程序的开发主要有两种模式:一种是 win api 方式,另一种则是 mfc 方 式。传统的 win api 开发方式比较繁琐,而 mfc 则是对 win api 再次封装,

25、所以 mfc 相对于 win api 开发更具备效率优势。 vc+基于 c、c+语言,主要是由 mfc 组成,兼有高级和低级语言的双重性,功能 强大,灵活,执行效率高,几乎可说 vc+在 windows 平台无所不能。 最大缺点是开发 效率不高5。 1.3.2 sql server 2000 简介 microsoft 的 sql server 2000,是一个大型的关系数据库管理系统(dbms),具有非常 强大的关系数据库创建、开发、设计及管理功能。 与以前的几个版本相比,sql server 2000 有如下几个特点: 1. 与 internet 的紧密结合 sql server 2000

26、的数据库引擎集成了对 xml 的支持,以可扩展、易于使用和安全, 成为建设大型 web 站点最好的数据存储设备之一。sql server 2000 的编程模式在很大程 度上与专用于开发 web 应用的 windows dna 架构相集成。同时,sql server 2000 所携 带的诸如英语查询以及 microsoft 查询服务等为开发的 web 应用提供了友好强大的查询界 面。 2. 可扩展性和可用性 为了兼顾各种配置计算机的使用,sql server 2000 的数据库引擎可以运行在装有 windows 98 的台式机、笔记本电脑到安装 windows 2000 数据中心的多处理器计算机

27、上。 sql server 2000 企业版具有聪明服务器、视图索引以及超大规模的内存支持等特征,完 全可以满足最大规模的 web 站点的性能需求。 sql server 2000 所支持的联盟数据库服务器特性允许用户在多个数据库服务器上水 平划分数据表,从而使得服务器彼此合作提供相似于集群服务器所能提供的强大性能。 3. 简单友好的操作方式 sql server 2000 包含一整套的管理和开发工具,这些工具都具有非常友好的用户界 面,在提供强大功能的同时,易于安装、使用和发布。用户可以把更多的精力放在自己 的业务问题上,可以非常迅速地建立并发布强大而复杂的数据库应用系统。 4. 数据仓库支

28、持 sql server 2000 为了满足现代企业对大规模数据进行有效分析和利用的要求,包含 了一系列提取、分析、总结数据的工具从而使联机分析处理成为可能。同时,sql server 2000 提供英语查询工具和编程接口,使得以英语为基础设计和管理,查询数据库成为可 能6。 1.3.3 mfc 简介 微软基础类(microsoft foundation classes,mfc),同 vcl 类似,是一种 application framework,随微软 vc+ 开发工具发布。目前最新版本为 9.0(截止 2008 年 11 月)。该 类库提供一组通用的可重用的类库供开发人员使用。大部分类均

29、从 cobject 直接或间接 派生,只有少部分类例外。此外 mfc 的部分类为 mfc/atl 通用,可以在 win32 应用程 序中单独包含并使用这些类。 mfc 实际上是微软提供的,用于在 c+环境下编写应用程序的一个框架和引擎, vc+是 windos 下开发人员使用的专业 c+ sdk(sdk, standard software develop kit, 专业软件开发平台),mfc 就是挂在它之上的一个辅助软件开发包,mfc 作为与 vc+血 肉相连的部分(注意 c+和 vc+的区别:c+是一种程序设计语言,是一种大家都承认的 软件编制的通用规范,而 vc+只是一个编译器,或者说是

30、一种编译器+源程序编辑器的 开发平台),这跟 pascal 和 delphi 的关系是一个道理,pascal 是 delphi 的语言基础,delphi 使用 pascal 规范来进行 win 下应用程序的开发和编译,却不同于 basic 语言和 vb 的关系, basic 语言在 vb 开发出来被应用的年代已经成了 basic 语言的新规范,vb 新加的 basic 语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使 vb 既是一个 ide,又 成长成一个新的程序设计语言。mfc 同 vc+集成的 vcl 一样是一个非外挂式的软件包 类库,只不过 mfc 类是微软为 vc+专配的7。

31、 1.4 小结 当今时代,老旧的图书管理方法已不能满足人们的日常需求。计算机的快速发展迫 切需要计算机管理系统对图书进行管理。 为达到图书信息化管理的目的,鉴于 vc+、mfc 和 sql server 的特点,本课题选 用了 vc+ + sql server 作为课题设计的图书管理系统的开发方式。 第第 2 2 章章需求分析和概要设计需求分析和概要设计 本系统的目标是利用编程工具实现图书管理的功能。具体而言,需要实现读者信息 处理功能,图书信息处理功能,借阅图书以及查询功能,基础信息设置功能,数据库备 份和恢复等各方面的管理功能,从而使工作人员能够高效和便捷地管理图书和读者的信 息,统一管理

32、读者的相关借阅信息,记录日常借阅信息,并通过数据库安全地管理这些 信息。 2.1 图书管理系统概述 为了图书馆能更好地适应读者的借阅需求,该系统针对高校图书管理的内容复杂, 涉及各种图书、读者、借阅事项等管理,数据量庞大,是高校图书馆管理的一项繁重任 务,从而设计该系统对图书借阅进行管理,实现图书馆管理的数字化。方便管理人员对 大量图书的管理和日常借阅信息的记录与统计。使得高校图书馆的工作效率大大提高。 在开发组织资源时应以实际情况为依据,使其能够方便、快捷、安全地处理日常图书馆 管理工作,使读者拥有一个优良的借阅图书的环境8。 2.2 图书管理系统目标 图书管理系统系统中,需要管理各个方面的

33、资源,实现信息的管理,具体每个实现 的目标如下: (1)图书借阅管理:借书及借书查询;还书及还书查询。 (2)书库管理:录入新书信息;图书查询;图书挂失。 (3)读者管理:录入新读者信息;读者信息查询;读者注销。 (4)数据库管理:数据库信息备份和恢复。 (5)基础数据设置:罚款参数设置;图书可借阅天数设置;读者可借册数设置。 2.3 可行性研究 可行性研究的目的:使用最小的代价在尽可能短的时间里确定问题是否能解决,通 过复杂系统的规模与目标的探讨,在研究与此类似的系统后,我们具体从下面三个方面 考虑。 2.3.1 技术上的可行性 此系统要求用 vc+ 6.0 开发,作为一种现代的编程语言,提

34、供了完善的指令控制语 句、类与对象的支持及丰富的数据类型,给开发高性能系统提供了保障。为开发满足客 户要求的系统,保证了代码的模块化要求,而代码模块化的提高,有利于以后对新系统 的扩展与修改。 sql server2000 作为本系统的数据库,它是一个大型的关系数据库管理系统(dbms), 是一个支持多用户的数据库,具有非常强大的关系数据库创建、开发、设计及管理功能, 适用于大中规模的数据量需求。 综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此在 技术上是可行的。 2.3.2 经济上的可行性 现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为 高校

35、图书馆的工作效率带来了一个质的飞跃,主要表现有以下几个方面: 第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源; 第三,本系统的运行可以大大的提高高校图书馆的工作效率; 第四,本系统可以数据库文档更加安全,等等。 最后,本人在开发前,系统学习了 vc+和 sql server2000 的相关内容,所以从人 力、物力、财力方面都是可行的。 2.3.3 操作可行性 本系统为一个小型的高校图书管理系统,所耗费的资源非常小,高校的电脑无论是 硬件还是软件都能够满足条件。系统的交互界面完全是 windows 可视化操作环境,工作 人员稍加培训即可使用。因此本系统在运

36、行上是可行的。 2.4 文件组成说明 debug:存放系统编译与连接需要的相关文件。 res:存放在设计该系统界面时用到的图片。 database:存放 sql server 数据库备份文件。 2.5 系统概要设计 本系统共分为读者管理模块、图书管理模块、借阅管理模块、数据库管理模块、基 础设置模块和系统模块六部分,其中系统模块是关于用户登陆和退出系统的,如图 2-1 所 示: 用户登录用户登录 书库管理书库管理 模块模块 借阅管理借阅管理 模块模块 读者管理读者管理 模块模块 基础数据基础数据 设置模块设置模块 数据库管理数据库管理 模块模块 借书和还书借书和还书 借书和还书记录查询借书和还

37、书记录查询 图书查询图书查询 图书挂失图书挂失 数据库信息备份数据库信息备份 数据库信息数据库信息恢复恢复 录入新书信息录入新书信息 读者信息查询读者信息查询 读者注销读者注销 录入新读者信息录入新读者信息 读者可借册数设置读者可借册数设置 罚款参数设置罚款参数设置 数 据 库 图 2-1 高校图书管理系统功能模块图 2.5.1 图书管理模块 该模块提供图书入库、图书查询、图书挂失的功能。 图书入库完成功能:将新进的图书的书名,作者,出版社,价格,数量等信息添加 到数据库的图书表中,并由编号自动排列,以供读者借阅。 图书查询完成功能:按照图书编号、图书名、作者或出版社来查询相关图书信息, 并以

38、列表的形式全部显示出来。 图书挂失完成功能:首先查询借阅表里面是否有该读者的借阅记录,如果没有借阅 记录,给出相关提示;如果有将该书先还书,然后再删除这本书相关信息。 2.5.2 读者管理模块 该模块提供新读者登记、读者信息查询、读者注销功能。 读者登记完成功能:将新读者的姓名,性别,读者类型,所属部门,电话,地址等 信息添加到数据库的读者表中,并由编号自动排列,以供以后借阅图书是使用。 读者查询完成功能:按照读者编号、姓名、所属部门或读者类型来查询相关的读者 信息,并以列表的形式全部显示出来。 读者注销完成功能:对已经将书全部归还的读者删除。 2.5.3 图书借阅管理模块 该模块是日常工作中

39、最常用的部分,它提供借书及借书查询、还书及还书查询功能。 借书完成功能:根据读者编号和图书编号查询该图书是否还有库存。如果没有库存, 则给出相关提示信息;如果还有库存则在借阅列表里面插入一条借阅记录,系统并自动 添加借阅时间和操作员用户名,并将该借阅图书的藏书数量减一。 还书完成功能:根据读者编号和图书编号查询借阅表里的记录。系统自动检查该书 是否超过借阅期限,如果超过借阅期限则根据天数和相关罚款设置计算罚金,并将该记 录添加到数据库的还书表中,在借阅表中删除该记录。 借书查询完成功能:按照读者编号、图书编号或操作员来查询相关的借书信息,并 以列表的形式全部显示出来。 还书查询完成功能:按照读

40、者编号或图书编号来查询相关的还书信息,并以列表的 形式全部显示出来。 2.5.4 数据库管理模块 该模块提供数据库信息备份和恢复功能,以保障数据的安全性。 数据库备份完成功能:将数据库备份到指定的地方。 数据库恢复完成功能:从指定的地方将数据库恢复。 2.5.5 基础数据设置模块 该模块提供罚款参数设置、读者可借册数设置。 罚款参数设置完成功能:可以设置如果超过借阅期限,每天处罚的金额数目。 读者可借册书设置完成功能:可以根据读者类型设置可借阅的数目。 2.5.6 系统模块 该模块提供用户管理、注销/重新登陆系统、退出系统的功能。 用户管理完成功能:对用户的用户名的增加、删除、修改。 注销/重

41、新登陆系统完成功能:注销当前用户,进入登录窗口等待重新登陆。 退出系统的完成功能:退出并关闭所有系统资源。 2.6 小结 本章简要阐述了高校图书管理系统开发的需求分析和概要设计,进行了系统的可行 性研究,同时给出了图书管理系统功能模块图,为后续的开发工作做好准备。 第第 3 3 章章数据库的创建及连接数据库的创建及连接 数据库设计(database design)是指根据用户的需求,在某一具体的数据库管理系统上, 设计数据库的结构和建立数据库的过程。 3.1 数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库 结构能满足各种信息的输入和输出。收集基本数据、

42、数据结构及数据处理的流程,组成 一份详尽的数据字典,为后面的具体设计打下基础。 通过高校图书管理系统功能的分析,针对一般图书管理系统,总结出系统数据流模 型如图 3-1 所示: 管理员 数据库 管理系统 访问访问 响应响应 图 3-1 顶层数据流图 该管理系统中,共有两个实体:读者和图书。 系统的对应实体-关系图(e-r 图)如图 3-2 所示: 读者 图书 借阅图书还书 n m m n 读者编号 读者姓名性别读者类别 当前借阅量 图书编号 书名 作者 价格 图书总量 当前库存量 借阅时间 操作员 操作员 还书时间 罚金 图 3-2系统 e-r 图 通过上述数据流图和 e-r 图的分析和需求总

43、结,设计如下的相关数据内容和数据项。 读者信息,包括数据项:读者编号、姓名、性别、登记日期、读者类型、当前借阅 量、所属部门、电话、地址、备注; 图书信息,包括数据项:图书编号、书名、作者、出版社、价格、入库时间、图书 总量、当前库存量、备注; 借阅信息,包括数据项:读者编号、图书编号、借书时间、操作员; 还书信息,包括数据项:读者编号、图书编号、借书时间、还书时间、操作员、罚 金; 管理员信息,包括数据项:用户名、密码; 读者类型信息,包括数据项:读者类型、可借册数。 3.2 数据库概念结构设计 在上述的数据内容和数据项基础上,就可以设计出能够满足用户需求的各种实体及 其关系,为后面的逻辑结

44、构设计打下基础。这些实体包含各种具体信息,通过相互之间 的作用形成数据的流动。 3.3 数据库逻辑结构设计 数据库概念结构设计完毕后,需要将上面的数据库概念结构转化为某种数据库系统 所支持的实际数据模型,也就是数据库的逻辑结构。 这里所使用的是 sql server2000 数据库,高校图书管理系统中相关表的设计结果如 下。每个表格表示数据库中的一个表。 表 3-1 为读者信息表,存储系统中读者信息包括十个主要字段,分别是读者编号、姓 名、性别、登记日期、读者类型、当前借阅量、所属部门、电话、地址和备注,其中读 者编号是主键,唯一标识一位读者9。 表 3-1 读者信息表(reader) 列名列

45、名数据类型数据类型字段大小字段大小默认值默认值说明说明 readernovarchar20无读者编号 namevarchar50无读者姓名 passwordvarchar10000000读者密码 sex varchar 2无性别 registerdatetime8无登记日期 typevarchar12无读者类型 departmentvarchar50无所属部门 nowborrowint4无当前借阅量 telvarchar50无电话 adressvarchar50无地址 othervarchar100无备注 表 3-2 为图书信息表,存储图书相关信息,包括九个主要字段,分别是图书编号、书 名、作

46、者、出版社、价格、入库时间、图书总量、当前库存量和备注,其中图书编号是 主键,唯一标识一种图书。 表 3-2 图书信息表(book) 列名列名数据类型数据类型字段大小字段大小默认值默认值说明说明 booknovarchar20无图书编号 booknamevarchar50无书名 booktypevarchar20无图书类型 writervarchar50无作者 pressvarchar50无出版社 pricefloat8无价格 inlibrarydatetime8无入库时间 totalamountint4无图书总量 nowamountint4无当前库存 量 othervarchar100无备注

47、 表 3-3 为借阅信息表,存储借阅信息,包括四个字段:读者编号、图书编号、借书时 间、操作员。其中读者编号、图书编号和借书时间共同作为主键,唯一标识一条借阅记 录。 表 3-3 借阅表(borrow) 列名列名数据类型数据类型字段大小字段大小默认值默认值说明说明 readernovarchar20无读者编号 booknovarchar20无图书编号 borrowtimedatetime8无借书时间 usernamevarchar20无操作员 表 3-4 为还书信息表,存储还书的信息,包括六个字段,分别是读者编号、图书编号、 借书时间、还书时间、操作员和罚金。其中还书时间作为主键,唯一标识一条

48、还书记录。 表 3-4 还书表(return) 列名列名数据类型数据类型字段大小字段大小默认值默认值说明说明 readernovarchar20无读者编号 booknovarchar20无图书编号 returntimedatetime8无还书时间 borrowtimedatetime8无借书时间 usernamevarchar20无操作员 punishfloat8无罚金 表 3-5 为管理员信息表,存储管理员的信息,包括两个字段,分别是用户名和密码。 其中用户名作为主键,唯一标识一个管理员。 表 3-5 管理员信息表(manager) 列名列名数据类型数据类型字段大小字段大小默认值默认值说明说

49、明 usernamevarchar20无用户名 passwordvarchar16无密码 表 3-6 为读者类型信息表,存储读者类型可借册数的信息,包括两个字段,分别是读 者类型和可借册数。其中读者类型作为主键,唯一标识一个读者类型。 表 3-6 读者类型信息表(typeset) 列名列名数据类型数据类型字段大小字段大小默认值默认值说明说明 typevarchar12无读者类型 borrowtotalint4无可借册数 borrowdaysint无可借天数 3.4 小结 本章简要介绍了系统开发的数据库设计工作,并且给出顶层数据流图、e-r 图和关键 表,为后续开发工作奠定了基础。 第第 4 4

50、 章章系统详细设计系统详细设计 根据概要设计,系统分为六个部分:读者管理模块、图书管理模块、借阅管理模块、 数据库管理模块、基础设置模块和系统模块 4.1 系统管理 4.1.1 登录系统 登陆界面如图 4-1 所示: 图 4-1 系统登录界面 当用户点击了登录按钮时,系统就要检查输入信息的正确性:如果用户没有输入用 户名,则会弹出对话框“请输入用户名!” ,并把焦点设置在用户名编辑框内;如果用户 没有输入密码,则会弹出对话框“请输入密码!” ,并把焦点设置在密码编辑框内;如果 都输入了,那么根据单选按钮的选择方式,打开数据库的 manager 表或 reader 表,查找 是否有对应的账户记录

51、。如果用户名或密码错误则会弹出对话框“用户名或密码错误!” 。 当用户输入正确的用户名和密码后就可以登录系统了。管理员和读者登录系统所拥有的 权限是不一样的,读者只有查询信息的权限,可以通过设置标志变量来区别普通读者和 管理员。这里读者登录代码与管理员登录代码类似,故只写出管理员登录。主要代码如 下: strsql.format(select * from manager where username=%s and password =%s,m_strusername,m_strpassword); if(!m_record.open(afx_db_use_default_type,strsq

52、l) /打开数据库并查询该用 户名和密码 messagebox(打开数据库失败!,数据库错误,mb_ok|mb_iconexclamation); return ; if(m_record.getrecordcount()=0)/是否查询不到指定记录 m_record.close(); messagebox(用户名或密码错误,请重新输入!,错误 ,mb_ok|mb_iconexclamation); m_strpassword.empty(); m_strusername.empty(); m_ctrusername.setfocus(); updatedata(false); return

53、; else ptheapp-m_strusername = m_record.m_username;/用户名和密码正确,将用户 名传递给主窗口 ptheapp-isuser=true;/判断是普通读者还是管理员的标识变量 m_record.close(); cdialog:onok(); 4.1.2 注销/重新登陆 当用户想要更换操作员来管理时,就会重新弹出登陆对话框。此时,如果输入正确的 用户名和密码则和普通登录一样。不输入或输入不正确则不能再进入系统。代码实现很 简单: clogindlg dlg; dlg.domodal();10 就可以完成用户的注销。 4.1.3 退出系统 当用户想

54、要退出系统的时候,则系统即可。因为数据库只有在使用的时候才打开。 使用完毕就立刻关闭了。这里不需要再次关闭数据库。主要代码实现如下: if(messagebox(您确认退出系统吗?,提示,mb_okcancel |mb_iconexclamation)=1) cframewnd:onclose(); 这样退出的时候系统就会再次询问用户用户是否确定退出系统,以免出现误操作。 4.2 读者管理 4.2.1 读者登记 在该部分中,将读者的各个信息录入数据库并提示登记是否成功。如果在登记的信 息内没有输入读者编号、姓名或所示部门这些重要信息,则给出提示,要求输入。如果 该读者的编号已经存在则提示“该读

55、者已存在”并把焦点设置为读者编号的编辑框。界 面如图 4-2 所示: 图 4-2 读者登记 主要代码实现如下: void creaderregdlg:onbuttonadd()/读者登记 if(m_strreaderno.isempty()/判断读者重要信息是否为空 messagebox(请输入读者编号!,提示,mb_ok|mb_iconexclamation); m_ctrreaderno.setfocus(); return; if(m_strreadername.isempty() messagebox(请输入读者姓名!,提示,mb_ok|mb_iconexclamation); m_c

56、trreadername.setfocus(); return; if(m_strdepartment.isempty() messagebox(请输入读者所在部门!,提示 ,mb_ok|mb_iconexclamation); m_ctrdepartment.setfocus(); return; if(m_readerrecord.getrecordcount()!=0)/判断读者是否已存在 m_readerrecord.close(); messagebox(该读者编号已经存在,请重新输入!,错误 ,mb_ok|mb_iconexclamation); m_ctrreaderno.set

57、focus(); return; m_readerrecord.addnew();/添加新的读者记录 m_readerrecord.m_readerno=m_strreaderno; m_readerrecord.m_name=m_strreadername; m_readerrecord.update(); m_readerrecord.close();11 messagebox(添加成功!,恭喜,mb_ok|mb_iconexclamation); creaderregdlg:onbuttonclear(); 从而完成读者登记功能。 4.2.2 读者查询 该部分按照读者编号、姓名、密码、部

58、门或读者类型来查询相关的读者信息,并用 列表控件 control list 来显示出来读者的每一条属性信息。如果用户查询的内容为空,则 进行相关提示。由于该列表控件有很强的显示功能,无需人为过多参与。其界面如图 4-3 所示: 图 4-3 读者查询 主要代码实现如下: select=getcheckedradiobutton(idc_radio_no,idc_radio_type);/判断用户的查 询方式 if(select=idc_radio_no)/如果是通过编号查询 if(m_strno.isempty() messagebox(编号不能为空!,错误,mb_ok|mb_iconexcla

59、mation); m_ctrno.setfocus(); return ; strsql.format( select * from reader where readerno = %s,m_strno); else if(select=idc_radio_name)/通过姓名查询 if(m_strname.isempty() messagebox(姓名不能为空!,错误 ,mb_ok|mb_iconexclamation); m_ctrname.setfocus(); return ; strsql.format( select * from reader where name = %s,m_

60、strname); else if(select=idc_radio_department)/通过部门查询 if(m_strdepartment) messagebox(部门不能为空!,错误 ,mb_ok|mb_iconexclamation); m_ctrdepartment.setfocus(); return ; strsql.format( select * from reader where department = %s,m_strdepartment); else/通过读者类型查询 cstring temp; m_ctrtype.getlbtext(m_ctrtype.getcu

温馨提示

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

评论

0/150

提交评论