网上图书馆系统

网上图书馆系统

题目
设计一个网上图书馆系统,实现图书网上检索、预约和续借功能。具体要求如下:
1)系统管理:定义读者类别并设置参数,添加、修改和删除读者信息。
2)图书续借和预约:实现图书的续借、预约等功能。
3)图书检索:按书名或作者等信息进行检索。
4)借阅查询:查询个人借阅情况、未付罚款情况。
其他要求:读者未登录时,只能检索图书,登录后才能使用预约、续借和取消预约图书,查询个人借阅史以及修改密码功能。

《网上图书馆》软件需求规格说明书

目录
1引言 4
1.1编写目的 4
1.2背景 4
1.4参考资料 5
2任务概述 5
2.1 项目概述 5
2.1.1项目来源及背景 5
2.1.2项目目标 5
2.1.3系统功能概述 5
2.2用户特点 6
2.3假定和约束 6
3功能需求 6
3.1功能划分 6
3.2功能描述 7
4数据需求 8
4.1 静态数据 8
4.2 动态数据 9
4.3 数据流图 10
4.4 数据字典 12
4.5 数据库描述 19
5性能需求 20
5.1数据精度 20
5.2时间特性 20
5.3灵活性 21
6运行需求 21
6.1用户界面 21
6.3硬件接口 23
7其他需求 23
7.1验收标准 23
7.2质量属性 24

1引言
1.1编写目的
随着互联网的快速发展,各个企业以及学校等教育机构已经在网上开通方便快捷的应用平台,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。图书管理系统,为政府机关、教育机构与广大企事业单位自动化办公提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2016数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意,从软件的图形应用界面上优化软件质量,提高用户使用感,让用户操作更加简单,使得本系统具有很强的可操作性。
1.2背景
随着计算机产业的发展,计算机在各个行业的应用也越来越普遍。采用计算机软件来管理也逐渐替代了人工管理,计算机管理比人工管理更加简单,有节约人力资源、减少时间成本、快速查找诸多优点。而新建图书管理系统,更是方便管理员对书籍的管理以及用户进行书籍的查阅,比起书本记忆以及人工翻阅,计算机能快速有效的提供书籍信息,给予便利。为此,本开发小组设计一个图书管理软件,方便图书的管理与借阅。本图书管理系统将实现图书室管理员对图书信息修改与读者网上查询与借阅等相关功能。
1.3术语和缩略词
SQL SERVER:系统服务器所使用的数据库管理系统( DBMS)。
SQL:一种用于访问查询数据库的语言
事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK:数据库的错误恢复机制。
1.4参考资料
(1)软件需求规格说明书参考模板
(2)高校医院管理系统需求说明书
(3)软件工程方法与实践 主编:窦万峰 第三版 机械工业出版社

2任务概述
2.1 项目概述
2.1.1项目来源及背景
该项目是华中农业大学图书馆提出的一个面向全校师生及教职工进行图书预约、借阅、归还的管理系统,并安装在华中农业大学图书馆电脑中供读者使用,或供图书馆人员进行管理。

2.1.2项目目标
该项目是为了更方便和更科学地对图书馆图书进行管理、借阅而研发的,目的是让读者能够更准确、更快速地查询、借阅到需要的书籍;图书馆管理人员能够更简单方便地对众多图书进行分类管理,并让读者及管理人员的交互更高效,,使得图书的借阅和管理的效率更理想。
鉴于现存的图书查询效率低下,模糊搜索不够智能、图书管理较为复杂等问题,本项目通过合理的数据库管理及搜索算法优化,能够很好地解决这些图书馆管理系统的缺陷。

2.1.3系统功能概述
该系统主要分为读者客户端功能、图书管理功能、读者管理功能
【读者客户端功能】
1.用户登录
2.用户注册
3.修改用户密码
4.查询图书
5.续借图书
6.预约图书

【图书管理功能】
1.添加书籍
2.查询书籍
3.修改图书
4.删除图书
【读者管理功能】
1.增加用户
2.查询用户
3.修改用户
4.删除用户

2.2用户特点
最终用户一般具有大学本科及以上学历,能够熟练掌握计算机基本操作。若是图书馆工作人员,则需要熟练掌握图书分类管理方法。
本软件是在众多读者及数位管理人员共同操作的情况下使用,使用频率十分频繁。一次需要支持上千人的并发操作。
2.3假定和约束
本项目要求在eclipse 4.5及以上版本进行开发,需要Windows JDK、Windows Builder 的支持,本项目由2018级学生开发,经验不足,需要在教师指导下进行。开发经费较少

