版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE1第1章绪论1.1图书馆建设过程中存在的问题目前,在我们实际生活中,图书馆在实际管理中涉及的方法和要求很多,不只是要满足用户在图书馆管理中的需求,而且要处理好设备、图书等问题,而图书馆的图书管理系统的开发可以提高文献信息的使用效率,将资源利用效率提高,方便读者的使用,避免资源浪费。(1)手工检索难度大由于图书馆的藏书种目相当复杂,数量也是非常的庞大。在现实生活中,我们如果已经将图书准确的分类存放在图书馆中,即使是已经记录了图书在图书馆中的位置,手工进行检索的话难度也是相当的大的,最后查到具体的图书信息后还有可能馆中的图书就已经被借完了。当一个图书馆的规模越大,这种现象也就是愈加的明显。(2)还书、借书工作量大如果一个图书馆的借书与还书的压力比较大,频率大,那么说明这个图书馆所发挥的作用大,那么这个图书馆的不可替代性就越强。但是大量的还书、借书登记,当前图书的库存信息的更新任务还有便是过期图书的处理等操作,随之而来的便是人工操作上的失误,这样不仅导致人力物力的浪费,而且效率还是相当的低下。(3)统计任务艰巨、库存藏书不能及时更新学校图书馆的图书种类和数量应该根据当前学校和社会发展的需求,科学的制定相应的计划,而后人工的进行相应的增加和更新,但是随着人们对美好生活的向往越来越高,社会上出版的图书的种类和数量也是与日俱增,再加上借书还书的过程中不可避免的磨损,人为的损坏,使得我们图书的统计工作任务是更加的艰巨,往往都会推迟或者不能完成,图书的更新也就很难有针对性的进行,图书的种类分布不能有很好的分布,也就不能适应当前学校和社会的发展。1.2课题研究的意义和目的信息技术快速发展,其正在逐渐成为社会进入现代化的标志。国内大中型院校的图书馆和一些企业内部,还有便是书店正在面临着读者和书籍双激增的情况,在它们正常的运行过程中将面临着大量的信息,包括还书信息、借书信息等。因此,对各种信息、资源的再管理成为重中之重的任务,这要求我们及时了解各个环节中信息的更改,及时对数据进行相应的处理。为了提高校图书馆的管理层对当前藏书的管理,以便能够更好的服务在校学生,尽可能满足在校学生的需要,提高馆内的人员工作效率,这就要求我们需要设计出一套新的图书馆信息管理系统。为了更好的服务读者,结合当下微信的普及,推出网页和微信小程序结合的方式,可以更加便民化。本系统涉及以下核心功能:借阅管理模块、图书管理模块、用户管理模块、文章发布模块等,除了这些核心的功能,还包括一些辅助的功能,如登录、注销、图表展示、借阅提醒、精品图书的推荐等。1.3可行性分析1.3.1技术可行性技术可行性主要是从当前项目采用的技术方案角度考虑出发,合理的设计符合用户需求的可行方法,并进行相互的比较和评价。本系统的开发语言主要是Java,JSP等,前期技术储备还是比较足,调试也是比较的简单,目前使用的开发环境所要求的计算机硬件配置较低。当前市场上的技术性框架非常的多,并且软件的开发平台相对来说是比较成熟的,系统运行和部署的速度快、效率高,具有及时性,文件的存储容量大,可靠性不错,对高并发的处理好。因此,技术是可以完全满足系统的需要。1.3.2经济可行性经济可行性是从资源配置的角度评估系统的经济效益,评估项目付出的成本和能够回报的效益比。本图书馆管理系统是作为毕业设计由个人开发,在资金上的投入是相当的少,个人足以可以承受。系统开发成功后交由校图书馆使用,得到的回报足以可以抵消我们在资金上的支出,包括我们之后在新系统上运行、维护所支出的费用。
第2章需求分析2.1功能性需求功能性需求就是软件必须完成的需求任务,一定要实现的功能,还有便是完成这些功能所执行的动作,这些都需要用户提供需求。完成功能性需求,需要开发人员与需求用户进行交流,了解并且核实用户自己的需求。当然,用户需求不总是被转变成为功能需求,这就需要我们与用户进行充分的交流了解之后,设计出一个合理的开发需求规格说明书。2.1.1功能划分图书馆管理系统的系统开发分为网页端和小程序端两个部分。系统软件的具体功能如下所示:网页端:查询功能;插入功能;修改功能;删除功能;浏览功能;分析功能;其他功能;小程序端:首页模块;借阅模块;搜索模块;设置模块;2.1.2功能描述网页端:查询功能按照图书的相应属性进行模糊查询(图书管理模块);按照用户的相应属性进行模糊查询;(用户管理模块)按照图书与用户之间的相应关系进行查询(借阅管理模块);按照日志的相应属性进行查询;(借阅管理模块)对已发布的文章进行查询;(文章发布模块)插入功能增加一条用户记录;(用户管理模块)增加一条图书记录;(图书管理模块)增加一条日志记录;(借阅管理模块)增加一条借阅记录;(借阅管理模块)增加一条文章记录(文章发布模块)修改功能根据相应条件修改图书记录;(图书管理模块)根据相应条件修改用户记录;(用户管理模块)根局相应条件修改借阅记录;(借阅管理模块)删除功能删除一条记录;(所有模块)浏览功能管理员可以浏览包括但不限于用户的登录日志、用户的信息、用户的借阅日志、图书信息;(所有模块)分析功能管理员可以根据图表对库存的各种数据有一个可视化的印象,对数据有一个大致的印象。(系统分析模块)其他功能后端还具有对个人信息进行展示,用户的注册与登录等其他功能。小程序端:首页模块首页可以发布图书馆的信息,具体的信息可以通过管理员在后台进行增删。首页还有精品推荐的功能,会推荐4本不同种类的图书。如果用户在小程序端绑定了账号并且该账号下存在一周内要还书的借阅信息,那么当该用户首次打开该页面时,会有一个弹窗提示,提示用户归还图书并且显示归还图书的名称。借阅模块借阅页面要求用户在小程序端首先绑定账号,然后可以查询出借阅的图书。用户可以对已借阅的图书进行评论、评分、续约等功能,这些功能只存在有且唯一的入口。搜索模块搜索模块可以对输入的图书进行模糊查询,用户可以查看图书的具体信息,还可以对其他读者的评论进行回复。设置模块该模块可以将用户的微信号和用户账号进行绑定。2.2非功能性需求非功能性的需求是作为功能性需求的补充,软件的需求分析需要包括一些非功能性的分析。主要包括用户对软件性能的需求,软件的界面简洁程度,可操作性等。软件设计必须遵循的相关标准、规范、用户界面设计的具体细节、未来可能的扩充方案等。用户对软件非功能性需求的期望所包含的特性包括在软件质量(或软件因素)中。然而软件质量是很难得到保证的,首先要明确软件开发的目的性,其次要保证软件开发的过程无风险,最终确保软件的质量符合一定的标准。[6]通过与用户的沟通后了解其需求后按照其需求开发的图书馆管理系统提出的要达到的要求如下:系统可以稳定运行、安全可靠;操作简洁、界面友好;易于管理、便于维护;可扩展性强、可以在日后方便扩充功能;2.3设计约束本系统要求必须使用Linux操作系统和MySQL数据库来保证系统性能与经济双平衡。2.4系统用例2.4.1系统参与者根据系统总体的需求分析,我们可以将系统的参与者分为超级管理员、管理员和用户。2.4.2系统用例按照参与者进行系统用例划分,可以到到以下的系统用例。(1)超级管理员的系统用例图如图2-1所示:图2-1超级管理员的系统用例图(2)管理员的系统用例图如图2-2所示:图2-2管理员的系统用例图(3)用户的系统用例图如图2-3所示:图2-3用户的系统用例图2.5开发及运行环境软件系统的开发运行环境不仅仅需要软件的支持,而且也需要依赖于硬件。我们根据当前项目的规模大小和用户的需求综合考虑,选择了系统开发的软硬件产品。图书馆信息管理系统的软硬件如下表2-1所示。表2-1图书馆管理系统的软硬件环境用途软件品牌或厂商运行操作系统CentOS7.4红帽后台开发工具IntelliJIDEAJetBrains小程序开发工具微信开发者工具微信建模工具ProcessOnProcessOn应用服务器Tomcat8.5Apache
第3章系统概要设计系统设计在软件开发流程中有着举足轻重的地位,是相当重要的部分。系统分析包括了系统概要设计、详细设计和系统实现。在本章中我们会对概要设计进行介绍,而在第五章,我们会对详细设计与实现进行详细介绍。在进行概要设计的同时,我们得出了系统的功能模块和数据库设计。3.1.系统模块实现功能3.1.1系统统计模块(网页端)系统设计模块提供了在存图书种类管理的功能。在存图书种类管理完成的功能:通过3D饼状图形象的展现了在存的图书种类占比情况,方便管理人员进行相应的图书增补工作。3.1.2文章发布模块(网页端)文章发布模块提供了新增文章、文章列表两个子功能。新增文章子功能可以向数据库中添加文章标题、编辑人员名称、正文、轮播图等数据。文章列表可以显示当前数据库中添加的文章记录。该文章记录将会配合小程序端使用,具体功能将在下面介绍。3.1.3.借阅管理模块(网页端)本模块提供了图书借阅、图书归还、借阅日志的功能。图书借阅完成的功能:根据读者提供的唯一用户账号和唯一的图书ISBN编号,查询出对应的读者和图书信息,如果查询到图书信息,添加借阅的图书数量后,完成借阅,并将借阅信息添加到借阅表中,否则将会对用户进行图书不可见的提示。图书归还完成的功能:根据读者提供的唯一用户账号和唯一的图书ISBN编号,查询出对应的借阅信息,如果查询到对应的借阅信息,添加归还的图书数量后,完成归还,并将归还信息添加到借阅表中,否则将会对用户进行图书不可见的提示。借阅日志完成的功能:从借阅表中查询出全部的借阅日志信息,供管理员了解。3.1.4图书管理模块(网页端)本模块提供了图书列表、新增图书的功能。图书列表完成的功能:将图书信息从图书表中读出后展现在表格中,提供分页功能,每页默认显示4本图书。新增图书完成的功能:将图书的各种信息包括ISBN编号、图书名称、著作人、出版社、定价、数量、类别、出版日期、封面、简介等信息填入到表单中,对输出框进行校验,必须符合相应的格式才可提交,否则将会对用户进行可视化的提示。该子功能还可以通过导航栏上的新增进入。3.1.5用户管理模块(网页端)本模块提供了新增用户、用户列表、删除的用户、浏览记录的功能。新增图书完成的功能:将用户的各种信息包括账号、用户名、性别(默认男)、级别(默认管理员)、手机、邮箱、密码、图片、城市、介绍等添加到数据库中。该子功能还可以通过导航栏上的新增进入。用户列表完成的功能:从用户表中将数据查询出来并且将他们存放在表格中,提供分页功能。表格中提供了对单条用户进行停启用、编辑、删除的功能。删除的用户完成的功能:查询被软删除的用户信息,可以对被软删除的用户信息进行还原操作。浏览记录完成的功能:从日志表中查询用户的登录信息,并且可视化。管理员可以对登录信息进行删除操作。3.1.6其他功能模块(网页端)其他功能模块提供了登录、注销等功能。3.1.7首页模块(小程序端)首页模块提供了通知展示、精品推荐功能。通知展示与前面网页端的文章发布功能相对应,点击轮播图后进入相应的文章页面。精品推荐完成的功能:后台会根据一定的规则从数据库中选出四种不同的图书推荐给用户。3.1.8借阅模块(小程序端)借阅模块提供了借阅图书查询、图书详情、图书评论、图书评分、图书续约等功能。我们会根据绑定的账号查询该账号所借阅的图书信息,并且可以将具体的图书详情展示出来。我们可以对图书进行评分,一共有五星。还可以对图书进行评论。我们还可以对所借阅的图书进行续约,目前支持支持四档选择,分别是一年、半年、一月、一周。3.1.9搜索模块(小程序端)搜索模块,顾名思义,就是对当前的数据库中的图书进行条件查询,支持模糊查询。对于查询出来的数据,我们可以进行图书详情展示,还可以展示借阅该图书的用户的评论,我们可以对这些评论进行回复或询问。3.1.10我的模块(小程序端)我的模块,就是完成微信登录和账号绑定、解绑的模块。3.2系统功能模块框架本系统的功能模块基本框架如图3-1、3-2所示。图3-1网页端功能模块基本框架图3-2小程序端功能模块基本框架本系统借阅管理模块的功能活动图如图3-3所示图3-3借阅管理模块的功能活动图本系统图书管理模块的功能活动图如图3-4所示图3-4图书管理模块的功能活动图本系统用户管理模块的功能活动图如图3-5所示图3-5用户管理模块的功能活动图本系统系统统计模块的功能活动图如图3-6所示图3-6系统统计模块的功能活动图本系统系统统计模块的功能活动图如图3-7所示图3-7系统统计模块的功能活动图3.3小结综上可知,系统的主要要求和目标如下:本系统采用的系统体系结构既有B/S(Browser/Server)、又包括C/S(Client/Server),B/S架构主要是面向管理员展示,集成了文章发布、借阅管理、图书管理、用户管理、系统统计、登录、注销等功能。C/S架构主要通过微信小程序向用户展示,主要包括图书馆的一些活动或通知的展示,用户的借阅信息,精品图书的推荐,对图书的评论、评分、续约、回复等。同时,客户要求加强安全性,只有超级管理员才可以对用户信息进行管理,普通的管理员无权限对用户信息进行增删改查。为了进一步保证用户的信息安全,我们对用户的密码进行密文保存,使用的是MD5的不可逆的加密算法。软件在设计过程中尽可能保证用户的个人信息的安全性,避免给用户带来的不必要的损失。软件对用户输入的数据进行正确性校验,并且用比较醒目的红色提示标出来,错误不改,表单不能够进行提交。系统采用人性化的界面,客户不需要特别培训,就能后上手,进行操作,这样就可以节省客户的资金和提高用户的工作效率。
第4章数据库设计数据库设计在系统开发的过程中有着极其重要的地位,因此我们要合理设计数据库,这样才可以确保数据的完整性、相对独立性、正确性等。构造最优的数据库设计模式,建立合理的数据库系统,行之有效的使用数据库,和在硬件上提高性能所带来的经济效益相比来说要高的多。在对数据库设计的过程中,我们应该遵循相应的原则,有数据完整性、数据一致性、灵活性等,命名也要符合标准命名规范。在进行数据库设计的同时,也要考虑数据的安全性,毕竟在前面的需求分析中,用户已经提出了相应的要求。4.1系统数据分析系统的功能实现具体体现在各种信息的增加、删除、更改、查询等方面,这就要求数据库能够符合这些要求,能够完成信息的输入输出。收集完各种基本信息后,需要对信息进行分析,设计合理的数据库结构,为后面的系统开发打下坚实的基础。通过对本系统的功能分析后,我们可以从中得出涉及到的实体:用户、图书、借阅、文章、日志、评论、评分、回复、续约等。各个实体的实体属性图如下图所示。用户实体属性图如图4-1所示:图4-1用户信息实体属性图图书实体属性图如图4-2所示:图4-2图书信息实体属性图借阅实体属性图如图4-3所示:
图4-3借阅信息实体属性图日志实体属性图如图4-4所示:图4-4日志信息实体属性图文章实体属性图如图4-5所示:图4-5文章信息实体属性图评论实体属性图如图4-6所示:图4-6评论信息实体属性图回复实体属性图如图4-7所示:图4-7回复信息实体属性图评分实体属性图如图4-8所示:图4-8评分信息实体属性图续约实体属性图如图4-9所示:图4-9续约信息实体属性图对各种实体之间的关系进行处理后,可以得到如图4-10所示的系统E-R图。图4-10系统E-R图通过E-R图的分析和需求分析总结之后,可以得到如下的数据项和内容:(1)用户信息,包括数据项:编号、用户姓名、账户、密码、性别、电话号码、邮箱、图片、城市、备注、级别、最新登录时间、登录次数、可用标志、微信openid。(2)图书信息,包括数据项:编号、ISBN编号、图书名称、作者、价格、出版社、种类、数量、出版时间、图片、简介。(3)借阅信息,包括数据项:编号、账户、用户姓名、ISBN编号、图书名称、数量、借阅时间、借阅平台。(4)日志信息,包括数据项:编号、账户、登录时间。(5)文章信息,包括数据项:编号、头标题、发表时间、正文、作者、图片。(6)评分信息,包含数据项:编号、ISBN编号、账户、评分时间、评分值、图书名。(7)评论信息,包含数据项:评论编号、ISBN编号、图书名称、账户、用户名、评论内容、评论时间、赞数。(8)回复信息,包含数据项:回复编号、账户、用户名、回复评论的编号、回复信息、回复时间。(9)续约信息,包含数据项:ISBN编号、账户、续约时间、扩展时间注:下划线代表主键4.2数据库各表的设计4.2.1用户信息表结构设计(user表)用户信息表主要是用来存储系统的用户信息,其中通过rank列用来标记该用户是超级管理员、管理员还是普通用户,然后用来标识权限。表的具体结构如表4-1所示。表4-1用户信息表结构字段名称数据类型字段长度是否为空说明idint50否编号usernamevarchar50否用户姓名accountvarchar50否账户(主键)passwordvarchar150否密码sexint1是性别phonevarchar13是电话号码emailvarchar50是邮箱imagevarchar250是图片cityvarchar50是城市remarkvarchar350是备注rankint1否级别lasttimevarchar50是最新登录时间logincountint50是登录次数availableint1否可用标志openidvarchar255是微信openidDDL信息:CREATETABLE`user`(`id`int(50)NOTNULLAUTO_INCREMENT,`username`varchar(50)CHARACTERSETutf8mb4NOTNULL,`account`varchar(50)CHARACTERSETutf8mb4NOTNULL,`password`varchar(150)NOTNULL,`sex`int(1)DEFAULTNULL,`phone`varchar(13)DEFAULTNULL,`email`varchar(50)DEFAULTNULL,`image`varchar(250)DEFAULTNULL,`city`varchar(50)DEFAULTNULL,`remark`varchar(350)DEFAULTNULL,`rank`int(1)NOTNULLCOMMENT'级别:1超级管理员2管理员3用户',`lasttime`varchar(50)DEFAULTNULLCOMMENT'最新登录时间时间戳',`logincount`int(50)DEFAULTNULLCOMMENT'登录次数',`available`int(1)NOTNULLCOMMENT'是否可用:1可用0不可用-1删除',`openid`varchar(255)DEFAULTNULL,PRIMARYKEY(`account`),UNIQUEKEY`account`(`account`))ENGINE=InnoDBAUTO_INCREMENT=36DEFAULTCHARSET=utf8;4.2.2图书信息表结构设计(book表)图书表主要存储的是图书的各种信息,包括唯一表示的ISBN编号,是该表的主键,用来唯一标识该表。表的具体结构如表4-2所示。表4-2图书信息表结构字段名称数据类型字段长度是否为空说明idint50否编号bookidvarchar50否ISBN编号(主键)booknamevarchar50否图书名称authorvarchar50否作者pricevarchar50是价格pressvarchar50是出版社kindvarchar50否种类countint20否数量presstimevarchar50是出版时间imagevarchar200否图片introducevarchar500是简介DDL信息:CREATETABLE`book`(`id`int(50)NOTNULLAUTO_INCREMENT,`bookid`varchar(50)NOTNULL,`bookname`varchar(50)NOTNULL,`author`varchar(50)NOTNULL,`price`varchar(50)DEFAULTNULL,`press`varchar(50)DEFAULTNULL,`kind`varchar(50)NOTNULL,`count`int(20)unsignedNOTNULL,`presstime`varchar(50)DEFAULTNULL,`image`varchar(200)NOTNULL,`introduce`varchar(500)DEFAULTNULL,PRIMARYKEY(`bookid`),UNIQUEKEY`bookname`(`bookname`),UNIQUEKEY`image`(`image`))ENGINE=InnoDBAUTO_INCREMENT=79DEFAULTCHARSET=utf8;4.2.3借阅信息表结构设计(borrow表)借阅表主要是来存储用户借阅和归还的图书信息,用户每次借阅或者归还图书时,将图书和用户的信息存储到表中。如果是归还图书,那么数量为正,否则是负数。表的具体结构如表4-3所示。表4-3借阅信息表结构字段名称数据类型字段长度是否为空说明idint20否编号accountvarchar50否账户(主键)usernamevarchar50否用户姓名bookidvarchar50否ISBN编号(主键)booknamevarchar50否图书名称countint50否数量borrowtimevarchar50否借阅时间returntimevarchar50是还书时间platformvarchar255是借阅平台DDL信息:CREATETABLE`borrow`(`id`int(20)NOTNULLAUTO_INCREMENT,`account`varchar(50)NOTNULL,`username`varchar(50)NOTNULL,`bookid`varchar(50)NOTNULL,`bookname`varchar(50)NOTNULL,`count`int(50)NOTNULL,`borrowtime`varchar(50)NOTNULL,`returntime`varchar(50),`platform`varchar(255)DEFAULTNULL,PRIMARYKEY(`account`,`bookid`))ENGINE=InnoDBAUTO_INCREMENT=15DEFAULTCHARSET=utf8;4.2.4日志信息表结构设计(log表)日志表存储的是用户的登录信息。当用户登录成功时会写入到该表中。表的具体结构如表4-4所示。表4-4日志信息表结构字段名称数据类型字段长度是否为空说明idint50否编号(主键)accountvarchar50否账户logintimevarchar50否登录时间DDL信息:CREATETABLE`log`(`id`int(50)NOTNULLAUTO_INCREMENT,`account`varchar(50)NOTNULL,`logintime`varchar(50)NOTNULL,PRIMARYKEY(`id`),KEY`account`(`account`)USINGBTREE)ENGINE=InnoDBAUTO_INCREMENT=255DEFAULTCHARSET=utf8;4.2.5文章信息表结构设计(article表)文章表存储的是小程序端的通知信息,主要是首页顶部的轮播图,用来发布图书馆的信息和通知。表的具体结构如表4-5所示。表4-5文章信息表结构字段名称数据类型字段长度是否为空说明idint20 否编号(主键)publish_accountvarchar50否发布账号headlinevarchar50否头标题timevarchar50是发表时间bodytext-是正文authorvarchar50是作者imgvarchar255否图片DDL信息:CREATETABLE`article`(`id`int(20)NOTNULLAUTO_INCREMENT,`publish_account`varchar(50)NOTNULL,`headline`varchar(50)NOTNULL,`time`varchar(50)DEFAULTNULL,`body`text,`author`varchar(50)DEFAULTNULL,`img`varchar(255)NOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8;4.2.6评论信息表结构设计评论表存储的是小程序端用户对自己借阅图书的评论,发表自己对正在借阅的图书的观点。表的具体结构如表4-6所示。表4-6评论信息表结构字段名称数据类型字段长度是否为空说明comment_idvarchar50否评论编号(主键)bookidvarchar50否ISBN编号booknamevarchar50是图书名称accountvarchar50否账户usernamevarchar50是用户名commenttext-是评论主体comment_timevarchar50是评论时间zan_countint8是赞数DDL信息:CREATETABLE`comment`(`comment_id`varchar(50)NOTNULL,`bookid`varchar(50)NOTNULL,`bookname`varchar(50)DEFAULTNULL,`account`varchar(50)NOTNULL,`username`varchar(50)DEFAULTNULL,`comment`text,`comment_time`varchar(50)DEFAULTNULL,`zan_count`int(8)DEFAULTNULLCOMMENT'赞数',PRIMARYKEY(`comment_id`)USINGBTREE)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='评论表'4.2.7回复信息表结构设计回复表主要是对用户对借阅图书评论的回复的存储。表的具体结构如表4-7所示。表4-7回复信息表结构字段名称数据类型字段长度是否为空说明reply_idvarchar50否回复编号(主键)accountvarchar50否账户usernamevarchar50是用户名reply_comment_idvarchar50否回复评论编号reply_msgtext-是回复主体reply_timevarchar50是回复时间DDL信息:CREATETABLE`reply`(`reply_id`varchar(50)NOTNULLCOMMENT'回复ID',`account`varchar(50)NOTNULLCOMMENT'回复账号',`username`varchar(50)DEFAULTNULLCOMMENT'回复用户名',`reply_comment_id`varchar(50)NOTNULLCOMMENT'回复的评论ID',`reply_msg`textCOMMENT'回复内容',`reply_time`varchar(50)DEFAULTNULLCOMMENT'创建时间',PRIMARYKEY(`reply_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='回复表'4.2.8评分信息表结构设计评分表存储的是用户对自己借阅的图书的评分信息。表的具体结构如表4-8所示。表4-8评分信息表结构字段名称数据类型字段长度是否为空说明idint15否编号(主键)bookidvarchar50是ISBN编号accountvarchar50是账户timevarchar50是评分时间ratingint3是评分值booknamevarchar50是图书名称DDL信息:CREATETABLE`rating`(`id`int(15)NOTNULLAUTO_INCREMENT,`bookid`varchar(50)DEFAULTNULL,`account`varchar(50)DEFAULTNULL,`time`varchar(15)DEFAULTNULL,`rating`int(3)DEFAULTNULL,`bookname`varchar(50)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=17DEFAULTCHARSET=utf8mb44.2.9续约信息表结构设计续约表存储的是用户对借阅图书的续约信息。表的具体结构如表4-9所示。表4-9续约信息表结构字段名称数据类型字段长度是否为空说明bookidvarchar50否ISBN编号(主键)accountvarchar50否账户(主键)timevarchar50是扩展时间(一年、半年、一月、一周)extendtimevarchar50是预约时间(插入时间)DDL信息:CREATETABLE`extendbook`(`bookid`varchar(50)NOTNULL,`account`varchar(50)NOTNULL,`time`varchar(50)DEFAULTNULLCOMMENT'扩展时间一年、半年、一月、一周',`extendtime`varchar(50)DEFAULTNULLCOMMENT'预约时间插入时间',PRIMARYKEY(`bookid`,`account`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4
第5章系统详细设计以上我们经过了需求分析、概要设计和数据库设计之后,软件设计已经进入到了详细设计阶段。在这个阶段,我们的关键任务是设计出更加细致、易于理解、可维护的模块。当然,可以很好的设计这些模块离不开前面的准备。下面便是本系统各个子模块的实现细节。如图5-1所示的系统流程图。图5-1系统流程图5.1用户登录模块(网页端)用户登录功能,提供了简单的权限设计,如果是普通用户则不可以进入到后台,进入到主界面后根据用户的角色,判断是否显示用户管理模块,供用户操作。用户登录的时序图如图5-2所示。图5-2用户登录时序图5.1.1用户登录在浏览器地址栏输入URL后,如果未登录或者session会话过期时,会重定向到登录页面。登录界面如图5-3所示。图5-3登录界面当用户进行登录时,系统会对用户输入的数据进行登录前的校验。如果用户没有输入账号或者密码,那么系统将会用醒目的红字提示账户或者密码不准为空。如果登录成功,那么就会根据角色显示不同的模块。主界面如图5-4所示。图5-4主界面根据现实需要,本系统并未提供注册功能,由管理员直接在后台往数据库中输入。5.1.2用户注销当用户要离开当前操作或者需要更换其他管理员时,就需要将当前的session销毁,并且界面要重定向到登录界面。5.2借阅管理模块(网页端)借阅管理模块包含了图书归还、图书借阅、借阅日志的功能。模块的类图如图5-5所示。图5-5借阅管理模块类图5.2.1图书借阅图书借阅的界面如图5-6所示。图5-6图书借阅界面输入用户账号和图书ISBN编号到表单,点击借阅后,软件会向后台查询用户和图书的信息,根据图书数量限制用户在“借阅数量”中的输入范围,点击“借阅”后即可完成借阅。5.2.2图书归还图书归还的界面如图5-7所示。图5-7图书归还界面和图书借阅界面比较相似,但是图书查询语句不同,向借阅表中查询借阅的图书信息,如果没有匹配结果则显示“未查询到信息”。归还时,向表格中输入归还数量后点击“归还”即可完成借阅。5.2.3借阅日志借阅日志的界面如图5-8所示。图5-8借阅日志界面借阅日志的功能是用表格将数据借阅或者归还的日志显示出来,每页默认显示5条记录,表格也支持对账号的模糊查询。表格的左下方显示了当前页显示的记录的起始位置,右上角显示的是模糊查询后的记录总数量。5.3图书管理模块(网页端)图书管理模块包含了图书列表、新增图书的功能。模块的类图如图5-9所示。图5-9图书管理模块类图5.3.1图书列表图书列表的界面如图5-10所示。图5-10图书列表的界面图书列表负责将数据库中在存的图书信息,并且负责对图书信息进行编辑与删除。表格支持模糊查询,查询条件可以是ISBN编号、作者和图书种类。后台查询使用的是动态SQL,所以可以对未填入和填入信息的表格进行统一处理。点击编辑图标时,系统会将当前图书信息传到弹出的界面中,新界面表格可以自动填充,编辑的界面如图5-11所示。图5-11图书编辑界面如果需要对当前图书信息进行修改,那么修改完后点击“提交”即可。如果需要对删除当前图书,那么点击“删除”即可。5.3.2新增图书新增图书的界面如图5-12所示。图5-12新增图书界面新增图书负责将新增加的图书信息添加到数据库中。系统对输入的信息格式进行了限定,这样可以保证录入数据的正确性,点击“提交”即可完成图书新增。当然,图书的新增入口还可以从导航栏上方的新增入口进入。5.4用户管理(网页端)用户管理模块包含了用户列表、删除的用户、浏览记录功能。主要是对当前系统中的用户包括超级管理员、管理员、普通用户进行管理。目前规定的是只有超级管理员才能进行用户的增删改查,其他角色的用户系统不会对他们进行显示,这就从根本进行了权限的划分。模块的类图如图5-13所示。图5-13用户管理类图5.4.1用户列表用户列表的界面如图5-14所示。图5-14用户列表界面用户列表和上面图书列表大致相似,也包括了模糊查询,分页的功能,主要是展现当前的数据库中用户的available为非-1的用户,即为非删除的用户。在操作一栏中,有停复用、编辑和删除的按钮。停复用按钮是对当前的用户进行停复用,如果是停用状态,那么用户登录不了,也借阅、归还不了图书。删除按钮不会对数据库中的数据进行物理的删除,只是在逻辑上进行删除,也就是软删除。编辑按钮和上面的图书编辑一样,会将数据传到弹出的界面中进行自动填充。编辑界面如图5-15所示。图5-15用户编辑界面5.4.2删除的用户删除的用户的界面如图5-16所示。图5-16删除的用户界面删除的用户展现的是数据库中用户表属性available为-1的记录,表示软删除的用户,操作栏中可以对删除的用户进行还原。5.4.3浏览记录浏览记录的界面如图5-17所示。图5-17浏览记录界面浏览记录展现的是登录记录,用户正确登录的时候就会向该图表中添加。5.4.4新增用户新增用户的界面如图5-18所示。图5-18新增用户界面新增用户可以将一条用户的信息包括账号、用户名、性别(默认男)、级别(默认管理员)、手机、邮箱、密码、头像、城市、备注等信息插入到数据库中,格式不符合的话会给出醒目的红色提示。当然,图书的新增入口还可以从导航栏上方的新增入口进入。5.5系统统计(网页端)系统统计模块主要是对当前数据库中的数据通过图表的形式进行展现,目前主要包含在存图书种类管理的功能,以后还可以进行扩展,这也符合设计要求中的可扩展性。5.5.1在存图书种类管理在存图书种类管理的界面如图5-19所示。图5-19在存图书种类管理界面界面显示的是所有的不同种类图书的数量占比,通过3D饼状图显示出来。5.6文章发布模块(网页端)文章发布模块担任的任务主要是发布当前图书馆的文章,包括通知,这是与下面会介绍的小程序搭配使用的。5.6.1新增文章新增文章界面如图5-20所示。图5-20新增文章界面管理员可以将通知的信息插入到数据库中,信息包括标题、编辑、正文、轮播图片等。5.6.2文章列表文章列表界面如图5-21所示。图5-21文章列表界面5.7首页模块(小程序)小程序模块是与系统主体模块分离的实体,可以算是系统的另一个重要的组成部分,主要是用来方便普通用户。小程序支持首页模块、借阅模块、搜索模块、我的(设置)模块等功能。首页主要是管理员对图书馆的信息和通知进行发布,并且对当前的主要精品图书进行推荐。5.7.1文章通知文章通知的界面如图5-22所示。图5-22小程序首页通知界面文章通知是根据当前图书馆发布的信息进行显示,增删可以通过管理员在网页端进行操作。5.7.2精品推荐精品推荐的界面如图5-23所示。图5-23精品推荐界面精品推荐是系统通过一定的算法随机从系统中查出四种不同种类的图书,进行展示。5.8借阅模块(小程序)主要是查询当前微信号绑定的账号的借阅信息,并且对图书进行相应的操作。5.8.1借阅详情借阅详情的界面如图5-24所示。图5-24借阅详情界面点击“知道了”可以进行界面返回到上图左边界面。5.8.2图书评分图书评分的界面如图5-25所示。图5-25图书评分界面用户可以根据自己对图书的印象进行评分,一共有十分,由五个星代表。5.8.3图书评论图书评论的界面如图5-26所示。图5-26图书评论界面用户可以输入最多250个字符,输入框可以实时计数,“确定”按钮可以对字符进行提交并且界面返回。5.8.3图书续约图书续约的界面如图5-27所示。图5-27图书续约界面正如提示所说,续约支持的时间是一年、半年、一月、一周四个档次,而且一名用户对同一种图书只支持一次续约。5.9搜索模块(小程序)搜索模块只要是对当前的数据库进行查询。5.9.1搜索图书搜索图书的界面如图5-28所示。图5-28搜索图书的界面5.9.2交互搜索模块一个比较重要的功能就是展示当前图书的评论、回复、点赞。界面如图5-29所示。图5-29评论、回复、点赞界面5.10账号绑定(小程序)“我的”界面会对微信号和用户账号进行绑定、解绑,这样就可以用微信号登录。小程序的用户登录绑定流程图如图5-30所示。图5-30小程序的用户登录绑定流程图“我的”界面如图5-31所示。图5-31“我的”界面
第6章系统软件测试软件测试在软件工程中有着比较重要的地位,目的是对软件开发和发布后的系统进行测试并且分析软件测试结果,这样可以让我们及时发现软件中的错误,并且将发现的错误反馈给开发人员进行修改,确保发布后的系统符合需求分析所规定的功能和要求。6.1软件测试分类软件测试分成白盒测试、黑盒测试和灰盒测试。开发的软件被看成是一个盒子。如果这个盒子是“黑”的,不能看到里面的具体内容和流程,那么这种测试便是黑盒测试。反之,如果我们能够看到程序的流程,能够看到软件内部的结构,那么这种测试便是白盒测试。6.2测试用例6.2.1测试特殊输入框校验验证的测试用例表6-1日期输入框校验测试用例测试用例编号TSGL_ST_XZTS_PreTIME_001测试项目新增图书子模块输入框校验测试标题日期输入框校验重要级别中预置条件填写输入测试目标输入2019年01操作步骤输入日期点击提交预期输出系统显示提示框提示:请输入正确的日期格式测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 横纹肌溶解综合征规范化认知与临床诊疗
- 英语口语考试必知题目与巧妙答案
- 考研体育复试试题及参考答案
- 桓温北伐燕国题目答案与解析
- 儿科窒息问题试题与答案
- 2025-2026学年德阳市中江县四年级数学第二学期期末调研模拟试题(含答案解析)
- 版画知识点相关试题及答案
- 2025-2026学年山西省忻州市七一路小学三年级数学第二学期期中学业水平测试试题(含答案)
- 2025-2026学年山东省德州市庆云县数学四年级下学期期中监测试题(含答案解析)
- 济宁期末英语试题全解及答案
- 2026湖北黄石市阳新县事业单位统一招聘107人考试参考题库及答案详解
- 2026年新疆事业单位招聘考试《职业能力倾向测验》真题
- 2026年天津卷高考语文作文全新真题解读及五篇范文
- 2026西藏拉萨市市直机关事业单位遴选(招聘)公务员(工作人员)19人考试备考试题及答案详解
- 2026年高考全国1卷语文高考真题含答案
- BIM-建筑工程计量与计价 课件 第1、2章 工程造价概述、建筑面积计算 (2023 年规范 )
- 2026年军队文职营房管理面试面试宝典
- 国企工程管理岗笔试试题及答案
- 安徽宣城市2025-2026学年高一上学期期末检测物理试题(原卷版)
- 2026中信证券IT数据岗笔试题及答案考点速记版
- 恶性综合征护理
评论
0/150
提交评论