图书管理系统可行性分析报告

一、需求分析:

1.1系统目的:

本系统主要实现对图书馆的信息进行管理,面对校园的学生借书需求,对读者资源,图书资源,借书信息进行管理,本系统的开发就是为了提高图书管理的工作效率,加强图书馆管理。

1.2需求定义

作为学生对图书管理系统的要求有:

  1. 能够查询自己的基本资料
  2. 能够借阅图书情况
  3. 能够查询历史借阅情况

作为图书管理员要,他们对图书管理系统的要求有:

  1. 能方便的对图书进行登入登记,注销陈旧的书籍。
  2. 能够方便地对读者进行登记,或注销读者信息(基本信息)
  3. 能够方便地对读者进行借书、还书登记(借阅信息)

二、功能说明:

系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有5部分:

2.1 图书基本信息

1.书籍标准的制定,包括图书编号、书名、作者、价格。

2.书籍信息的查询,包括图书编号、书名、作者。

3.书籍信息的输入,包括图书编号、书名、作者、价格

2.2办理借书证

1.新生办理借书证

2.丢失办理借书证

2.3实现借书功能

1.借书信息的输入,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,备注信息(到期时间)等。

2.借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,结束日期,备注信息(到期时间)等。

2.4实现还书功能

1.还书信息的输入,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,结束日期,备注信息(到期时间)等。

2.还书信息的查询和修改,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,结束日期,备注信息(到期时间)等。

2.5图书查询

可以对图书进行精确、模糊查询并查询信息以列表的方式呈现给用户,方便用户查找信息,另外对超期的借阅情况自动给出提示信息。

三.系统功能结构图:

四、图书管理系统 E-R图:

五、图书管理借阅数据流图:

六、图书库存信息IPO图:

七、图书管理系统流程图:

被测试的系统流程图:

系统流图白盒测试:

一:.语句覆盖的含义是,选择足够多的测试数据,

使被测程序中的每个语句至少执行一次

管理员界面(B1)

(1.1)START-A-B1-C1-C1.1-C1-D1-E1-F1.1-END

(1.2)START-A-B1-C1-C1.1-C1-D1-E1-F1.2-END

(1.3)START-A-B1-C1-C1.1-C1-D1-E1-F1.3-END