3功能需求
3.1功能划分
1、输入功能模块
·添加书籍
·增加用户
·修改用户
·删除用户
2、查询显示功能模块
·查询书籍
·借阅历史
3、预约书籍功能模块
·续借图书
·预约图书
4、登录系统功能模块
·登录
·用户注册
·修改用户密码
3.2功能描述
3.2.1输入功能
名称、标识符 输入功能
功能描述 通过此功能管理员可以输入书籍和读者相关信息
功能编号 添加用户:sr0102,增加用户:sr0103,修改用户:sr0104,删除用户:sr0105
优先级 4
输入 书籍与读者信息
操作序列 管理员输入相关信息
输出 将信息保存至数据库中
补充说明 仅管理员可操作

3.2.2查询显示功能
名称、标识符 查询功能
功能描述 通过此功能可在软件上查询书籍
功能编号 查询书籍:cx0102,查询借阅历史:cx0103
优先级 3
输入 查询关键字
操作序列 读者与管理员在显示控件上输入关键字
输出 与关键字相符的一切信息
补充说明 读者与管理员均可操作

3.2.3续借、预约书籍功能
名称、标识符 书籍续借与预约功能
功能描述 通过此功能读者可在软件上进行书籍的续借与预约
功能编号 续借:jy0103,预约书籍:jy0104
优先级 1
输入 书籍信息
操作序列 读者输入书籍相关信息,对书籍进行操作
输出 操作成功提示
补充说明 读者可操作

3.2.4登录功能
名称、标识符 登录功能
功能描述 通过账号可登录软件进行操作
功能编号 登录:dl01,注册:dl0102,修改密码:dl0103
优先级 2
输入 账号信息
操作序列 读者与管理员输入账号信息
输出 软件登录后页面
补充说明 读者与管理员均可操作

4数据需求
4.1 静态数据
网上图书馆系统的静态数据包括:
书籍(books):
图书编号(bno);
书名(bname);
作者(bauthor);
出版社(bpublish) ;
单价(price);
总数(bnum);
预约数(ordernum);
借阅数(blend);

读者(reader):
读者账号(rid);
姓名(rname);
身份(rtype);
可借册数(borrownum);
已借册数(rnum);
预约册数(ordernum);
欠款(rdebt);

图书借阅记录(borrow):
读者账号(rid);
图书编号(bno);
借阅时间(initialdate);
归还时间(backdate);
续借时间(redate);
到期时间(deadline);
罚款(fine);

图书预约记录(orders):
读者账号(rid);
图书编号(bno);
预约时间(dates);
到期时间(endtime);

借阅类型(borrowtype):
身份(rtype);
可借册数(borrownum);
续借册数(times);
借阅时长(borrowdate);
预约次数(ordernum);

管理员(librarian):
管理员账号(lid);
姓名(lname);
电话(ltel);
4.2 动态数据
输入数据:登录/注册输入的账号、密码
查询方式、查询关键字;
新建图书项、读者项;
图书项、读者项相应纪录更改;
备份数据恢复所需的数据备份文件;
借阅、预约、续借时的图书序号、读者账号、日期;

输出数据: 查询关键字确定的数据库记录的输出;
信息录入、修改、删败结果(成功或失败);
图书借阅、返还、丢失注销等操作结果;
数据备份输出的数据备份文件;

内部数据: 查询操作建立的索引;

4.3 数据流图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.4 数据字典
《网上图书馆系统》的总体功能如下:
●图书的预约续借;
●图书信息查询;
●图书的增删改;
●读者的增刪改;
●图书管理系统数据备份;
●图书管理系统数据恢复;
4.4.1图书的预约续借过程
数据字典
(1)数据流词条:通常使用扩充的BNF范式来描述。对于基本的数据项,通常应明
确其名称,类型,含义,度量单位,有效范围,精度等。

数据流名:图书
说明:记录图书的主要相关信息
数据流来源:读者
数据流去向:借书检验
数据流组成:图书=书号+书名+作者+出版社+价格+总数+借阅数+预约数
图书编号=“A001”…“Z999"
书名=2{字母}24
作者=2{字母}24
出版社=2{字母} 24
价格=“000. 1”…“9999. 9”
借阅数=“00”…“99”
借阅数=“00”…“99”
每个数据量流通量:

数据流名:检验错误
说明:用于指示读者借书错误信息
数据流来源:借书检验
数据流去向:读者
数据流组成:检验错误=2{字母}40
每个数据量流通量:

数据流名:借书信息
说明:用于传递读者号和图书号
数据流来源:借书检验
数据流去向:借书登记
数据流组成:借书信息=读者账号+书号
每个数据量流通量:

数据流名:日期
说明:提供当前日期信息
数据流来源:日历
数据流去向:借书检验,借书登记
数据流组成:日期=年+月十日
年=“0000”…“9999”
月=“01”…“12”
日=“01"…“31":
每个数据量流通量:

数据流名:图书访问记录
说明:用于记录读者借书信息
数据流来源:图书访问记录库,借书登记
数据流去向:借书检验
数据流组成:图书访问记录=书号+读者账号+借书日期
借书日期=日期
每个数据量流通量:

