【计算机毕业设计】图书馆管理系统设计与实现
一、系统截图(需要演示视频可以私聊)
摘 要
ABSTRACT
目 录
第1章 绪论
1.1开发背景
1.2开发意义
1.3研究内容
第2章 主要技术和工具介绍
2.1 JSP技术
2.2 SSM 框架
2.2.1 Spring框架
2.2.2 SpringMVC
2.2.3 MyBatis
2.3 MySQL数据库
第3章 系统分析
3.1可行性分析
3.1.1经济可行性
3.1.2技术可行性
3.1.3操作可行性
3.2需求分析
3.3业务流程分析
3.4数据流程分析
第4章 系统设计
4.1系统结构设计
4.2功能模块设计
4.3数据库设计
4.3.1 E-R图设计
4.3.2表设计
第5章 系统实现
5.1主页面的实现
5.2注册模块的实现
5.3登录模块的实现
5.4图书管理模块的实现
第6章 系统测试
6.1测试目的
6.2测试概述
6.3单元测试
6.3.1登录测试
6.3.2图书管理测试
6.3.3用户管理测试
6.4测试结果
第7章 总结
致 谢
参考文献
第1章 绪论
1.1开发背景
现今社会生活中,随着需求的日益多元化,互联网成了主流,所持有的管理软件资源也随之丰富,最直观的表现就是管理系统无论从种类还是数量上都大幅增加,这就加快了管理系统的开发与研究的脚步。
在发展迅速的信息化时代中,越来越多互联网科技走进人们的生活,人们开始接受互联网带来的方便快捷的服务。图书馆管理如果还用传统的管理模式,时间久了,管理十分不便利,存在误差,查询难的现象,一旦数据过多,人工管理方式就很难维持。随着信息技术的应用拓展,逐渐引用了信息化技术管理,逐渐取代了人工管理模式,采用计算机系统来管理用户信息,智能的管理减少了人力物力财力,节省了管理的时间和空间,提升了工作的准确率和效率。本次系统开发,主要以图书馆管理为对象,根据需求来完成功能设计[1][2]。
1.2开发意义
用户往往因为不能及时图书而造成许多不必要的烦恼。另一方面,图书信息没能进行系统的管理与维护使用户没能在系统里及时的获取到信息。而传统的图书馆管理,采用的还是人工管理、手工备案、人工查询的方式。但是随之用户人数的增多这种管理方式的工作量不断加大,这种做法就存在费时费力、缺乏时效性、不利于调动人员的积极性等缺点。一旦网站建立好之后,一方面,用户可以在第一时间在系统里发布所需的图书信息,另一方面,系统还可以管理图书信息,就减少了人工处理的工作量。
建立本图书馆管理是为了通过管理者对图书信息的录入和发布,以方便用户对自己所需图书信息的查询,一旦查询到自己所需要的图书信息,用户便可以从系统中获得图书信息信息,以方便在线及时发布。如果用户没有查询到自己所需求的图书信息信息,也可以在线提醒管理者增添。这样,本系统旨在建立用户、管理者二者之间的桥梁关系,从而使用户能及时有效的从管理者手中获取到信息。所以我们认为建立一个网上图书馆管理是非常必要的,其方便高效、简单快捷的管理模式是很有使用性的[3][4]。
1.3研究内容
- 不同管理员的登录问题:根据管理员的类别(管理员、用户)实现管理员操作权限的区分并显示不同的操作界面。
- 数据库的连接问题:数据库连接为系统中的关键技术。
- 数据的一致性和安全问题:本系统必须保证数据的一致性和安全,才能实现有效的管理。不能让没有权限的管理员对数据进行操作并且定期对数据库进行备份。
- 界面开发:系统界面的设计很重要,要使界面具有亲和力。
- 分析信息化现状;
- 研究图书馆管理的现状及存在的问题;
- 研究系统平台的总体架构、总体设计、数据库设计、数据库安全设计及功能设计;
- 研究平台各个子系统的功能及实现的方法、信息技术的融合、信息安全技术的维护;
- 进行图书馆管理的功能设计。
第2章 主要技术和工具介绍
2.1 JSP技术
JSP是一种跨平台的网页技术,最终实现网页的动态效果,与ASP技术类似,都是在HTML中混合一些程序的相关代码,运用语言引擎来执行代码,JSP能够实现与管理员的交互,方便管理员的使用。
JSP技术具有诸多优点,可以忽略所使用的平台,实现仅需一次编写就能够到处运行使用,而且还具有很好的安全性和多平台支持的特性,能够在任何平台的任何环境中进行开发,进行系统部署和环境扩展。它也有属于自己的功能强大的开发工具的支持,并且可以通过很多渠道免费得到,这就为JSP技术的传播也准备了条件[5][6]。
JSP具有如下优点:
(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛 的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。
(2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合Java语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。
(3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JSP组织合作开发和修改JSP技术和规范。
(4) JSP标记可扩充性:JSP技术能够为开发者扩展标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP跨平台性:由于JSP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下[8]。
2.2 SSM 框架
SSM 框架整合即为 Spring、SpringSSM、Hibernate 三个开源框架的整合。主要是采用 Spring,Hibernate 进行 SSM 整合。
2.2.1 Spring框架
Spring是独立的SSM模式框架,通过IoC技术,降低各组件之间的依赖,而Spring提供的面向切面编程(Aspect Oriented Programming,AOP)技术,在系统上具有独特优势。Spring框架不仅能有效地服务中间层对象,而且易于同其他层框架进行无缝集成,使各层之间相互独立,实现了在架构上各框架间的低耦合性。
Spring还有一个很重要的特性,就是可以方便集成各种优秀的框架。本系统主要集成了 Dubbo服务框架、Redis 缓存服务、Solr 搜索服务、ActiveMQ 消息队列服务。Spring集成系统要用到的第三方框架后,就可以通过简单的配置调用第三方框架提供的 API,实现系统的通知公告服务。
2.2.2 SpringMVC
SpringMVC属于Spring框架的衍生模块,SpringMVC通过 DispatcherServlet 这个前端控制器(也叫中央调度器,笔者认为中央调度器更能体现其作用),来调用 MVC的三大件:Controller、Model、View。这样就保证 MVC的每一个组件只与 DispatcherServlet 耦合,而彼此之间独立运行,大大降低了程序的耦合性。使得系统的设计复合程序的开发之道,高内聚底耦合的设计原则。
2.2.3 MyBatis
MyBatis作为一个优秀的持久化工具,通过对象关系映射(Object Relational Mapping,ORM)架起了jsp对象与关系数据库间的桥梁,很好的协调对象与数据库的交互,提供数据查询和恢复机制,实现了与底层数据库的分离。
技术的可行性是指在当今所拥有的技术条件之下,计算机软件和硬件的发展能否够满足发展的要求。由于本系统开发基于jsp语言,在一般的计算机上就能够满足开发本系统所需要的软硬件条件;因为它占用的内存本来就相对较少,我们用mysql数据对软件的开发以及设计在理论上没有问题的原因是:它占用的内存实在是太少了[8]。
2.3 MySQL数据库
一个新开发的程序,需要有数据库的配合。图书馆管理使用的数据库是MySQL。MySQL是一种关系数据库管理系统,它最明显的机制就是将有关联的数据各个建表,多个表格通过不同的MySQL语句实现对数据的增删改查,几个表格在一起相辅相成,分工明确。整体条理清晰,加快了速度并且提高了灵活性[6]。
一方面,MySQL因为他的性能优越,同时加上使用Eclipse开放式的开发环境,使得MySQL的优点发挥到极致,另一方面,MySQL数据库的优点很明显。
- MySQL数据库可以在编译后,直接可以带到任何环境中使用。
(2)支持多线程,可以很好的利用CPU资源。
(3)速度更快,因为它的查询机制优化很好。
(4)MySQL是免费的。
第3章 系统分析
3.1可行性分析
本文的设计的系统将会分别从经济的可行性,技术的可行性以及操作的可行性等方面进行全面的可行性的分析。
3.1.1经济可行性
由于系统开发的工具和软件都是可以免费使用的,因此系统开发的费用很少,甚至只需要少许的费用就可以开发出本系统,也可以忽略不计;再加上通过系统的实施可以提高管理员借书的私密性,最大程度的保护管理员的信息安全,因此,从这些方面就可以说经济上是可行的 [7][8]。
3.1.2技术可行性
技术的可行性是指在当今所拥有的技术条件之下,计算机软件和硬件的发展能否够满足发展的要求。由于本系统开发基于Java语言,在一般的计算机上就能够满足开发本系统所需要的软硬件条件;因为它占用的内存本来就相对较少,我们用MySQL数据对软件的开发以及设计在理论上没有问题的原因是:它占用的内存实在是太少了。
3.1.3操作可行性
作为当今大部分管理员来讲,都是受过良好教育,具有高素质的人才,都能十分容易的使用电脑进行各种操作,是以本文在开发设计上使用JSP技术进行设计的图书馆管理,其操作是完全可行的 。
通过上述分析,可以确定该系统具有实际开发的价值和可能性。
3.2需求分析
针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的图书馆管理。
管理员的权限是最高的,可以对系统的图书,用户信息,续借等信息进行统一管理。
管理员可添加管理员,添加更多的管理人员,并且能修改和删除管理员的信息资料。
用户可以通过系统进行注册,注册完成并通过系统审核的用户可查询,修改自己的基础信息,比如修改登录密码等功能。
用户可通过网站在线浏览,查询网站的用户,借书,图书,还可以在网站在线续借。
3.3业务流程分析
总体业务流程:用户以及管理员以不同的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作 。
3.4数据流程分析
数据流图的简称为DFD,是通过使用图形的方法对系统所具备的逻辑功能进行阐述,描述系统数据的流向和逻辑变换。由于该方法能将难以阐述的问题进行表述,因此被开发者广泛应用,是当前应用范围较为广泛的结构化系统分析方法。
零层数据流程是流程中最抽象的一层,它包括了登录管理、管理员功能管理和检索维护管理等功能模块,在登录模块使用到的数据存储有管理员账户信息文档、管理员信息文档,管理员功能管理模块需要的存储是管理员添加信息文档、查询信息文档、删除信息文档,检索维护是通过以上这些文档信息通过关键词进行搜索。
系统的顶层数据流图如下图所示。
图3-2系统顶层数据流图
系统数据流图中,数据实体包括普通用户,普通用户数据流程包括功能选择、图书管理、用户管理;管理员数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息等。
系统的中层数据流图如下图所示。
图3-3系统中层数据流图
第4章 系统设计
4.1系统结构设计
系统设计主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,图书管理,用户管理等操作。
系统的功能结构图如下图所示。
图4-1系统功能结构图
4.2功能模块设计
系统登录:系统登录是管理员访问系统的路口,设计了系统登录界面,包括管理员名、密码和验证码,然后对登录进来的管理员判断身份信息,判断是管理员管理员还是普通用户。
修改密码:系统所有管理员(管理员和普通用户)应该都要能修改自己的登录密码,修改后需要重新登录。
个人资料管理:由普通用户使用,普通用户登录系统后,可以修改个人原始信息,如修改电话号码、邮箱等,管理员的管理员名是无法修改的。
登录情况管理:系统每个管理员应该都能查看个人的历史登录情况,如登录IP、登录时间、登录地址等,防止管理员账号被盗,加强管理员账号安全。
操作日志管理:系统每个管理员应该都能查看个人的历史操作日志,如管理员添加了某条数据,历史操作日志需要展示操作人,操作描述,操作时间等信息。防止系统被黑客攻击,加强系统的安全性。
图书管理:管理员发布图书后,普通用户便可以查询到该图书,管理员选择某个图书,查询图书,管理员审核添加,或删除图书。
借书管理:管理员发布借书后,普通用户便可以查询到该借书,管理员选择某个借书,查询借书,管理员审核添加,或删除借书。
违章缴款管理:系统违章缴款发布违章缴款后,普通违章缴款便可以查询到该违章缴款,管理员选择某个违章缴款,查询违章缴款,管理员审核添加,或删除违章缴款。
续借管理:用户在线发布续借信息,管理员通过系统管理续借并可管理。
4.3数据库设计
4.3.1 E-R图设计
管理员实体包括管理员名称、密码和权限三个属性
管理员体ER图如下图所示。
图4-4管理员ER图
用户ER图如下图所示。
图4-5用户ER图
图书ER图如下图所示。
图4-6图书ER图
借书ER图如下图所示。
图4-7借书ER图
根据系统各个实体的关系,得出系统的总体ER图。
系统总体ER图如下图所示。
图4-7系统总体ER图
4.3.2表设计
根据E-R模型,系统建立了以下逻辑数据结构,下面是各数据表的详细在服务器上建立数据库,其中包括以下表:
管理员用户表 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
4 |
主键ID |
2、 |
username |
varchar |
20 |
否 |
50 |
用户名 |
3、 |
pwd |
varchar |
20 |
否 |
50 |
密码 |
4、 |
cx |
varchar |
20 |
否 |
50 |
权限 |
5、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
新闻公告表 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
4 |
主键ID |
2、 |
biaoti |
varchar |
50 |
否 |
300 |
标题 |
3、 |
leibie |
varchar |
20 |
否 |
50 |
类别 |
4、 |
neirong |
text |
8 |
否 |
8 |
内容 |
5、 |
tianjiaren |
varchar |
20 |
否 |
50 |
添加人 |
6、 |
shouyetupian |
varchar |
20 |
否 |
50 |
图片 |
7、 |
dianjilv |
int |
4 |
否 |
4 |
点击率 |
8、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
系统简介 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
4 |
主键ID |
2、 |
leibie |
varchar |
50 |
否 |
300 |
类别 |
3、 |
content |
text |
8 |
是 |
8 |
内容 |
留言板 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
4 |
主键ID |
2、 |
cheng |
varchar |
20 |
否 |
50 |
昵称 |
3、 |
xingbie |
varchar |
8 |
是 |
20 |
头像 |
4、 |
|
varchar |
8 |
是 |
20 |
|
5、 |
youxiang |
varchar |
8 |
是 |
20 |
邮箱 |
6、 |
dianhua |
varchar |
8 |
是 |
20 |
电话 |
7、 |
neirong |
varchar |
50 |
是 |
500 |
留言内容 |
8、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
9、 |
huifneirong |
varchar |
50 |
是 |
500 |
回复内容 |
评论表 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
4 |
主键ID |
2、 |
pinglunneirong |
varchar |
20 |
否 |
50 |
评论内容 |
3、 |
pinglunren |
varchar |
8 |
是 |
20 |
评论人 |
4、 |
huifu |
varchar |
20 |
是 |
50 |
回复 |
5、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
注册用户表 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
4 |
主键ID |
2、 |
yonghuming |
varchar |
20 |
否 |
50 |
用户名 |
3、 |
mima |
varchar |
8 |
是 |
20 |
密码 |
4、 |
xingming |
varchar |
20 |
是 |
50 |
姓名 |
5、 |
xingbie |
varchar |
20 |
是 |
50 |
性别 |
6、 |
chushengnianyue |
varchar |
20 |
是 |
50 |
出生年月 |
7、 |
|
varchar |
20 |
是 |
50 |
|
8、 |
youxiang |
varchar |
20 |
是 |
50 |
邮箱 |
9、 |
dianhua |
varchar |
20 |
是 |
50 |
电话 |
10、 |
shenfenzheng |
varchar |
20 |
是 |
50 |
身份证 |
11、 |
touxiang |
varchar |
20 |
是 |
50 |
头像 |
12、 |
dizhi |
varchar |
20 |
是 |
50 |
地址 |
13、 |
beizhu |
varchar |
20 |
是 |
50 |
备注 |
14、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
友情连接 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
4 |
主键ID |
2、 |
wangzhanmingcheng |
varchar |
20 |
否 |
50 |
网站名称 |
3、 |
wangzhi |
varchar |
8 |
是 |
20 |
网址 |
4、 |
logo |
varchar |
20 |
是 |
50 |
LOGO |
5、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
图书信息 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
8 |
主键ID |
2、 |
tushubianhao |
varchar |
50 |
是 |
50 |
图书编号 |
3、 |
tushumingcheng |
varchar |
50 |
是 |
50 |
图书名称 |
4、 |
leibie |
varchar |
50 |
是 |
50 |
类别 |
5、 |
zuozhe |
varchar |
50 |
是 |
50 |
作者 |
6、 |
chubanshe |
varchar |
50 |
是 |
50 |
出版社 |
7、 |
kucun |
float |
10 |
是 |
10 |
库存 |
8、 |
jieyuecishu |
float |
10 |
是 |
10 |
借阅次数 |
9、 |
tupian |
varchar |
50 |
是 |
50 |
图片 |
10、 |
tushujianjie |
text |
8 |
是 |
8 |
图书简介 |
11、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
借书记录 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
8 |
主键ID |
2、 |
jieshudanhao |
varchar |
50 |
是 |
50 |
借书单号 |
3、 |
tushubianhao |
varchar |
50 |
是 |
50 |
图书编号 |
4、 |
tushumingcheng |
varchar |
50 |
是 |
50 |
图书名称 |
5、 |
leibie |
varchar |
50 |
是 |
50 |
类别 |
6、 |
zuozhe |
varchar |
50 |
是 |
50 |
作者 |
7、 |
chubanshe |
varchar |
50 |
是 |
50 |
出版社 |
8、 |
kucun |
varchar |
50 |
是 |
50 |
库存 |
9、 |
jieshuriqi |
datetime |
8 |
是 |
8 |
借书日期 |
10、 |
jieshuren |
varchar |
50 |
是 |
50 |
借书人 |
11、 |
beizhu |
text |
8 |
是 |
8 |
备注 |
12、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
续借记录 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
8 |
主键ID |
2、 |
jieshudanhao |
varchar |
50 |
是 |
50 |
借书单号 |
3、 |
tushubianhao |
varchar |
50 |
是 |
50 |
图书编号 |
4、 |
tushumingcheng |
varchar |
50 |
是 |
50 |
图书名称 |
5、 |
leibie |
varchar |
50 |
是 |
50 |
类别 |
6、 |
zuozhe |
varchar |
50 |
是 |
50 |
作者 |
7、 |
chubanshe |
varchar |
50 |
是 |
50 |
出版社 |
8、 |
kucun |
varchar |
50 |
是 |
50 |
库存 |
9、 |
jieshuriqi |
varchar |
50 |
是 |
50 |
借书日期 |
10、 |
jieshuren |
varchar |
50 |
是 |
50 |
借书人 |
11、 |
xujietianshu |
float |
10 |
是 |
10 |
续借天数 |
12、 |
beizhu |
text |
8 |
是 |
8 |
备注 |
13、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
违章缴款 |
序号 |
字段名称 |
字段类型 |
大小 |
允许为空 |
最大长度 |
备注 |
1、 |
ID |
int |
4 |
否 |
8 |
主键ID |
2、 |
liushuihao |
varchar |
50 |
是 |
50 |
流水号 |
3、 |
jieshudanhao |
varchar |
50 |
是 |
50 |
借书单号 |
4、 |
tushubianhao |
varchar |
50 |
是 |
50 |
图书编号 |
5、 |
tushumingcheng |
varchar |
50 |
是 |
50 |
图书名称 |
6、 |
leibie |
varchar |
50 |
是 |
50 |
类别 |
7、 |
jieshuriqi |
varchar |
50 |
是 |
50 |
借书日期 |
8、 |
jieshuren |
varchar |
50 |
是 |
50 |
借书人 |
9、 |
fakuanleixing |
varchar |
50 |
是 |
50 |
罚款类型 |
10、 |
fakuanxiangqing |
text |
8 |
是 |
8 |
罚款详情 |
11、 |
fakuanjine |
float |
10 |
是 |
10 |
罚款金额 |
12、 |
shifoujiaokuan |
varchar |
50 |
是 |
50 |
是否缴款 |
13、 |
beizhu |
text |
8 |
是 |
8 |
备注 |
14、 |
addtime |
datetime |
8 |
否 |
8 |
添加时间 |
第5章 系统实现
5.1主页面的实现
首页是网站的入口,主要包含了:新闻信息、图书信息等导航功能。首页页面,如下图所示。
图5-1主页界面
5.2注册模块的实现
用户有独立的注册界面,用户填写好注册信息后,会有个一审核的过程,经过管理员审核注册成功,并将注册的信息加入用户表中。
图5-2用户注册界面
5.3登录模块的实现
系统登录模块可分为前台登录模块和后台登录模块,为确保系统安全性,系统操作员只有在登录界面输入正确的管理员名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的主界面。
前台登录入口如下所示。
图5-3前台登录界面
后台登录入口如下所示。
图5-3后台登录界面
5.4图书管理模块的实现
管理员添加图书是在点击添加按钮的前提下操作的,当页面跳转至添加页面,添加成功后,管理员在菜单栏进行图书管理,通过查询数据库的图书表列出所有图书,每条图书对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除图书,并重定向当前页面,当管理员选择点击修改,则进入修改页面,进行图书的修改。
图书添加页面设计效果如下图所示。
图5-5 图书添加界面
图书管理页面效果如下图所示。
图5-6 图书管理界面
第6章 系统测试
6.1测试目的
基于JSP的图书馆管理,主要测试管理员登录模块、用户管理模块、图书管理模块、和退出模块系统等功能是否实现。
6.2测试概述
1.测试的原则
(1)系统测试应该避免测试自己的程序,以免发现不了细小的问题。
(2)系统测试用例应有两部分组成,分别为输入测试和输出测试。
(3)系统测试数据应当引用不合理的数据进行测试,选取不同情况的进行逐一测试。
(4)不仅要检查程序是否达到预期的效果,还要检查程序是否执行了规定以外的操作。
(5)对出现错误多的模块进行集中测试。
(6)已发现错误的模块修改后,应及时进行重新测试。
2.测试的方法
测试方法主要有人工测试和机器测试。
(1)人工测试
人工测试又称代码复审,包括个人复查、走查、会审三种方法[7]。
(2)机器测试
机器测试主要是由黑盒测试和白盒测试两种方法。
在最后的测试阶段,系统采用后黑盒测试和白盒测试想结合的方法。黑盒测试主要用于对系统的输入和输出特性进行测试,检测功能方面存在的错误与可能存在的缺陷。白盒测试主要用于对软件的过程及逻辑路径进行测试,发现性能方面的错误。具体采用的测试方法为系统测试和单元测试。
6.3单元测试
6.3.1登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。
测试模块 |
管理员登录模块测试 |
测试目的 |
测试当登陆信息输入不符合要求时,系统是否能进行相应处理并给出提示。 |
测试方法 |
黑盒测试 |
测试数据 |
1不输入管理员名和密码,直接点击登陆。 2输入未注册过的管理员名。例如:abcdefg 3输入正确管理员名,错误密码。例如:管理员名abcdefg、密码 000 4输入正确管理员名,正确匹配密码。例如:管理员名abcdefg、密码 111 |
预期结果 |
1 界面不跳转,弹出对话框,提示管理员输入必填项。 2界面不跳转,弹出对话框,提示管理员当前管理员名尚未注册。 3界面不跳转,弹出对话框,提示管理员密码错误。 4界面实现跳转,登陆功能正常进行。 |
实际结果 |
与预想一致。 |
结论 |
登陆模块实现了基本的异常输入应对。 |
6.3.2图书管理测试
管理员可以添加修改图书,在填写图书后,点击添加便能成功的添加图书。
图书管理测试用例如下表所示。
表6-2图书管理测试用例
测试模块 |
图书管理模块测试 |
测试目的 |
测试当图书输入不符合要求时,系统是否能进行相应处理并给出提示。 |
测试方法 |
黑盒测试 |
测试数据 |
1管理员登录后,未填写图书编号选项,点击添加图书 2管理员登录后,未填写图书名称选项,点击添加图书 3管理员登录后,输入图书必填项,点击添加图书, |
预期结果 |
1图书添加失败,系统提示请输入图书编号 2图书添加失败,系统提示请输入图书名称 3图书添加成功,系统提示添加图书成功 |
实际结果 |
与预想一致。 |
结论 |
图书管理模块实现了基本的异常输入应对。 |
6.3.3用户管理测试
管理员可以添加修改用户,在填写用户后,点击添加便能成功的添加用户。
用户管理测试用例如下表所示。
表6-3用户管理测试用例
测试模块 |
用户管理模块测试 |
测试目的 |
测试当用户输入不符合要求时,系统是否能进行相应处理并给出提示。 |
测试方法 |
黑盒测试 |
测试数据 |
1管理员登录后,未填写用户号选项,点击添加用户 2管理员登录后,输入用户必填项,点击添加用户, |
预期结果 |
1用户添加失败,系统提示请输入必填项 2用户添加成功,系统提示提交成功 |
实际结果 |
与预想一致。 |
结论 |
用户管理模块实现了基本的异常输入应对。 |
6.4测试结果
测试结果包括界面及功能测试和代码测试两部分,本系统对每个功能点做了详细的测试,测试结果正常。
序号 |
测试模块 |
功能点 |
质量保证标准 |
问题属性 |
测试结果 |
F1 |
系统用户管理模块 |
修改密码 |
正确性 |
故障 |
正常 |
权限设置 |
正确性 |
故障 |
正常 |
||
角色管理 |
正确性 |
缺陷 |
正常 |
||
用户信息添加 |
正确性 |
故障 |
正常 |
||
用户信息修改 |
正确性 |
故障 |
正常 |
||
用户信息查询 |
正确性 |
故障 |
正常 |
||
用户信息删除 |
正确性 |
故障 |
正常 |
||
退出系统 |
正确性 |
故障 |
正常 |
||
F2 |
功能管理模块 |
图书添加 |
正确性 |
故障 |
正常 |
图书修改 |
正确性 |
故障 |
正常 |
||
图书删除 |
正确性 |
故障 |
正常 |
||
借书添加 |
正确性 |
故障 |
正常 |
||
借书修改 |
正确性 |
故障 |
正常 |
||
借书删除 |
正确性 |
故障 |
正常 |
||
用户添加 |
正确性 |
故障 |
正常 |
||
用户修改 |
正确性 |
故障 |
正常 |
||
用户删除 |
正确性 |
故障 |
正常 |
第7章 总结
经过几个月的努力和坚持,图书馆管理系统终于完成了,那个时候专业课还没有学完,所以对开发项目来说困难重重,当时只好分模块做。先去深入到用户中了解他们的需求,做好需求分析文档。像技术篇的,一方面通过自己所学习的专业课中,去学习核心知识,并记录到自己的文档中,另一方面,再加上网络授课以及网络资料这几部分获得知识。这是前期的准备,一整套下来,写到这里,感觉把大学所有的专业房产信息又学习了一遍。
整个过程遇到了很多的挫折,但是宝剑锋从磨砺出,正是挫折让我们不断的进步。但是整个过程的收获还是非常丰富的。在精神上,让我明白了一颗永不放弃,积极上进的内心是非常重要的,越努力越幸运。在专业知识上,让我明白掌握牢固专业知识,加上发散思维,是让人快速进步的方法。在生活中,学会与人沟通,有问题尽可能的沟通解决,不要自己钻牛角尖。
以书会友平台,仅仅是一个很小的子系统,不像大型企业所开发的应用软件那样完美。但是这仅仅是我人生路上的一小步。而毕业论文必须用心去写,而不是抱着投机取巧的心态蒙混过关,这个过程是让人成长的。感谢这个过程,感谢这个过程中积极帮助我,给与我帮助的人。
此外,以后我依旧要保持一颗积极上进的心,求知若渴,虚心若愚,不断进步,不断学习。
致 谢
经历了近三个多月的动手实践及老师辛勤的指导和同学朋友热心的帮助下,本人的毕业设计图书馆管理的基本功能也基本完成。
但是由于时间、基础及缺乏实践等多方面的问题,还有诸多需要解决的问题依然存在,设计中很多方面考虑不够周全或者考虑不到。
非常感谢我的老师,我的同学,我的朋友并希望在今后的学习生活中不断陪养多方面的兴趣,不断学习进步从而能够实现独立完成。设计中存在的诸多缺点诚肯老师的原谅。
参考文献
[1]刘晓华,周慧贞.JSP应用开发详解[M].电子工业出版社,2013
[2]阿斯利森,舒塔,金灵等译.Java基础教程[M].人民邮电出版社,2014
[3]马石安, JSP Web程序设计与图书案例开发[M]. 清华大学出版社 , 2017
[4]王珊,萨师煊.数据库系统概论[M].高等物业出版社出版社,2010
[5]王毅,周峰,孙更新.JSP经典案例设计与实现[M].电子工业出版,2013
[6]张海藩, 软件工程导论[M]. 清华大学出版社 , 2013:5-14
[7]郑阿奇.MySQL实用教程[M].电子工业出版社,2013
[8]谭庆平,毛新军编著.软件工程实践[M].高等物业出版社,2014
[9]林邦杰.JSP程序设计入门教程[M]. 中国青年出版社,2011
[10]谢希仁.计算机网络[M]. 电子工业出版社,2012
[11] 列旭松,JSP核心技术与最佳实践[M]. 机械工业出版社 , 2012
[12]王行言.Java语言与面向对象程序设计[M].清华大学出版社,2013:
[13]威廉斯, JSP&MySQL Web数据库应用开发指南[M]. 东南大学出版社 ,2006
[14]陈云芳.基于B/S的Web应用开发实战[M].人民邮电 出版社, 2012
[15] DavidHopkins.Improvingthe Quality of Teaching and Learning[J].Support for Learning,2014
【计算机毕业设计】图书馆管理系统设计与实现相关推荐
- java计算机毕业设计考勤系统设计源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计考勤系统设计源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计考勤系统设计源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开 ...
- [附源码]JSP+ssm计算机毕业设计仓库管理系统设计z3g13【源码、数据库、LW、部署】
项目运行 项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclisp ...
- ssm+java计算机毕业设计在线商城系统设计g0d26(程序+lw+源码+远程部署)
项目运行 项目含有源码(见文末).文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ E ...
- java高校图书馆管理网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
java高校图书馆管理网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java高校图书馆管理网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...
- java计算机毕业设计宠物店管理系统设计与实现源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计宠物店管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计宠物店管理系统设计与实现源码+mysql数据库+系统+lw文档+部署 本源码技术栈: ...
- java计算机毕业设计个人连锁民宿信息管理系统设计与开发系统(修改)源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计个人连锁民宿信息管理系统设计与开发系统(修改)源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计个人连锁民宿信息管理系统设计与开发系统(修改)源码+mysql数 ...
- 计算机毕业设计JAVA校园课室资源预约系统设计与实现mybatis+源码+调试部署+系统+数据库+lw
计算机毕业设计JAVA校园课室资源预约系统设计与实现mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA校园课室资源预约系统设计与实现mybatis+源码+调试部署+系统+数据库 ...
- java计算机毕业设计基于vue框架的疫情防控知识在线答题系统设计与实现源程序+mysql+系统+lw文档+远程调试
java计算机毕业设计基于vue框架的疫情防控知识在线答题系统设计与实现源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计基于vue框架的疫情防控知识在线答题系统设计与实现源程序+m ...
- java线上医药用品分销系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
java线上医药用品分销系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java线上医药用品分销系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 ...
最新文章
- 【cs229-Lecture2】Linear Regression with One Variable (Week 1)(含测试数据和源码)
- 理解java虚拟机工作后了解吗,【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。...
- 关于IOS给我的启发
- How org unit id and type is determined in Genil
- 《Python 黑科技》程序员必须会的代理ip小技巧
- 用python玩转数据测试与作业_用Python玩转数据分析10
- 2009-08-02 XEIM 2.8 beta 迅速发布
- delphi控件切图界面闪烁_DirectUI用户手册.pdf
- javascript之Map 和 Set
- 什么是作用域链(源码解析)
- 单例模式中的多线程分析synchronized
- (转)高新技术在高频交易中的运用
- 全国银行SWIFT代码查询
- 新型智能优化算法——海鸥优化算法(基于Matlab代码实现)
- 松耦合式的权限控制设计,自定义权限表达式
- 2017、2018年中国大数据发展趋势和展望解读
- 深入理解计算机系统 练习题3.8 理解计算机二元操作
- 5.2 主机扫描:主机探测
- java响铃_android 闹铃(响铃、震动)
- 深入理解计算机系统(CSAPP)读书笔记 第一章