资源目录
压缩包内文档预览:(预览前20页/共32页)
编号:552274
类型:共享资源
大小:183.59KB
格式:ZIP
上传时间:2015-12-05
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计论文
- 资源描述:
-
图书馆管理系统,毕业设计论文
- 内容简介:
-
重 庆 大 学 毕业设计 (论文) 毕业设计课题: 图书馆管理系统 院(系): 电气信息学院 专业班级: 计算机网络技术 学 号: 学生姓名: 指导教师: 起止时间: 2009.03.15-2009.6.04 nts重庆大学城市科技学院毕业设计(论文) 1 毕业设计(论文)任务书 设计(论文)中文题目 : 图书馆管理系统 毕业设计设计主要内容 : 设计一个图书馆管理系统,完成图书管理和读者管理的功能,并能对借阅信息进行管理, 要求完成以下功能: 1. 读者信息管理,可以添加、修改、删除、查询读者信息; 2. 图 书信息管理,可以添加、修改、删除、查询书籍信息; 3. 借书信息管理,可以进行添加借书信息。 4. 还书信息管理,可以进行添加还书信息。 要求: 1.仔细分析设计题目,画出程序流程图,编写程序源代码。 2.积极上机调试源程序,增强编程技巧与调程能力。 3.认真书写毕业设计预习报告 ,毕业设计 说明书。 4.遵守毕业设计要求,服从指导教师的安排,确保顺利完成毕业设计内容。 进 度 安 排 序号 设计(论文)工作内容 时间(起止周数) 1 接受设计任务,调查用户对系统的需求,制定设计方案,收集设计资料,完成开题报告并参加开题报告会。 1周至 3 周 2 1 对系统进行分析,制定合理方案 2对系统进行逻辑、物理设计,建立模块 3 编写原代码。制作流程图。 4 向指导教师及时汇报前期情况。 4周至 7 周 3 1 编写代码,继续完成系统。 2 对系统进行测试阶段,采用合理的方法进行测试, 从中找到功能和逻辑上的错误,以及系统的漏洞,及时的改正,完成该系统。 3 对设计的材料和设计的过程进行整理。编写论文,装订成册。 4 提交论文,准备设计答辩。 8 周至 16 周 nts重庆大学城市科技学院毕业设计(论文) 2 参考文献 1 郑莉、董渊 . C+语言程序设计 . 北京: 清华大学出版社 , 2000-2 第三版 2 朱如龙 . C+语言 应用系统开发技术 . 北京:机械工业出版社 , 2007-1 3 朱如龙 . C+语言 应用系统开发技术实验指导 .北京 :机械工业出版社 4 钱雪忠 . C+语言教程 . 北京 : 北京邮 电大学出版社 , 2005-8 5 魏永继 . VC+6.0 应用程序开发 . 北京 :机械工业出版社 , 2007-2 6 刘钢 . Visual C+程序设计与应用案例 . 北京 :高等教育出版社 , 2004-2 7 汪清明 . Visual C+ 6.0 编程基础教程 . 北京 : 高等教育出版社 , 2005-1 指导教师签字: 年 月 日 系(教研室)负责人审查意见: 签字: 年 月 日 学生签字: 年 月 日 nts重庆大学城市科技学院毕业设计(论文) 3 图书馆管理系统 孙锦汶 (重庆大学城市科技学院计算机网络技术 重庆永川 402167) 【中文关键词】 统一建模语言 ; 面向对象 ; 图书馆管理系统 ; 建模设计 ; 【英文关键词】 UML; object-oriented; library management system; modeling design; 【中文摘要】 以图书馆管理系统的开发为背景 ,探讨了 UML 在软件体系结构建模中的应用。以用例图表达系统需求 , 以设计类图、顺 序图、活动图表达系统的结构逻辑及行为逻辑 ,并详细介绍了基于UML 的图书馆管理系统的建模设计及实现过程。 【英文摘要】 Based on the development of library management system, this paper discusses the application of UML to the modeling in the system structure of software, and illustrates in a detailed way the modeling design and the realizing process in the library management system based on UML, with the case picture to express the demand of the system, and the class diagram, the sequence diagram and the activity diagram to express the structural logic and behavioral logic in the system. nts重庆大学城市科技学院毕业设计(论文) 4 目录 第一章 毕业设计内容 . 5 一 .毕业设计需求分析、功能分析、设计背景 . 5 1.1 问题分析、编写目的、设计背景 . 5 1.1.1 程序编写目的 . 5 1.1.2 设计背景 . 5 1.1.3 需求分析 . 5 1.1.4 功能分析 . 7 1.1.5 算法设计及程序设计中技术重点 . 7 二毕业设计详细设计 . 11 2.1 程序中涉及的类的 UML 类图和主要函数流程图或框图 . 11 2.1.1 系统 UML 类图 . 11 2.1.2 系统流程图 . 13 2.2 程序源代码 . 19 三 .毕业设计程序运行测试 . 25 3.1 系统运行结果 . 25 第二章 毕业设计总结 . 30 参考文献 . 31 nts重庆大学城市科技学院毕业设计(论文) 5 第一章 毕业设计内容 一 .毕业设计需求分析、功能分析、设计背景 1.1 问题分析、编写目的、设计背景 1.1.1 程序编写目的 将计算机技术运用于图书 信息 管理 ,使图书管理更加方便、快捷 ,为用户提供最舒 适最人性化的服务 . 1.1.2 设计背景 图书管理系统是 图书馆管理中 不可缺少的一部分 ,它的内容对 图书馆 的决策者和管理者来说至关重要 ,所以该系统应该能够为用户提供充足的信息和快捷的查询手段 .但一直以来人们使用传统人工方式管理文件档案 ,这种管理方式存在着许多缺点 ,如:效率低、保密性差 ,另外时间一长 ,将产生大量的文件和数据 ,这对于查找、更新和维护都带来了不便 .随着科学技术的不断提高 ,计算机科学日渐成熟 ,其强大的功能已为人们深刻认识,他已进入人类社会的各个领域并发挥着越来越重要的作用 .由此,建立高性能的图书管理系统 ,作为计算机应用的一部分 ,使用计算机对图书进行管理 ,具有手工管理无法比拟的优点 ,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等 ,这些优点能够极大的提高图书信息管理的效率 ,也是科学化、正规化的体现 .实践表明 ,将计算机技术运用于图书信息的管理 ,有利于建立起合理的管理机制 .避免人为的信息管理的错误 ,以达到客观公正 ,准确高效的目的 ,有利于计算机技术的推广 .因此 ,设计 这样的软件系统是很必要的 . 1.1.3 需求分析 当决定要 设计 一个 信息管理 系统时,首先要对信息系统的需求进行分析,需求分析要做的 工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。 获得当前系统的处理流程,在此首先假设当前系统是手工处理系统。手工处理流程大致是这样的。读者将要借的书和借阅证交给工作人员,工作人员将每本书附带的描述书信息的卡和读者借阅证一起放在一个小格栏,并在借阅证和每本书上贴的借阅信息。这样借书过程就完成了。还书时读者将要还的图书交给工作人员,工作人员图书信息找到相应的书卡和借阅证,并填写相应的还书信息。 nts重庆大学城市科技学院毕业设计(论文) 6 抽象出当前系统的 逻辑 模型。在理解当前系统 “怎么做 ”的基础 上,抽取其 “做什么 ”的本质,从而从当前系统的 物理 模型抽象出当前系统的逻辑模型。在物理模型中有许多物理因素,随着分析工作的深入,有些非本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的物理因素就成为不必要的负担,因而需要对物理模型进行分析,区分出本质的和非本质的困素,去掉那些非本质的困素即可获得反映系统本质的逻辑模型。 建立目标系统的逻辑模型。分析目标系统与当前系统逻辑上的差别,明确目标系统到底要 “做什么 ”,从而从当前系统的逻辑模型导出目标系统的逻辑模型。在对上述流程进行分析后,我 们对新的图书处理流程进行整理,图书馆借还书过程如下: 借书过程:读者从架上选到所需图书后,将图书和借书卡交管理人员,管理人员用码阅读器将图书和借书卡上的读者条码读入处理系统。系统根据读者条码从读者文件和借阅文件中找到相应记录;根据图书上的条码从图书文件中找到相应记录。 系统在 读者维护 中增加一条记录,记入读者、图书、借阅日期等内容。 还书过程:还书时读者只要将书交给管理人员,管理员将书上的图书条码 、读者条码 读入系统,系统从借阅文件上找到相应记录 。 系统在读者维护中增加一条记录,记入读者、图书、归还日期等内容。 为了对图书管理系统做完整的描述,还需要对上面得到的逻辑模型做一些补充 。 首先 图书管理系统的用户界面,这样做的目的是保证整个系统的用户界面的一致性 。 其次 前面着重对借还书流程进行了说细的阐述,下面介绍图书管理系统的总体功能要求。简单的图书管理系统主要包括下面的功能: 借书处理:完成读者借书这一业务流程。 还书处理:完成读者还书这一业务流程。 新书上架:输入新书资料。 旧书淘汰:删除图书资料。 读者处理:添加、删除读者信息。 读者查询:根据读者号,查询读者借阅情况。 nts重庆大学城市科技学院毕业设计(论文) 7 1.1.4 功能分析 设计一个图书馆管理系统,完成图书管理和读者管理的功能,并能对借阅信息进行管理, 要求完成以下功能: 5. 读者信息管理,可以添加、修改、删除、查询读者信息; 6. 图 书信息管理,可以添加、修改、删除、查询书籍信息; 7. 借书信息管理,可以进行添加借书信息。 8. 还书信息管理,可以进行添加还书信息。 程序中所涉及 C+语言内容包括: C+语言编译预处理过程、函数、数组、类、继承、封装、 多态,重载,面向对象程序设计等相关内容。 1.1.5 算法设计及程序设计中技术重点 采用 C+编写 Win32 Console Application。使用文本文件保存数据。 定义读者类,保存单个读者信息。 定义读者库类,实现建立读者的个人资料。 定义图书类,保存单个图书信息。 定义图书库类,实现对图书的维护,查找,删除等。 编制主函数 main() 完成函数调用过程。 程序中所涉及 C+语言内容包括: C+语言编译预处理过程、函数、数组、类、继承、多态,重载,面向对象程序设计等相关内容。 使用文本文件利用输入输出流留保存和提取数据。 图书馆管理系统,经过分析 进行类和接口的结构设计,进行对象的抽象 ,设计出类的内容,画出 UML 类 图。 nts重庆大学城市科技学院毕业设计(论文) 8 类设计参数如表 2-1、表 2-2。 读者类 :Reader 表 2-1 读者类设计参数 名称 说明 类别 int tag; 删除标记 1:已删 0:未删 成员变量 int no; 读者编号 成员变量 char name10; 读者姓名 成员变量 int borbookMaxbor; 所借图书 成员变量 char bordateMaxbor32; 借书日期 成员变量 char bordate1Maxbor32; 归还日期 成员变量 Reader(); 构造函数 char *getname(); 获取姓名 成员函数 int gettag(); 获取删除标记 成员函数 int getno(); 获取读者编号 成员函数 void setname(char na); 设置姓名 成员函数 void delbook() ; 设置删除标记 1:已删 0:未删 成员函数 void addreader(int n,char *na) ; 增加读者 成员函数 void borrowbook(int bookid,char brdate32); 借书操作 成员函数 int retbook(int bookid) ; 还书操作 成员函数 void disp() ; 读出读者信息 成员函数 读者库类 :RDateBase 表 2-2 读者库类设计参数 名称 说明 类别 Int top; 读者记录指针 成员变量 Reader readMaxr; 读者记录 成员变量 RDatabase(); 构造函数,将 reader.txt读到 read中 构造函数 void clear(); 删除所有读者信息 成员函数 Int addreader(int n,char *na); 添加读者时先查找是否存在 成员函数 Reader *query(int readerid); 按读者编号查找 成员函数 Reader *queryname(char readername10); 按读者姓名查找 成员函数 void disp(); 输出所有读者信息 成员函数 void readerdata(); 读者库维护 成员函数 RDatabase(); 析构函数,将 read写到 reader.txt文件中 成员函数 nts重庆大学城市科技学院毕业设计(论文) 9 图书类 :Book 表 2-3 图书类设计参数 名称 说明 类别 int tag; 删除标记 1:已删 0:未删 成员变量 int no; 图书编号 成员变量 char name20; 书名 成员变量 char author20; 作者 成员变量 char cbs20; 出版社 成员变量 int onshelf; 是否再架 1:再架 2:已借 成员变量 Book(); 构造函数 char *getname(); 获取书名 成员函数 char *getauthorname(); 获取作者名 成员函数 char *getcbsname(); 获取出版社名 成员函数 int getno(); 获取图书编号 成员函数 int gettag(); 获取删除标记 成员函数 void setname(char na); 设置书名 成员函数 void setonshelf(int oa); 成员函数 void delbook(); 删除图书 成员函数 void addbook(int n,char *na,char *aa,char *ca,int oa); 增加图书 成员函数 int borrowbook(); 借书操作 成员函数 void retbook(); 还书操作 成员函数 void disp(); 输出图书 成员函数 nts重庆大学城市科技学院毕业设计(论文) 10 图书库类。 BDataBase 表 2-4 图书库类设计参数 名称 说明 类别 int top; 图书记录指针 成员变量 Book bookMaxb; 图书记录 成员变量 BDatabase(); 构造函数,将 book.txt 读到 book中 构造函数 void clear(); 全删 成员函数 int addbook(int n,char *na,char *aa,char *ca,int oa); 增加图书 成员函数 Book *query(int bookid); 按编号查找图书 成员函数 Book *query2(char a); 按书名查找图书 成员函数 Book *query3(char a); 按作者查找图书 成员函数 Book *query4(char a); 按出版社查找图书 成员函数 void bookdata(); 图书库维护 成员函数 void disp(); 显示 成员函数 BDatabase(); 析构函数,将 book写到 book.txt文件中 成员函数 nts重庆大学城市科技学院毕业设计(论文) 11 二毕业设计详细设计 2.1 程序中涉及的类的 UML 类图和主要函数流程图或框图 2.1.1系统 UML 类图 Reader -tag: int -no: int -name10: char -borbookMaxbor: int -bordateMaxbor32: char -bordate1Maxbor32: char +Reader() +getname(): char * +gettag(): int +getno(): int +setname(char na): void +delbook(): void +addreader(int n,char *na): void +borrowbook(int bookid,char brdate32) : void +retbook(int bookid): int +disp(): void 读出读者信息 图 2-1 读者类 UML 图 RDatabase -top : int -readMaxr: Reader +RDatabase() +clear(): void +addreader(int n,char *na) : int +query(int readerid) : Reader * +queryname(char readername10): Reader* +disp(): void +readerdata(): void +RDatabase() 图 2-2 读者库类 UML 图 nts重庆大学城市科技学院毕业设计(论文) 12 Book -Tag: int -no : int -name20 : char -author20 : char -cbs20: char -onshelf: int +Book() +getname(): char * +getauthorname(): char * +getcbsname(): char * +getno() return no; : int +gettag() return tag; : int +setname(char na): void +setonshelf(int oa) : void +delbook(): void +addbook(int n,char *na,char *aa,char *ca,int oa): void +borrowbook(): int +retbook(): void +disp(): void 图 2-3 图书类 UML 图 BDatabase -Top: int -bookMaxb: Book +BDatabase() +clear(): void +addbook(int n,char *na,char *aa,char *ca,int oa) :int +query(int bookid) : Book * +query2(char a): Book * +query3(char a): Book * +query4(char a): Book * +bookdata(): void +disp(): void +BDatabase() 图 2-4 图书库类 UML 图 nts重庆大学城市科技学院毕业设计(论文) 13 2.1.2系统流程图 图书馆管理系统 图书管理 读者管理 借书 还书 退出 图书添加 图书修改 图书查询 读者添加 读者修改 读者查询 借书 还书 图 2-5 系统结构图 nts重庆大学城市科技学院毕业设计(论文) 14 0 4 2 3 进入程序,开始 输出提示信息 输入 选择的功能 判断输入的选项 借书模块 还书模块 图书管理模块 读者管理模块 1 退出函数 图 2-6 main 函数流程图 退出,结束程序 nts重庆大学城市科技学院毕业设计(论文) 15 N Y Y 进入借书模块,开始 输出提示信息 输入读者编号和借阅的图书编号 提示错误信息 读者是否存在 Y N 图书是否存在 提示错误信息 提示错误信息 图书是否全部借出 N 保存借书信息 提示成功信息 退出借书模块,结束 图 2-7 借书模块流程图 nts重庆大学城市科技学院毕业设计(论文) 16 N Y Y 进入还书模块,开始 输出提示信息 输入读者编号和借阅的图书编号 提示错误信息 读者是否存在 Y N 图书是否存在 提示错误信息 提示错误信息 图书是否借给该读者 N 删除借书信息 提示成功信息 退出还书模块,结束 图 2-7 还书模块流程图 nts重庆大学城市科技学院毕业设计(论文) 17 0 进入图书管理模块,开始 输出提示信息 输入操作编号 显示图书信息 判断操作 1 3 添加图书信息 提示成功信息 退出图书管理模块,结束 图 2-8 图书管理模块流程图 修改图书信息 保存图书信息 2 保存图书信息 提示成功 信息 退出 nts重庆大学城市科技学院毕业设计(论文) 18 0 进入读者管理模块,开始 输出提示信息 输入操作编号 显示读者信息 判断操作编号 1 3 添加读者信息 提示成功信息 退出读者管理模块,结束 图 2-8 读者管理模块流程图 修改读者信息 保存读者信息 2 保存读者信息 提示成功信息 退出 nts重庆大学城市科技学院毕业设计(论文) 19 2.2 程序源代码 Stdafx.h #include #include const int Maxr=100; /最多的读者 const int Maxb=100; /最多的图书 const int Maxbor=5; /每位读者最多借五本书 char today132 =; using namespace std; class Reader /读者的信息描述 private: int tag; /删除标记 1:已删 0:未删 int no; /读者编号 char name10; /读者姓名 int borbookMaxbor; /所借图书 char bordateMaxbor32; /借书日期 char bordate1Maxbor32; /归还日期 public: Reader(); char *getname(); /获取姓名 int gettag(); /获取删除标记 int getno(); /获取读者编号 void setname(char na); /设置姓名 void delbook() ; /设置删除标记 1:已删 0:未删 void addreader(int n,char *na) ; /增加读者 void borrowbook(int bookid,char brdate32); /借书操作 int retbook(int bookid) ; /还书操作 void disp() ; /读出读者信息 ; nts重庆大学城市科技学院毕业设计(论文) 20 class RDatabase /读者类库,实现建立读 者的个人资料 private: int top; /读者记录指针 Reader readMaxr; /读者记录 public: RDatabase(); /构造函数,将 reader.txt 读到 read中 void clear(); /删除所有读者信息 int addreader(int n,char *na); /添加读者时先查找是否存在 Reader *query(int readerid); /按读者编号查找 Reader *queryname(char readername10); /按读者姓名查找 void disp(); /输出所有读者信息 void readerdata(); /读者库维护 RDatabase(); /析构函数,将 read写到 reader.txt 文件中 ; class Book /图书类,实现对图书的描述,图书的编号,书名,借出,还入等 private: int tag; /删除标记 1:已删 0:未删 int no; /图书编号 char name20; /书名 char author20; /作者 char cbs20; /出版社 int onshelf; /是否再架 1:再架 2:已借 public: Book(); char *getname(); /获取书名 char *getauthorname(); /获取作者名 char *getcbsname(); /获取出版社名 nts重庆大学城市科技学院毕业设计(论文) 21 int getno(); /获取图书编号 int gettag(); /获取删除标记 void setname(char na); /设置书名 void setonshelf(int oa); void delbook(); /删除图书 void addbook(int n,char *na,char *aa,char *ca,int oa); /增加图书 int borrowbook(); /借书操作 void retbook(); /还书操作 void disp(); /输出图书 ; class BDatabase /图书库类,实现对图书的维护,查找,删除等 private: int top; /图书记录指针 Book bookMaxb; /图书记录 public: BDatabase(); /构造函数,将 book.txt 读到 book中 void clear(); /全删 int addbook(int n,char *na,char *aa,char *ca,int oa); /增加图书 Book *query(int bookid); /按编号查找图书 Book *query2(char a); /按书名查找图书 Book *query3(char a); /按作者查找图书 Book *query4(char a); /按出版社查找图书 void bookdata(); /图书库维护 void disp(); BDatabase(); /析构 函数,将 book写到 book.txt 文件中 ; nts重庆大学城市科技学院毕业设计(论文) 22 Main.cpp #include stdafx.h #include #include #include #include #include #include char today32 =; char second32=; using namespace std; void gettime() tm *temptm; time_t temptime; temptime=time(0); temptm=localtime(&temptime); couttm_year+1900tm_mon+1tm_mdaytm_hourtm_mintm_sec choice; switch (choice) case 1: system(cls); coutreaderid; r=ReaderDB.query(readerid); if (NULL=r) /按编号查找是否有该读者 cout bookid; b=BookDB.query(bookid); if (b=NULL) /按编号查找是否有该图书 cout borrowbook()=0) cout
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。