图书馆管理系统.docx
- 文档编号:26245460
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:45
- 大小:543.42KB
图书馆管理系统.docx
《图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统.docx(45页珍藏版)》请在冰豆网上搜索。
图书馆管理系统
学号:
200826140134
200222200X2XX40XXX
本科生毕业论文
论文题目:
图书管理系统
作者:
吴延陵
院系:
数学与计算机科学学院
专业:
计算机科学与技术
班级:
200801
指导教师:
吴志红
2012年5月12日
NO.:
2008261401342008200X2XX40XXX
200X2XX40XXX
HuanggangNormalUniversity
ThesisGraduates
Topic:
BooksManagementSystem
Author:
WUYanling
College:
CollegeofMathematicsandComputerScience
Specialty:
ComputerScienceandTechnology
Class:
200801
Tutor:
WUZhihong
May12th,2012
郑重声明
本人所呈交的毕业论文(设计)是本人在指导教师吴志红的指导下独立研究并完成的。
除了文中特别加以标注引用的内容外,没有剽窃、抄袭、造假等违反学术道德、学术规范和侵权行为,本人完全意识到本声明的法律后果由本人承担。
特此郑重声明!
指导老师(签名):
论文作者(签名):
2012年5月12日
摘要
人类已经跨入了新世纪,正在进入信息化时代。
信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求。
随着馆藏量的不断增加,图书资料的录入和查询的难度也就相应增加,数据处理的手工操作,工作量大,出错率高,出错后不易更改,已经不能满足要求。
基于此问题,建立一个规范化,系统化,程序化的图书管理系统迫不急待。
为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写程序以提高图书馆的管理效率。
使用程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,以便全面掌握图书的流通情况等等。
本系统是以C语言为主要编写语言,以VisualC++6.0为开发环境开发出来的运行于DOS系统之上的图书馆管理系统。
首先根据系统特点确定了开发模型,再通过对系统进行需求分析研究,建立结构化分析,系统功能模块,系统流程图。
然后通过对各个功能模块进行深入分析,确定数据的定义和属性,及各功能的实现。
论文介绍了图书管理系统的运行环境和开发环境,结合了SQLSERVER数据库和数据结构的相关知识。
关键词:
C语言,图书管理,数据处理,信息技术,VisualC++6.0,数据结构
Abstract
Mankindhasenteredthenewcenturyandisenteringtheinformationage.Waveofinformationtechnologyandthenetworkrevolutionnotonlyhavebroughtimpactonthesociety,butalsoonthelibraryservice,andlibrarymanagementandserviceswithtraditionalmethodscannotmeetthereaders’needonthegrowingliteratureinformation.Withthecontinuousincreaseonthebookcollection,thedifficultyofbookdata’sentryandqueryhasalsoacorrespondingincrease,dataprocessingwithmanualoperation,whichhasthecharacteristicsasfollows,heavyworkload,higherrorrate,difficultyofcorrectingtheoccurrederrorcannolongermeettherequirements.
Basedonthisproblem,theestablishmentofastandardized,systematic,process-orientedlibrarymanagementsystemisanurgentneed.Fortheefficientmanagementoflibrarybooks,readers’informationandborrowingandreturningbooks,theprogrammecanbepreparedtoenhancetheefficiencyofthelibrarymanagement.Usingtheprogram,staffcanquerysomereader,borrowsomebooks,andmakeastatisticabouttheborrowingbooksinordertofullygraspthecirculationofbooks.
ThissystemisdevelopedinVisualC++6.0environment,runsonDOSsystemnamedschoollibrarymanagementsystemandmainlyusesClanguage.Firstofall,accordingtothecharacteristicsofthesystem,wechoosethedevelopmentmodel.Second,withtheanalysisstudyofrequirement,weestablishstructuredanalysis,systemfunctionmodules,systemflowdiagram.Finally,afterthedeeplyanalysisofeachsystemfunctionmodule,wedecidethedefinitionandattributesofdata,andtherealizationofeachfunction.Thisarticleintroducestheoperatingenvironmentanddevelopenvironment,combinedwiththeknowledgeoftheSQLSERVERdatabaseandthedatastructure.
Keywords:
Clanguage,LibraryManagement,DataProcessing,InformationTechnology,VisualC++6.0,Datastructure
目录
第1章绪论1
1.1系统的意义1
1.2系统的特点1
1.3系统设计环境2
1.4本章小结3
第2章需求分析4
2.1管理员所具有的功能4
2.2未注册用户(游客)的功能4
2.3学生用户功能4
2.4书目查询功能5
2.5本章小结5
第3章系统设计6
3.1主要流程图6
3.1.1系统登陆流程图6
3.1.2用户流程图6
3.1.3管理员流程图7
3.2主要数据定义7
3.3系统功能设计9
3.3.1核心功能函数设计思想9
3.4本章小结10
第4章各功能模块的设计与实现11
4.1管理员功能11
4.1.1新书登记11
4.1.2旧书删除12
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.3.3模糊查询函数18
4.3.4输出函数20
4.4游客功能20
4.4.1新用户注册函数20
4.4.2用户登陆模块22
4.5本章小结24
第5章系统测试与维护25
5.1系统的测试25
5.1.1新书注册功能测试(黑箱测试法)26
5.1.2借书功能测试(黑箱测试法)28
5.1.3还书功能测试(黑箱测试法)30
5.1.4模糊检索功能测试(黑箱测试法)32
5.2系统的维护32
5.3本章小结33
第6章结束语34
致谢35
参考文献36
第1章绪论
1.1系统的意义
随着社会的发展及知识经济时代的到来,信息管理系统在各行各业发挥着越来越重要的作用。
而在高校的图书管理中,避免了手工操作而带来的一些不必要的问题。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等纸介质的手工处理,数据处理工作量大,容易出错。
由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统规范的信息管理手段。
图书馆成为日常生活中不可缺少的一部分。
而图书馆的存书务量庞大,仅仅靠传统的记账式管理是不可行的。
图书管理系统应运而生,逐渐成为信息化建设的重要组成部分。
图书管理系统为学校或社会型图书馆的管理员提供所有借阅者的详细信息,以及图书馆内库存的详细情况,而学生或普通用户则拥有借书和还书两大功能,管理员可以对图书进行新书注册和旧书删除等功能。
作为计算机应用的一部分,具有着手工管理所无法比拟的优点,例如:
检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等。
1.2系统的特点
图书管理系统是图书馆的重要组成部分,图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来,迫使人们起用新的管理方法来管理图书。
本文通过设计和开发图书馆管理系统的实践,阐述了图书管理软件中所应具有的功能、设计、实现。
介绍了图书管理系统的设计和系统功能的实现过程。
该系统可以运用于高校的图书管理,虽然该系统只是对大型图书馆坏境的模拟,但基本的功能由图书借阅,图书归还,图书查询,新书注册等多个模块组成,比原始的手工管理要方便得多,并且效率也要高的多,实现了图书资料的计算机管理。
目前在大的图书馆己经有一整套比较完善的信息管理系统,而在一般小型图书馆中大部分工作还是进行手工管理,工作效率低,并不能即时了解图书馆各类图书的库存,读者比较需求的图书难以在短时间内找到,图书的入库和更新比较麻烦等等,不便于动态及时调整图书结构。
同时由于不可避免的人为因素,造成数据的遗漏、误报等。
为了更好的适应当前中小型图书馆的读者借阅需求,缓解手工管理存在的各种弊端,因此开发了面向中小型图书馆的图书管理系统,为用户提供全方位的信息服务。
通过对中小型图书馆的调查、分析发现,用户的需求可分为4个方面:
第一是图书馆的工作人员通过计算机来管理各类图书,分类编号、调整图书结构、增加图书库存,适应读者的需求。
第二是读者能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备。
第三是工作人员对读者的借书情况能够作好全面掌握,能及时得到每个读者的当前借阅状态和历史借阅记录。
第四也是图书馆的核心工作,对图书的借阅管理。
在软、硬件方面对系统的需求是软件要易学,容易掌握,可以很简单方便地管理各种图书信息。
硬件的配置要求不能太高,这样可以适应中小型图书馆的经济条件。
总之,中小型图书馆管理信息系统旨在提供一个可以操作的,方便查询的,易于修改的辅助管理系统。
同时提供了系统智能辅助与用户自主选择的两种方式,提高查询效率。
1.3系统设计环境
本系统使用VisualC++6.0作为程序开发工具。
VisualC++6.0是基于对象的快速应用程序开发工具,是当今最强大、最灵活的应用程序开发工具之一,具有良好的可视化应用程序开发环境和强大的可扩展数据库功能。
利用VisualC++6.0提供的可视化组件库进行编程,可以快速、高效地开发出基于Windows7环境的各类应用程序。
VisualC++6.0语言的特点是面向对象设计的程序语言,VisualC++6.0的基础编程语言是具有面向对象特性的语言,具有代码稳定、可读性好、编译速度快等优点,并将面向对象的概念移植到了C语言中,使这种基础语言有了新的发展空间。
与其它编程软件相比,特别是在数据库和网络应用方面,VisualC++6.0具有简便易用、灵活高效的特点。
开发软件通常要经过修改源代码、编译、测试、再修改、再编译、再测试等操作,这些操作形成了一个开发循环,所以快速的编译器可以大大地降低开发周期。
VisualC++6.0正是建立在这种高效编译器的基础之上,是针对Windows的最快的高级语言代码编译器,因此生成的代码十分精练高效,使VisualC++6.0程序的运行速度更快。
这也是本人使用VisualC++6.0作为程序设计开发语言的重要原因。
[1]
1.4本章小结
本章介绍了开发该系统的背景以及开发该系统的必要性,图书管理系统也是图书馆将来的一个趋向所势,因此有着巨大的发展前景,我们可以通过该简单的系统可以逐步地将它跟数据库联系上,以求供应得上大型图书馆的需求,所以这也是该系统的发展趋向,以及更新的目标。
第2章需求分析
本系统的主体分为管理员、学生用户和未注册用户(游客)三部分。
2.1管理员所具有的功能
(1)实现密码验证登陆:
只有管理员输入正确的账号、密码才可以进入管理员界面。
如果输入了错误的账号,系统会显示账号错误并且不能进入管理员系统界面。
同理若输入错误的密码,系统会显示密码错误并且不能进入管理员系统界面。
(2)注册新书:
当管理员成功登陆后,管理员可以通过输入图书的基本信息可以添加新的图书到图书系统中。
(3)删除旧书:
管理员可以通过输入图书编号(图书的唯一标识)将图书从图书系统中删除。
2.2未注册用户(游客)的功能
游客可以浏览所有的图书信息,但是无法借阅。
还可以注册新用户,通过填写学生基本信息完成新用户注册。
查阅图书时可以选择按编号和名字进行精确查找,也可实现按关键字进行模糊查找。
还可以注册新用户。
2.3学生用户功能
(1)密码验证登陆:
只有用户输入正确的账号、密码才可以进入管理员界面。
如果输入了错误的账号,系统会显示账号错误并且不能进入用户系统界面。
同理若输入错误的密码,系统会显示密码错误并且不能进入用户系统界面。
(2)借书:
只有用户输入所要借阅的书的编号和正确的账号和密码才能完成借阅。
(3)还书:
只有用户输入所借阅的书的编号和正确的账号和密码才能完成还书。
如果用户未曾借阅过这本书,系统输出“未曾借阅过该书”。
若账号或密码错误系统输出“账号错误”,“密码错误”。
(4)查阅自己的借书情况和个人情况:
用户可以查阅用户的基本信息和借的书目。
2.4书目查询功能
(1)按编号进行精确搜索图书:
用户输入图书编号可以精确查出图书,并输出此书的所有信息。
若系统中无此书,则输出“查无此书”。
(2)按名字进行精确搜索图书:
用户输入图书书名可以精确查出图书,并输出此书的所有信息。
若系统中无此书,则输出“查无此书”。
(3)按关键字进行模糊查找:
用户若不知道图书的精确编号和书名,可以利用关键字搜索。
可以将书名中含有此关键字的所有书目都列出来。
[2]
2.5本章小结
本章具体分析了该图书管理系统所具有的三种基本用户所具有的功能:
即管理员、未注册用户(游客)和学生用户。
此三种用户也正是图书馆所基本具备的,所以该系统也正是实现了社会以及学校所需。
还有一项书目查询功能,也可以给用户查书提供方便,不管是按编号,还是按名字,甚至是按关键字都反映了用户借书时的头脑所想。
第3章系统设计
3.1主要流程图
3.1.1系统登陆流程图
图3-1系统登陆流程图
3.1.2用户流程图
图3-2用户流程图
3.1.3管理员流程图
图3-3管理员流程图
3.2主要数据定义
学生实体和属性的基本定义:
学生用户(学号,姓名,性别,班级,已借书目列表,已借书数目,联系电话,密码)[3]
图3-4学生用户实体图
由以上实体图我们可以定义图书结构体structstudent如下:
structstudent{
charname[9];
charsex[5];
intid;
inttel;//电话
charbanji[8];
intjie;//借阅图书数目
charjieshu[6][9];//存储借书日期
intmima;
}stu[100];
图书(图书编号,图书名称,作者,单价,借出数量,借阅者的学号,总数量,是否借出)
图3-5图书实体图
由以上实体图我们可以定义图书结构体structbook如下:
structbook{
charname[60];//定义图书名
charbh[9];//定义图书编号
charzz[10];//定义图书作者
intsl;//定义图书数量
intdj;//定义单价
charzt[6];//定义状态
intjz[6];//定义借阅者的ID假定同一本书只能被六个人借阅
intjcs;//定义借出书的数目
}ts[n];
管理员(账号,姓名,密码)
图3-6管理员实体图
由以上实体图我们可以定义图书结构体structguanliyuan如下:
structguanliyuan{
charname[20];
intid;
intmima;
}adm[10];
另外还需要设全局变量:
staticintm=1;//表示注册的学生数量
staticintn1=15;//用于表示已经注册的书的数目[4]
3.3系统功能设计
3.3.1核心功能函数设计思想
登录模块:
voidyouke();//游客登陆函数
voidxuesheng();//学生登陆函数
voidguanliyuan();//管理员函数
voidzhuce();//注册函数
voiddenglu();//用户登录密码验证函数
voiddenglu1();//管理员登录密码验证函数
管理员模块:
voidxinshuzhuce();//管理员用于输入新书
voidshanshujiemian();//管理员删书的界面
voidshanchuhanshu(inti);//用于管理员删除废书
voidchashu();//总查询界面函数
学生模块:
voidjieshu(charbh[9],intid,intmima);//借书程序用于实现借书
voidjieshujiemian();//借书的界面
voidhuanshujiemian();//还书的界面
voidhuanshu(charbh[9],intid,intmima);//借书程序用于实现还书
voidxinxichaxun(inti);//用于输出学生用户的基本信息
voidxxcxjiemian();//学生用户的基本信息查询的界面
voidchashu();//总查询界面函数
游客模块:
voidchashu();//总查询界面函数
voidzhuce();//注册函数
voiddenglu();//登录函数
查询模块:
voidbianhaochashu();//按照编号查询图书函数
voidshumingchashu();//按照书名查询图书函数
intmohuchaxun(strings,stringt);//用于模式匹配
voidmohuchashu();//用于不知道具体书名只知道关键字的情况
voidputout(intl);//输出图书信息函数
voidputout1(intl);//输出图书信息函数[5]
3.4本章小结
本章系统地介绍了每个功能模块的主要流程图,以及主要函数的设计思想和思路。
因为图书馆我们主要面对的是学生,以及管理员和书籍管理。
所以我们把学生、管理员、书籍用结构体把他们的属性和它们自身相对应的联系起来,这就构成了该系统的一道独立风景线。
它不仅使得系统的每处都得以模块化,还使得
所需要的主体是一个整体,这样既不失为独立,也不失为多而杂为一体。
第4章各功能模块的设计与实现
4.1管理员功能
4.1.1新书登记
当管理员成功登陆后,管理员可以通过输入图书的基本信息可以添加新的图书到图书系统中。
[6]
voidxinshuzhuce()
{charbx;//新书注册中的变量
system("cls");
system("color47");
system("date/t");
system("time/t");
cout< cout<<""<<"厚德博学"<<"---------"<<"力行致远"< printf("\n\n\n\n"); printf("\t\t\t※※※※※※※※※※※※※※※※※\n"); printf("\t\t\t※※\n"); printf("\t\t\t※注册新书菜单※\n"); printf("\t\t\t※※\n"); printf("\t\t\t※※※※※※※※※※※※※※※※※\n"); printf("\t\t\t※请输入新书书名(输入字符或汉字): ");scanf("%s",&ts[n1].name); printf("\t\t\t※请输入图书编号(输入整型常数不能重复): ");scanf("%d",&ts[n1].bh); printf("\t\t\t※请输入图书作者(输入汉字或字符): ");scanf("%s",&ts[n1].zz); printf("\t\t\t※请输入图书定价(输入整形变量): ");scanf("%d",&ts[n1].dj); printf("\t\t\t※请输入图书数量(输入整形常数): ");scanf("%d",&ts[n1].sl); printf("\t\t\t※请输入图书状态(输入整形或汉字): ");scanf("%s",&ts[n1].zt); for(intl=0;l<6;l++) ts[n1].jz[l]=0;//假定无人借阅 printf("\t\t\t※注册成功\n"); n1++; printf("※按任何键继续输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统