图书管理系统设计报告Word下载.docx
- 文档编号:15407343
- 上传时间:2022-10-30
- 格式:DOCX
- 页数:10
- 大小:214.62KB
图书管理系统设计报告Word下载.docx
《图书管理系统设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计报告Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
(3)进入图书信息维护界面可以进行图书信息的增加、删除、改变和查询,以及遍历记录。
(4)进入出版社信息维护界面可以进行出版社信息的增加、删除、改变和查询,以及遍历记录。
(5)进入读者借还书界面可以实现读者借书、还书和查询读者借阅记录的功能,并在读者借还书过程中同步实现相应数据库数据的变动。
(6)进入打印报表界面可以根据用户的选择,以报表形式打印出用户选择的数据表所有的记录。
(7)进入综合查询界面可以通过用户选择的数据表和相应的查询条件来显示查询到的结果。
(8)系统客户端运行在Windows平台下,服务端可以运行在Windows平台或者Unix平台下。
系统还应该有一个较好的图形用户界面。
(9)系统应该有很好的可扩展性。
需求分析
需求分析就是描述系统的需求,通过定义系统中的关键类来建立模型。
分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此,图
书馆管理系统的需求分析也应该是开发人员和用户或者客户一起完成的。
需求分析的第一步是描述图书馆管理系统的功能,即定义用例,以此确定系统的需求。
和用例相关的是系统的角色,图书馆管理系统的角色是读者、普通用户和系统管理员。
读者借书和还书,系统管理员拥有所有的权限而普通用户没有用户管理的功能。
图书馆管理系统的用例包括:
读者信息维护用例
出版社信息管理用例
读者借还书用例
综合查询用例
报表显示用例
其中借/还书信息管理用例包括:
借阅图书、归还图书、查询借阅信息
读者信息维护的用例包括:
增加读者信息、删除读者信息、修改读者信息、查询读者信息、遍历读者信息
同理,图书、出版社、用户信息管理用例也被分为增加、删除、修改、查询和遍历5个用例。
系统功能图
整个系统的结构以及各部分功能如下:
以下整个图书管理系统的各模块图
图书管理系统
系统设置
管理员设置
书架设置
读者管理
排行榜
图书管理
图书借还
系统查询
读者类型管理
图书借阅排行榜
读者借阅排行榜
图书借阅查询
图书档案查询
图书归还
图书借阅
图书档案管理
图书类型管理
读者档案管理
系统功能结构图
(1)图书借阅系统完成用户的借书过程其数据流图如图所示。
借阅系统的数据流图
(2)还书系统完成图书的归还过程其数据流图如图所示。
归还系统的数据流图
(3)图书档案管理系统为用户提供图书档案信息其数据流图如图所示。
图书档案管理数据流图
(4)读者档案系统用于记录读者的详细信息其数据流图如图所示。
读者档案管理数据流图
系统流程图
图书管理系统的流程是用户先输入自己的帐号密码及系统显示的验证码进入系统如有一项不符合则不能进入系统,成功登陆系统后系统根剧登陆的帐号信息从数据库中的数据进行对比判断是读者还是管理员,如果是读者则能进行信息查询,及修改自己的相关信息,查询到自己所需要的图书就能通过管理员进行借阅图书、归还图书也是通过管理员完成的。
如果不是读者而是管理员,那管理员可以进行相关信息的查询、添加删除图书及读者的所有信息、设置相应的权限、为图书更新排行榜的信息、以及完成读者的图书借阅与归还。
图书管理系统的系统流程图如图3-6所示。
登陆系统
是否登陆
判断身份
管理员
读者
图书归还
图书借阅
信息查询
排行榜信息
图书信息
读者信息
否
图3-6图书管理系统的流程图
数据总体结构设计
数据库概念结构设计
数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这个阶段不用考虑所采用的数据库管理系统、操作系统类型、机器类型等问题。
这阶段可用的工具很多。
用的最多的是E-R图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(ComputerAidedSoftwareEngineering,CASE)可以帮助进行设计。
本系统采用了E-R图的方法进行数据库概念结构设计。
E-R图是描述数据实体关系的一种直观描述工具。
这种图中有:
数据库逻辑结构设计
概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。
也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。
第一种转化是将实体转化为关系表。
这种转化较简单,需要将实体的属性定义为表的属性即可。
第二种转化是联系的转化。
即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。
在上面工作的基础上归纳出人员管理数据库表格的组成之间的联系等等。
图书管理系统的系统E-R图
图书管理系统的系统E-R图如图4-5所示。
图书
管理
借还
还书时间
借书时间
删除
类型
条形码
……
修改
密码
名称
编号
添加
图4-5图书管理系统的系统E-R图
n登入模块分析
当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进行比较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;
否则登录失败。
比较的过程是由浏览器将指令,数据发送到Web服务器,Web服务器通过对数据库进行查询将结果返回到浏览器,从而端显示成功的消息,用户只有成功登陆系统后才能进行一系列的操作,如下图所示。
图书管理系统登陆界面
系统登陆验证码的实现
在学校图书管理系统的开发过程中,怎么样防止某些人利用某些恶意的软件对图书管理系统进行恶意的登陆来攻击系统,增加图书管理系统的安全性是一个重要的问题。
在图书管理系统的登陆模块中加入一个验证码的功能,即用户除了要输入帐号和密码还要输入系统为用户提供的验证码。
验证码可以很好的解决了怎样防止恶意用户利用恶意软件对系统页面的疯狂提交、以及暴力破解密码进行登陆的问题。
因此,设置一个随机函数在数字0~9和英文字母A~Z中随机抽取四个,在用户打开登陆界面的时候,系统通过随机生成器随机生成4个数字或字母或数字加字母存放在缓存内,并出现在界面上顺序是随机的,当用户登陆时输入的验证码要与缓存中的进行对比符合就进入,不符合就不能登陆。
系统在提供验证码时候要加入一些干扰的条件的,不过这些人的肉眼是很容易分辨,但机器人程序不能分辨,很好的防止某人利用机器人程序对系统的恶意操作增加了系统的安全性。
验证码实现的关键代码如下:
privatestringGenerateCheckCode()
{
intnumber;
charcode;
stringcheckCode=String.Empty;
System.Randomrandom=newRandom();
for(inti=0;
i<
4;
i++)
{
number=random.Next();
if(number%2==0)
code=(char)('
0'
+(char)(number%10));
else
A'
+(char)(number%26));
checkCode+=code.ToString();
}
Response.Cookies.Add(newHttpCookie("
CheckCode"
checkCode));
returncheckCode;
}
privatevoidCreateCheckCodeImage(stringcheckCode)
if(checkCode==null||checkCode.Trim()==String.Empty)
return;
System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length*12.5)),22);
Graphicsg=Graphics.FromImage(image);
try
//生成随机生成器
Randomrandom=newRandom();
//清空图片背景色
g.Clear(Color.White);
//画图片的背景噪音线
for(inti=0;
2;
{
intx1=random.Next(image.Width);
intx2=random.Next(image.Width);
inty1=random.Next(image.Height);
inty2=random.Next(image.Height);
g.DrawLine(newPen(Color.Black),x1,y1,x2,y2);
}
维护读者信息时序图,维护读者信息可以分为对读者信息的增加、删除、修改和查询操作,还可以在报表界面显示读者报。
维护图书、出版社信息时序图同理。
借还书信息维护时序图,当用户操作读者的借还书信息时,不但要同时修改借阅记录从而显示现在的借阅状态,还要同时修改读者信息中的借阅图书数量这个属性,以及修改图书的库存量这个属性。
时序图设计完成后,开始进行图书管理系统的架构设计和细节设计。
在架构设计中,将定义包(子系统)、包间的相关性和基本的通信机制。
当然,要得到清晰简单的架构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)