(2)数据文件词条描述: 说明文件的成分和组织形式(如记录排列顺序)等,基本数据项的
说明同数据流。

数据文件名:读者库
简述:存放读者信息
输入数据:
输出数据:读者信息
数据文件组成:读者库由“读者信息”组成
存储方式:关键码
存取频率:

数据文件名:图书库
简述:存放图书信息
输入数据:
输出数据:图书信息
数据文件组成:图书库由“图书信息”组成
存储方式:关键码
存取频率:

数据文件名:图书访问记录库
简述:存放图书访问记录信息
输入数据:图书访问记录
输出数据:图书访问记录
数据文件组成:图书访问记录库由“图书访问记录”组成
存储方式:关键码
存取频率:

(3)加工说明词条,加工说明:编号、加工逻辑常使用自然语或结构化自然语言(如判定树、判定表等)来描述。

加工名:借书检验
加工编号: 1
简要描述:检验读者身份、图书是否入库、读者还能借多少书以此判定读者是否能续借/预约书
输入数据流:读者账号,所借书本,读者信息,图书信息,图书访问记录,日期
输出数据流:借书错误信息,借书信息
加工逻辑:
IF读者账号未登记入库THEN
发出“借书错误’
ELSE IF 图书未登记入库 THEN
发出“借书错误”
ELSE IF 读者已借图书和现借图书多于限制数N THEN
发出“借书错误”
ELSE IF 读者 已借图书中有超期THEN
发出“借书错误”
ELSE发出 “借书信息”
ENDIF
ENDIF
ENDIF
ENDIF

加工名:借书登记
加工编号: 2
简要描述:将“借书信息”登记到“图书访问记录库图书访问记录”中
输入数据流:借书信息,日期
输出数据流:图书访问记录,图书
加工逻辑:将借书信息及日期写入图书访问记录;

4.4.2图书的查询过程

数据字典
(1)数据流名词条

数据流名:查询信息
说明:用于传递查询关键字段
数据流来源:读者,查询许可检验
数据流去向:查询许可检验,数据查询
数据流组成:查询信息= 1 {字母} 50
每个数据量流通量:

数据流名:查询结果
说明:用于显示读者查询的结果
数据流来源:数据查询
数据流去向:读者
数据流组成:查询信息=读者信息+图书信息
每个数据量流通量:

(2)加工说明词条

加工名:查询许可检验
加工编号: 3
简要描述:检验读者身份是否有效
输入数据流:读者账号,查询信息,读者信息
输出数据流:检验错误,查询信息
加工逻辑: IF读者账号在读者库中不存在THEN
发出“检验错误”
ELSE发出 “查询信息”
ENDIF

加工名:数据查询
加工编号: 4
简要描述:根据所读入的查询信息,检索图书库和图书访间记录库得出相应结果
输入数据流:查询信息,图书信息,图书访问记录,日期
输出数据流:查询结果
加工逻辑:根据所读入的查询信息,检索图书库和图书访问记录库得出相应结果

4.4.3管理员的书籍和读者增删改过程

数据字典

(1)数据流名词条

数据流名:管理员信息
说明:用于传递图书管理员的身份信息以备验证
数据流来源:图书管理员,管理员库
数据流去向:身份验证
数据流组成:管理员信息=管理员账号+姓名
账号=“m001”…“m999”
姓名=2{字母}24
每个数据量流通量:

数据流名:操作信息
说明:用于传递图书管理员的操作命令
数据流来源:身份验证
数据流去向:增删改图书或读者
数据流组成:操作信息= 2{字母} 50
每个数据量流通量:

数据流名:操作确认
说明:用于传递增删改图书是否成功
数据流来源:增删效图书或读者
数据流去向:图书管理员
数据流组成:操作确认=1{字母}50
每个数据量流通量:

(2)加工逻辑词条
加工名:身份验证
加工编号: 5
简要描述:根据所读入的管理员信息,检索管理员库验证该人身份
输入数据流:管理员信息,读者或图书
输出数据流:检验错误,操作确认。
加工逻辑:根据所读入的管理员信息。检索管理员库验证该人身份

加工名:增珊改图书或读者
加工编号: 6
简要描述:根据所读入的操作信息,增册改读者库里的内容
输入数据流:操作信息,读者信息
输出数据流:操作确认,读者信息
加工逻辑:根据所读入的操作信息,增删改读者库或图书库里的内容

4.4.4网上图书馆系统数据备份过程

数据字典
(1)加工逻辑词条描述

加工名:身份验证
加工编号: 7
简要描述:根据所读入的管理员信息,检索管理员库验证该人身份
输入数据流:管理员信息,读者
输出数据流:检验错误,操作确认
加工逻辑:根据所读入的管理员信息,检索管理员库验证该人身份

