图书管理系统 中山大学网络教育学院(佛山市达德自学考试辅导学(4)

2018-12-17 10:34

if query.FieldByName('class').AsInteger =0 then begin

frmMain.menuUser.Enabled := true; end;

if query.FieldByName('class').AsInteger =2 then begin

frmMain.SpeedButton2.Enabled := false; frmMain.SpeedButton4.Enabled := false; frmMain.SpeedButton5.Enabled := false; frmMain.SpeedButton6.Enabled := false; frmMain.SpeedButton7.Enabled := false; frmMain.SpeedButton8.Enabled := false; frmMain.menuUser.Enabled := false;

frmMain.menuBookLend.Enabled := false; frmMain.menuBookIn.Enabled := false;

frmMain.menuBookModify.Enabled := false; frmMain.menuBookClass.Enabled := false; frmMain.menuReader.Enabled := false; frmMain.N5.Enabled := false; frmMain.N7.Enabled := false; end;

edtpassword.Text :=''; //密码信息要清空 Query.Close; Query.Free; frmMain.Show; frmLogin.close; except

MessageDlg('连接数据库出错!',mtError,[mbok],0); end; end;

4.2 系统用户管理界面

管理员登录后管理系统用户信息。如图4-2所示:

图4-2系统用户管理界面

15

4.3 图书类别管理界面

图书信息管理模块主要分为查看图书信息页面和添加修改图书信息页面,用户可以在查看图书信息页面查看图书的基本信息,管理员也可以看这些信息,并且可以通过单击“添加图书信息”这个超级链接或集合列表中的“详情”超级链接转到添加或删除图书信息界面,并在该页中添家或修改图书信息。

管理员登录后可以管理图书类别信息。如图4-3所示:

图4-3图书类别管理界面

4.4 添加借书记录界面

系统要求有系统管理员用户,我们设定系统管理员,当系统管理员使用帐户登录后,需要查看有关图书的一系列的信息,管理员可以通过系统导航菜单进入读者管理界面、图书管理界面、图书借还界面、系统查询界面、排行榜界面,在读者界面中,管理员添加和修改学生或教师信息、用户可以查看自己信息,在图书管理界面管理员可以添加和修改图书信息、用户可查看图书,在图书借还界面完成读者借书还书的操作,系统查询界面管理员可以查看借出去的图书信息及库存的信息、用户可以查找自己的所需的图书,排行榜界面主要是可以让用户知道哪些图书受到读者的喜爱。读者(老师和学生)使用读者帐号登陆系统后,可以查询自己所需要的图书的信息、也可以查询自己个人的基本信息及图书的借还信息,还能查看排行榜的信息。读者的借书和还书过程是通过管理员完成的。

管理员登录后可以添加借书信息。如图4-4所示:

16

图4-4添加借书界面

4.5 还书管理界面

管理员登录后可以管理还书信息。如图4-5所示:

图4-5还书管理界面

4.6 系统开发的遇到的相关问题及解决 4.6.1 图书管理系统索引

图书管理系统开发中存在大量的数据和信息检索,怎样更好的检索数据和信息操作是保证检索速度的提高和数据的分页显示,主要考虑了以下几个方面:

(1)设计逻辑结构时充分考虑冗余量和可处理性两方面的要求,在接受冗余量的提下,尽量减少表的连接操作。

(2)关系的大小对查询的影响也是很大的,因此为了提高数据库的查询速度,减小系的大小和数据量也是必要的。

(3)建立合理的索引结构。索引相当于一个映射机构,将键值转换成相对应的 记录地址,形成索引文件。

17

索引设计是数据库物理设计的基本问题,也是较困难的问题,建立索引可以极大地提高系统的查询速度,但是同时做Insert、Update、Delete操作时会降低速度,因为做这些操作的同时需要更新索引,所以不能对数据库中所有的表都建立索引。比如满足下列条件之一的不易建立索引:不出现或很少出现的属性或表、属性分布严重不均的属性、经常更新的属性或表、过长的属性、太小的表等。

满足下列条件之一的可以考虑建立索引:主键和外键都建立索引、对于以读为主或只读的表,只要需要,且存储空间允许,可以减少连接开销、对于等值查询(即查询条件以等号为比较符),最好建立索引、对查询范围(即查询条件>,<,≤,≥为比较符),最好建立索引、有些查询可以由检索直接得到结果,不必访问数据块。

根据实际需要,读者信息表,图书信息表,图书借还信息表,权限信息,管理员信息表等都建立索引,合理使用缓冲区。 4.6.2 如何验证输入的字符串

在图书管理系统的开发过程中,需要对一些输入的字符串进行验证,例如金额、电话号码、E-mail等,由于许多模块都需要用到这些验证,因此可以将其写入到一个公共JS脚本中然后在其他的页面中直接调用即可。JS中对字符串进行验证时,十分的方便快捷,减少服务器与客户端交互的过程,在客户端轻松的解决,要使用正则表达式验证输入的字符串,如验证输入的字符串是否为E-mail的地址格式的实现方法。

4.6.3 系统登陆验证码的实现

在学校图书管理系统的开发过程中,怎么样防止某些人利用某些恶意的软件对图书管理系统进行恶意的登陆来攻击系统,增加图书管理系统的安全性是一个重要的问题。在图书管理系统的登陆模块中加入一个验证码的功能,即用户除了要输入帐号和密码还要输入系统为用户提供的验证码。验证码可以很好的解决了怎样防止恶意用户利用恶意软件对系统页面的疯狂提交、以及暴力破解密码进行登陆的问题。因此,设置一个随机函数在数字0~9和英文字母A~Z中随机抽取四个,在用户打开登陆界面的时候,系统通过随机生成器随机生成4个数字或字母或数字加字母存放在缓存内,并出现在界面上顺序是随机的,当用户登陆时输入的验证码要与缓存中的进行对比符合就进入,不符合就不能登陆。系统在提供验证码时候要加入一些干扰的条件的,不过这些人的肉眼是很容易分辨,但机器人程序不能分辨,很好的防止某人利用机器人程序对系统的恶意操作增加了系统的安全性。

18

第五章 总结与展望

通过对此图书馆管理系统的设计,本人学到了很多东西。比如学会了查找相关资料,提高了自己的绘图能力。在设计过程中本人也体会到数据库初期设计一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充,程序一旦开始编码,就应该尽量避免再修改数据库。因为如果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就很容易形成一个恶性循环。在安装SQL Server的时候,最好要设定密码,要使用SQL Server身份验证,而不要选使用Windows身份验证,否则容易出错。把做好的系统从一台计算机移到另一台计算机的时候,首先要重新连接一下ADOConnection1的ConnectionString属性,以防止因计算机的服务器名不一样而出现错误。

通过此设计我感到自己应用基础知识及专业知识解决问题的能力有了较大的提高,同时毕业设计也暴露出自己专业基础的很多不足之处,使我明白自己知识还很浅薄,虽然马上要毕业了,但是自己的求学之路还很长,以后更应该在工作中学习,努力使自己成为一个对社会有所贡献的人。再者,毕竟Delphi是一种简单的开发工具,希望通过进一步学习,能够用更加高级的开发工具来开发此系统。这次毕业设计锻炼了本人的多方面的能力,是对本人专业知识和专业基础知识一次实际检验和巩固,同时也是走向工作岗位前的一次热身,到了工作单位后,我将能够更快的适应工作岗位和工作要求,我对自己充满信心。

总之,这次毕业设计对本人而言是受益匪浅的。

19


图书管理系统 中山大学网络教育学院(佛山市达德自学考试辅导学(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2018学年北京市大兴区爱心希望学校四年级上册期末考试数学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: