为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 虚拟智慧图书馆项目

虚拟智慧图书馆项目

2021-11-05 4页 doc 38KB 6阅读

用户头像 个人认证

未若柳絮因风起

多多学习,共同进步

举报
虚拟智慧图书馆项目《数据结构与算法基础》课程项目实施报告题目:虚拟智慧图书馆虚拟智慧图书馆题目要求模拟现有图书馆的借阅、续借、归还;图书入库、出库;查询、排序等功能,实现电子图书馆的智慧综合管理。要求:(1)掌握数据结构的输入/输出、查找、排序、数据库建立;(2)实现图书信息的数据库建立;(3)图书信息的模糊查找与精确查找,并显示所查找条目的摘要内容;(4)图书信息的有序排列(如读者兴趣度排序、书评度排序、出版时间排序等);(5)图书信息不少于50条。预期指标在一台PC机上模拟图书馆管理系统各终端及数据库间的连接,模拟实现借阅、续借、还书,图书...
虚拟智慧图书馆项目
《数据结构与算法基础》课程项目实施题目:虚拟智慧图书馆虚拟智慧图书馆题目要求模拟现有图书馆的借阅、续借、归还;图书入库、出库;查询、排序等功能,实现电子图书馆的智慧综合管理。要求:(1)掌握数据结构的输入/输出、查找、排序、数据库建立;(2)实现图书信息的数据库建立;(3)图书信息的模糊查找与精确查找,并显示所查找条目的摘要内容;(4)图书信息的有序排列(如读者兴趣度排序、书评度排序、出版时间排序等);(5)图书信息不少于50条。预期指标在一台PC机上模拟图书馆管理系统各终端及数据库间的连接,模拟实现借阅、续借、还书,图书入库、出库,查询、排序,个人信息状态查询,增添/删除/维护用户信息等功能预期数据库中图书数据达到100条以上,具有数个用户,并有管理员及普通用户权限区分;在查询界面,通过点选属性,即可进行对以返回内容进行本地排序;对历史借阅信息进行统计,排序得出最受欢迎书籍名词解释ISBN:国际书号,是国际通用的图书或独立的出版物(除定期出版的期刊)代码。一个国际标准书号只有一个或一份相应的出版物与之对应。数据采集:人机交互界面中,系统从用户输入中收集各类数据的过程数据发送:将收集到的数据发送至服务器端的过程数据接收:将Server处理完返回的数据接收的过程,用以进行显示,反馈给用户项目背景项目背景诸多大学及社会上的图书馆具有借阅、续借、归还;图书入库、出库;查询、排序等功能,为了实现电子图书馆的智慧综合管理,提高管理效率,方便读者,需要一套基于计算机系统及数据库的图书管理系统。图书馆本身包含大量的信息,包括书目,电子资源等,在实现上述功能时,若以传统方法实行,将耗费较大的人力及物力。利用信息电子化的优势,可以明显优化各项步骤。读者在查询图书时,是通过分类号查询,原需一个个书架依次查找,虚拟智慧图书馆系统应具备让读者在电子设备上接入数据库,并针对不同关键字进行模糊或精确搜索的能力。另外,虚拟智慧图书馆系统实现图书排序推荐功能,其应具备对图书进行兴趣度、出版时间、书评度等排序能力。图书馆管理者和读者利用此系统应能清楚明晰书目的归还时间,借阅情况。结合安全门,RFID识别技术,IDcard验证,此系统应能完成在数据库中标记图书借阅归还的能力,并实现数据库情况与书库情况一致的目的。基于之上预期,虚拟智慧图书馆项目主要目的在于对图书信息及读者信息的数据处理,通过对系统数据结构与算法的优化,达到最佳的使用目的,包括对数据结构的输入/输出、查找、排序的应用,及数据库建立。项目原理任何用户使用虚拟智慧图书馆都将通过已经注册在数据库中的信息访问。任何图书馆书库中的图书及电子资源都通过事先的预输入,与数据库中的信息相匹配。当Client请求时,Server根据请求检索、排序、增添数据并返回给Client显示。Server应根据不同的操作对数据库里的图书信息、用户信息、借阅进行更新。当Client请求时,将连接Serve数据库,返回需求信息后,断开与Serve数据库的连接,这样可以避免占用有限的数据库接口资源。当用户输入操作要求时,Client进行数据接收,并将请求发送至Server并进行数据操作,之后将需求信息返回Client。数据结构设计图书信息包含的数据项如下:数据名数据含义备注说明Id条目号主键ISBN国际标准书号ISBN-13标准,例如:978-7-301-04815-3Name图书名Author图书作者Pub_date出版时间(月/日/年)DatePublisher出版社Available图书是否可借阅enum('available','forbidden')Total图书总数Store库存数量用户信息包含的数据项如下:数据名数据含义备注说明Id用户ID主键Pwd用户密码暂时用明文Loaned已借阅数量Max最大可借阅数量Class用户类别管理员或用户备注:每个用户匹配一张借阅图书的详细情况表借阅图书的详细情况表:数据名数据含义备注说明Id条目号主键User_id所属用户外键关联Book_id图书条目号外键关联Loan_date借阅日期DateBack_date归还日期为NULL表示没有归还实现方式我们组经过讨论,数据库选用了mysql。该数据库使用简单方便,功能强大,对于多线程处理器支持优秀,对列项可设置缺省,且能在多平台上兼容应用,同时其全面支持各类SQL语句,对该项目完成完全可以胜任。对于图形界面设计,由于WindowsAPI设计过程繁琐,故我们使用操作较为方便,界面友好的QTCreator进行交互式界面设计,并和mysql数据库进行连接。系统所有功能的实现皆从用户登录开始,根据不同的用户类型,在系统中给予不同的操作权限。这样管理员和普通读者共用一套系统,无需另外设计,同时,管理员也可以借阅书籍。客户端Client服务器端(数据库)Server数据交互功能概述整个图书馆系统分为Server和Client两部分。在客户端login界面输入账户和口令,只有账户和口令都正确,才被允许连接Serve,链接数据库。其中账户权限等级区分为管理员账户和普通账户。管理员账户可以实现图书入库/出库/更新图书等功能。ServerServer拥有借阅、归还、模糊或精确查询、排序、入库/出库/更新图书信息六大功能,通过对SQL语句对数据库的数据查询,增删实现。入库/出库/更新图书仅管理员用户享有此权利。增删数据库中books表的内容,可实现图书信息的录入、删除,可对已在数据库中的图书信息进行更新。借阅可借阅图书。借阅完成后,将此图书的库存数量减一,并在book_record表中增加借阅历史,记录借阅时间,供用户查询。还书可归还图书。图书归还后,将此图书的库存数量加一,并在book_record表中相应条目内增加归还时间,供用户查询。模糊或精确查询可迅速查询所需图书信息。可输入多类关键字,也可输入单个。可输入完全匹配关键字,也可输入不完全匹配的关键字检索。排序可选定排序方式,将按关键字查找的结果按一定方式排列(如出版时间)。数据采集读取用户的搜索关键词、操作请求等。数据发送将用户的操作请求发送至Server。数据接收Server根据用户请求对数据进行处理,将处理好的结果返回给Client,Client接收相应数据。界面交互个人信息状态查询用户Client模糊/精确查询还书续借排序借阅增添/删除/维护用户信息入库/出库/更新图书管理员Client登录Server提供可视化界面,提高数据可读性,有效采集用户请求系统用例用例图用例描述登录用例名称登录功能简述输入用户名与密码通过验证,方可进入系统。前置条件虚拟智慧图书馆系统Client正确安装并部署,Server数据库正常运行基本流1.图书管理系统管理员或读者启动Client程序2.用户输入ID及口令登录,登录信息将被记录到登录日志中3.Client将数据采集并发送至Server,等待Server返回验证信息4.Client接收Server返回的验证信息,登录虚拟智慧图书馆系统,Client记录登录日志分支与异常第1步,若启动系统程序失败,则报告异常第2步,若登录日志不存在,Client则于指定位置重新创建日志文件第2步,若Client创建或写入日志失败,则报告异常第3步,若输入的登录ID于数据库中不存在,Server返回验证信息,Client则要求用户重新输入ID第3步,若输入的口令与ID并不匹配,Server返回验证信息,Client要求用户重新输入口令后置条件无备注无借阅用例名称借阅功能简述用户在“借阅”界面输入图书ISBN号,可使得图书状态转为“已借阅”,并生成借阅日期前置条件Client成功登陆系统,与Server数据库连接通路正常基本流1.进入借阅模式窗口2.输入欲借阅图书的ISBN号3.将此次借阅详情添加入“借阅/归还日志”中4.添加成功后,记录借阅日期,并更新库存图书书目5.用户的借书记录中增加该书条目,并添加于借阅历史中分支与异常第2步,若用户状态为”forbidden”,则拒绝借阅,并报告“您已被暂时停止借书权限”第2步,若用户可借阅数量不足,则拒绝借阅,并报告“超过允许借书数额”第2步,若图书库存数量为0,则拒绝借阅,并报告”请联系管理员”第3步,若无“借阅/归还日志”,则自动建立第3步,若无法建立日志或无法写入日志,则报告异常,显示“借阅失败”。中止借阅过程后置条件无备注无还书用例名称还书功能简述用户在“还书“界面输入图书ISBN号,前置条件Client登陆成功,和Server数据库连接通路正常,该用户有借书记录基本流1.进入还书模式窗口2.输入欲还图书的ISBN号3.将此次还书详情添加入“借阅/归还日志”中4.添加成功后,比较还书日期与借阅日期,判断是否超期5.更新图书数据库库存信息6.用户的借书记录中,该书本借阅记录删除分支与异常第3步,若无“借阅/归还日志”,则自动建立。第3步,若无法建立日志或无法写入日志,则报告异常,显示“借阅失败”。中止借阅过程。第4步,记录还书日期,并与借阅日期及续借情况比较,若超期,则将用户状态改为”status“,暂停其借阅第6步,若借阅记录删除失败,则报告错误后置条件无备注无模糊/精确查询用例名称模糊/精确查询功能简述帮助管理员和用户迅速搜寻所需的书本信息。前置条件Client登陆成功,和Server数据库连接通路正常基本流1.进入查询界面2.输入查询关键词(出版社,作者,ISBN,书名,出版日期等)3.按照关键词在数据库中进行搜索,与Client界面上给出查询结果4.用户可依据需求就某个类别进行排序分支与异常第4步,若排序失败,则报告错误后置条件无备注无续借用例名称续借功能简述帮助用户或管理员续借图书,延长时间限制。前置条件Client登陆成功,与Server数据库连接通路正常,用户有借阅记录且未逾期基本流1.进入续借界面2.输入需要续借的书本ISBN,进行续借3.将续借的情况写入“借阅/归还日志”中4.根据借阅策略增加该用户此图书借阅信息的list_date_back归还日期分支与异常第1步,若进入续借界面失败,则报告错误第2步,若书本已逾期,则不得提供续借的服务,报告”无法续借”第3步,若相关日志不存在,则重新创建日志文件第3步,若创建或写入日志失败,则报告异常。中止续借过程,续借失败第4步,若修改归还日期失败,则报告错误后置条件无备注无个人信息状态查询用例名称个人信息状态查询功能简述帮助用户查询自己借书记录及相关情况前置条件Client登陆系统成功,与Server数据库连接通路正常基本流1.进入个人信息状态查询界面2.和Server数据库通信,请求返回数据库中关于登陆用户的可查看状态信息,显示于Client端界面分支与异常第1步,若进入个人信息状态查询界面失败,则报告错误第2步,若Server未成功返回用户信息,则报告错误后置条件无备注无入库/出库/更新图书用例名称入库/出库/更新图书功能简述管理员用户可对图书数据库进行更新。前置条件Client登陆成功,且为管理员账户,与Server数据库连接通路正常基本流1.进入入库/出库/更新图书界面2.选择相应功能3.添加/删除/更新确认后,完成数据库更新4.将相应操作情况添加入数据库管理操作日志分支与异常第2步,若选择“入库”,则要求输入入库书籍所有信息,确认后添加到数据库中第2步,若选择“出库”,则要求输入书籍的ISBN号,返回图书信息,经过二次确认后,从数据库中剔除。“出库”书籍状态若为“已借阅”,则禁止操作第2步,若选择“更新”,则可以通过对数据库数据检索,选择需要更新的书籍进行修改信息操作。书籍状态若为“已借阅”,则禁止操作第3步,若操作失败,则报告异常第4步,若相关日志不存在,则重新创建日志文件第4步,若创建或写入日志失败,则报告异常后置条件无备注无增添/删除/维护用户信息用例名称增添/删除/维护用户信息功能简述管理员用户可对用户数据库资料进行更新或修改。前置条件Client登陆成功,且为管理员账户,与Server数据库连接通路正常基本流1.进入增添/删除/维护用户信息界面2.选择相应功能3.添加/删除/更新确认后,完成数据库更新4.将相应操作情况添加入数据库管理操作日志分支与异常第2步,若选择“增添”,则要求输入欲增添的所有用户信息,确认后添加到数据库中第2步,若选择“删除”,则要求输入用户ID,返回用户信息进行二次确认后,从数据库中剔除,若“删除”用户借阅记录中还有书籍,则在确认时进行提醒第2步,若选择“更新”,则可以通过对数据库数据检索,在数据库中选择需要更新的用户进行更新修改信息操作第3步,若操作失败,则报告错误第4步,若相关日志不存在,则重新创建日志文件第4步,若创建或写入日志失败,则报告异常后置条件无备注无代码分析/*******************************************/#ifndefDATAACC_H#defineDATAACC_H#include""#include#include#includeexternintusr_id;/*数据库交互类*/classDataAcc{public:DataAcc();~DataAcc();/**************************************************************************loginCheck检查帐户名和口令是否和数据库中的信息匹配,以决定是否连接数据库*只能输入由数字、26个英文字母或下划线组成的字符串,账户口令出错时将返回提示*形参表中为QString&类型的usr和pwd,分别对应帐户名和口令*************************************************************************/boolloginCheck(constQString&usr,constQString&pwd);/**************************************************************************serch用于执行精确/模糊搜索*显示书目结果包括isbn号,书名name,作者author,出版商publisher,*出版日期pub_date,借阅状态available,总量total,库存store*形参表中为QSqlQueryModel*类型的结果显示表及QString&类型的书名name,作者author及pub出版日期*QSqlQueryModel为Qt提供,用于存放SQL查询结果的类************************************************************************/boolsearch(QSqlQueryModel*model,constQString&name,constQString&author,constQString&pub);/**************************************************************************sortByPubDate将现有查询结果按出版日期从早到晚排序*形参表中为QSqlQueryModel*类型的结果显示表*origin保存之前已有的SQL语句,后加SQL语句中的order语句**************************************************************************/voidsortByPubDate(QSqlQueryModel*model,constQString&origin);/**************************************************************************getUserInfo用于处理用户信息查询*将返回用户信息,当前借阅情况,历史节约情况*形参表中的Qtring*类型info用于保存显示的用户信息,内容在函数中定义*而QSqlQueryModel*类型的结果显示表,接受传入present和history表的地址,分别代表当前借阅和历史借阅**************************************************************************/voidgetUserInfo(QString*info,QSqlQueryModel*present,QSqlQueryModel*history);/**************************************************************************loanBook完成借书过程*若书名在数据库中是不存在,或库存为0,则借阅失败,返回提示*若借阅成功,将增加相应读者的借书记录,记录借阅时间,并且该图书的库存减1*形参表中的Qstring类型接受书名bookName的传入**************************************************************************/boolloanBook(QStringbookName);/**************************************************************************backBook完成借书过程*若书名在该用户历史中是不存在,则还书失败,返回提示*若还书成功,在该读者的借书记录中加入还书时间,并且该图书的库存加1*形参表中的Qstring类型接受书名bookName的传入**************************************************************************/boolbackBook(QStringbookName);private://指向数据库连接类对象的指针dbcDBConnect*dbc;};#endif//DATAACC_H
/
本文档为【虚拟智慧图书馆项目】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索