加工名:数据备份
加工编号: 8
简要描述:根据所读入的操作信息,备份数据库中的数据到文件
输入数据流:操作信息
输出数据流:操作确认
加工逻辑:根据所读入的操作信息,备份数据库中的数据到文件

4.4.5网上图书馆系统数据恢复过程

数据字典
(1)加工逻辑词条描述
加工名:身份验证
加工编号: 9
简要描述:根据所读入的管理员信息,检索管理员库验证该人身份
输入数据流:管理员信息,读者
输出数据流:检验错误,操作确认
加工逻辑:根据所读入的管理员信息,检索管理员库验证该人身份

加工名:数据恢复
加工编号: 10
简要描述:根据所读入的操作信息,从文件向数据库恢复数据
输入数据流:操作信息
输出数据流:操作确认
加工逻辑:根据所读入的操作信息,从文件向数据库恢复数据

4.5 数据库描述
数据库采用SQL Server2016数据库
E-R图:
在这里插入图片描述

Powerdesigner:
在这里插入图片描述

5性能需求
5.1数据精度
在书价的处理过程中要求保留一位小数。
借书还书的过程中所考虑的借还期限采用“日”为单位。
5.2时间特性
用到的时间中,为保证时间的可靠性,都采用服务器的时间为标准。
在多用户的操作过程中可能会碰到数据并发的问题。比如在读书查询图书的过程中
所查到的那本图书在他所查的时候还没有被借出去。但在查询后的任何时候都有可能被借走。可能就在被查之后的那一秒种。所以要确保数据的可靠和实时。
5.3灵活性
该自动化图书管理系统同用适应于其他microsoft公司的windows产品
此系统是采用B/S架构设计的,所以在客户端不需要安装客户端软件。但要求装有
IE,或是其它的网页浏览器工具。所以在设计的时候要求能适应多种浏览的需要。
6运行需求
6.1用户界面
描述对该系统用户界面的基本要求,可以给出用户界面原型方案。
1、整体风格:简约易操作,单窗体风格,遵循Windows界面的规范。
2、用户导航图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、响应反馈
(1)在进行增添删除或者修改操作时,会弹出“增添/删除/修改成功!”的提示窗口
(2)在用户输入错误或者输入不合法时,会弹出“输入错误!请重新输入。”或者“输入不合法!请重新输入。”的提示窗口,引导用户重新输入。
(3)每个操作页面都有返回上一级操作的按钮,方便用户操作。
4、登录界面
首先选择自己的身份,是图书馆系统的用户还是管理员,然后输入账号和密码进行登录。若无账号,则先注册成为用户或者管理员再登录。
5、测评界面
6、交换角色界面

6.2软件接口
Eclipse,SQL Server。
6.3硬件接口
鼠标、键盘必须是USB接口。
7其他需求
7.1验收标准
1、鼠标、键盘控制权交换故障率低于10%。
2、鼠标、键盘控制权交换出错率低于20%。

7.2质量属性
1、软件故障率低于5%。
2、软件要求模块设计,设备驱动可以更换。
3、软件可在不同的Windows平台上使用。
4、软件支持不同的PC兼容机。

《网上图书馆系统》软件测试报告

目录
1引言 4
1.1编写目的 4
1.2背景 4
1.3术语和缩略词 4
1.4参考资料 5
2测试用例设计 5
(1)登录操作测试 5
(2) 图书查询操作测试 6
(3) 图书预约操作测试 7
(4) 图书续借操作测试 8
(5) 图书管理操作测试 8
(6) 读者管理操作测试 9
3 测试结果及分析 10
3.1测试环境 10
3.2 测试用例执行 10
3.3 结论及建议 16

