VC图书信息管理系统.docx
《VC图书信息管理系统.docx》由会员分享,可在线阅读,更多相关《VC图书信息管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
VC图书信息管理系统
课 题:
电子图书管理系统开发
专 业:
计算机科学与技术
设计人:
年十月
摘要
本系统采用基于局域网的客户机/服务器模式将软件分成客户端(前台)和服务器端(后台)。
前台大部分程序采用VisualC++中的MFCODBC来访问SQLSERVER数据库,后台通过编写一些存储过程和触发器来减少前台数据处理量,并进行数据存储和数据处理。
本系统能对图书实行分类管理,并能按客户端登录用户实行三级权限管理:
读者、图书管理员和超级管理员。
本系统分用户登录、图书查询、借还图书,系统管理等四大功能模块。
其中图书查询功能分为模糊查询、直接查询、多条件查询;系统管理则包括读者管理、图书分类管理、图书管理、逾期未还图书管理、管理员权限帐户管理等。
其中多条件查询、模糊查询,图书分类管理,单文档多视图操作是本系统开发与设计中的难点。
本文针对目前高校系部图书管理实际,从系统的开发背景、需求分析、设计原则及开发过程等四个方面进行了全面的阐述。
全文共分六章,第一章简明扼要地介绍本系统的开发背景、设计原则及设计目标;第二章简要地介绍了本系统的开发工具和相应技术;第三章对系统的需求进行了全面的分析;第四章系统设计;第五章数据库设计;第六章系统的开发与设计过程。
本系统对于目前高校系部及中小型图书馆的建设有一定的指导意义。
关键词:
文档视图,类,MFCODBC,C/S,CRecordSet,CDataBase
流程图,数据字典,SQLSERVER,存储过程,触发器
目录
第一章绪论
1.1系统开发背景………………………………………………3
1.2设计目标…………………………………………………3
1.2系统设计原则……………………………………………4
第二章系统开发工具及相应技术简介
2.1VisualC++简介和数据库开发技术………………………5
2.2MSSQLSERVER2000介绍………………………………6
2.3ODBC的基本思想与体系结构………………………………7
2.4客户机/服务器结构…………………………………………8
2.5使用MFCODBC…………………………………………………8
2.6系统运行环境………………………………………………14
第三章系统需求分析
2.1功能需求……………………………………………………15
2.2数据流图……………………………………………………15
2.3数据字典……………………………………………………18
第四章系统设计
4.1系统总体结构………………………………………24
4.2总体结构及功能模块划分………………………………25
第五章数据库设计
5.1数据库基本概论……………………………………………26
5.2涉及的后台处理技术……………………………………29
5.3定义系统表………………………………………………30
5.4数据库的实现……………………………………………32
第六章系统的具体实现
6.1登录子系统………………………………………………37
6.2查询子系统………………………………………………38
6.3借还子系统………………………………………………39
6.44管理子系统………………………………………………40
结束语………………………………………………41
附录1参考文献……………………………………………42
附录2部分源程序……………………………………………43
第一章绪论
1.1系统开发背景
目前,在高校系部图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。
而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。
每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库帐目,不仅工作量大,而且,在新书入库后要经历较长的时间方能借出。
另外,有的系部因图书数量有限,必须对图书实行限量借阅,因此,要实施弹性借书方法是件很困难的事。
为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对系部图书实施有效管理。
该系统必须具备以下功能:
1、能对各类图书实行分类管理;2、提供必要的读者信息;3、能进行各种高级查询(如未还书目的查询;已还书目的查询等);4、具有图书检索功能;5、能管理登录系统的图书管理员等。
这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。
1.2设计目标
针对以上情况,决定组建一个基于客户机/服务器结构的图书管理系统,要求该系统能对登录后的用户实行权限管理。
在系统启动后,读者能在客户端根据自已的需要查询图书,而图书管理员能在服务器端根据读者提供的身份信息及图书编号办理借书或还书手续,通过自动查询功能判断读者是否还能借书。
如果读者没有逾期未还图书情况及所借图书没超过可借图书数量,则可继续办理借书手续,否则不予办理。
另外,图书管理员能根据需要通过该系统的服务端自行修改图书信息,增加或删除图书书目等。
该系统设有超级用户,当管理员以超级用户登录服务器时,图书管理员有着最大的权限,能通过管理界面设置图书借阅期限、查询逾期未还图书信息和读者信息,并能有效地管理图书分类、读者信息及图书管理员的登录帐目等。
该系统要求能在WIN2000及XP环境下运行。
1.3系统设计原则
●实用性原则:
适合于中小型图书馆及高校系部图书管理,用户界面友好,操作使用方便,具有高效的数据处理能力。
●先进性原则:
采用目前先进的计算机软硬件技术,使系统具有较高的技术水平和较长的生命周期,便于系统的升级和维护。
●开放性,安全性,可靠性及可扩展性原则。
●兼容性原则。
对于所选软硬件系统及平台,能很好地适应开发和使用的需要。
●规范性原则。
软件设计过程严格按照“软件工程”的规定,系统编码、文档、操作系统平台以及开发方法采用相应的国际标准、国家标准和行业标准。
第二章环境系统开发工具及相应技术简介
2.1VisualC++简介和数据库开发技术
2.1.1VisualC++简介
这个系统前台所用的开发工具是VisualC++6.0,它是Microsoft公司开发的基于C/C++的集成开发工具,是VisualStudio中功能最为强大,代码效率最高的开发工具.
VisualC++6.0跟以前的版本相比,它的编译器,调试器,连接器,编辑器,资源编辑器都有所加强,在编辑器中还提供了自动语句生成功能,编辑器会像VisualBasic那样自动提示函数的参数,对象成员.另外,VisualC++6.0还提供了许多的向导.在MFC中新增了一些类,提供了更加强大的数据访问功能.
程序员可以利用VisualC++6.0以基于WindowsAPI的C编程方式或基于MFC的C++编程方式,也可混合编程,使工作效率相对提高,开发工作量减少,源代码效率高.从面使VisualC++6.0成为目前开发Windows应用程序最好、最高效的开发工具之一。
同时在数据库系统开发方面也有很大的优势.
2.2SQLSERVER2000简介
系统的服务器采用的是Microsoft的SQLSERVER2000,这是一个最新开发的大型的关系数据库管理系统(DBMS),具有非常强大的关系数据库创建,开发,设计及管理功能。
与以前的几个版本相比,SQLServer2000有如下几个特点:
1.与Internet的紧密结合
SQLServer2000的数据库引擎集成了对XML的支持,同进以可扩展,易于使用和安全,成为建设大型WEB站点最好的数据存储设备之一。
SQLServer2000的编程模式在很在程度上与专用于开发WEB应用的WindowsDNA架构相集成。
同时,SQLServer2000所携带的诸如英语查询以及Microsoft查询服务等为开发的Web应用提供了友好面强大的查询界面。
2.可扩展性和可用性
为了兼顾各种配置计算机的使用,SQLServer2000的数据库引擎可以运行在装有Windows98的台式机,笔记本电脑到安装Windows2000数据中心的多处理器计算机上。
SQLServer2000企业版具有聪明服务器,视图索引以及超大规模的内存支持等特征,完全可以满足最大规模的Web站点的性能需求。
SQLServer2000所支持的联盟数据库服务器特性允许用户在多个数据库服务器上水平划分数据表,从而使得服务器彼此合作提供相似于集群服务器所能提供的强大性能。
3.简单友好的操作方式
SQLServer2000包含一整套的管理和开发工具,这些工具都具有非常友好的用户界面,在提供强大功能的同时,易于安装,使用和发布。
用户可以把更多的精力放在自己的业务问题上,可以非常迅速地建立并发布强大而复杂的数据库应用系统。
4.数据仓库支持
SQLServer2000为了满足现代企业对大规模数据进行有效分析和利用的要求,包含了一系列提取,分析,总结数据的工具从面使联机分析处理成为可能。
同时,SQLServer2000提供了英语查询工具和编程接口,使得以英语为基础设计和管理,查询数据库成为了可能。
2.6系统运行环境
2.6.1服务器软硬件要求
软件:
Windows2000(服务器版)
MSSQLServer2000
TCP/IP协议
硬件:
CPU:
PⅢ
内存:
128M
硬盘:
4G以上
2.6.2客户机软硬件要求
软件:
Windows95/98/ME/2000
TCP/IP协议
硬件:
CPU:
486/586以及更高档的PC
内存:
最少16M
硬盘:
500M以上
第三章需求分析
如同任何生物一样,软件也有一个诞生、成长、衰亡的生存过程。
我们称为软件的生存期。
根据这一思想,可以得到软件生存期六个步骤,即制定计划、需求分析、软件设计、程序编码、测试及运行维护。
软件需求分析工作是软件生存期中重要一步,也是决定性一步。
只有通过需求分析才能把软件功能和性能的总体要领描述为具体的软件需求规程说明,从而奠定软件开发的基础。
3.1功能需求
根据自己调查图书馆的业务情况,从实际应用的角度出发,确定为用户提供和实现以下功能:
1.登录功能。
2.读者:
主要提供直接查询(包括模糊查询)和多条件分类查询功能。
3.图书管理员:
主要提供借书,还书,图书管理。
4.超级管理员:
主要提供图书管理员登录数据库管理,图书类管理,读者管理.逾期未还图书的信息管理。
5.打印功能:
打印逾期示还图的信息或读者。
6.联机帮助功能:
能帮助用户在最短的时间使用本系统。
3.2数据流图(DFD)
通过对系统需求的调查分析,细化软件功能,把系统划分几四个子系统,明确每个子系统所要完的主要逻辑功能,采用以图形的方式描绘数据在系统中流动和处理的数据流图来表示系统的逻辑模型。
顶层图:
图3.1
一层图:
图3.2
注:
D1图书数据库
D2读者数据库
D3管理员数据库
D4图书分类数据库
D5借书记录数据库
F1-F3登录信息
F4,F5图书信息
F6各种管理信息
F7图书信息
二层图:
图3.3
图3.4
图3.5
3.3数据字典
为了使各数据流,数据处理过程,存储过程不能反映其中的数据成,数据项目,数据特性,所以用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以后的实现搞供有关元素一致性定义和详细的描述:
数据流字典
数据流名称:
读者登录标志符:
F1
别名:
无
来源:
读者
去向:
查询处理过程(P2)
数据组成:
编号+姓名+密码+登录权限
数据流名称:
管理员登录(P3)标志符:
F2
别名:
无
来源:
管理员
去向:
借还处理过程
数据组成:
编号+姓名+密码+登录权限
数据流名称:
超级管理员登录标志符:
F3
别名:
无
来源:
超级管理员
去向:
系统管理处理过程(P4)
数据组成:
编号+姓名+密码+登录权限
数据流名称:
图书查询标志符:
F4
别名:
无
来源:
读者
去向:
查询处理过程(P2)
数据组成:
图书编号|图书书名|图书作者|图书出版社
数据流名称:
直接图书查询标志符:
F4.1
别名:
无
来源:
读者
去向:
直接查询处理过程(P2.1)
数据组成:
图书编号|图书书名|图书作者|图书出版社
数据流名称:
多条件图书查询标志符:
F4.2
别名:
无
来源:
读者
去向:
多条件查询处理过程(P2.2)
数据组成:
图书编号+图书书名+作者+出版社+图书所属大类+图书属小类
数据流名称:
图书借还标志符:
F5
别名:
无
来源:
管理员
去向:
借还处理过程(P3)
数据组成:
图书编号+读者编号+借书日期+逾期标识
数据流名称:
图书查询标志符:
F6
别名:
无
来源:
查询处理过程(P2)
去向:
读者
数据组成:
图书编号+图书书名+图书作者+图书出版社+现在库数据数量
数据流名称:
系统管理标志符:
F7
别名:
无
来源:
超级管理员
去向:
查询处理过程(P4)
数据组成:
各种管理信息,详情见F7.1-F7.5
数据流名称:
书类管理信息标志符:
F7.1
别名:
无
来源:
超级管理员
去向:
书类管理处理过程(P4.2)
数据组成:
图书大类名+0{图书类名}30
数据流名称:
图书管理信息标志符:
F7.2
别名:
无
来源:
超级管理员
去向:
图书管理处理过程(P4.3)
数据组成:
书编号+书名+库存数据量+作者+所属书大类+所属图书小类|出版社|价格
数据流名称:
逾期图书管理信息标志符:
F7.3
别名:
无
来源:
超级管理员
去向:
逾期图书管理处理过程(P4.4)
数据组成:
借书期限
数据流名称:
读者管理信息标志符:
F7.4
别名:
无
来源:
超级管理员
去向:
书类管理处理过程(P4.5)
数据组成:
读者编号+读者姓名+可借书数+已借书数+逾期未还书数+性别+职务+工作单位+联系电话
数据流名称:
管理员管理信息标志符:
F7.5
别名:
无
来源:
超级管理员
去向:
管理员管理处理过程(P4.6)
数据组成:
管理员编号+管理员姓名+登录密码+授权等级
数据存储字典:
数据存储名称:
图书数据库标志符:
D1
描述:
图书的详细资料
流入数据流:
F7.2
涉及处理:
P4.2,P2.2,P2.3,P3.2,P3.3,P4.4
数据组成:
图书编号+图书书名+作者+出版社+图书所属大类+图书属小类
数据存储名称:
读者数据库标志符:
D2
描述:
读者的详细资料
流入数据流:
F7.4
涉及处理:
P4.4,P2.2,P2.3,P3.2,P3.3,P4.4
数据组成:
读者编号+读者姓名+可借书数+已借书数+逾期未还书数+性别+职务+工作单位+联系电话
数据存储名称:
管理员数据库标志符:
D3
描述:
管理员的详细资料
流入数据流:
F7.5
涉及处理:
P1,P4.5
数据组成:
管理员编号+管理员姓名+登录密码+授权等级
数据存储名称:
借书记录数据库标志符:
D4
描述:
借书所记录的详细资料
流入数据流:
F7.3
涉及处理:
P4.4,P2.2,P2.3,
数据组成:
图书编号+读者编号+借书日期+逾期标识
数据存储名称:
图书分类数据库标志符:
D5
描述:
图书分类的详细资料
流入数据流:
F7.1
涉及处理:
P4.1,P2.2,
数据组成:
图书大类名+0{图书类名}30
数据处理字典:
数据处理名称:
用户登录标志符:
P1
处理定义:
登录系统
激发条件:
所输入的编号和密码正确
输入:
F1,F2,F3
输出:
P2,P3,P4
数据处理名称:
读者查询标志符:
P2
处理定义:
查询图书信息
激发条件:
所输入图书信息找到
输入:
F4
输出:
F6
数据处理名称:
查询选择标志符:
P2.1
处理定义:
选择查询方式
激发条件:
已选择查询方式
输入:
F4
输出:
P2.2,P2,3
数据处理名称:
多条件查询标志符:
P2.2
处理定义:
查询图书信息
激发条件:
所输入图书信息找到
输入:
F4.1
输出:
F6
数据处理名称:
直接查询标志符:
P2.3
处理定义:
直接查询图书信息
激发条件:
所输入图书信息找到
输入:
F4.2
输出:
F6
数据处理名称:
借还书标志符:
P3
处理定义:
借书和还书
激发条件:
所输入图书信息找到
输入:
F5
输出:
D4
数据处理名称:
选择标志符:
P3.1
处理定义:
选择借书还是还书
激发条件:
选择
输入:
F5
输出:
P3.2,P3.3
数据处理名称:
借书标志符:
P3.2
处理定义:
借书
激发条件:
图书编号
输入:
P5
输出:
D4
数据处理名称:
直接查询标志符:
P3.3
处理定义:
直接查询图书信息
激发条件:
所输入图书信息找到
输入:
F4.2
输出:
D4
数据处理名称:
管理系统标志符:
P4
处理定义:
管理系统和各种信息
激发条件:
选择管理子功能
输入:
F7
输出:
F7.1-f7.5
数据处理名称:
管理选择标志符:
P4.1
处理定义:
选择管理功能
激发条件:
选择
输入:
F7
输出:
P4.2-P4.6
数据处理名称:
图书分类管理标志符:
P4.2
处理定义:
图书分类增加,修改,删除
激发条件:
输入图书分类信息
输入:
F7.1
输出:
D3
数据处理名称:
图书管理标志符:
P4.3
处理定义:
图书信息增加,修改,删除
激发条件:
输入各种图书信息
输入:
F7.2
输出:
D1
数据处理名称:
图书逾期管理标志符:
P4.4
处理定义:
查询逾期图书的编号或读者
激发条件:
选择查询方式
输入:
F7.3
输出:
D4,D2
数据处理名称:
读者管理标志符:
P4.5
处理定义:
读者信息增加,修改,删除
激发条件:
输入各种读者信息
输入:
F7.4
输出:
D2
数据处理名称:
管理员登录管理标志符:
P4.6
处理定义:
管理员信息增加,修改,删除
激发条件:
输入各种管理员信息
输入:
F7.5
输出:
D3
第四章系统设计
4.1系统总体结构
在软件需求分析阶段,已搞清了软件“做什么”的问题,并描述出了系统的逻辑模型。
在系统设计阶段,主要要解决软件“怎么做”的问题,所以需要描述软件的总的体系结构既系统总体结构。
本系统是一个图书管理系统,那么它具备用户登录:
读者图书查询:
管理员借还书,增加书:
图书超级管理员管理系统信息四大基本功能,从这个基本功能出发,确定了本系统所应包含的五个子系统分成十个子模块,即:
登录模块,查询模块,借还书模块,系统管理模块,帮助子系统。
其结构如下:
系统基本构架:
4.2各功子系统功能划分
在确定本系统的基本结构后,本系统划分的五个子系统的功能如下:
登录子系统:
它主要提供用户登录功能,并按各用户的权限使用本系统。
本系统分三类用户:
读者权限公查询,管理员的权限是借还书和管理书,超级管理员的权限是管理读者,管理图书分类,管理管理员登录帐户,管理逾期图书。
查询子系统:
主要用于读者查询图书,其中直接查询包括按图书编号直接查询,按书名查询,按作者查询,按出版社查询(可选模糊查询)。
多条件查询可以按读者的要求选取所需要的图书。
借还子系统:
主要由图书管理员进行借书还书记录的登记和清除。
管理子系统:
由图书管理员和超级管理员管理系统,分别是由图书管理员管理图书(包括图书信息的修改,新图书的增加,旧图书的删除),超级管理员管理图书分类,管理读者信息,管理管理员登录帐户,管理逾期未还图。
帮助子系统:
主要提供用户的使用本系统的操作手册。
第五章数据库结构设计
5.1数据库概论
5.1.1数据库的简介
计算机的数据处理应用,首先要把大量的信息以数据形式存放君存储器中。
存储器的容量、存储速率直接影响到数据管理技术的发展。
1956年生产的第一台计算机磁盘容量仅为5M字节,而现在已达10000M字节。
目前光盘已经广泛使用,容量已达数百G字节。
存储器的发展,为数据库技术提供了良好的物质基础。
使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都是无可比拟的在数据处理中,通常计算是比较简单的而数据的管理比较复杂。
数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。
数据管理技术的优劣,将直接影响数据处理的效率。
数据管理技术的发展,与硬件(主要是外存)、软件、计算机应用的范围有密切的联系。
数据管理技术的发展经过三个阶段:
人工管理阶段、文件系统阶段和数据库阶段。
从文件系统发展到数据库系统是信息处理领域的一个重大变化。
在文件系统阶段,人们关注的中心问题是系统功能的设计,因而程序设计处于主导地位,数据只起着服从程序需要的作用。
在数据库方式下,信息处理观念已为新体系所取代,数据占据了中心位置。
数据结构的设计成为信息系统首先关心的问题,而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位。
数据库技术还在不断的发展,并且不断地与其它计算机技术相互渗透。
数据库技术与网络通信技术相结合,产生了分布式数据库系统。
数据库技术与面向对象技术相结合,产生了面向对象数据库系统。
在数据库技术中有四个名词:
(1)数据库(database,DB):
DB是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
(2)数据库管理系统(DatabaseManagementSystem,DBMS):
DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型DBMS。
(3)数据库系统(DatabaseSystem,DBS):
DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
(4)数据库技术:
这是一门研究数据库的结构、存储、管理和使用的软件学科。
数据库技术是操作系统的文件系统基础上发展起来的。
而DBMS本身要在操作系统的支持下才能工作。
数据库不仅用到数据结构的知识,而且丰富了数据结构的内容。
在关系数据库中要用到集合论、数理逻辑的理论。
因此,数据库技术是一门综合性较强的学科。
5.1.2数据库技术
从20世纪50年代中期开始,计算机的应用由科学研究部门逐步扩展到企业、行政部门。