【综合实训】图书管理系统——详细设计说明书

【综合实训】图书管理系统——详细设计说明书文章目录1引言1.1编写目的1.2项目背景1.3定义1.4参考资料2总体设计2.1需求概述2.2软件结构3模块描述3.1模块基本信息3.2功能概述3.3算法3.4模块处理逻辑3.5接口3.6性能3.7测试计划1引言1.1编写目的  本报告的目的是对高校图书管理系统进行详细设计说明,以便用户及项目开发人员了解产品详细的设计与实现,为开发人员提供开发参考书。以下叙述将结合文字描述、伪代码,图表等来描述高校图书管理系统的详细设计和相关的模块描述。本报告的预期读者有客户、项

大家好,又见面了,我是你们的朋友全栈君。

【备注】本说明书由华中农业大学2018级计算机科学与技术专业的刘铠铭、崔凌浩、卢家伟三位同学共同完成。

1 引言

1.1 编写目的

  本报告的目的是对高校图书管理系统进行详细设计说明,以便用户及项目开发人员了解产品详细的设计与实现,为开发人员提供开发参考书。以下叙述将结合文字描述、伪代码,图表等来描述高校图书管理系统的详细设计和相关的模块描述。本报告的预期读者有客户、项目经理、开发人员以及跟该项目相关的其他竞争人员。

1.2 项目背景

  高校图书管理系统由华中农业大学大学李芳芳老师提出,由刘铠铭、崔凌浩、卢家伟等人进行后续的开发和实施工作,该项目适用于高校图书馆的管理人员和读者。

1.3 定义

1.4 参考资料

[1]窦万峰.软件工程方法与实践(第三版).北京:机械工业出版社,2016

[2]王珊/萨师煊.数据库系统概论(第五版).北京:高等教育出版社,2014

[3]《高校图书管理系统需求规格说明书》

[4]《高校图书管理系统概要设计说明书》

2 总体设计

2.1 需求概述

(1)图书信息的管理,包括图书信息的录入和修改、删除。

(2)读者信息的管理,包括建立读者档案,修改读者信息、查询和注销功能。

(3)图书信息检索,能根据书号、书名、作者、出版单位、内容提要关键字、分类号、索书号等进行查询。

(4)图书借阅与归还,记录图书借阅与归还信息,能判断该书是否可借,借书证是否超出最大出借数,对超期未还图书进行罚款,对丢失图书进行登记。