1引言
1.1编写目的
在软件投入生产性运行前,对软件需求分析,设计规格说明和编码的最终复审,是软件质量保证的关键步骤。该软件测试说明书是为了尽可能的发现该系统在设计中存在的问题,并为解决这些问题提供依据,本文档将详细说明本系统采用软件工程的方法进行软件测试。尽量发现本系统BUG并进行改正,以避免在运行过程中造成的损失。
根据测试计划报告对软件进行测试,详细记录测试过程,以对软件的质量进行评价,为软件设计人员提供BUG依据,为软件测试建立计划,供软件测试人员作为软件测试实施时的参考。
此软件测试报告对《网上图书馆系统》项目具体代码完成的过程中,项目组中的主要负责测试的人员记录在测试过程中发现的问题以及对问题改进的建议,本文档将供系统的编程人员、集成人员、维护人员查询和使用。
1.2背景
随着计算机产业的发展,计算机在各个行业的应用也越来越普遍。采用计算机软件来管理也逐渐替代了人工管理,计算机管理比人工管理更加简单,有节约人力资源、减少时间成本、快速查找诸多优点。而新建图书管理系统,更是方便管理员对书籍的管理以及用户进行书籍的查阅,比起书本记忆以及人工翻阅,计算机能快速有效的提供书籍信息,给予便利。为此,本开发小组设计一个图书管理软件,方便图书的管理与借阅。本图书管理系统将实现图书室管理员对图书信息修改与读者网上查询与借阅等相关功能。
1.3术语和缩略词
SQL SERVER:系统服务器所使用的数据库管理系统(DBMS)。
GUI:图形用户界面。
测试用例:按一定的顺序执行的与测试目标相关的测试活动的描述,即确定“怎样”测试。
白盒方法:分为逻辑覆盖法和基本路径覆盖法或者分为语句覆盖,判定覆盖,条件覆盖方法。
黑盒方法:分为等价类划分法,边界值划分法,错误推测法,因果图法等。
白盒测试:有选择的执行(或覆盖)程序中某些最有代表性路径的测试方法。
黑盒测试:根据程序组件的规格说明测试软件功能的方法,所以也称为功能测试。
1.4参考资料
(1)软件测试报告参考模板
(2)网上图书馆系统需求规格说明书
(3)网上图书馆系统详细设计说明书
(4)软件工程方法与实践 主编:窦万峰 第三版 机械工业出版社
2测试用例设计
(1)登录操作测试
其测试用例设计如表1~表4。
表1 登陆_第一组测试用例
测试用例编号 Library_1_01
测试项目 系统登录
测试标题 输入正确的用户账号和密码
重要级别 高
预置条件 系统存在该用户
输入 账号为2018001,密码为2018001
操作步骤 选择登录用户;输入账号2018001;输入密码2018001
预期输出 跳转到用户操作界面
表2 登陆_第二组测试用例
测试用例编号 Library_1_02
测试项目 系统登录
测试标题 输入正确的管理员账号和密码
重要级别 高
预置条件 系统存在该管理员
输入 账号为001,密码为001
操作步骤 选择登录管理员;输入账号001;输入密码001
预期输出 跳转到管理员操作界面

表3 登陆_第三组测试用例
测试用例编号 Library_1_03
测试项目 系统登录
测试标题 输入正确的用户账号和错误的密码
重要级别 高
预置条件 系统存在该用户
输入 账号为2018001,密码为001
操作步骤 选择登录用户;输入账号2018001;输入密码001
预期输出 提示用户输入的用户名或密码错误

表4 登陆_第四组测试用例
测试用例编号 Library_1_04
测试项目 系统登录
测试标题 输入错误的用户账号和密码
重要级别 高
预置条件 系统不存在该用户
输入 账号为123,密码为123
操作步骤 选择登录用户;输入账号123;输入密码123
预期输出 提示用户输入的用户名或密码错误

(2)图书查询操作测试
其测试用例设计如表5~表8。

表5 图书查询_第一组测试用例
测试用例编号 Library_2_01
测试项目 图书查询
测试标题 输入部分书名
重要级别 中
预置条件 系统存在该图书信息
输入 书名为人
操作步骤 选择图书查询;输入书名人;点击查询
预期输出 查询界面显示出所有书名包含“人”的图书信息

表6 图书查询_第二组测试用例
测试用例编号 Library_2_02
测试项目 图书查询
测试标题 输入部分作者
重要级别 中
预置条件 系统存在该图书信息
输入 作者为李
操作步骤 选择图书查询;输入作者李;点击查询
预期输出 查询界面显示出所有作者包含“李”的图书信息

表7 图书查询_第三组测试用例
测试用例编号 Library_2_03
测试项目 图书查询
测试标题 输入部分出版社
重要级别 中
预置条件 系统存在该图书信息
输入 出版社为教育
操作步骤 选择图书查询;输入出版社教育;点击查询
预期输出 查询界面显示出所有出版社包含“教育”的图书信息
表8 图书查询_第四组测试用例
测试用例编号 Library_2_04
测试项目 图书查询
测试标题 输入部分书名,作者,出版社
重要级别 中
预置条件 系统存在该图书信息
输入 书名为数据库,作者为王珊,出版社为高等教育
操作步骤 选择图书查询;输入书名数据库,作者王珊,出版社高等教育;点击查询
预期输出 查询界面显示出所有书名数据库,作者王珊,出版社高等教育的图书信息

(3)图书预约操作测试
其测试用例设计如表9~表10。
表9 图书预约_第一组测试用例
测试用例编号 Library_3_01
测试项目 图书预约
测试标题 输入预约书号,日期
重要级别 中
预置条件 系统存在该图书信息
输入 书号为A2,日期为2020-05-28
操作步骤 选择图书预约;输入书号A2,日期2020-05-28;点击预约
预期输出 提示用户预约成功的信息

