基于WEB的图书管理系统设计与实现毕业论文.docx
- 文档编号:9942096
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:33
- 大小:355.95KB
基于WEB的图书管理系统设计与实现毕业论文.docx
《基于WEB的图书管理系统设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于WEB的图书管理系统设计与实现毕业论文.docx(33页珍藏版)》请在冰豆网上搜索。
基于WEB的图书管理系统设计与实现毕业论文
【摘要】………………………………………………………………………………1
前言……………………………………………………………………………………1
1 系统概述……………………………………………………………………………1
1.1 题目背景情况…………………………………………………………………1
1.1.1 题目背景和意义……………………………………………………………2
1.1.2 题目的主要容……………………………………………………………4
1.2 需求分析………………………………………………………………………6
1.2.1 需求分析概述………………………………………………………………7
1.2.2 用户特点……………………………………………………………………8
2 系统概要设计……………………………………………………………………12
2.1 系统功能描述………………………………………………………………12
2.2 系统总体模块图……………………………………………………………12
3 后台维护系统设计详细设计……………………………………………………14
3.1 后台维护系统设计…………………………………………………………14
3.2 数据库管理和维护…………………………………………………………15
3.3数据库系统存储……………………………………………………………15
3.4数据库系统功能要求分析…………………………………………………15
3.5 图书管理程序代码…………………………………………………………16
4 数据库设计………………………………………………………………………17
4.1E-R 图………………………………………………………………………17
4.1.1 总体数据库………………………………………………………………17
4.1.2 管理员用户管理 E-R 图 ………………………………………………17
4.1.3 管理员图书管理E-R 图…………………………………………………18
4.1.4 管理员留言管理E-R图…………………………………………………18
5 系统测试…………………………………………………………………………20
5.1 测试的介绍…………………………………………………………………20
5.2 测试的原则…………………………………………………………………20
5.3 软件测试的方法……………………………………………………………21
5.4 测试结论……………………………………………………………………22
结论…………………………………………………………………………………23
致谢…………………………………………………………………………………24
参考文献……………………………………………………………………………25
前言
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好图书馆信息而设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询、就得在众多的资料中翻阅、查找了,造成查询费时、费力。
如要对很长时间以前的图书进行更改就更加困难了。
基于这此问题,有必要建立一个图书管理系统,使图书管理工作规化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
1 系统概述
1.1 题目背景情况
1.1.1 题目背景和意义
1.1.1.1 题目背景
图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书管理人员来说,图书馆管理包括图书信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。
而这些项目在过去靠手工操作,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便,因此,开发这样一套图书馆管理系统软件。
让管理员方便的管理图书及用户信息,方便用户查找图书。
1.1.1.2 题目意义
图书馆管理系统本着让图书馆管理做到快捷、方便、简单、摆脱用手工操作处理图书借阅的问题,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了资源的略事而设计,它可以使管理员从繁重的手工操作中解脱出来,还可以通过留言板,及时预借一些自己想借但目前不在图书馆的图书,这样可以迅速的掌握图书馆图书信息的动向,并向图书管理员提一些建议。
管理员通过本系统可以添加、修改、删除图书信息,可以添加、修改、删除用户信息,可以快速查找图书等,可以让用户方便的了解图书馆与图书的相关信息等。
1.1.2 题目的主要容
1.1.2.1 图书管理系统的主要容
图书管理系统的建设主要是为了使用户方便的借阅图书馆图书,使管理员快速、简单的对图书馆图书及用户信息进行管理,实现在线的借阅与图书、用户管理,充分利用网络的方便快捷、时时互动的特点,打破传统的手工操作模式,提出新颖的模式,使用户在网络模式下利用网络资源进行方便、快捷的图书借阅、利用虚拟情境与管理员进行交流。
主要实现的功能有查询、留言、借阅、信息管理,其中信息管理为重点,包括图书信息管理、读者信息管理、留言信息管理等。
1.1.2.2 系统总概述
(1)后台维护子系统
① 用户信息管理
管理员通过数据库管理和维护系统可以对读者进行管理和维护。
管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护读者信息。
在管理和维护这一部分因为涉及到读者信息表,因此要使用存储过程和触发器来保证数据的一致性。
②图书信息管理
新书入库、旧书报废、图书信息的修改。
新书入库指对需求比较大的图书,如果数据库中有,则增大其库存量,如果没有,则进购新书。
旧书报废指因为人为因素(如借阅后丢失、损坏等)致使图书不能继续被借阅的,应从书库中清除掉。
新书入库和旧书报废时,应对该书库总数进行调按,尤其是当旧书报废后,若该书总数为零时,应自动将该书信息删除。
我们还对书进行了分类,如果因为某书的减少,导致该类图书的减少,则当该类图书总数为零时,系统也应自动将该图书类别信息删除。
③管理员管理
管理员可以对管理员表中的信息进行插入、删除、修改、更新等基本操作以管理和维护读者信息。
④留言信息管理
管理员通过管理与维护模块可以对留言板子系统进行管理和维护。
管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护留言板子系统。
在管理和维护这一部分时除了要对留言信息表进行维护,还要使与留言信息表相关联的数据表保持一致性。
即当对与留言信息表相关的数据进行维护时,也要使留言信息表中相关信息与其同步,这就要用到存储过程。
这样才能很好的保证数据的一致性。
(2)图书查询子系统
用户可以通过图书作者、图书名、ISBN、、主题词、图书书号进行查询,以便用户对图书信息的快速检索。
1.2 需求分析
1.2.1需求分析概述
需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。
在解决问题之前要理解问题,只要真正的理解问题才能更好的解决问题。
需求分析就是给系统分析、设计人员一个和用户交流来解决问题的机会—了解用户究竟需要什么。
需求分析也是一个建模的过程,与在概要设计中建模不同在需求分析中建模时面向用户的过程。
而在概要设计中的建模过程是面向开发人员的过程。
这样两种建模的过程就会存在差异和不同,从而使用自然语言进行描述也就不同。
在传统的软件工程中并不建议大量的使用自然语言对软件的需求进行描述,因为太多的自然语言会引发出很多问题。
比如说,二义性即不同的人对自然语言的描述会有不同的理解,就是再好的文档编写人员也不会保证他的文档不存在二义性。
毕竟我们不是语言专家。
这样就引入了借用图示进行功能的描述和建模的过程。
图示有其自己的优势比如,清晰,明确给人直观的感觉。
无论是何种背景的人群都可以理解。
这样就大大减少需求分析中的二义性。
从而使系统设计人员和用户更加有效的沟通。
这样也增加了软件的正确性。
在传统的软件工程中提供了多种不同的图示,每一种都从不同的角度对同一个问题进行描述,之所以这样。
可以使系统开发人员在不同的图示中挑出最合适他和他的团队进行问题详尽描述的一个或者一些图示。
比如数据流图,在需求分析中使用数据流图,就充分体现了数据在软件系统中移动时被变换的逻辑过程。
所以就是一个建立功能模型的最好图示;而实体关系图,就是描述数据对象以及他们之间关系的图示,所以就是一个建立数据模型的最好例子。
状态转换图通过事件的外部作用从而对状态进行改变,这就是一个建立行为模型的例子。
1.2.2 功能需求描述
主要分为后台数据维护、图书查询系统等,其中以后台维护系统所占的比例最大。
(1)数据流图
顶层图:
图 1.1 图书馆管理系统顶层图
(2)数据字典
①文件名:
用户信息
简述:
存放用户的信息
组成:
{用户编号、用户名、初始密码、确定密码、用户类型、真名、性别、所在院系、、Email地址}
②文件名:
图书信息
简述:
存放图书的信息
组成:
{图书编号、图书名、ISBN、作者名、、出版时间、图书类型、主题词、索引号、定价、页数、从书名、说明}
③文件名:
权限信息
简述:
存放权限信息
组成:
{编号、用户ID、用户名}
④文件名:
留言信息
简述:
存放留言信息
组成:
{编号、用户名、留言时间、留言容}
2 系统概要设计
2.1 系统功能描述
图书馆管理系统本着让图书馆管理做到快捷、方便、简单、摆脱用手工操作处理图书借阅的问题,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了资源的略事而设计,它可以使管理员从繁重的手工操作中解脱出来。
图书馆管理系统主要包括后台维护子系统,图书查询子系统等。
2.2 系统总体功能模块图
(1)后台维护子系统
①用户信息管理
管理员通过数据库管理和维护系统可以对读者进行管理和维护。
管理员可以对表中的信息进行删除、修改、更新等基本操作以管理
和维护读者信息。
在管理和维护这一部分时因为涉及到读者信息表,因此要使用存储过程和触发器来保证数据的一致性。
②图书信息管理
新书入库、旧书报废、图书信息的修改。
新书入库指对需求比较大的图书,如果数库中有,则增大其库存量,如果没有,则进购新书。
旧书报废指因为人为因素(如借阅后丢失、损坏等)致使图书不能被继续借阅的,应从书库中清除掉。
新书入库和旧书报废时,
应对该书库总数进行调按,尤其是当旧书报废后,若该书总数为零时,应自动将该书信息删除。
我们还对图书进行了分类,如果因为某书的减少,导致该类图书的减少,则当该类图书总数为零时,系统也应自动将该图书类别信息删除。
③管理员管理
管理员可以对管理员表中的信息进行插入、删除、修改、更新等基本操作以管理和维护读者信息。
④留言信息管理
管理员通过管理与维护模块可以对留言板子系统进行管理和维护。
管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护留言板子系统。
在管理和维护这一部分时除了要对留言信息表进行维护,还要使与留言信息表相关联的数据表保持一致性。
即当对与留言信息表相关的数据进行维护时,也要使留言信息表中相关信息与其同步,这就要用到存储过程。
这样才能很好的保证数据的一致性。
3 后台维护系统设计详细设计
3.1 后台维护系统设计
后台数据库的维护(如:
管理员管理、读者信息管理、图书信息管理)、系统数据库设计。
3.2 数据库管理和维护
数据库管理和维护的功能是专为管理人员设计和制作的,创作的主要宗旨是为管理人员提供方便、快捷的管理和维护整个系统数据的功能。
它除了要实现管理图书信息信息外,还可以对其他数据提供必要的管理和维护功能。
管理员可以对用户信息,留言板信息等进行管理,包括对注册用户的管理(删除,修改,更新用户基本信息等等),还要对读者提出问题或意见,定期公布的最新图书信息数据添加,删除,修改等进行基本的管理和维护。
在数据库管理和维护系统中,管理员可以输入所要维护的信息的条件,通过查询功能查找出符合条件的信息,从而对数据进行管理和维护。
3.3 数据库系统存储
添加借书/续借某数的信息,int,传入《《SingleBookId、ReaderId、BorrowedDate、IfBorrowedWidthCd、ContinueBorrowedCount、ShouldReturnedDate》》还书管理添加还书信息。
Int,传入id、PracReturnedDate、ReturnProcess、AmercedMoney、AmercementProcess丢失登记添加丢书信息。
Int,传入SingleBookId、ReaderId、RegisteredDate。
报表查询获得所有当前借书的信息,DataSet,《《Rorrowedid(不显示),SingleBookId(不显示)、Library、ISBN、IsbnMore、BarCode、BookName、Authors、Press、PublishedDate、Price、CdCount、Catelog、Series、Subject、AddedDate、TotalCount、CanBeBorrowedCount、在馆几本、remark、ReaderId、ReaderStyle、ReaderName、ReaderSex、BorrowedDate、ShouldReturnedDateShouldAmercedMoney》》获得所有过去借书的历史信息,DataSet《《同当前+ContinueBorrowedCount、PracReturnedDate、ReturnProcess、AmercedMoney、AmercementProcess》》获得所有丢数记录信息,DataSet,《SingleBookId、BookName、Press、Price、AddedDate、TotalCount、BorrowedDate、ShouldReturnedDate、RegisteredDate、Remark》》 获得是否有罚款的是否超期未还的ç通过过滤 获得时间段的获得某一类图书的获得某一读者的获得某一类读者的获得某一图书系列的获得某图书馆的获得某一读者的借阅的历史情况。
3.4数据库系统功能要求分析
命令按钮类的控件冒号
1)Caption属性冒号用来显示在控件上的标题。
2)Enable属性冒号控制控件的激活状态灰色或可用。
3)Appearance属性冒号值为1时,则以3D效果显示该控件,0则不然。
4)Backcolor属性冒号用来改变在按钮上显示图像的背景色。
5)Cancel属性冒号该属性决定按钮是否为1个”取消”按钮。
6)Default属性:
决定哪1个命令按钮控件是窗体的缺省命令按钮.
7)Font属性:
控制各种文字字体类型.
8)Left,top,height,width属性:
设定控件的位置与大小.
9)Style,picture属性:
决定按钮的显示方式是否为图像形式出现.
10)Visible属性:
确定控件运行时是否为可见.
11)Index属性:
当控件为1控件数组时,此属性值为该控件在数组的下标值.
12)DownPicture属性冒号设置/返回1个对图片的引用,该图片在按钮被单击处于压下状态时显示。
13)DisabledPicture属性冒号设置/返回1个对图片的引用,该图片在控件无效时显示在控件中。
14)MaskColor属性冒号设置/返回1个在按钮的图片中作为“掩码“的的颜色
15)Picture属性冒号设置返回commandButton控件中要显示的图片。
u 命令按钮类的事件冒号
3.5图书管理程序代码
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
structBOOK
{
intid.usr[10].total.store.days[10],
charname[31].author[21],
}books[100],
/*上面是结构体的定义.用于存放书籍及借书的信息.*/
voidpage_title(char *menu_item)
{
clrscr(),
printf(">>> 图 书 管 理 系 统 <<<-%s-".menu_item),
}
/*上面是打印页眉的函数.同时通过参数menu_item.可以显示当前的状态.*/
voidreturn_confirm(void)
{
printf("按任意键返回--"),
getch(),
}
/*上面是返回前请求确认的函数.以便在返回前观察结果*/
intsearch_book(void)
{
intn.i,
printf("请输入图书序号:
"),
scanf("%d".i
for(n=0,n<100,n++)
{
if(books[n].id==i)
{
printf("书名:
%s".books[n].name),
printf("作者:
%s".books[n].author),
printf("存数:
%dof".books[n].store),
printf("%d".books[n].total),
returnn,
}
}
printf("输入错误或无效图书序号."),
return-1,
}
/*上面的函数是在数组中找到图书号匹配的记录.显示其信息并返
回数组下标.如果找不到相应记录则提示错误并返回-1.*/
voidbook_out(void)
{
intn.s.l.d,
page_title("借阅图书"),
if((n=search_book())!
=-1&&books[n].store>0)
{
printf("请输入借书证序号:
"),
scanf("%d".s
printf("请输入可借天数:
"),
scanf("%d".d
for(l=0,l<10,l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s,
books[n].days[l]=d,
break,
}
}
books[n].store--,
}
if(n!
=-1&&books[n].store==0)printf("此书已经全部借出.
"),
return_confirm(),
}
/*上面是借书的函数.首先调用找书函数*/
voidbook_in(void)
{
intn.s.l,
page_title("归还图书"),
if((n=search_book())!
=-1&&books[n].store<books[n].total)
{
printf("借阅者图书证列表:
"),
for(l=0,l<10,l++)
if(books[n].usr[l]!
=0)
printf("[%d] -%d".books[n].usr[l].books[n].days[l]),
printf("请输入借书证序号:
"),
scanf("%d".sfor(l=0,l<10,l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0,
books[n].days[l]=0,
break,
}
}
books[n].store++,
}
if(n!
=-1&&books[n].store==books[n].total)
printf("全部入藏."),
return_confirm(),
}
voidbook_add(void)
{
intn,
page_title("注册新书"),
for(n=0,n<100,n++)
if(books[n].id==0)break,
printf("序号:
"),
scanf("%d".b
printf("书名:
"),
scanf("%s".b
printf("作者:
"),
scanf("%s".&books[n].author),
printf("数量:
"),
scanf("%d".b
books[n].store=books[n].total,
return_confirm(),
}
voidbook_del(void)
{
intn,
page_title("注销旧书"),
if((n=search_book())!
=-1)books[n].id=0,
printf("该书已注销."),
return_confirm(),
}
voidmain(void)
{
menu:
page_title("操作选单"),
printf("请用数字键选择操作"),
printf("1 借阅图书2 归还图书"),
printf("3 注册新书4 注销旧书"),
printf("0 退出"),
switch(getch())
{
case '1' :
book_out(),break,
case '2' :
book_in(),break,
case '3' :
book_add(),break,
case '4' :
book_del(),break,
case '0' :
exit(0),
}
gotomenu,
}
{
intn,
page_title(""),
if((n=search_book())!
=-1)books[n].id=0,
printf("?
."),
return_confirm(),
}
voidmain(void)
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WEB 图书 管理 系统 设计 实现 毕业论文