(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END

(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END

(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END

(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END

(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END

(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END

学生界面(B2)

(5)START-A-B2-C2-C2.1-C2-D2-E5-END

(6)START-A-B2-C2-C2.1-C2-D2-E6-END

(7)START-A-B2-C2-C2.1-C2-D2-E7-END

二.判定覆盖又叫分支覆盖,它的含义是,

不仅每个语句必须至少执行一次,

而且每个判定的每种结果都应该至少执行一次,

也就是每个判定的每个分支都至少执行一次

管理员界面(B1)

I:

(1.1)START-A-B1-C1-C1.1-C1-D1-E1-F1.1-END

(1.2)START-A-B1-C1-C1.1-C1-D1-E1-F1.2-END

(1.3)START-A-B1-C1-C1.1-C1-D1-E1-F1.3-END

(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END

(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END

(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END

(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END

(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END

(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END

学生界面(B2)

(5)START-A-B2-C2-D2-E5-END

(6)START-A-B2-C2-D2-E6-END

(7)START-A-B2-C2-D2-E7-END

II:

管理员界面(B1)

(1.1)START-A-B1-C1-D1-E1-F1.1-END

(1.2)START-A-B1-C1-D1-E1-F1.2-END

(1.3)START-A-B1-C1-D1-E1-F1.3-END

(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END

(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END

(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END

(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END

(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END

(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END

学生界面(B2)

(5)START-A-B2-C2-C2.1-C2-D2-E5-END

(6)START-A-B2-C2-C2.1-C2-D2-E6-END

(7)START-A-B2-C2-C2.1-C2-D2-E7-END

3.条件覆盖的含义是,不仅每个语句至少执行一次,

而且是判定表达式中的每个条件都去到各种可能的结果

管理员界面(B1)

I:

(1.1)START-A-B1-C1-C1.1-C1-D1-E1-F1.1-END

(1.2)START-A-B1-C1-C1.1-C1-D1-E1-F1.2-END

(1.3)START-A-B1-C1-C1.1-C1-D1-E1-F1.3-END

(2.1)START-A-B1-C1-C1.1-C1-D1-E2-F2.1-END

(2.2)START-A-B1-C1-C1.1-C1-D1-E2-F2.2-END

(3.1)START-A-B1-C1-C1.1-C1-D1-E3-F3.1-END

(3.2)START-A-B1-C1-C1.1-C1-D1-E3-F3.2-END

(4.1)START-A-B1-C1-C1.1-C1-D1-E4-F4.1-END

(4.2)START-A-B1-C1-C1.1-C1-D1-E4-F4.2-END

学生界面(B2)

(5)START-A-B2-C2-C2.1-C2-D2-E5-END

(6)START-A-B2-C2-C2.1-C2-D2-E6-END

(7)START-A-B2-C2-C2.1-C2-D2-E7-END

II:

管理员界面(B1)

(1.1)START-A-B1-C1-D1-E1-F1.1-END

(1.2)START-A-B1-C1-D1-E1-F1.2-END

(1.3)START-A-B1-C1-D1-E1-F1.3-END

(2.1)START-A-B1-C1-D1-E2-F2.1-END

(2.2)START-A-B1-C1-D1-E2-F2.2-END

(3.1)START-A-B1-C1-D1-E3-F3.1-END

(3.2)START-A-B1-C1-D1-E3-F3.2-END

(4.1)START-A-B1-C1-D1-E4-F4.1-END

(4.2)START-A-B1-C1-D1-E4-F4.2-END

学生界面(B2)

(5)START-A-B2-C2-D2-E5-END

(6)START-A-B2-C2-D2-E6-END

(7)START-A-B2-C2-D2-E7-END

管理员登入界面(黑盒测试)

账号最高十二位,只可英文小写字母和阿拉伯数字,

且第一个必须是英文字母

密码小于八位大余6位 只可数字

(1)有效输入的等价类有:

账号8-12个英文小写字母或数字组成(最高位不为数字)

密码 6-8位数字串

(2)无效输入的等价类有:

账号:

空字符串(全是空格)

最高位是数字

有存在英文字母和数字以外的其他字符

密码:

空字符串(全是空格)

有存在数字以外的其他字符

(3)合法输入的等价类有:

在计算机能表示的长度之内

(4)非法输入的等价类有:

输入长度已超出计算机处理范围之内

更据上面划分出的等价类

账号类:

*账号8-12个英文小写字母或数字组成(最高位不为数字)

输入:‘ruoyun1234’

预期输出:ruoyun1234

*最高位不为数字的字符串,输出时合法的账号

输入:‘ruoyunxc’

预期输出:ruoyunxc

*输入全为英文的字符串,输出时合法的账号

输入:‘     ’

预期输出:错误,不能为空字符串

*输入为空字符串,不符合账号要求

输入:‘45fdsa’

预期输出:错误,第一个字符串不可是数字

* 最高位不为数字的字符串

输入:‘fds%……&45’

预期输出:错误,存在非合法字符

*输入不能存英文字母和数字以外的字符串

边界值分析

输入:‘ruoyunxingche’

预期输出:ruoyunxingche

*使输出刚好等于最大允许的字符串长度

输入:‘ruoyunxc’

预期输出:ruoyunxc

*使输出刚好等于最小允许的字符串长度

输入:‘ruoyunxingchen’

预期输出:字符串过长,不符合要求

*使输出刚好超过最大允许的字符串长度

输入:‘ruoyunx’

预期输出:字符串太短,不符合要求

*使输出刚好小于最小允许的字符串长度

密码:

输入:‘rew343’

预期输出: 错误,存在出数字以外的字符串

*输入只可为数字

输入:‘5257257’

预期输出:*******

*输入成功,合法输入

输入:‘123456789’

预期输出:数字过长,不符合要求

*使输出刚好超过最大允许的数字串长度

输入:‘12345’

预期输出:数字过短,不符合要求

*使输出刚好未超过最小允许的数字串长度

输入:‘12345678’

预期输出:********

*使输出刚好等于最大允许的数字串长度

输入:‘123456’

预期输出:******

*使输出刚好等于最小允许的数字串长度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/106526.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOV7改进-添加CoordConv(坐标卷积)

坐标卷积link 只替换FPN1x1卷积层和检测头中的第一卷积层 1、复制到common文件夹最后 2、做改进对比实验时,不要载入与训练权重 3、yolo.py解析模型里面 4、对yolov7.yaml的配置文件修改 5、对fpn1x1卷积替换

MediaBox助力企业一站式获取音视频能力

以一只音视频百宝箱,应对「千行千面」。 洪炳峰、楚佩斯|作者 大家好,今天我分享的主题是MediaBox——行业音视频数字化再加速。 根据权威数据表明,65%的行业数字化信息来自视频,基于此,音视频技术对于行…

Linux入门教程||Linux系统目录结构

登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时…

【MySQL数据库原理】MySQL Community 8.0界面工具汉化

尝试以下方法来汉化 MySQL Workbench 8.0 的菜单: 1、使用社区翻译版本:有一些热心的社区成员会将 MySQL Workbench 翻译成不同的语言,包括中文。你可以在一些开源或社区网站上寻找这些翻译版本,并按照他们的说明进行安装。 2、…

华为OD机试 - 快速人名查找 - 深度优先搜索dfs(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

记录第一次带后端团队

在过去的一个半月里我第一次作为后端开发组长角色参与公司项目从0到1的开发,记录这一次开发的经历。 1、背景介绍 首先说明一下背景。我所在的公司是做智慧社区相关业务,开发的项目是系统升级工具,方便公司实施同事安装和升级系统。 参与后…

蚂蚁开源编程大模型,提高开发效率

据悉,日前蚂蚁集团首次开源了代码大模型 CodeFuse,而这是蚂蚁自研的代码生成专属大模型,可以根据开发者的输入提供智能建议和实时支持,帮助开发者自动生成代码、自动增加注释、自动生成测试用例、修复和优化代码等kslouitusrtdf。…

131.【MySQL_基础篇】

MySQL_基础篇 (一)、MySQL 介绍1.MySQL三大阶段(1).基础篇(2).进阶篇(3).运维篇 2.MySQL 概念3.数据模型(1).关系型数据库(RDBMS) 4.数据库三大范式 (二)、SQL 编程语言1.SQL通用语法2.SQL 四大分类3.DDL (数据定义语言)(1).数据库操作 ->(增删改查)(2).表操作 -> (增删改…

c++实现数据结构栈和队列

1、栈 头文件 #ifndef ZHAN_H #define ZHAN_H#define MAX 8 #include <iostream> using namespace std;class Shu {int datatype; //入栈的数据int *arr; //栈的数组int top; //记录栈顶元素的下标public://构造函数Shu();//析构函数~Shu();//判断空int stack_empty…

Pytorch Advanced(一) Generative Adversarial Networks

生成对抗神经网络GAN&#xff0c;发挥神经网络的想象力&#xff0c;可以说是十分厉害了 参考 1、AI作家 2、将模糊图变清晰(去雨&#xff0c;去雾&#xff0c;去抖动&#xff0c;去马赛克等)&#xff0c;这需要AI具有“想象力”&#xff0c;能脑补情节&#xff1b; 3、进行数…

使用Pyarmor保护Python脚本不被反向工程

Python可读性强&#xff0c;使用广泛。虽然这种可读性有利于协作&#xff0c;但也增加了未授权访问和滥用的风险。如果未采取适当的保护&#xff0c;竞争对手或恶意攻击者可以复制您的算法和专有逻辑&#xff0c;这将对您软件的完整性和用户的信任产生负面影响。 实施可靠的安…

Java拓展--空间复杂度和时间复杂度

空间复杂度和时间复杂度 文章目录 空间复杂度和时间复杂度空间复杂度时间复杂度**评价排序算法****时间频度****什么是时间频度****忽略常数项****忽略低次项****忽略系数** **时间复杂度****什么是时间复杂度****计算时间复杂度的方法****常见的时间复杂度** **常见的时间复杂…