表10 图书预约_第二组测试用例
测试用例编号 Library_3_02
测试项目 图书预约
测试标题 输入取消预约书号,日期
重要级别 中
预置条件 系统存在该图书信息
输入 书号为A2,日期为2020-05-28
操作步骤 选择图书预约;输入书号A2,日期2020-05-28;点击取消预约
预期输出 提示用户取消成功的信息

(4)图书续借操作测试
其测试用例设计如表11。

表11 图书续借_第一组测试用例
测试用例编号 Library_4_01
测试项目 图书续借
测试标题 输入续借书号,日期
重要级别 中
预置条件 系统存在该图书信息
输入 书号为A1,日期为2020-05-28
操作步骤 选择图书续借;输入书号A1,日期2020-05-28;点击提交
预期输出 提示用户续借成功的信息

(5)图书管理操作测试
其测试用例设计如表12。
表12 图书管理_第一组测试用例
测试用例编号 Library_5_01
测试项目 增加图书
测试标题 输入书名,书号,出版社,作者,册数,价格
重要级别 中
预置条件 以管理员身份登录系统
输入 书名为软件工程方法与实践,书号为B1,出版社为机械工业出版社,作者为窦万峰,册数为10,价格为45.0元
操作步骤 选择增加图书;书名为软件工程方法与实践,书号为B1,出版社为机械工业出版社,作者为窦万峰,册数为10,价格为45.0元;点击提交
预期输出 提示管理员添加成功的信息

(6)读者管理操作测试
其测试用例设计如表13~表15。
表13 读者管理_第一组测试用例
测试用例编号 Library_6_01
测试项目 读者添加
测试标题 输入账号,密码,姓名,身份
重要级别 中
预置条件 以管理员身份登录系统
输入 账号为2020001,密码为2020001,姓名为小明,身份为本科生
操作步骤 选择读者添加;账号为2020001,密码为2020001,姓名为小明,身份为本科生;点击提交
预期输出 提示管理员添加成功的信息

表14 读者管理_第二组测试用例
测试用例编号 Library_6_02
测试项目 读者修改
测试标题 输入账号,新密码,姓名,身份
重要级别 中
预置条件 以管理员身份登录系统
输入 账号为2020001,新密码为001,姓名为小明,身份为本科生
操作步骤 选择读者修改;账号为2020001,密码为001,姓名为小明,身份为本科生;点击提交
预期输出 提示管理员更改成功的信息

表15 读者管理_第三组测试用例
测试用例编号 Library_6_03
测试项目 读者删除
测试标题 输入账号,姓名
重要级别 中
预置条件 以管理员身份登录系统
输入 账号为2020001,姓名为小明
操作步骤 选择读者修改;账号为2020001,姓名为小明;点击提交
预期输出 提示管理员删除成功的信息

3 测试结果及分析
3.1测试环境
硬件环境:Intel® Core™ i7-8565U CPU @ 1.80GHz 内存:8.00GB 显示适配器:Intel® UHD Graphics 620,NVIDIA GeForce MX250
软件环境:64位操作系统,Windows 10企业版 Microsoft SQL Server 2016 eclipse
3.2 测试用例执行
(1) 登录操作测试
①执行测试用例Library_1_01,运行结果如下图:
在这里插入图片描述在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致。
②执行测试用例Library_1_02,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致。

③ 执行测试用例Library_1_03,运行结果如下图:
在这里插入图片描述
在这里插入图片描述
结果分析:实际运行结果与该测试用例预期输结果一致。
④执行测试用例Library_1_04,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致。

(2)图书查询操作测试
①执行测试用例Library_2_01,运行结果如下图:
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致
②执行测试用例Library_2_02,运行结果如下图:
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

③执行测试用例Library_2_03,运行结果如下图:
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致
④执行测试用例Library_2_04,运行结果如下图:
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

(3)图书预约操作测试
①执行测试用例Library_3_01,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

②执行测试用例Library_3_02,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

(4)图书续借操作测试
①执行测试用例Library_4_01,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

(5)图书管理操作测试
①执行测试用例Library_5_01,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

(6)读者管理操作测试

①执行测试用例Library_6_01,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

②执行测试用例Library_6_02,运行结果如下图:
在这里插入图片描述
在这里插入图片描述

结果分析:实际运行结果与该测试用例预期输结果一致

③执行测试用例Library_6_03,运行结果如下图:
在这里插入图片描述
在这里插入图片描述
结果分析:实际运行结果与该测试用例预期输结果一致

3.3 结论及建议
(1) 针对上述所有测试用例执行,该网上图书馆系统基本实现了需求中的功能,如:读者客户端功能、图书管理功能、读者管理功能,达到了设计目标,各模块能正常准确地实现相应的业务功能,并处理了大量错误情况,但仍然存在需要修复的系统故障以及未完善的功能。
【读者客户端功能】
1.用户登录
2.用户注册
3.修改用户密码
4.查询图书
5.续借图书
6.预约图书
【图书管理功能】
1.添加书籍
2.查询书籍
【读者管理功能】
1.增加用户
2.修改用户
3.删除用户

