资源描述
图书管理系统
系统设计目和内容
图书管理系统重要目是对图书馆种类繁多书籍进行管理,并且合理管理好顾客借还信息。提高图书馆工作效率,减少管理成本。其开发重要包括后台数据库建立和维护,以及前端应用程序开发。前者规定建立起数据一致性各完整性强、数据安全性好数据库。而后者则规定应用程序具有功能完备、易用等特点。因此本系统结合开放式图书馆规定,采用.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,实体-关系图),此外尚有许多计算机辅助工具(Computer Aided Software Engineering, CASE)可以协助进行设计。本系统采用了E-R图措施进行数据库概念构造设计。E-R图是描述数据实体关系一种直观描述工具。这种图中有:
数据库逻辑构造设计
概念构造是独立于实际数据模型信息构造,必须将其转化为逻辑构造后才能进行数据库应用设计。也就是要将概念上构造转化为数据库系统所支持实际数据模型。
第一种转化是将实体转化为关系表。这种转化较简朴,需要将实体属性定义为表属性即可。
第二种转化是联络转化。即将各个实体之间联络转化为表格之间关系,如外部键定义。
在上面工作基础上归纳出人员管理数据库表格构成之间联络等等。
图书管理系统系统E-R图
图书管理系统系统E-R图如图4-5所示。
读者
图书
管理员
管理
管理
借还
还书时间
借书时间
删除
类型
条形码
……
修改
密码
修改
名称
编号
类型
……
编号
添加
添加
删除
图4-5 图书管理系统系统E-R图
n 登入模块分析
当顾客输入顾客名、密码,系统自动将输入信息和有关数据表中内容进行比较,假如该顾客输入内容和数据表中内容相符,则通过验证,本次登录成功;否则登录失败。比较过程是由浏览器将指令,数据发送到Web服务器,Web服务器通过对数据库进行查询将成果返回到浏览器,从而端显示成功消息,顾客只有成功登陆系统后才能进行一系列操作,如下图所示。
图书管理系统登陆界面
系统登陆验证码实现
在学校图书管理系统开发过程中,怎么样防止某些人运用某些恶意软件对图书管理系统进行恶意登陆来袭击系统,增长图书管理系统安全性是一种重要问题。在图书管理系统登陆模块中加入一种验证码功能,即顾客除了要输入帐号和密码还要输入系统为顾客提供验证码。验证码可以很好处理了怎样防止恶意顾客运用恶意软件对系统页面疯狂提交、以及暴力破解密码进行登陆问题。因此,设置一种随机函数在数字0~9和英文字母A~Z中随机抽取四个,在顾客打开登陆界面时候,系统通过随机生成器随机生成4个数字或字母或数字加字母寄存在缓存内,并出目前界面上次序是随机,当顾客登陆时输入验证码要与缓存中进行对比符合就进入,不符合就不能登陆。系统在提供验证码时候要加入某些干扰条件,不过这些人肉眼是很轻易辨别,但机器人程序不能辨别,很好防止某人运用机器人程序对系统恶意操作增长了系统安全性。验证码实现关键代码如下:
private string GenerateCheckCode()
{
int number;
char code;
string checkCode = String.Empty;
System.Random random = new Random();
for (int i = 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(new HttpCookie("CheckCode", checkCode));
return checkCode;
}
private void CreateCheckCodeImage(string checkCode)
{
if (checkCode == null || checkCode.Trim() == String.Empty)
return;
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
Graphics g = Graphics.FromImage(image);
try
{
//生成随机生成器
Random random = new Random();
//清空图片背景色
g.Clear(Color.White);
//画图片背景噪音线
for (int i = 0; i < 2; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height);
g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2);
}
维护读者信息时序图,维护读者信息可以分为对读者信息增长、删除、修改和查询操作,还可以在报表界面 显示读者报。维护图书、出版社信息时序图同理。
借还书信息维护时序图,当顾客操作读者借还书信息时,不仅要同步修改借阅记录从而显示目前借阅状态,还要同步修改读者信息中借阅图书数量这个属性,以及修改图书库存量这个属性。
时序图设计完毕后,开始进行图书管理系统架构设计和细节设计。在架构设计中,将定义包(子系统)、包间有关性和基本通信机制。当然,要得到清晰简朴架构,架构中有关性要尽量少。在详细设计中,应当将应用逻辑和技术逻辑分割。应用逻辑是需要编码设计,而技术逻辑,重要包括顾客接口。数据库或者通信,一般是已经有。图书管理系统中层(或者称为子系统、包)有如下几种
界面层(User Interface Level):界面层可以简朴地当作是未来顾客要操作界面,及界面上各个控件和它们对应事件。
业务规则层(Business Rules Level):业务规则层包括前面设计分析模型类。业务对象包同数据层协同完毕任务。
结论
通过几种月设计和开发,学校图书管理系统基本开发完毕。其功能基本符合顾客需求。对于数据一致性问题也通过程序进行了有效处理。不过该系统尚有许多不尽如人意地方,在此后有待深入改善。通过这次毕业设计真切地体会到毕业设计目并不止于自己单纯任务完毕,而在于学习新知识并掌握详细措施,怎样详细使用和详细应用你所学所用语言。从而获得一种本领:就是融会贯穿多种语言。回首整个开发设计过程,我学到了诸多书本上学不到东西。例如此前开发软件时候,一般做就是编码工作,实现比较简朴功能。不过这次毕业设计,我要负责图书管理系统整个开发过程,包括系统可行性分析、系统需求分析、系统概要设计、系统详细设计等方面工作。在每个设计阶段我都能学到某些新知识,对我动手能力提高很大。在整个毕业设计过程中,我基本上完毕了图书管理系统各个模块功能,到达了毕业设计规定。页面设计尚有深入改善地方,我会在此后学习工作中着重加强这方面锻炼。
在后来工作中,还会碰到诸多类似状况,本次毕业设计为我后来工作积累了诸多宝贵经验。这几种月中,从接到设计课题到详细设计再到完毕系统开发,是一种不停地碰到问题与处理问题过程。其中包括:分析多种需求、完善多种功能、增长必要环节、对各部分及整体进行检测与维护。当然仍存在许多问题不能处理地尽善尽美,还需不停地继续与探索。在结束设计同步也感到了劳动艰苦与劳动成果来之不易,明白了毕业设计是给自己提供了一种锻炼、升华、提高、完善机会。
重要研究内容及成果
简介学校图书管理系统根据实际需求及发展状况进行设计与开发状况,及简介本系统设计应用平台及技术支持讲述本系统设计理念及详细设计状况,讲解本系统详细制作措施及关键代码。开发图书管理系统基本上能完毕预期目,大体能满足读者和管理员规定。不过也有某些局限性之处需要好好改善。
此后深入研究方向
(1) 对页面进行美化,使界面变更美观一点。
(2) 增长数据转换接口,使得本系统能与学校图书管理系统数据库进行无缝连接。
(3) 添加系统功能,本系统只有让读者懂得还书期限,当图书超期而读者也没注意要自己所借图书超期了,就无法及时还书了,因此增长图书到期催还功能,能让读者在自己信息查询时候就能看到系统对自己所借图书超期提醒以以便读者图书偿还。
参照文献
展开阅读全文