【计算机毕业设计】图书馆管理系统设计与实现

时间:2025-03-26 07:53:21

第4章 系统设计

4.1系统结构设计

系统设计主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,图书管理,用户管理等操作。

系统的功能结构图如下图所示。

       

图4-1系统功能结构图

4.2功能模块设计

系统登录:系统登录是管理员访问系统的路口,设计了系统登录界面,包括管理员名、密码和验证码,然后对登录进来的管理员判断身份信息,判断是管理员管理员还是普通用户。

管理员管理:管理员可以管理系统的其他普通用户的账号,包括录入新管理员,删除现有的普通用户,修改现有的普通用户的信息,并可以通过管理员名和姓名等关键字搜索普通用户,打印管理员列表页面,导出管理员列表至excel中。

修改密码:系统所有管理员(管理员和普通用户)应该都要能修改自己的登录密码,修改后需要重新登录。

个人资料管理:由普通用户使用,普通用户登录系统后,可以修改个人原始信息,如修改电话号码、邮箱等,管理员的管理员名是无法修改的。

登录情况管理:系统每个管理员应该都能查看个人的历史登录情况,如登录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、

QQ

varchar

8

20

QQ

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、

QQ

varchar

20

50

QQ

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登录测试

登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。

登录测试用例如下表所示。

6-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测试结果

测试结果包括界面及功能测试和代码测试两部分,本系统对每个功能点做了详细的测试,测试结果正常。

测试结果表如下表所示。

表6-5系统功能测试结果表

序号

测试模块

功能点

质量保证标准

问题属性

测试结果

F1

系统用户管理模块

修改密码

正确性

故障

正常

权限设置

正确性

故障

正常

角色管理

正确性

缺陷

正常

用户信息添加

正确性

故障

正常

用户信息修改

正确性

故障

正常

用户信息查询

正确性

故障

正常

用户信息删除

正确性

故障

正常

退出系统

正确性

故障

正常

F2

功能管理模块

图书添加

正确性

故障

正常

图书修改

正确性

故障

正常

图书删除

正确性

故障

正常

借书添加

正确性

故障

正常

借书修改

正确性

故障

正常

借书删除

正确性

故障

正常

用户添加

正确性

故障

正常

用户修改

正确性

故障

正常

用户删除

正确性

故障

正常

第7章  总结

经过几个月的努力和坚持,图书馆管理系统终于完成了,那个时候专业课还没有学完,所以对开发项目来说困难重重,当时只好分模块做。先去深入到用户中了解他们的需求,做好需求分析文档。像技术篇的,一方面通过自己所学习的专业课中,去学习核心知识,并记录到自己的文档中,另一方面,再加上网络授课以及网络资料这几部分获得知识。这是前期的准备,一整套下来,写到这里,感觉把大学所有的专业房产信息又学习了一遍。

整个过程遇到了很多的挫折,但是宝剑锋从磨砺出,正是挫折让我们不断的进步。但是整个过程的收获还是非常丰富的。在精神上,让我明白了一颗永不放弃,积极上进的内心是非常重要的,越努力越幸运。在专业知识上,让我明白掌握牢固专业知识,加上发散思维,是让人快速进步的方法。在生活中,学会与人沟通,有问题尽可能的沟通解决,不要自己钻牛角尖。

以书会友平台,仅仅是一个很小的子系统,不像大型企业所开发的应用软件那样完美。但是这仅仅是我人生路上的一小步。而毕业论文必须用心去写,而不是抱着投机取巧的心态蒙混过关,这个过程是让人成长的。感谢这个过程,感谢这个过程中积极帮助我,给与我帮助的人。

此外,以后我依旧要保持一颗积极上进的心,求知若渴,虚心若愚,不断进步,不断学习