图书管理系统的设计1教学提纲.docx
《图书管理系统的设计1教学提纲.docx》由会员分享,可在线阅读,更多相关《图书管理系统的设计1教学提纲.docx(11页珍藏版)》请在冰豆网上搜索。
图书管理系统的设计1教学提纲
西北农林科技大学高起专毕业设计(论文)
高起专毕业设计论文
—图书管理系统的设计
西北农林科技大学成都学院
二○一五年十二月
图书管理系统的设计
学生:
庞婷指导教师:
董富仁
内容摘要:
图书馆管理信息系统是对学校图书进行全面信息管理的系统。
该管理系统可以有效地管理学校图书资源,记录学校与读者之间的使用书籍情况。
此外,根据读者的要求,实现书籍基本信息的输入,查询等几个方面的功能。
本系统可以作为独立的系统使用,它包括借阅信息管理、书籍信息管理、读者信息管理、系统管理四个主要的功能模块。
该管理系统力求给读者方便快捷的途径去及时了解书籍信息。
针对各个模块不同的数据表实现添加记录、修改记录、删除记录、以及查询显示记录等功能,所有的操作方便而快捷,并全面实现了图书馆管理的各项功能。
这篇论文主要讲述关于图书馆管理信息系统的信息,特别是讨论了关于设计该系统时的思想、方法和过程,以及在细节上分析函数和方法的实现思想。
在本论文中讲述的图书馆管理信息系统拥有一个交互式的界面、逻辑的数据库结构。
并且在设计数据库时还考虑到了实体完整性约束、参照完整性约束、及尽量减少数据的冗余,在数据库里有包括表、过程、函数、触发器等5个数据库对象。
许多涉及到图书、读者的信息的功能在本系统中都有实现。
例如,你可以将新书的信息插入到数据库的图书基本情况表里;还可以对已经插入的关于图书的信息进行修改;更重要的是,读者可以从图书馆里借阅书籍。
经过多次的测试和运行,本系统能实现其在设计时的所有功能。
关键字:
图书读者 管理系统 数据库
1绪论
1.1该系统研究意义和目的
一个良好的图书管理系统必须拥有友好便捷的系统用户界面,使该界面操作简单便捷,能够满足城市图书馆以及各大院校的日常业务处理需求,不仅能够减轻管理人员的劳动强度,提高其工作效率,还可以给读者查阅信息提供便利,使图书馆资源得到充分利用与合理配置,明确分配图书馆人员的分工,使采购图书的流程更为合理化,从而增强图书馆资源的共享性和流动性。
此外,借助图书管理系统的优势,还能够实现传统图书管理方式的变革,切实提高图书管理水平和服务水平。
1.2该系统研究情况
目前许多图书管理系统仍然采用传统的手工信息系统。
这种原始手工操作的信息系统存在以下缺点:
✧工作效率低,处理速度慢;
✧数据不齐全、不准确;
✧重复劳动,造成数据不一致;
✧管理者的创造精神受到约束;
✧难以跟随现代化市场的变化
总的来说,缺乏系统,规范的信息管理手段。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。
如要对很长时间以前的图书进行更改就更加困难了。
上个世纪90年代,科学家们提出了数字图书馆这一概念以来,关于数字图书馆的研究已经有十几个年头。
我国与1995年开始对此领域进行研究,1998年升温,迄今,对图书馆的研究在认识,理论研究,关键技术方面都取得了很大进展。
国内数字图书馆的时间活动大致可分为以下三种类型:
资源服务型、服务研究型和联合建设型。
1.3设计本系统的目的
图书管理系统的内容对于图书馆的管理员和使用者来说都至关重要。
它能够为管理员或读者提供充足的信息和快捷的数据处理手段。
作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点,如:
检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷等。
这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理的重要条件。
2需求分析
本系统根据常规的图书馆的基本功能有录入、删除、查询、修改、借书、还书等功能。
分为添加和删除都采用链式结构的原理去执行文件。
在读者区读者可以按编号或书名轻松找到所需书的信息,这里也采用的是链式结构原理执行。
与此同时,本系统操作界面很是简单清晰,一目了然,给读者以舒服的感官效果。
同时该系统中用到结构体,数组等编程用法。
通过对中小型图书馆的调查、分析发现,用户的需求可分为4个方面:
第一是图书馆的工作人员通过计算机来管理各类图书,分类编号、调整图书结构、增加图书库存,适应读者的需求。
第二是读者能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备。
第三是工作人员对读者的借书情况能够作好全面掌握,能及时得到每个读者的当前借阅状态和历史借阅记录。
第四也是图书馆的核心工作,对图书的借阅管理。
在软、硬件方面对系统的需求是软件要易学,容易掌握,可以很简单方便地管理各种图书信息。
硬件的配置要求不能太高,这样可以适应中小型图书馆的经济条件。
所以中小型图书馆管理信息系统旨在提供一个可以操作的,方便查询的,易于修改的辅助管理系统。
同时提供了系统智能辅助与用户自主选择的两种方式,提高查询效率
根据系统特点确定了开发模型,再通过对系统进行需求分析研究,建立结构化分析,系统功能模块,系统流程图。
然后通过对各个功能模块进行深入分析,确定数据的定义和属性,及各功能的实现。
论文介绍了图书管理系统的运行环境和开发环境,结合了数据结构的相关知识。
最终设计实现了借还书籍,书籍管理等图书管理系统的基本功能。
作为计算机应用的一部分,具有着手工管理所无法比拟的优点。
3系统总体设计
由于系统是基于VisualC++6.0为开发环境开发出来的在DOS界面下的图书管理系统,系统简洁易于操作,用户界面友好,人机交互方便。
便于人们初步了解并使用图书管理系统,是信息管理变得简单,简化人们的工作量,检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、数据冗余度比较低、系统稳定性比较好等。
实用的图书馆管理系统应该包括:
●录入:
新进图书及基本信息输入
●删除:
旧图书及基本信息删除
●查询:
查询要借阅的图书信息
●修改:
修改已有的图书信息
●借书:
实现用户办理借书手续
●还书:
实现用户.办理还书手续
系统以菜单方式工作可以使界面友好,易于操作。
用户可以对本系统进行自己需要的查询或修改操作,如根据用户的需求自动的进行添加操作、删除操作、借还操作。
我们也可以查找所要的图书、查阅图书的详细资料、查阅读者的详细资料。
最后清晰完整的结果于屏幕中。
方便使用者对图书借阅的操作,提高准确性,可以达到事半功倍的效果。
系统采用的是自顶向下、层次化的模块结构。
对于高层模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。
对低层模块,采用以变换为中心的设计策略。
为了达到高内聚,低耦合的效果,我们可以把每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。
3.1运行环境和开发工具
3.1.1开发工具
本系统采用c语言作为开发工具,c语言的主要特点如下:
⏹语言简洁、紧凑,使用方便。
⏹运算符和数据类型丰富,具有现代语言的各种数据结构。
⏹具有结构化的语句,。
⏹语法限制不太严格,程序设计自由度大。
⏹生成的目标代码质量高,程序执行效率高。
⏹用c语言编写的程序可移植性比较好,基本上不做任何修改就能运用于各种型号的操作系统中。
⏹C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作
C语言是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的D.M.Ritchie于1972年推出。
1978后,C语言已先后被移植到大、中、小及微型机上。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。
具体应用比如单片机以及嵌入式系统开发。
指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。
就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。
C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。
Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。
一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
3.2系统流程图
本文的主题框架如图1所示
图1总体设计流程图
设计时应该先设计出主题框架,采用自顶而下、由粗到细的设计方法,主题框架设计完成之后,我们可以再其基础上进行扩充和进一步的改进,从而满足基本的设计要求,这样的设计可以避免模块的相互冲突。
3.3主体界面设计
3.3.1主函数
主体函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
主体函数决定着系统的外观和效果,简洁的外观有助于人们更快的理解各项功能的作用,提高使用效率。
流程图如下图2:
图2主函数流程图
3.3.2输入模块
该模块的功能是假如用户需要新加入新的图书信息,通过键盘输入将新信息逐条加在原来输入文件上但不能覆盖原有信息。
输入功能可以扩充图书管理系统的图数量,在实际中,这个是必备的功能,增加了该系统的使用性。
流程图如下图3:
图3输入模块流程图
3.3.3删除模块
该模块用于显示所有图书信息,由于记录较多,故而采取分屏显示。
显示完所有纪录后,用户需输入图书编号进而查找图书信息。
流程图如下图4:
要删除的图书序号
是否有此书
此书已经删除
没有相关信息
返回主菜单
YES
NO
图4删除模块流程图
3.3.4查询模块
该模块功能应体现为用户输入图书书名,若有书则查询出来。
查询模块式使用最多的功能之一,查找功能的好坏一定程度上决定了系统的好坏,好的查找模块和算法可以简化人们查找的时间并且增加查找的准确率,所以查询模块必须设计得简洁并且有较快的响应速度
流程图如下图5:
图5查询模块流程图
3.3.5修改模块
该模块功能应体现为用户修改图书信息,若有记录则修改信息。
流程图如下图6:
图6修改模块流程图
3.3.6显示模块
该模块功能应体现为显示全部的图书信息。
流程图如下图7:
图7显示模块流程图
3.3.7借出模块
该模块功能应体现为用户输入图书序号,若有书则要求输入账号。
流程图如下图8:
图8借书模块流程图
3.3.8归还模块
该模块功能应体现为方便用户归还图书。
归还模块主要的对书籍的数量进行更新,为下一位借阅的用户提供了借阅的可能性,由于计算机无法准确的识别书籍的破损程度,所以破损程度有图书管理员决定,并且应该制定相应的赔偿条款。
流程图如下图9:
图9归还图书模块
4结论
经过以上各章节的功能,已经基本完成了图书馆管理系统的开发,图书馆系统是一套实用性非常强的系统,从小学、中学直到大学,很多人一直与图书馆打交道,图书馆的发展从手工管理、手工管理和计算机管理并行,直到现在的完全计算机管理。
图书馆管理系统不仅需要灵活的交互功能,还需要经常与数据库进行联系,要求具有操作简单和功能强大的数据库访问能力。
界面尽量美观友好、多彩多姿,完全的图形化设计,操作者易于上手,同时多种媒体技术的集成利用,可以方便的完成用户乐于接受的各种界面设计。
本系统虽具备了基本的功能,但由于时间关系,还有很多功能待实现,在此基础上结合实际应用中所出现的问题,要改善图书的入库和删除功能,使工作人员在主界面上就能进行其操作;在过期天数中应该增加罚款的功能;如果作为校园的图书管理系统,应区分出不同身分的人(如教师和学生)的借阅权限等。
通过这次编程我深深的感受到对代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同人员之间的协作。
我们还要有模块化思维能力,模块化思维就是编程任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作。
善于总结,也是学习能力的一种体现,每次完成一个编程任务,完成一段代码,都应当有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐步提高。
致谢
经过几个月的忙碌,本次毕业论文设计已经接近尾声。
,由于经验的匮乏,难免有许多考虑不到的地方,在多次的修改和研究之后才写出完成。
如果没有导师的督促和指导,以及同学和朋友的支持,想要完成这个毕业论文设计是难以想像的。
感谢同学和朋友的及时帮助和教导。
在论文的写作过程中,得到了XXX老师的亲切关怀和耐心的指导。
老师严谨的治学态度和科学的工作方法给了我极大的帮助和影响。
从课题的选择得到毕业论文设计最终完成,老师都始终给予我细心的指导。
在此谨向林苏美老师致以诚挚的谢意和崇高的敬意。
同时,也要感谢各位老师,同学和朋友们给我极大的支持,对我的论文提出了宝贵的意见及建议。
感谢所有帮助我的老师、同学和朋友们,在此向他们表达我的感激之情。