网上图书馆系统

news/2025/1/12 6:02:37/

网上图书馆系统

题目
设计一个网上图书馆系统,实现图书网上检索、预约和续借功能。具体要求如下:
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.ppmy.cn/news/703062.html

相关文章

武大图书馆的电子资源库

图书馆官网&#xff1a; https://whu.metaersp.cn/databaseList 更详细介绍&#xff1a; https://m.thepaper.cn/baijiahao_16802514 常用数据库&#xff1a; https://www.webofscience.com/wos/woscc/basic-search

【转】国内大学图书馆网址

2. 西北大学图书馆http://202.117.102.163/ 3. 西北工业大学图书馆 http://www.lib.nwpu.edu.cn/ 4. 第四军医大学图书馆 http://lib.fmmu.edu.cn/ 5. 陕西师范大学图书馆 http://www.lib.snnu.edu.cn/ 6. 西安邮电学院图书馆 http://202.117.133.137/default.htm 7. 西安电子科…

大学图书馆图书借阅管理系统

技术&#xff1a;Java、JSP等 摘要&#xff1a;随着科技进步以及计算机行业的迅猛发展&#xff0c;知识以及书籍的储备和生活节奏加快&#xff0c;方便的管理和快捷的阅读已成为大势所趋&#xff0c;以国内外各个大学所用的图书管理系统为例&#xff0c;针对当今社会图书信息量…

图书馆预约入馆系统

写在前面 新冠疫情的肆虐&#xff0c;给我们上了深深的一课&#xff0c;那就是&#xff1a;我们要时刻注意防控&#xff0c;安全、健康永远是第一位的&#xff01;&#xff01; 避免人员聚集和公共场所人流过于集中&#xff0c;是防控的重中之重&#xff0c;作为重要公共场所之…

基于android的图书馆电子阅览

需求信息&#xff1a; 数据库人工备份上机人员信息&#xff1a;上机人员学号、姓名、专业、上机时间、缴费金额、使用的电脑编号、下机时间、消费金额、换机&#xff08;换机前的电脑编号、换机原因&#xff08;分为死机、不能开机、中病毒 &#xff09;、换机后的电脑编号。 管…

在线图书馆设计

项目场景&#xff1a; 手机app在线图书馆&#xff0c;这里只分享图书章节拆分设计 功能描述 1.前端页面上传电子书txt文本 2.后端将文本存储解析分章节保存 3.app端能够分章节查看 逻辑设计&#xff1a; 1.book表&#xff1a;存储图书名、作者名、编著时间、封面图片地址、文…

图书馆管理系统——借书操作

在写借书操作之前我们先来理清一下借书操作的一个思路 假如你借了“红楼梦”这本书&#xff0c;你就不能再借“红楼梦”这本书了。你就得把“红楼梦”这本书归还了之后才可以借“红楼梦”。但是其他的书籍你可以借阅。意思就是一个账号一本书只能借一次&#xff0c;只有你归还…

谁能进图书馆?

为了保障安静的阅读环境&#xff0c;有些公共图书馆对儿童入馆做出了限制。例如“12 岁以下儿童禁止入馆&#xff0c;除非有 18 岁以上&#xff08;包括 18 岁&#xff09;的成人陪同”。现在有两位小/大朋友跑来问你&#xff0c;他们能不能进去&#xff1f;请你写个程序自动给…