未完成功能:修改书籍,删除书籍,查询用户

(2)对于有缺陷的功能给出修改建议
对于输入的数字,用户名密码的格式,应该设置准确的规范,还有部分功能未完善,对于书籍的修改和删除,应该与数据库相连接,进行相应操作的同时,后台数据也应随之而变;对于书籍逾期未归还的情况,相对应的罚款记录也应当有所改变。希望能够实现其他功能,完善图网上图书馆系统,

**

核心SQL语句

创建数据库:
go
– create.sql
– SQL statements for table creation for library database
create database library
on
(name=library_data,–数据文件的逻辑名称,注意不能与日志逻辑同名
filename=‘d:\sql_data\library.mdf’ ,–物理名称,注意路径必须存在
size=10,–数据初始长度为5M
maxsize=50,–最大长度为10M
filegrowth=5%)–数据文件每次增长5%
log on
( name=library_log,
filename='d:\sql_data\library.ldf ’ ,
size=2 ,
maxsize=5 ,
filegrowth=1)
创建表:
go
use library
go
if exists(select name from sysobjects where name=‘books’)
drop table books;
create table books (bname varchar(30) not null, bno char(10),
bpublish varchar(30), bauthor varchar(30),bsum int,blend int,ordersum int,price float, primary key(bno),
constraint c1 check (blend+ordersum<=bsum) );

create table borrow (rid char(10) not null, bno char(10),
initialdate char(100), redate char(30), deadline char(30),backdate char(30),fine float,primary key(rid,bno)
,foreign key(rid) references reader(rid)
on delete cascade
on update cascade,
foreign key(bno) references books(bno)
on delete cascade
on update cascade)
;
创建用户并授权:
EXEC sp_addlogin ‘002’,‘pass002’,‘library’
USE library
EXEC sp_grantdbaccess ‘002’,‘002’
grant select,insert,update,delete on books to 002;
grant select,insert,update,delete on reader to 002;
grant select,insert,update,delete on borrow to 002;
grant select,insert,update,delete on orders to 002;
grant select,insert,update,delete on borrowtype to 002;

EXEC sp_addlogin ‘2018001’,‘2018001’,‘library’
USE library
EXEC sp_grantdbaccess ‘2018001’,‘2018001’
grant select,update on books to public;
grant select,delete on orders to public;
grant select,update on borrow to public;

**
网上图书馆系统源代码链接

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

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

相关文章

图书馆管理系统(数据库版)

图书馆管理系统&#xff08;数据库版&#xff09; 目录&#xff1a; 图书馆管理系统&#xff08;数据库版&#xff09;项目框架项目分包数据库列表代码分析工具包所用到的接口&#xff1a; 分享一波&#xff1a;总结&#xff1a; 项目框架 项目分包 上面为本次项目的分包建包示…

图书馆管理系统的开发

课程设计的目的与要求 课程设计目的软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、…

基于微信小程序图书馆管理系统

开发工具&#xff1a;IDEA、微信小程序 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 前端技术&#xff1a;vue、uniapp 服务端技术&#xff1a;springbootmybatis-plus 本系统分微信小程序和管理后台两部分&#xf…

智慧图书馆中一般有哪些设备

图书馆在很多人心目中都是一个神圣的场所&#xff0c;但现实中去过图书馆的人们都知道&#xff0c;由于管理上的原因很多图书馆都会非常的嘈杂和混乱。而智慧图书馆的建设就是让图书馆重新变回宁静祥和的知识海洋&#xff0c;通过RFID技术打造智慧化设备为读者提供更好的学习阅…

自助借还系统——智慧图书馆的新体验

自助借还系统主要用于智慧图书馆图书自助借还、查询、续借等&#xff0c;具有多本书同时识别处理&#xff0c;多卡识别功能&#xff0c;红外线感应技术&#xff0c;内置人脸识别模块和协议标准&#xff0c;系统具有ISO1800-3、ISO15693物流网工作协议&#xff0c;可无缝对接智慧…

基于微信的图书馆服务系统的设计与实现

随着时代的快速进步&#xff0c;“互联网”一词概念逐渐深入人心&#xff0c;新兴产业蓬勃发展&#xff0c;传统产业深刻重塑。传统行业与互联网的结合成为了必然的趋势。在时代的大背景下&#xff0c;高校图书馆如何突破原有服务壁垒、精准把握需求&#xff0c;人性化服务&…

图书馆管理系统(一)

图书馆管理系统 项目说明项目内容&#xff08;1&#xff09;读者信息管理&#xff1a;&#xff08;2&#xff09;图书信息管理&#xff1a;&#xff08;3&#xff09;图书借阅管理&#xff1a;&#xff08;4&#xff09;基础信息维护&#xff1a;&#xff08;5&#xff09;用户…

