VB课程设计图书管理系统的设计_第1页
VB课程设计图书管理系统的设计_第2页
VB课程设计图书管理系统的设计_第3页
VB课程设计图书管理系统的设计_第4页
VB课程设计图书管理系统的设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目目 录录一、概述一、概述.11.1 图书管理系统的可行性分析 .1二、需求分析二、需求分析.22.1 系统需求分析.22.2 系统实现的目标.22.3 系统功能模块设计.2三、系统设计三、系统设计.23.1 系统功能结构图.23.2 系统流程图 .33.3 数据库逻辑结构设计.43.4 图书管理系统的系统 e-r 图.5四、系统实现过程四、系统实现过程.64.1 系统流程分析.64.2 主要模块的运行.74.2.1 登陆界面.74.2.2 图书信息管理模块.84.3 系统开发的遇到的相关问题及解决.104.3.1 图书管理系统索引.104.3.2 如何验证输入的字符串.104.3.3 图书信

2、息管理模块.104.3.5 系统登陆验证码的实现.15五、总结五、总结.16六、参考文献六、参考文献.17数学与信息科学学院课程设计稿纸1一、一、概述概述随着计算机及网络技术的飞速发展,internet/intranet 应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发

3、一套图书管理系统是十分必要的。在试用了一些个图书管理系统和查阅了大量相关资料文献的基础上,发现那些系统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,有visual basic6.0、visual forpro6.0、power builder 等,再加上这些图书管理系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书,图书管理员能减轻工作量。但是鉴于开发工具和开发当时的科技发展水平所限,再加

4、上历史发展到今天,人们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。1.11.1 图书管理系统的可行性分析图书管理系统的可行性分析 “学校图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入

5、的了解 visual b 的使用和管理系统的相关知识。在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。现在大多数的图书管理方式为手工处理,重复劳动多,劳动强度大,而且容易出错,新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用