2.2 软件结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-axFAbQDv-1620384530559)(file:///C:\Users\User\AppData\Local\Temp\ksohtml12176\wps4.jpg)]

        图1 高校图书管理系统的软件结构图

描述:高校图书管理系统向下划分为读者管理、图书管理、系统管理和借阅管理四个模块。读者管理主要负责对读者的信息进行管理,以及向读者发送借阅信息和读者查询图书信息;图书管理主要负责对图书的信息进行管理,以及管理员进行图书的查询和判断图书逾期;系统管理主要负责管理员的登录;借阅管理主要负责读者进行借书、还书和图书挂失操作,以及向读者反馈罚款信息。

3 模块描述

3.1 模块基本信息

   对模块进行简要描述,包括名称、编号、设计者、所在文件、所在库。

3.2 功能概述

表1 功能描述

编号 说明
011.11.21.31.41.522.12.22.32.42.5344.14.24.3 高校图书管理系统系统:读者管理,图书管理,系统管理,借阅管理读者管理建立读者档案,建立新的读者信息修改读者信息,读者修改个人信息注销读者信息,读者注销个人信息发送借阅信息查询图书信息图书管理录入图书信息,管理员录入图书信息修改图书信息,管理员修改图书的部分信息删除图书信息,管理员删除图书的全部信息查询图书信息判断图书逾期,管理员根据读者是否逾期借书发送罚款信息系统管理,管理员登陆借阅管理借书,读者选择借书操作还书,读者选择还书操作图书挂失,读者选择图书挂失操作

  如表1所示,表格第一列是模块编号,表格第二列是说明信息。该表对模块的功能进行了概述。

3.3 算法

3.4 模块处理逻辑

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-agPlEl1U-1620384530566)(file:///C:\Users\User\AppData\Local\Temp\ksohtml12176\wps5.jpg)]

          图2 读者管理程序流程图

  图2为读者管理的程序流程图,新读者要先注册,然后建立读者档案,之后再选择登陆,已经注册过的读者可以直接进行登录,登录之后进入主页面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyiHyf85-1620384530569)(file:///C:\Users\User\AppData\Local\Temp\ksohtml12176\wps6.jpg)]

          图3 查询图书信息程序流程图

  图3为查询图书信息的查询流程图,该模块首先进入等待用户输入搜索信息状态。如果用户已经输入则获取用户输入并根据输入的搜索关键字在图书库中匹配图书最后退出。如果用户未输入则模块继续处于等待用户输入搜索信息状态。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lr9hctFZ-1620384530574)(file:///C:\Users\User\AppData\Local\Temp\ksohtml12176\wps7.jpg)]

          图4 判断图书逾期程序流程图

  图4为判断图书逾期的程序数据流图,管理员发出判断逾期的请求,然后进行判断图书是否逾期,如果逾期的话会向读者发送罚款信息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JEPhkxSc-1620384530578)(file:///C:\Users\User\AppData\Local\Temp\ksohtml12176\wps8.jpg)]

          图5 读者借书程序流程图

  图5是读者借书的程序流程图,该模块首先进入等待用户借书请求状态。如果用户发出请求则生成借书信息并写入图书借阅库,如果用户未发出请求则模块继续处于等待用户借书请求状态。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OCNr6R3j-1620384530581)(file:///C:\Users\User\AppData\Local\Temp\ksohtml12176\wps9.jpg)]

          图6 读者还书程序流程图

  图6是读者还书的程序流程图,该模块首先进入等待用户还书请求状态。如果用户发出请求则生成还书信息并写入图书借阅库,如果用户未发出请求则模块继续处于等待用户还书请求状态。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3s30a9gj-1620384530584)(file:///C:\Users\User\AppData\Local\Temp\ksohtml12176\wps10.jpg)]

          图7 读者图书挂失程序流程图

  图7是读者图书挂失的程序流程图,该模块首先进入等待用户挂失请求状态。如果用户发出请求则生成挂失记录并向读者反馈罚款信息,如果用户未发出请求则模块继续处于等待用户挂失请求状态。

3.5 接口

(1)读者信息

数据名称 数据类型
email vchar型
password vchar型
current_num int型
max_num int型
user_name vchar型
gender vchar型
tel vchar型
qq vchar型
introduction text型

(2)管理员信息

数据名称 数据类型
admin_email vchar型
admin_name vchar型
admin_password vchar型

(3)借阅信息

数据名称 数据类型
record_id int型
email vchar型
book_id vchar型
borrow_time date & time型
return_time date & time型
record_state int型
fine_state int型

(4)罚款信息

数据名称 数据类型
penalty_id int型
record_id int型
email vchar型
penalty_bill float型
penalty_state int型

(5)图书信息

数据名称 数据类型
book_id vchar型
book_index vchar型
book_classify vchar型
book_name vchar型
book_author vchar型
book_press vchar型
book_introduction text型
book_restnum int型
book_totalnum int型

3.6 性能

精度

  要按照严格的数据格式输入,不能输入非法字符,否则系统不给予响应进行处理,查询时要保证准确率为100%,所有包含查询关键字的书籍都应能查到,不能有遗漏。

时间特性:

(1)响应时间:用户任意操作后5秒内系统给予反馈信息。

(2)更新处理时间:由系统运行状态来决定。

(3)数据的转换和传送时间:能够在20秒内完成。

灵活性:

  当需求发生某些变化时,该软件的基本操作、数据结构、运行环境等等基本不会发生变化,只是对系统的数据库的文件和记录进行处理,就可以满足需求。

3.7 测试计划

列出本模块的单元测试计划。

以测试用例形式给出:输入数据、预期结果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139596.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 未来取代计算机电脑,还在用电脑?未来几年它可能被手机取代

    未来取代计算机电脑,还在用电脑?未来几年它可能被手机取代据统计,家用计算机中九成的用户平时只做网页浏览、文档处理、简单的图像处理、游戏等操作,很少使用专业的设计和分析软件。所以家用计算机并不需要太高的配置,如果打游戏,一块好点的显卡就够了。在计算能力方面,随着手机硬件配置逐步增强,除了应付手机本身的各种应用,计算资源已经显得富裕起来,使得手机代替部分计算机成为可能。网络方面,提速减费政策后,无论有线网络还是无线网络的带宽都已不是问题,4G网络的费用也在…

    2022年5月13日
    70
  • Linux node 安装教程[通俗易懂]

    Linux node 安装教程[通俗易懂]1、下载node2、上传到linux服务器/usr/local目录下3、将tar.xz解压成tar文件xz-dnode-xxxx.tar.xz4、将tar文件解压成文件夹tar-xvfnode-xxxx.tar5、改文件夹的名字,改成nodejsmvnode-xxxnode6、检测是否安装成功7、建立软连接ln-s/usr/local/nodejs/bin/node/usr/local/binln-s/usr/local/nodejs/bin/npm

    2022年9月12日
    0
  • 子网划分介绍以及如何划分子网(例题详解)

    子网划分介绍以及如何划分子网(例题详解)子网划分这项技术用来把一个单一的IP网络地址划分成多个更小的子网(subnet)。这种技术可使一个较大的分类IP地址能够被进一步划分为几个子网。这样就可以让使用一个大的分类地址(classfuladdress)的企业能给该企业中处于不同地理位置的分公司分配不同的子网,对外整个企业是一个网络地址,而在内部,不同分公司则有不同的子网地址,因而不需要为每个站点都分别申请一个网络地址。子网划分通常是把IP地址中主机标识部分划出一定的位数用作本网的各个子网,剩余的主机标识作为相应子网的主机标识部分。

    2022年6月27日
    34
  • Pygame安装的详细说明

    Pygame安装的详细说明Pygame的安装在未安装好pygame模块时,我们在使用pygame开发游戏就回发生Error:ModuleNotFoundError:Nomodulenamed‘pygame’此时则要安装好pygame模块才可以正常使用pygame模块进行游戏开发。下面详细讲述pygame模块的安装:1.先检查自己的python版本,我们现在用的一般是最新版,例如我下载的是python3….

    2022年5月23日
    68
  • Linux cp一个文件夹时提示cp: omitting directory `test/’

    Linux cp一个文件夹时提示cp: omitting directory `test/’

    2021年10月29日
    61
  • MySQL报错1055 – Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated 解决方法

    MySQL报错1055 – Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated 解决方法

    2020年11月9日
    275

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号