馆员工作站,智慧图书馆自助借还系统

RFID馆员工作站是以计算机为基础&#xff0c;集成RFID读写装置&#xff0c;对RFID标签进行识别和流通状态处理&#xff0c;辅助以其他装置用于流通部门对粘贴有RFID标签及条形码的流通资料进行快速的借还操作&#xff0c;以此提高工作人员的借还工作效率。同时能够通过扫描图书…

24小时智慧图书馆解决方案,校园智能微型图书馆

校园24小时智慧图书馆的建设&#xff0c;与学校图书馆总馆之间实现信息实时交互并提供24小时自助服务&#xff0c;24小时智能微型图书馆让学生就近借书、就近阅读&#xff0c;创造良好便利的阅读环境&#xff0c;激发学生阅读需求&#xff0c;营造浓厚的校园阅读文化氛围。 24小…

图书借阅管理系统

1、系统概述 图书借阅管理系统由管理员系统和用户系统两个子系统构成。用户运行程序后可按程序说明进入子系统&#xff0c;输入“1”进入管理员系统&#xff0c;输入“2”进入用户系统。图书信息和读者信息均用文件存储。 管理员系统&#xff1a; 新增图书&#xff1a;管理…

图书馆管理系统UML各种图

1用例图 主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】&#xff1a;帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下&#xff1a;actor、usecase、子系统、四中关系&#xff…

智慧图书馆解决方案-最新全套文件

智慧图书馆解决方案-最新全套文件 一、建设背景二、思路架构三、建设方案四、获取 - 智慧图书馆全套最新解决方案合集 一、建设背景 现下&#xff0c;传统图书馆已经难以适应时代的发展&#xff0c;图书盘点繁琐、管理模式落后、阅读时间和场地受限等问题&#xff0c;迫使传统…

学校图书馆管理系统

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;学校图书馆管理系统当然也不能排除在外。学校图书馆管理系统是以实际运用为开发背景&#xff0c;运用软件工程开发方法&…

2021中国大学生程序设计竞赛(CCPC),烤仔与你不见不散!

今天也是见到超多学霸的一天呢&#xff01; 因为&#xff0c;CCPC 的参赛选手们来看烤仔啦&#xff01;北京航空航天大学、北京交通大学等高校共 95 名总决赛参赛选手在 5 月 28 日来到 Conflux 参观、交流。 由中国大学生程序设计竞赛组委会主办&#xff0c;Conflux 、旷视等…

HTML+CSS鲜花静态网页设计

&#x1f4c2;文章目录 一、&#x1f468;‍&#x1f393;网站题目二、✍️网站描述三、&#x1f4da;网站介绍四、&#x1f4a0;网站演示五、⚙️ 网站代码&#x1f9f1;HTML结构代码&#x1f492;CSS样式代码 六、&#x1f947; 如何让学习不再盲目七、&#x1f381;更多干货…

客厅窗帘要安装纱帘吗?怎么选择纱帘?-好佳居窗帘十大品牌

窗帘是我们常见的&#xff0c;但是客厅窗帘有必要装纱帘&#xff1f;很多人在选择窗帘的时候纠结要不要加一层纱帘。这种纠结可能不仅仅是选择的困难&#xff0c;纱帘的具体功能性也不是那么好理解。别急&#xff0c;我们来看看。 客厅窗帘要不要安装纱帘&#xff1f; 众所周知…

web前端 基于html实现花店购物网站源码(HTML+CSS+JavaScript) 企业网站制作

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

基于STM32设计的智慧浇花系统(华为云IOT)

1. 前言 随着社会的不断发展和人们生活水平的逐渐提高,人们逐渐追求高质量的生活,很多人都会选择在家里或办公室种植一些花卉以净化家庭空气,陶冶情操,但是很多人忙于工作、学习、出差、旅游或者一些其他的原因,不能及时地对花卉进行照料,短时间内导致很多花卉因缺水分而…

c#温室监控系统

上位机采用串口与下位机信&#xff0c;使用modbus通信协议控制和采集数据 可以参考一下&#xff08;直接翻到modbus的章节&#xff09;&#xff1a; MODBUS技术协议&#xff08;第三章&#xff09;.pdf chuan/临时的 - 码云 - 开源中国 (gitee.com) 首先实现通信用的modbus…

es6 filter方法_极其有用的JavaScript数组方法,可提高您的编码技能

随着ES6的开始&#xff0c;在javascript语言中添加了许多改进以改进javascript编码标准。 今天&#xff0c;我们将看到一系列非常有用的数组方法&#xff0c;这些方法将提高您的编码技能。因此&#xff0c;让我们深入了解它。 数组 该Array.of语法如下 Array.of(element0[, ele…