6、最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析有以下几个方面:(1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。 (2)经济可行性:系统建设不需要很大的投入、可缩减人力投入。(3)运行上可行性:本系统作为一个小型的图书馆信息管理系统,所耗费的资源非常的小。 数学与信息科学学院课程设计稿纸2(4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,会得到学校工作人员的一致同意的。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。二、二、需求分析需求分析2.12.1 系统需求分析系统需求分析随着互联网的爆炸性发展,人们

7、越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面。另外,传统的图书馆不能满足一部分现代人的需要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜爱。该系统主要分为两部分:读者部分和管理员部分。为了方便读者查找自己感兴趣的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览、可以查看自己的信息。本系统还可对用户的账号和书目的阅读权限进行管理。管理员需要给用户分配用户名和密码,及为用户提供图书的查询让用户能搜寻图书。2.22.2 系统实现的

8、目标系统实现的目标 学校图书管理系统的开发主要实现的目标有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)强大的查询功能,保证数据查询的灵活性。(5)实现对图书借阅和归还过程的全程数据信息跟踪。(6)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(7)具有易维护性和易操作性。2.32.3 系统功能模块设计系统功能模块设计(1)员工基本信息设置模块:员工信息查询,可以查询员工基本信息,如电话、家庭住址等。 (2)图书管理模块:添加删除不同类型的的图书、添加删除图书的档案。 (3)供货管理信息模块:查询供货商、联系方式等。三、三、系统设计

9、系统设计3.13.1 系统功能结构图系统功能结构图根据图书管理系统的实际需求,可以将图书管理系统划分为图书管理、图书借阅、读者管理、员工基本信息、供货管理信息、报表预览6个部分各个部分的具体功能的系数学与信息科学学院课程设计稿纸3统功能结构图如图3-1所示。图3-1 系统功能结构图3.23.2 系统流程图系统流程图图书管理系统的流程是用户先输入自己的姓名、密码进入系统如有一项不符合则不能进入系统,成功登陆系统后,如果是读者则能进行图书查询、图书借阅,查询到自己所需要的图书就能通过管理员进行借阅图书、归还图书也是通过管理员完成的。如果不是读者而是管理员,那管理员可以进行相关信息的查询、添加删除图

10、书及读者的所有信息、设置相应的权限、为图书更新供货的信息、以及完成读者的图书借阅与归还。图书管理系统的系统流程图如图3-2所示。图书管理系统图书管理图书基本信息 图书查询图书借阅报表预览读者管理员工基本信息供货管理信息过期图书查询供货信息打印罚款信息打印罚款信息查询读者管理信息查询图书借阅查询数学与信息科学学院课程设计稿纸4图3-2 图书管理系统的流程图3.33.3 数据库逻辑结构设计数据库逻辑结构设计概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。 第一种转化是将实体转化为关系表。这种转化较

11、简单,需要将实体的属性定义为表的属性即可。 第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。在上面工作的基础上归纳出人员管理数据库表格的组成之间的联系等等。该数据库系统具有以下方面的特点: 结构合理,对一个人员建立多条记录。 所建立的数据冗余度小,独立性强。 建档、修改、查询、统计快速而准确。保密性好、可靠性好。 数据库的建立,能更好地进行流程的管理,以下为建立的数据库表:图 3-3数学与信息科学学院课程设计稿纸5图 3-4图书的借阅和归还是图书管理系统中的一项重要的环节,开发图书管理系统就是为了方便读者对图书的借阅和归还,因此要建立一个图书借还实体,用来保

12、存读者对图书的借阅和归还的详细信息。图书的借阅和归还实体属性图如图 3-5 所示。3-5 读者借还实体属性图图书管理系统为了增加系统的安全性,管理员只有在系统登陆模块验证通过后才能进入管理员的操作界面,因此套在数据库中创建一个存放登录用户信息的管理员实体。管理员实体属性图如图 3-6 所示。图 3-6 管理员实体属性图3.43.4 图书管理系统的系统图书管理系统的系统 e-re-r 图图图书管理系统的系统 e-r 图如图 3-7 所示。数学与信息科学学院课程设计稿纸6读者图书管理员管理管理借还还书时间借书时间删除类型条形码修改密码 修改名称编号类型编号添加添加删除图 3-7 图书管理系统的系统

13、 e-r 图四、四、系统实现过程系统实现过程4.14.1 系统流程分析系统流程分析根据开发图书管理系统的需求分析,本系统设计了两种用户,分别为系统管理员和学生。系统要求有系统管理员用户,我们设定系统管理员,当系统管理员使用帐户登录后,需要查看有关图书的一系列的信息,管理员可以通过系统导航菜单进入图书管理、图书借阅、读者管理、员工基本信息、供货管理信息、报表预览,在读者界面中,管理员添加和修改学生、用户可以查看自己信息,在图书管理界面管理员可以添加和修改图书信息、用户可查看图书,在图书借还界面完成读者借书还书的操作,系统查询界面管理员可以查看借出去的图书信息及库存的信息、用户可以查找自己的所需的

14、图书,读者使用读者帐号登陆系统后,可以查询自己所需要的图书的信息、也可以查询自己个人的基本数学与信息科学学院课程设计稿纸7信息及图书的借还信息。读者的借书和还书过程是通过管理员完成的。4.24.2 主要模块的运行主要模块的运行4.2.1 登陆界面当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进行比较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;否则登录失败。如下图 4-1 所示。4-1 图书管理系统登陆界面代码如下:private sub command3_click() dim i as integer data1.recordsource = se

15、lect * from 登陆界面 where 用户名= & text3.text & and 密码= & text4.text & data1.refresh if data1.recordset.recordcount 0 then form17.show else if i = 3 then msgbox 输入错误已达 3 次,请重新输入!, vbokonly + vbcritical, 提示 end end if msgbox 用户名或密码错误,请重新输入!, , 提示 text3 = : text4 = text3.setfocus end ifend

16、subprivate sub command4_click()endend subprivate sub command1_click() dim i as integer数学与信息科学学院课程设计稿纸8 data2.recordsource = select * from 管理员登录 where 管理员= & text1.text & and 密码= & text2.text & data2.refresh if data2.recordset.recordcount 0 then form2.show else if i = 3 then msgbox 输入

17、错误已达 3 次,请重新输入!, vbokonly + vbcritical, 提示 end end if msgbox 管理员或密码错误,请重新输入!, , 提示 text1 = : text2 = text1.setfocus end ifend subprivate sub command2_click()endend subprivate sub form_load()data1.recordsource = select * from 登陆界面data2.recordsource = select * from 管理员登录text1.text = text2.text = text3

18、.text = text4.text = data1.databasename = app.path + /数据表 2.mdbdata2.databasename = app.path + /数据表 3.mdbend sub4.2.2 图书信息管理模块图书信息管理模块主要分为查看图书信息页面和添加修改图书信息页面,此界面为管理员登陆界面,只有管理员可以看这些信息,如图 4-2 所示。数学与信息科学学院课程设计稿纸9图 4-2代码如下:private sub a_click()form18.showend subprivate sub form_load()end subprivate sub

19、g_click() form3.showend subprivate sub h_click()form5.showend subprivate sub i_click()form6.showend subprivate sub j_click()form7.showend subprivate sub label1_click()end subprivate sub m_click()form8.showend subprivate sub o_click()form11.showend subprivate sub q_click() form4.showend subprivate su

20、b t_click()数学与信息科学学院课程设计稿纸10 form10.showend subprivate sub w_click() form6.showend subprivate sub x_click()form12.showend subprivate sub y_click()form13.showend subprivate sub z_click() form2.hide form1.showend sub4.34.3 系统开发的遇到的相关问题及解决系统开发的遇到的相关问题及解决4.3.1 图书管理系统索引 图书管理系统开发中存在大量的数据和信息检索,怎样更好的检索数据和信息

21、操作是保证检索速度的提高和数据的分页显示,主要考虑了以下几个方面:(1)设计逻辑结构时充分考虑冗余量和可处理性两方面的要求,在接受冗余量的提下,尽量减少表的连接操作。(2)关系的大小对查询的影响也是很大的,因此为了提高数据库的查询速度,减小系的大小和数据量也是必要的。(3)建立合理的索引结构。索引相当于一个映射机构,将键值转换成相对应的记录地址,形成索引文件。索引设计是数据库物理设计的基本问题,也是较困难的问题,建立索引可以极大地提高系统的查询速度,但是同时做 insert、update、delete 操作时会降低速度,因为做这些操作的同时需要更新索引,所以不能对数据库中所有的表都建立索引。比

22、如满足下列条件之一的不易建立索引:不出现或很少出现的属性或表、属性分布严重不均的属性、经常更新的属性或表、过长的属性、太小的表等。满足下列条件之一的可以考虑建立索引:主键和外键都建立索引、对于以读为主或只读的表,只要需要,且存储空间允许,可以减少连接开销、对于等值查询(即查询条件以等号为比较符),最好建立索引、对查询范围(即查询条件,为比较符),最好建立索引、有些查询可以由检索直接得到结果,不必访问数据块。根据实际需要,读者信息表,图书信息表,图书借还信息表,权限信息,管理员信息表等都建立索引,合理使用缓冲区。4.3.2 如何验证输入的字符串在图书管理系统的开发过程中,需要对一些输入的字符串进

23、行验证,例如金额、电话号码、e-mail等,由于许多模块都需要用到这些验证,因此可以将其写入到一个公共类中然后在其他的页面中直接调用即可。b 中对字符串进行验证时,可以使用 regex 类,要使用正则表达式验证输入的字符串,如验证输入的字符串是否为 e-mail 的地址格式的实现方法。数学与信息科学学院课程设计稿纸114.3.3 图书信息管理模块 图书信息管理模块主要分为图书管理、图书借阅、读者管理、员工基本信息供货管理信息报表预览、退出。只有管理员可以看这些信息,并且可以通过单击“添加图书信息”这个超级链接转到添加或删除图书信息界面,并在该页中添家或修改图书信息。(1) 员工基本信息模块,该

24、模块意在通过员工的序号、密码、电话等给出详细说明。图 4-3代码如下:private sub command1_click() on error resume next command2.enabled = not command2.enabled command3.enabled = not command3.enabled command5.enabled = not command5.enabled if command1.caption = 添加 then command1.caption = 确认 data1.recordset.addnew text1.setfocus else

25、command1.caption = 添加data1.recordset.update data1.recordset.movelast end ifend subprivate sub command2_click()on error resume next data1.recordset.delete data1.recordset.movenext if data1.recordset.eof then data1.recordset.movelastend subprivate sub command3_click()数学与信息科学学院课程设计稿纸12 on error resume

26、next command1.enabled = not command1.enabled command2.enabled = not command2.enabled command5.enabled = not command5.enabled if command3.caption = 修改 then command3.caption = 确认 data1.recordset.edit text1.setfocus else command3.caption = 修改 data1.recordset.update end ifend subprivate sub command4_cli

27、ck() on error resume next command1.caption = 添加: command3.caption = 修改 command1.enabled = true: command2.enabled = true command3.enabled = true: command4.enabled = trueprivate sub command5_click() form12.hide form2.showend subprivate sub form_load() data1.databasename = app.path + /数据表.mdbend subpri

28、vate sub label10_click()end sub(2)供货查询信息图 4-4数学与信息科学学院课程设计稿纸13代码如下:private sub command1_click() on error resume next command2.enabled = not command2.enabled command3.enabled = not command3.enabled command5.enabled = not command5.enabled if command1.caption = 添加 then command1.caption = 确认 data1.recor

29、dset.addnew text1.setfocus else command1.caption = 添加 data1.recordset.update data1.recordset.movelast end ifend subprivate sub command2_click() on error resume next data1.recordset.delete data1.recordset.movenext if data1.recordset.eof then data1.recordset.movelastend subprivate sub command3_click()

30、 on error resume next command1.enabled = not command1.enabled command2.enabled = not command2.enabled command5.enabled = not command5.enabled if command3.caption = 修改 then command3.caption = 确认 data1.recordset.edit text1.setfocus else command3.caption = 修改 data1.recordset.update end ifend subprivate

31、 sub command4_click() on error resume next command1.caption = 添加: command3.caption = 修改 command1.enabled = true: command2.enabled = true command3.enabled = true: command4.enabled = true command5.enabled = true data1.updatecontrols数学与信息科学学院课程设计稿纸14data1.recordset.movelastend subprivate sub command5_c

32、lick() form13.hide form2.showend subprivate sub form_load() data1.databasename = app.path + /数据表.mdbend sub(3)报表预览图 45图 4-6其代码如下:图书供货信息:private sub command1_click() on error resume next command2.enabled = not command2.enabled command3.enabled = not command3.enabled数学与信息科学学院课程设计稿纸15 command5.enabled

33、= not command5.enabled if command1.caption = 添加 then command1.caption = 确认 data1.recordset.addnew text1.setfocus else command1.caption = 添加 data1.recordset.update data1.recordset.movelast end ifend subprivate sub command2_click() on error resume next data1.recordset.delete data1.recordset.movenext i

34、f data1.recordset.eof then data1.recordset.movelastend subprivate sub command3_click() on error resume next command1.enabled = not command1.enabled command2.enabled = not command2.enabled command5.enabled = not command5.enabled if command3.caption = 修改 then command3.caption = 确认 data1.recordset.edit

35、 text1.setfocus else command3.caption = 修改 data1.recordset.update end ifend subprivate sub command4_click() on error resume next command1.caption = 添加: command3.caption = 修改 command1.enabled = true: command2.enabled = true command3.enabled = true: command4.enabled = true command5.enabled = truedata1

36、.updatecontrols data1.recordset.movelastend subprivate sub command5_click() form13.hide form2.show数学与信息科学学院课程设计稿纸16end subprivate sub form_load() data1.databasename = app.path + /数据表.mdbend sub4.3.5 系统登陆验证码的实现在学校图书管理系统的开发过程中,怎么样防止某些人利用某些恶意的软件对图书管理系统进行恶意的登陆来攻击系统,增加图书管理系统的安全性是一个重要的问题。在图书管理系统的登陆模块中加入一个验证码的功能,即用户除了要输入帐号和密码还要输入系统为用户提供的验证码。验证码可以很好的解决了怎样防止恶意用户利用恶意软件对系统页面的疯狂提交、以及暴力破解密码进行登陆的问题。因此,设置一个随机函数在数字 09 和英文字母 az 中随机抽取四个,在用户打开登陆界面的时候,系统通过随机生成器随机生成 4 个数字或字母或数字加字母存放在缓存内,并出现在界面上顺序是随机的,当用户登陆时输入的验证码要与缓存中的进行对比符合就进入,不符合就不能登陆。系统在提供验证码时候要加入一些干扰的条件的,不过这些人的肉眼是很容易分辨,但机器人程序不能分辨,很好的防止某人利用机器人程序对系统的恶意操作增加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论