图书管理系统设计报告.docx
- 文档编号:4774391
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:11
- 大小:272.81KB
图书管理系统设计报告.docx
《图书管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计报告.docx(11页珍藏版)》请在冰豆网上搜索。
图书管理系统设计报告
图书管理系统
系统设计目的和内容
图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。
提高图书馆的工作效率,降低管理成本.其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发。
前者要求建立起数据一致性各完整性强、数据安全性好的数据库.而后者则要求应用程序具有功能完备、易用等特点。
因此本系统结合开放式图书馆的要求,采用。
NET技术
系统需求分析
图书馆在正常运营中面对大量书籍、读者信息,以及两者间相互产生的借书信息、还书信息.现有的人工记录方法即效率低又错误过多,大大影响了图书馆的正常管理工作。
因需要对书籍、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于管理效率的提高.对于图书馆管理系统,需求分析是数据库信息管理系统开发的第一步也是最重要的一步。
可以将需求分析分为两个过程,一是理解需求,二是分析需求。
理解需求
(1)在进入系统之后首先是登录系统,根据用户输入的内容判断用户的合法身份。
合法用户分为普通用户和系统管理员,其中系统用户拥有所有权限而普通用户没有用户管理的权限。
(2)进入读者信息维护界面可以进行读者信息的增加、删除、改变和查询,以及遍历记录.
(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图
⏹登入模块分析
当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进行比较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;否则登录失败。
比较的过程是由浏览器将指令,数据发送到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
code=(char)('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;i<2;i++)
{
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);
}
维护读者信息时序图,维护读者信息可以分为对读者信息的增加、删除、修改和查询操作,还可以在报表界面显示读者报。
维护图书、出版社信息时序图同理。
借还书信息维护时序图,当用户操作读者的借还书信息时,不但要同时修改借阅记录从而显示现在的借阅状态,还要同时修改读者信息中的借阅图书数量这个属性,以及修改图书的库存量这个属性。
时序图设计完成后,开始进行图书管理系统的架构设计和细节设计。
在架构设计中,将定义包(子系统)、包间的相关性和基本的通信机制。
当然,要得到清晰简单的架构,架构中的相关性要尽可能的少。
在详细设计中,应该将应用逻辑和技术逻辑分割。
应用逻辑是需要编码设计的,而技术逻辑,主要包括用户接口。
数据库或者通信,一般是已经有的。
图书管理系统中的层(或者称为子系统、包)有如下几个
界面层(UserInterfaceLevel):
界面层可以简单地看成是将来用户要操作的界面,及界面上的各个控件和它们对应的事件。
业务规则层(BusinessRulesLevel):
业务规则层包含前面设计的分析模型的类.业务对象包同数据层协同完成任务。
结论
经过几个月的设计和开发,学校图书管理系统基本开发完毕.其功能基本符合用户需求。
对于数据的一致性的问题也通过程序进行了有效的解决。
但是该系统还有许多不尽如人意的地方,在今后有待进一步改善。
通过这次毕业设计真切地体会到毕业设计的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。
从而获得一种本领:
就是融会贯通各种语言.回首整个开发设计过程,我学到了很多书本上学不到的东西。
比如以前开发软件的时候,一般做的就是编码工作,实现比较简单的功能。
但是这次毕业设计,我要负责图书管理系统的整个开发过程,包括系统可行性分析、系统需求分析、系统概要设计、系统详细设计等方面的工作.在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。
在整个毕业设计过程中,我基本上完成了图书管理系统各个模块的功能,达到了毕业设计的要求。
页面设计还有进一步改善的地方,我会在今后的学习工作中着重加强这方面的锻炼。
在以后的工作中,还会遇到很多类似的情况,此次毕业设计为我以后的工作积累了很多宝贵的经验.这几个月中,从接到设计课题到具体设计再到完成系统开发,是一个不断地遇到问题与解决问题的过程。
其中包括:
分析各种需求、完善各种功能、增加必要环节、对各部分及整体进行检测与维护。
当然仍存在许多问题不能解决地尽善尽美,还需不断地继续与探索。
在结束设计的同时也感到了劳动的艰辛与劳动成果的来之不易,明白了毕业设计是给自己提供了一个锻炼、升华、提高、完善的机会。
主要研究内容及成果
介绍学校图书管理系统根据实际的需求及发展情况进行设计与开发情况,及介绍本系统设计应用平台及技术支持讲述本系统设计理念及具体设计情况,讲解本系统具体制作方法及核心代码.开发的图书管理系统基本上能完成预期的目标,大致能满足读者和管理员的要求。
不过也有一些不足之处需要好好改进。
今后进一步研究方向
(1)对页面进行美化,使界面变的更美观一点。
(2)增加数据转换接口,使得本系统能与学校图书管理系统数据库进行无缝连接。
(3)添加系统功能,本系统只有让读者知道还书的期限,当图书超期而读者也没注意要自己所借图书超期了,就无法及时的还书了,因此增加图书到期催还功能,能让读者在自己信息查询时候就能看到系统对自己所借图书的超期提醒以方便读者的图书归还。
参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 报告