《c--图书馆管理系统的设计论文与实现课程设计报告-学位论文.doc》由会员分享,可在线阅读,更多相关《c--图书馆管理系统的设计论文与实现课程设计报告-学位论文.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、安徽师范大学皖江学院 报告编号:第二组综合课程设计报告图书馆管理系统的设计与实现- 34 -毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按
2、照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本
3、学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日目 录摘 要- 1 -第一章 前 言- 2 -1.1系统前景- 2 -1.2开发环境简介- 2 -1.3系统主要功能- 2 -第二章 需求分析- 3 -2.1系统功能需求- 3 -2.1.1借书操作- 3 -2.1.2还书操作- 3 -2.1.3新增操作-
4、 3 -2.1.4删除操作- 3 -2.1.5更改操作- 3 -2.1.6查找操作- 3 -2.1.7显示操作- 3 -2.2设计目标- 4 -第三章 概要设计- 5 -3.1图书馆管理系统概述- 5 -3.2主界面模块- 5 -3.3管理员模块- 6 -3.3.1图书维护模块- 6 -3.3.2读者维护模块- 7 -3.4读者模块- 7 -3.5提示模块- 8 -3.6离开模块- 8 -第四章 详细设计- 9 -4.1登陆界面- 9 -4.2新增图书功能实现- 9 -4.2.1新增图书或读者功能实现- 9 -4.2.2更改图书或读者功能实现- 10 -4.2.3删除读者或图书功能实现- 11
5、 -4.2.4查找图书或读者功能实现- 11 -4.2.5借书功能实现- 12 -4.2.6还书功能实现- 13 -第五章 系统实现- 15 -第六章 实训小结- 29 -摘 要在这次的实训中,我们第二组选择了图书馆管理系统作为我们的实训内容,这个系统的主要目的是利用面向对象程序设计来实现借阅者的借书还书查询书目等服务(每位借阅者最多只能借五本书)和图书管理员对图书的新增删除及读者信息的维护。主要分为几个模块,分别为借书模块,还书模块,图书维护模块,读者维护模块,提示及离开。最初做这个系统的时候,我们分为四个类,分别为读者类,读者库类,图书类,图书库类。我们一个人负责一个类,最后再汇总。后来慢
6、慢的,我们把我们各自编的程序组合在一起,发现问题很多,就一点点修改和完善。从开始到慢慢琢磨,我们学到了很多,对图书馆管理系统也慢慢的熟悉起来。在这次实训中,我们不仅加强了对所学知识的认识,还很好的认识了面向对象设计的优越性,在编程中,我们用到了文件,让我们的数据可以从文件里写入和读出,就是运用了这学期所学的构造函数和析构函数来实现的。还有利用平常不使用的递归来实现系统功能。 在实训过程中,我们通过分工完成每个模块,并将这些模块整合起来,完成了这次设计。在设计中,我们利用VC+ 6.0这个平台来实现及修改我们的程序。充分利用C+的面向对象的特点,让我们的系统更加简洁。关键词:图书馆管理系统 面向
7、对象程序设计 VC+6.0第一章 前 言1.1 系统前景图书馆管理系统是我国大部分院校或其它部门不可缺少的部分,书籍是人类精神食粮,尤其对一些学校,图书馆来说,非常重要。图书馆管理系统能够为用户实现借阅图书、管理等,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有手工管理所无法比拟的优点.例如:查阅迅速、安全性高、可靠性高、存储量大、保密性好、成本低等。图书馆管理系统具有实用,精简功能等效率,这些优点能够极大地提高图书馆管理的效率,也是企业、学校的科学化、
8、正规化管理,与世界接轨的重要条件。 1.2 开发环境简介面向对象程序设计是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。面向对象程序设计具有封装性,多态性,继承性等特点。面向对象程序设计是从C语言发展而来的,为了兼容C语言,C+保留了C的许多用法,人们在编写C+程序时也常常沿用C的某些传统用法。1.3 系统主要功能图书馆管理系统应该具有以下几个功能:1)借书功能2)还书功能3)图书维护功能4)读者维护功能5)提示6)离开第二章 需求分析图书管理系统在生活中运用广泛,因此需要多种程序对它进行管理。该系统能够存储借阅者的个人信息、借阅信息以及预定信息。持有借阅卡的借阅者可以借阅书籍、
9、返还书籍、查询书籍信息、预定书籍并取消预定等功能。2.1 系统功能需求2.1.1 借书操作由于系统面向不同的用户,在信息管理方面有不同的权限。所以在设计时要对各种身份的登录用户设置不同的权限。通过用户登录界面验证各种登录用户的身份,并判断其具有的权限,使其进入不同的界面,从而执行不同的操作。借书操作是读者的功能,读者可以借在馆的书,不得借已被外借的书。2.1.2 还书操作还书操作是读者才能进行的操作,读者可以还已经借过的书。如果读者并未借书是不能还书的,也就是说还书的那位读者必须是借书的那位读者。2.1.3 新增操作管理员对系统进行维护。这一功能只允许系统管理员操作,即为了系统的安全性设置的。
10、管理员可以执行所有的信息添加操作,包括增加读者和图书。在执行此操作时,管理员必须输入密码,且输入密码的次数不得超多三次,超过三次系统就会退出。2.1.4 删除操作管理员可以执行所有的信息删除操作,包括删除用户和删除图书。2.1.5 更改操作这一功能也是针对管理员而言的。系统管理员可以执行所有的信息修改操作,包括修改用户和修改图书。2.1.6 查找操作查找功能允许管理员使用。管理员可以通过查找图书编号,查看图书是否在馆。也可以通过查看读者的信息2.1.7 显示操作这一功能只面向管理员,可以显示图书和读者。2.2 设计目标通过分析,图书馆管理系统主要实现以下功能:1)编写图书借书模块,完成读者对相
11、应图书的借阅。2)编写图书还书模块,完成读者对图书的归还。3)编写图书维护模块,可以登记新书,更改书目,图书查找,图书删除。4)编写读者维护模块,用以新增读者,更改读者信息可以读者删除,读者查找。5)编写提示功能,使得整个系统的用户界面友好可执行。6)编写离开功能,实现管理后的系统退出。第三章 概要设计3.1 图书馆管理系统概述图书馆管理系统分为管理员和读者两大模块。管理员模块主要负责图书维护和读者维护工作,读者模块可以进行借书还书操作。系统关系图如下图3.1所示: 开始菜单管理员读者图书维护读者维护后退后退后退后退后退图3.1系统实体关系图还 书借 书3.2 主界面模块根据登陆类型的不同,进
12、入主界面后,登陆者可以执行相应的操作。如图3.2所示。主模块分为三个小模块:1) 创建可视化界面模块,供用户选择并进行相关操作。2) 将各个菜单项目和菜单加入菜单栏模块。3) 根据不同的选择,响应各个事件,即调用模块。主界面模块菜单项目添加模块响应各种事件模块 主界面模块图3.2 主界面模块3.3 管理员模块管理员模块包含图书维护模块和读者维护模块。如图3.3所示:管理员模块图 书 维 护 模 块读 者 维 护 模 块图3.3 管理员模块3.3.1 图书维护模块实现对图书的描述,图书的编号,书名,借出,还入等,需要实现的功能为:图书编目,图书注册,更新书目,图书删除。如图3.4所示:图书维护模
13、块新增查找删除查找显示全删图3.4 图书维护模块登记新书:将图书的特征信息(图书编号)存储在文件中,图书的借阅、图书信息的查询都是以其作为基础的。更新书目:当发现图书信息错误时,可以进行图书信息的修改。图书查找:对图书馆新进的书进行编制唯一的号码(图书编号),以便图书的管理和查找。图书删除:将废旧的或丢失的图书信息删除,以减少数据库中的无用信息,也会减少图书查询中的错误信息。3.3.2 读者维护模块对读者信息描述,建立读者个人资料,借阅者管理需要实现的功能包括:借阅者注册,借阅者信息更新,借阅者注销,借阅者信息的查询。1) 新增读者:借阅者作为图书馆流通的主体,其信息的注册(将读者的特征信息存
14、储在数据库中)也是图书馆自动化必须完成的任务。2) 更改读者信息:当发现借阅者信息错误或者当借阅者的某些信息发生变动时,可以对读者信息进行修改。3) 删除读者:由于某些原因需要对该借阅者注销,只有满足条件的借阅者才能进行注销。4)查找读者:借阅者借阅书籍的历史查询。如图3.5所示:读者维护模块新增查找删除查找显示全删图3.5 读者维护模块3.4 读者模块读者可以根据需要进行借书和还书操作。如图3.6所示:读者模块借 书模 块还 书模 块图3.6 读者模块3.5 提示模块当出现库存查无此书或读者时,给予相应提示。3.6 离开模块实现管理后的系统退出。第四章 详细设计4.1 登陆界面在进入登陆界面
15、时,根据提示信息做判断。从键盘录入1通过输入密码,密码正确则进入管理员项目。选2则直接进入读者项目。管理员可以进行添加更改,删除等操作,读者可以进行借书还书操作。如图4.1所示:结束开始可执行添,更改删,查,显示等操作图书管理员读者可执行借书,还书操作登陆界面图4.1 登陆界面流程图4.2 新增图书功能实现管理员根据实际对图书或读者进行维护。1) 新增图书或读者2) 更改图书或读者3) 删除图书或读者4) 查找图书或读者5) 显示图书或读者6) 全删图书或读者4.2.1 新增图书或读者功能实现进入新增界面时,输入编号和名字,判断信息合理,打开文件录入添加信息。如图4.2所示:开始输入图书编号(
16、或读者编号)输入书名(姓名)打开文件录入添加信息结束 图4.2 新增模块流程图4.2.2 更改图书或读者功能实现进入更改界面,输入编号,判断编号是否存在,编号不存在退出,编号存在继续输入新的名称,打开文件录入信息。如图4.3所示:开始结束编号是否为空输入图书(读者)编号输入新的书名(姓名)输出该图书(读者)不存在打开文件录入信息否是图4.3 更改模块流程图4.2.3 删除读者或图书功能实现进入删除界面,输入编号,判断编号是否为空,编号为空输出不存在,并退出。否则打开文件删除并更新信息。如图4.4所示:开始结束编号是否为空输入图书(读者)编号输出该图书(读者)不存在删除图书(读者)信息否是 图4
17、.4 删除模块流程图4.2.4 查找图书或读者功能实现管理员可以查找读者和图书的信息,包括图书编号书名,读者编号和姓名。进入查找界面,输入编号,判断编号是否为空,编号为空输出不存在,并退出。否则打开文件显示查找信息。如图4.5所示:开始结束编号是否为空输入图书(读者)编号输出该图书(读者)不存在输出图书(读者)信息否是 图4.5 查找模块流程图 4.2.5 借书功能实现进入借书界面,输入所要借图书的编号和书名。先判断输入是否合理(及是否存在),不合理则退出,合理再判断是否在架,不在则输出已借出。否则打开文件更新信息。如图4.6所示:开始结束输入读者编号,图书编号读者编号是否为空图书编号是否为空
18、图书是否外借不存在该读者,不能借书不存在该图书,不能借书该图书已经借出,不能借书打开文件输入信息否否否是是是 图4.6 借书模块流程图4.2.6 还书功能实现进入还书界面,输入所要还图书和读者的编号。先判断输入是否合理(及是否存在),不合理则退出,合理再判断该读者借书标记是否为0,不为0则输出没有借书,不能还书。否则打开文件更新信息。如图4.7所示:图4.7 还书模块流程图开始结束输入读者编号,图书编号读者编号是否为空图书编号是否为空读者借书标记为0不存在该读者,不能还书不存在该图书,不能还书你没有借书,不能还书打开文件输入信息否否否是是是第五章 系统实现我们做的图书馆管理系统能实现图书馆的借
19、书还书,增添以及修改等基本功能,而且程序也能运行,以下就是程序运行的最后结果以及对各操作的解释。运行环境:图书管理系统的程序是在VC+6.0的环境下实现运行的。在进行编辑编译及运行等操作后,再根据输出信息提示输入相应的字符,就能看到结果了。以下的图形就是运行后的几个步骤及解释:图5.1是对图书馆管理系统的主菜单中图书管理员的操作,进入图书管理员系统时需要密码,如果输入错误,需重新输入密码。图5.1输入密码错误,重新输入但只有三次输入正确密码的机会,不然则不能对图书管理员系统中的操作进行使用。见图5.2:图5.2输入密码错误三次,系统将退出如果已经三次密码输入错误,系统返回到图管理系统主界面。见
20、图5.3:图5.3输入密码错误三次,系统退出进入读者部分不需要密码,可以直接进行操作。从键盘输入2,进入读者部分。见图5.4:图5.4读者模块密码输入正确,进入图书管理员部分。见图5.5:图5.5密码输入正确,进入图书管理员界面按0选项离开,回到主菜单。见图5.6:图5.6离开图书管理员部分,回到图书馆管理系统主菜单图5.7所展示的是进入图书管理员中的图书维护界面,按提示信息操作并显示其结果。主要操作是关于新增,更改,删除,查找,显示,全删以及退出等。图5.7图书维护界面从键盘输入5,显示已存在的图书具体情况。见图5.8:图5. 8更改前的图书显示从键盘输入1,进行新增图书。见图5.9:图5.
21、9新增图书成功并显示从键盘输入2,进行更改操作。见图5.10:图5.10更改图书书名成功并显示再按5,显示更改和新增过后的图书。见图5.11:图5.11显示新增并更改后的图书从键盘输入3,进行删除操作。见图5.12:图5.12删除图书成功再按5,显示删除后的图书。见图5.13:图5.13显示删除后剩下的图书从键盘输入4,进行查找操作,按提示输入图书编号。见图5.14:图5.14查找已存入图书并显示若查找的书不存在或已删除将显示该图书不存在。见图5.15:图5.15查找不存在或已删除过的图书并显示图5.16展示的是读者维护模块,实现了读者的新增,更改,删除,查找,显示,全退,删除等功能。这些功能
22、的操作情况与图书维护大致相同,具体结果见图5.16-5.22:图5.16读者维护界面 图5.17显示未操作前的读者信息图5.18新增读者成功图5.19更改读者成功图5.20删除读者成功图5.21查找删除后的读者,不存在图5.22显示更改后的读者信息按0退出读者维护界面,回到主菜单。见图5.23:图5.23退出读者维护界面图5.245.28展示的是读者模块中的借书,还书及离开功能。在主菜单中选择2 读者及从键盘输入2,会显示1 借书、2 还书、0 离开,再从键盘输入1选择1借书会显示提示信息“请输入读者编号”,我在这是输入的1号读者借了1号图书,操作成功见图5.245.28:图5.24借书成功图
23、5.25显示借书后的图书情况图5.26还书成功图5.27还没有借过的书不成功图5.28离开读者模块,返回主菜单图5.29是展示退出图书馆管理系统及对出程序运行,输入0,退出。图5.29退出图书馆管理系统第六章 实训小结这次设计的是图书馆管理系统,系统分为管理员和读者两种权限。读者部分可以实现借书还书基本功能,管理员部分可以实现图书和读者的维护,具体为新增、更改、删除、查找、显示、全删等功能。首先,我们在初步运行程序时,遇到了各种各样棘手的问题,但是在我们四个人同心协力下,总算解决了那些问题。比如说,老师让我们建立一个管理类,但是我们查看相关资料之后,发现需要用到数据结构中的链表结点。我组成员一
24、致认为自己数据结构基础没有好好夯实,不能完成此项操作,只好在主函数里面判断读者和管理员以完成两者的权限。同时当我们的系统初步可以运行的情况下,读者还书模块出现了问题,主要就是,只要图书不在馆,任何读者都可以还书,这与事实相悖。后来我们又在读者类里添加了一个函数,使得在还书是可以让读者和图书一一对应起来。目前我们的系统只能实现一些简单的操作。存在一些不足,比如管理员不可以改密码,学生把书弄丢了,也没有什么赔款的项目,还有就是借书的时间问题等等,由于时间有限,如果加上那些可能又会出现更多的问题,又要花费我们更多的精力去改正和实现,所以目前就只能写到这里。通过这次C+面向对象程序设计的实训,我们学到
25、了很多设计思想和方法来解决实际问题。由于图书馆管理系统应用范围广泛,而我们只是把这个实训课题比较中肯的完成了,但是我们对于以后能学好计算机相关专业课的信心还是大大地增加了。最后感谢李老师的指导和同学们的帮忙。参考文献:1C+程序设计(第二版) 谭浩强著 清华大学出版社2C+面向对象程序设计(第二版),陈维兴、林小茶著 中国铁道出版社3C+语言程序设计(第四版)主编 郑莉 董渊 何江舟 清华大学出版社4C+Primer Plus(第五版) 美普拉塔著 孙建春、韦强译 人民邮电出版社5C语言程序设计(第三版)谭浩强著 高等教育出版社学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的
26、指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。学位论文作者(本人签名): 年 月 日学位论文出版授权书本人及导师完全同意中国博士学位论文全文数据库出版章程、中国优秀硕士学位论文全文数据库出版章程(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在中国博士学位论文全文数据库、中国优秀硕士学位论文全文数据库中全文发表和以电子、网络形式公开出版,并同意编入
27、CNKI中国知识资源总库,在中国博硕士学位论文评价数据库中使用和在互联网上传播,同意按“章程”规定享受相关权益。论文密级:公开保密(_年_月至_年_月)(保密的学位论文在解密后应遵守此协议)作者签名:_ 导师签名:_年_月_日 _年_月_日独 创 声 明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。作者签名: 二一年九月二十日毕业设
28、计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定)作者签名: 二一年九月二十日致 谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠
29、定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对
30、周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所
31、学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。最后,我要特别感谢我的导师赵达睿老师、和研究生助教熊伟丽老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。