小型图书馆管理系统OOA OOD
- 格式:doc
- 大小:83.50 KB
- 文档页数:7
题目小型图书馆管理系统的设计及实现作者学科、专业软件工程指导教师申请学位日期年月西北工业大学硕士学位论文(专业学位研究生)题目:小型图书管管理系统的设计及实现作者:学科专业:软件工程指导教师:副教授高级工程师二零一五年月The Design and Implementation of Small Scale Library Mangement SystemSubmitted to the School ofNorthwestern Polytechnical University in fulfillmentof the requirements for the degree ofMaster of EngineeringBy:Supervisor:Xi’an, P. R. China2015摘要随着人类社会的发展,人们对知识的需求越来越大。
一方面,作为知识的载体—图书,仍然是人们获取知识的最主要、最广泛的途径。
另一方面,信息技术的发展与普及,传统的图书馆管理方式已经不适用,特别是目前图书馆书籍和读者的数量不断增加。
因此,建立一个高效、友好、全方面的图书管理系统是非常有必要的。
本文根据图书馆的业务需求和实际使用经历,使用APACHE服务器、PHP程序设计语言及MySQL数据库,开发设计了一套全面的图书馆信息管理系统。
该系统分为两大部分,一是面向系统管理员的系统操作管理部分,一是面向普通用户即读者的信息查询管理客户端部分。
系统操作管理部分又分为书籍管理、用户管理、公告管理、报表统计四大主要功能。
书籍管理又包括新进图书管理、旧书下架、借书管理、还书管理、丢失图书管理5个模块。
用户管理包括用户注册、用户有效期延期、用户充值、用户帐号注销4个模块。
公告管理包括发布公告、删除公告两大模块。
客户端部分分为公告展示、用户个人信息管理、图书查询与新书推荐四大主要功能。
本文的主要研究内容包括:目前图书馆管理系统使用的先进技术,如RFID技术、系统需求分析、流程分析、数据库分析及系统的实现和部分代码介绍。
目录1项目开发计划书 (2)2软件需求规格说明书 (7)3设计规格说明书 (14)4 源程序清单 (20)5 测试报告 (35)6 用户手册 (39)一、项目开发计划书完成人:1.引言(Introduction)本需求的编写是为了实现读者借还书的信息化,并且利用Internet网络实现读者与图书馆之间的互动和图书馆的人性化管理,提高图书的利用率、减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
1.1项目概述(Project Summary)本次作业设计题目:“小型图书馆图书信息管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及户(学生)借书、查询图书信息,向流通组预约图书、缺书登记,借书数量、期限限制。
还书时流通组根据图书是否超期、损坏等作相应处理。
采编部根据缺书登记进行采购以及将旧书淘汰、注日常工作等多项管理。
同时对整个系统的分析、设计过程给出一个完整论证。
具体包括借还图书。
总之,系统的规模较小,只涉及图书、读者、借还书的管理,相关的部门有采编部、流通部、办公室,只是完成简单规模的图书管理操作。
1.2 术语定义(Terms Glossary)图书管理系统:是一个由人、计算机等组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。
采编部:是一个负责图书馆中外文图书资料入库前的采访、订购、验收、登记、典藏、调拨,以及书目数据的审校并上传至中央数据库等工作的部门。
需求分析:在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
系统设计:设计数据库的结构以及设计模块的控制流程,明确软件系统"如何做"。
需求规格说明书:经可行性研究后,对要求解的问题重新进行描述,使之更能准确地反映实际业务流程,导出并评价可供选择的解法,推荐行动方针。
系统设计说明书:说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
数据结构课程设计报告设计题目:小型图书馆管理系统专业:信息管理与信息系统学生姓名:班级学号:指导教师:2010 年6月25 日数据结构课程设计报告一、设计时间2010/6/21-------6/25二、设计地点第一实验楼计算机系机房511三、设计目的1、学习数据结构理论知识,进一步熟悉基本概念;2、熟练掌握链表的创建以及进行插入,排序,查找,删除等操作,了解程序基本的流程。
能根据实际问题的具体情况,结合数据结构中的基本理论和基本算法,正确分析出数据的逻辑结构,合理的选择相应的存储结构,并能设计出解决问题的有效算法;3、运用所学C语言知识,了解并掌握开发的各个流程,以及各功能代码的实现。
我们通过上机学习,学会有效利用基本的调试方法,找出程序中出现的错误代码并修改;4、培养查阅资料,独立思考问题的能力。
四、设计小组成五、指导老师六、设计课题小型图书馆管理系统七、基本思路及关键问题的解决方法根据老师给的课题要求,小型图书管理系统的设计主要可以分为图书信息录入、图书信息浏览、图书信息查询、图书信息修改、图书信息删除几大功能块。
由于课题要求系统得到设计必须用C语言和数据结构的相关知识,所以我们首先要创建一个新链表并用链表的每个节点存储一条图书记录,即结构体(book),其中各域分别为:分类号(classfy)、书名(bookname)、作者(author)、定价(price)、出版社(publisher),指针域(next)。
小型图书馆系统的信息录入、信息浏览、信息查询、信息修改、信息删除功能快的实现分别用InsertDoc,search_book,Print_Book_Doc,info_change ,DeleteDoc等来实现。
八、算法及流程图(1)主要算法1、存储结构定义struct books_list{char author[20]; /*作者名*/char bookname[20]; /*书名*/char publisher[20]; /*出版单位*/char pbtime[15]; /*出版时间*/char loginnum[10]; /*登陆号*/float price; /*价格*/char classfy[10]; /*分类号*/struct books_list * next; /*链表的指针域*/};struct books_list * Create_Books_Doc(); /*新建链表*/void InsertDoc(struct books_list * head); /*插入*/void DeleteDoc(struct books_list * head , int num);/*删除*/void Print_Book_Doc(struct books_list * head);/*浏览*/void search_book(struct books_list * head); /*查询*/void info_change(struct books_list * head);/*修改*/void save(struct books_list * head);/*保存数据至文件*/2、新建链表头节点struct books_list * Create_Books_Doc(){struct books_list * head;head=(struct books_list *)malloc(sizeof(struct books_list));/*分配头节点空间*/head->next=NULL; /*头节点指针域初始化,定为空*/return head;3、用insterdoc实现插入操作void InsertDoc(struct books_list *head){/*定义结构体指针变量 s指向开辟的新结点首地址 p为中间变量*/struct books_list *s, *p;char flag='Y'; /*定义flag,方便用户选择重复输入*/p=head;/*遍历到尾结点,p指向尾结点*/while(p->next!= NULL){p=p->next;}…}4、用search_book实现查询操作void search_book(struct books_list *head){struct books_list * p;char temp[20];p=head;if(head==NULL || head->next==NULL) /*判断数据库是否为空*/{printf(" ━━━━ 图书库为空!━━━━\n");}…}5、用Print_Book_Doc来实现浏览操作void Print_Book_Doc(struct books_list * head){struct books_list * p;if(head==NULL || head->next==NULL) /*判断数据库是否为空*/{printf("\n ━━━━没有图书记录! ━━━━\n\n");return; }p=head;printf("┏━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━┳━━━━┓\n");printf("┃登录号┃ 书名┃ 作者┃ 出版单位┃出版时间┃分类号┃价格┃\n");printf("┣━━━╋━━━━━╋━━━━━╋━━━━━╋━━━━━━╋━━━╋━━━━┫\n");/*指针从头节点开始移动,遍历至尾结点,依次输出图书信息*/ while(p->next!= NULL){p=p->next;printf("┃%-6.6s┃%-10.10s┃%-10.10s┃%-10.10s┃%-12.12s ┃%-6.6s┃%.2f┃\n",p->loginnum,p->bookname,p->author,p->publish er,p->pbtime,p->classfy,p->price); /*循环输出表格*/}printf("┗━━━┻━━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━┻━━━━┛\n");printf("\n");}6、用info_change来实现修改操作void info_change(struct books_list * head){struct books_list * p;int panduan=0; /*此变量用于判断是否找到书目*/char temp[20];p=head;printf("请输入要修改的书名:");scanf("%s",temp);while(p->next!= NULL){p=p->next;if(strcmp(p->bookname,temp)==0){printf("\n 请输入图书登陆卡号:");fflush(stdin);scanf("%s",p->loginnum);………fflush(stdin);scanf("%s",p->classfy);printf("\n 请输入图书价格:");fflush(stdin);scanf("%f",&p->price);printf("\n");panduan=1;}}if(panduan==0){printf("\n ━━━━没有图书记录! ━━━━\n\n");}return;}7、用DeleteDoc来实现删除操作void DeleteDoc(struct books_list * head){struct books_list *s,*p; /*s为中间变量,p为遍历时使用的指针*/char temp[20];int panduan; /*此变量用于判断是否找到了书目*/panduan=0;p=s=head;printf(" [请输入您要删除的书名]:");scanf("%s",temp);(2)程序流程系统的执行应从功能菜单的选择开始,依据用户的选择来进行的处理直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。
OOD-OOA报告[图书管理系统][V1。
0]专业:软件技术班级:姓名:学号:成绩:软件教研室制文档编号__STDU01____版本号__V1。
0__编写_ _ 日期____________ 校对____ ___ 日期____________批准_________________ 日期____________开发单位__________________ 日期____________目录键入章标题(第1 级) (1)键入章标题(第2 级) (2)键入章标题(第3 级) (3)键入章标题(第1 级) (4)键入章标题(第2 级) (5)键入章标题(第3 级) (6)十、图书管理系统的OOA和OOD报告1.项目任务概述近年来,随着因特网的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并进入传统的流通领域。
在图书管理系统用计算机管理图书是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的.现在一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更有效的图书管理.图书管理系统是典型的信息管理系统, 其分别从设备管理和用户管理等角度进行处理,并对需求分析、概念设计、逻辑设计、物理设计、数据库实施和维护进行了阐述.其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点2 .系统开发计划2。
1产品背景在图书管理系统用计算机管理图书是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的。
现在一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更有效的图书管理。
2。
2图书管理系统功能需求分析图书管理系统主要服务与图书管理人员,包含的功能模块主要有:一.图书管理:图书类别管理,图书信息管理二.读者管理:读者管理,读者信息管理.三.图书借阅管理:借书管理,还书管理。
小型书店管理系统第一点:小型书店管理系统的需求分析小型书店作为城市文化的重要组成部分,承担着传播知识、传承文化的重要使命。
然而,在数字化、网络化的今天,小型书店面临着严峻的挑战。
为了提高小型书店的管理效率,降低运营成本,提升顾客体验,开发一套小型书店管理系统显得尤为重要。
小型书店管理系统的需求分析主要从以下几个方面展开:1.图书信息管理:系统应能对书店内的图书进行分类、标签化管理,便于查询、统计图书信息。
2.库存管理:系统应能实时更新图书库存,提供库存预警功能,以便书店及时补货。
3.销售管理:系统应能记录销售数据,分析销售趋势,为书店制定营销策略提供数据支持。
4.会员管理:系统应能对会员信息进行管理,提供积分、优惠等功能,提升顾客忠诚度。
5.财务管理:系统应能对书店的收支进行管理,提供利润分析等功能,帮助书店主人合理规划经营。
6.数据报表:系统应能生成各类数据报表,方便书店主人了解书店运营状况,为决策提供依据。
7.移动应用:系统应能支持移动设备访问,方便书店主人随时随地管理书店。
8.安全性:系统应具备较强的安全性,保护书店的经营数据不受侵害。
通过对小型书店管理系统的需求分析,可以为后续系统设计提供明确的方向。
第二点:小型书店管理系统的功能设计在需求分析的基础上,我们对小型书店管理系统进行功能设计。
系统应具备以下几个核心功能:1.图书信息管理:实现对图书的分类、标签化管理,支持图书信息的添加、修改、删除操作。
2.库存管理:实时更新图书库存,提供库存预警功能,支持图书入库、出库操作。
3.销售管理:记录销售数据,分析销售趋势,提供销售排行榜、销售报表等功能。
4.会员管理:管理会员信息,提供积分、优惠等功能,支持会员注册、登录、消费记录查询等操作。
5.财务管理:对书店的收支进行管理,提供利润分析等功能,支持收入、支出、利润等数据的统计和报表生成。
6.数据报表:生成各类数据报表,包括图书销售报表、会员消费报表、库存报表等,方便书店主人了解书店运营状况。
图书管理系统OOAD实验报告用例:一、用例名称:查询图书参与人员:图书管理员入口条件:图书管理员成功登录系统,完成身份验证,被系统提示:“借书”,“还书”,“查询图书”,“新书录入”功能。
事件流程:1. 进入查询图书界面[图书管理员] 点击“查询图书”功能[系统] 进入“查询图书”界面2. 执行查询[图书管理员] 在界面的“书名”标签,“作者”标签,“书ID”等各个标签后的输入框中添入相关信息,至少输入一项。
然后点击“搜索”[系统] 返回查询结果,显示找到的相关图书信息(书ID,书名,馆内该书的剩余数目...)图书管理员重复第2步骤直到不再查询3. 返回主界面[图书管理员] 点击“返回主界面”按钮[系统] 返回主界面例外:2a. 查询结果为无:1. 系统提示“该书不存在,请重新输入查询信息”,重置“查询图书”界面二、用例名称:借阅图书参与人员:图书管理员入口条件:图书管理员成功登录系统,完成身份验证,被系统提示:“借书”,“还书”,“查询图书”,“新书录入”功能。
事件流程:1. 进入借/还图书界面[图书管理员] 点击“借书”功能[系统] 进入“借书”界面2. 确认借阅者信息和已借书信息[图书管理员] 扫描输入借阅者ID[系统] 返回借阅者信息(借阅者ID,姓名,最大允许借阅书数目,已借图书数目...),以及借阅记录(书ID,书名,借阅时间,应归还时间,是否过期...)3. 向借阅记录中添加新借图书条目[图书管理员] 点击“添加”按钮,扫描输入图书ID[系统] 在对应书籍的索引卡上库存数量减去一个,在借阅记录中添入新借图书条目。
图书管理员重复第3步骤直到不再添加4. 完成借阅[图书管理员] 点击“借阅完成”[系统] 重置“借书”界面例外:2a. 借阅者ID失效(借阅者ID未注册或已被注销):1. 系统返回“此借书人不存在”,重置“借书”界面2b. 已借书中有过期:1. 系统返回借阅者信息表,以及借阅记录,把已过期书“标红”,并提示“请先归还过期书”。
1.引言本文是学生XX(学号:XXXXXXX)的毕业设计《小型图书馆管理系统》的开题报告,主要描述课题目标,课题分析,以及进度安排等。
文中的课题研究意义和图书馆信息化现状部分为网络摘抄并加以整理后的内容。
2.目标2.1.课题目标完成《小型图书馆管理系统》的需求分析,数据库设计,系统设计,实现基本功能;完成毕业论文编写,最终完成毕业设计。
2.2.个人目标通过完成本课题,增强个人对业务分析的能力,增强文档的写作能力。
同时基本学会使用java语言开发B/S结构的应用系统。
3.课题分析3.1.课题理解目前一些图书馆,尤其是比较小的图书馆,对图书信息记录,仍采用人工记账的方式,或者根本不记录;对于图书的借阅流通,同样采用人工记账的方式。
这样的方式,使得图书信息的查询,借阅信息的查询变的非常困难,工作效率低,并且出错的几率很高。
《小型图书馆管理系统》就是为了解决这些问题:首先,把图书的信息进行电子化,这样便于以后的查询和统计分析。
其次,把借阅的信息进行电子化,这样便于图书馆管理员和借阅用户随时线上查询借阅信息,并可以做一些线上的特殊操作(如网上续借)。
最后,把图书周边的常用信息进行电子化,例如图书编目,图书典藏位。
这样使得图书的查询,分类,统计更加便捷有效。
3.2.《小型图书馆管理系统》应有的功能小型图书馆管理系统应有如下功能:✓编目管理✓典藏位管理✓图书管理✓借书管理✓系统用户管理(其中包括工作人员和借阅用户两种用户)4.课题研究意义随着社会的不断发展和进步,促进我国经济发展的基础已变为知识。
因此,追求知识的创新是推动整个社会发展的重要动力。
在新的时期中,为了要更好地发挥图书馆对知识的创新和科技的进步,对图书馆的管理除了要加强对知识的收集、处理、保存和传播外,还要再此基础上对图书馆的管理模式进行优化,从而实现图书馆的创新管理。
构建数字化、网络化的综合性现代图书馆,不断地推动我国科研教育以及经济的发展。
要保证图书馆典藏、借阅和维护就要全面的对图书馆的管理工作进行完善,并将它作为发挥图书馆功能的基础。
目录第一章领域分析 (1)1.1 目标分析 (1)1.2业务分析 (2)第二章需求分析 (5)2.1需求分析概述 (5)2.2需求结构分析 (5)2.3用例分析 (6)第三章体系结构设计 (7)第四章详细设计 (8)4.1业务对象模型 (8)4.2逻辑设计 (9)第一章领域分析1.1 目标分析一、使命和方向以优质服务向读者提供丰富的图书。
对书店图书的进、销、存管理信息系统进行了分析和设计。
书库管理是商场运营的基础,它将采购管理和销售管理链接起来公共组成一个完整的进、销、存管理系统。
该系统可以帮助图书仓库管理人员对库存商品进行详尽。
全面地控制盒管理,提供的各种库存报表和库存分析可以为管理者的决策提供依据,从而实现减低库存和减少资金占用,避免图书积压或短缺,保证图书经营的正常进行。
二、组织总目标向读者提供一流服务,使本地图书市场占有率达到30%。
三、组织子目标1)最方便地供读者阅读和购买图书,减少30%的读者购书时间;2)近三年每年增加30%的新图书品种;3)书店能够快速掌握国内最新出版的各类图书;4)快速统计本市读者的购书要求,即使掌握畅销书、滞销书的信息;5)入库、出库、盘库的工作效率提高20%;四、组织策略1)采取开架售书,为读者提供方便阅读和购书条件;2)更改售书结算方法,减少读者结账时间,提高工作效率;3)建立全国出版社、供书商数据库,掌握最新图书动态;4)修改购书资金计划,每年增加30%的购书资金,以增加图书品种;5)对销售图书进行动态统计,及时掌握畅销书、滞销书信息;6)修改库存管理办法,提高效率,方便管理。
7)建立书店信息系统,全面提高管理水平和工作效率。
1.2业务分析表1-1书店业务名细表1.3业务流程分析业务流程是组织业务的活动过程,业务流程也是组织实体围绕着实现组织目标的活动过程。
在业务流程中伴随着组织中大量的人流、资金流等实体流和信息流。
只有对业务流程进行细致分析,才能够深入理解业务的活动过程,了解业务活动所涉及到的各种组织实体,了解业务的过程、步骤、规则和方法。
小型图书馆管理系统(OOA+OOD)组长:×××学号:00008196 贡献度:40%成员:×××学号:00008184 贡献度:30%成员:×××学号:00008183 贡献度:30%内容导读:●问题叙述●对象层●特征层●结构层●交互图●数据库设计●系统状态迁移图●类定义一.问题叙述:本系统的名称为“小型图书馆管理系统”,它具有以下功能:1.借书,还书;2.增书,删书;3.按作者名或专业领域检索图书;4.查找被某为读者借走的一批书;5.查找最近借走某书的读者;6.查找某管理员的操作记录.备注:①管理员分四类:借书管理员,还书管理员,采编管理员(增书,删书),馆长助理;②读者有最大借书量;③图书未归还前,不能对它进行借书操作.二. 对象层:考察系统的问题域和系统责任,发现三类对象:管理员,读者,图书.对象层如下:三. 特征层:四. 结构层:1.一般_特殊结构:管理员和读者具有较多的相似属性,应建立他们的一般类“人员”.2.整体_部分结构:(略).3.实例连接:读者和图书之间存在“借书”关系,不妨在图书类中设立实例连接属性“借书读者”;管理员和读者,图书之间存在一个三元关系,不妨在管理员类中设立实例连接属性“交割读者”,“经手图书”.4.消息连接: 管理员类向读者类,图书类发送消息;图书类向读者类发送消息.结构层如下:五. 交互图:1.借书管理员.借书:输入图书条码,读者编号;查询读者;若无此读者,则提示且退出;显示读者信息;显示借书情况;若读者的借书量已经达到极限,则提示且退出;若无此图书,则提示且退出;若图书已经被借出,则提示且退出;记录借书,操作日志;若无异常,则重显借书情况;若操作成功,则与读者交割图书;2.还书管理员.还书:输入图书条码;若无此图书,则提示且退出;若图书未被借出,则提示且退出;显示读者信息;显示读者借书情况;还书(修改借书情况,记录日志);若无异常,则重新显示借书情况;若操作失败,则提醒读者;3.采编管理员.增书:输入待增图书信息;若输入不合法,则提示且返回;否则进行必要的数据转换(Date,int......);增书,登记日志;上述事务若有异常,则提示且返回;标示图书条码于图书;4.采编管理员.删书:输入图书条码;若无此书,则提示且退出;若图书被借,则提示且退出;显示图书信息;若不想删除此书,则退出;删书,登记日志;若上述事务有异常,则滚回事务且退出;5.馆长助理. 查找某管理员的操作记录:输入管理员编号;如果没有该管理员,提示并退出;否则输出该管理员的信息;输出该管理员的操作记录;6.馆长助理. 查找最近借走某书的读者:输入图书条码;若无此图书,则提示且返回;否则显示图书信息;图书未被借,则提示且返回;否则显示读者信息;7.读者. 按作者名或专业领域检索图书:输入主题词和查询值;显示相关图书信息;8.读者. 查找自己借走的一批书:输入读者编号,姓名,密码;若无此读者,则提示且退出;显示借书情况;六. 数据库设计:1.E_R图:2.数据表:(1).admin_type(类型号,类型名);int,varchar(16);(2).admin(编号,姓名,类型号,住址,电话,密码);varchar(10),varchar(20),int,varchar(40),varchar(20),varchar(10);(3).reader_type(类型号,类型名,最大借书量);int,varchar(16),int;(4).reader(编号,姓名,类型号,工作单位,住址,电话,密码);varchar(10),varchar(20),int,varchar(40),varchar(40),varchar(20),varchar(10);(5).book_field(专业领域号,专业领域名);varchar(4),varchar(40);(6).book(条码,专业领域号,分类号后部,名称,作者,出版公司,出版时间,印刷公司,印刷时间,价格);varchar(16),varchar(4),varchar(16),varchar(50),varchar(20),varchar(30),smalltime,varchar(30),smalltime,smallmoney;(7).log_type(操作类型号,操作类型名);int,varchar(16);(8).log(管理员编号,图书条码,读者编号,操作类型号,操作时间);varchar(10),varchar(16),varchar(10),int,smalltime;(9).count(表序号,记录数); //增书时,方便图书条码的分配varchar(16),longint;3.关系图:(Access)七.系统状态迁移图:八. 类定义: (暂时只定义公共服务)1. Person:class Person{protected:CString* pNum;CString* pName;CString* pType;CString* pAddr;CString* pTele;CString* pPwd;protected:Person();virtual ~Person();public:CString GetNum(){return *pNum;};CString GetName(){return *pName;};CString GetType(){return *pType;};CString GetAddr(){return *pAddr;};CString GetTele(){return *pTele;};CString GetPwd(){return *pPwd;};};2.Admin:class Admin: public Person{public:Admin(CString*,CString*,CString*,CString*,CString*);Admin(CString*,CString*,CString*,CString*);Admin(CString*,Reader*,Book*);virtual ~Admin();private:Reader *pReader;Book *pBook;public:void Borrow(…);//参数待定void Return(…);void Add(…);void Del(…);void GetLog(…);};3.Reader:class Reader:public Person{private:CString* pWorkplace;public:Reader(CString*,CString*,CString*,CString*,CString*,CString*,CString*);Reader(CString*,CString*,CString*,CString*,CString*,CString*);Reader(CString*,CString*,CString*);Reader(CString*); //add delvirtual ~Reader();public:void GetBorrowing();};4.Book:class Book{private:CString* pNum;CString* pField;CString* pType;CString* pName;CString* pAuthor;CString* pPub;CString* pPubtime;CString* pPlant;CString* pPlanttime;CString* pPrice;Reader* pReader;public:Book(CString*,CString*,CString*,CString*,CString*,CString*,CString*,CString*,CString *,CString*);Book(CString*,CString*,CString*,CString*,CString*,CString*,CString*,CString*,CString *,Reader*);Book(CString*,Reader*);Book(CString*,CString*);//pField,pAuthorBook(CString*);//pNumvirtual ~Book();public:CString GetNum(){return *pNum;};CString GetField(){return *pField;};CString GetType(){return *pType;};CString GetName(){return *pName;};CString GetAuthor(){return *pAuthor;};CString GetPub(){return *pPub;};CString GetPubtime(){return *pPubtime;};CString GetPlant(){return *pPlant;};CString GetPlanttime(){return *pPlanttime;};CString GetPrice(){return *pPrice;};void GetBook(…);//Serve searchBOOL GetReader(…);};__END.。