免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 一、概述一、概述.1 1.1 图书管理系统的可行性分析 .1 二、需求分析二、需求分析.2 2.1 系统需求分析2 2.2 系统实现的目标2 2.3 系统功能模块设计2 三、系统设计三、系统设计.2 3.1 系统功能结构图2 3.2 系统流程图 .3 3.3 数据库逻辑结构设计4 3.4 图书管理系统的系统 e-r 图5 四、系统实现过程四、系统实现过程.6 4.1 系统流程分析6 4.2 主要模块的运行7 4.2.1 登陆界面7 4.2.2 图书信息管理模块8 4.3 系统开发的遇到的相关问题及解决10 4.3.1 图书管理系统索引10 4.3.2 如何验证输入的字符串10 4.3.3 图书信息管理模块.10 4.3.5 系统登陆验证码的实现15 五、总结五、总结.16 六、参考文献六、参考文献.17 数学与信息科学学院课程设计稿纸 1 一、一、概述概述 随着计算机及网络技术的飞速发展,internet/intranet 应用在全球范围内日益普及, 当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆在正常运营 中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信 息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立 一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书 馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是 十分必要的。 在试用了一些个图书管理系统和查阅了大量相关资料文献的基础上,发现那些系 统在几个方面已经不符合时代的要求,由于设计人员及其所用的工具的不同,有 visual basic6.0、visual forpro6.0、power builder 等,再加上这些图书管理系统设计的 时间也 不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之 外也有所不同。这些系统解决了以前的那种管理方式所存在着的诸如手续繁琐、工作 量大、效率低下、出错率高等缺点,设计出的系统能使读者快速检索到自己喜爱的书, 图书管理员能减轻工作量。 但是鉴于开发工具和开发当时的科技发展水平所限,再加上历史发展到今天,人 们的生活环境已经发生了改变,大家对于图书查询这方面的要求也更高。 1.11.1 图书管理系统的可行性分析图书管理系统的可行性分析 “学校图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现 图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完 整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、 读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书 管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、 系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识, 并深入的了解 visual b 的使用和管理系统的相关知识。在信息时代的今天,人类需要 对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数 据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不 断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据 处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理 数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。 现在大多数的图书管理方式为手工处理,重复劳动多,劳动强度大,而且容易出 错, 新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是 用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析有以下 几个方面: (1)技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、 借阅管理等。 (2)经济可行性:系统建设不需要很大的投入、可缩减人力投入。 (3)运行上可行性:本系统作为一个小型的图书馆信息管理系统,所耗费的 资源非常的小。 数学与信息科学学院课程设计稿纸 2 (4)从各种社会因素可行性分析:可降低工作人员工作强度,提高效率,会 得到学校工作人员的一致同意的。 综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。 二、二、需求分析需求分析 2.12.1 系统需求分析系统需求分析 随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络 已深深影响到人们生活的各个方面。另外,传统的图书馆不能满足一部分现代人的需 要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功 能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟, 因此受到当代人的喜爱。 该系统主要分为两部分:读者部分和管理员部分。为了方便读者查找自己感兴趣 的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏 览、可以查看自己的信息。本系统还可对用户的账号和书目的阅读权限进行管理。管 理员需要给用户分配用户名和密码,及为用户提供图书的查询让用户能搜寻图书。 2.22.2 系统实现的目标系统实现的目标 学校图书管理系统的开发主要实现的目标有以下几个方面: (1)界面设计友好、美观。 (2)数据存储安全、可靠。 (3)信息分类清晰、准确。 (4)强大的查询功能,保证数据查询的灵活性。 (5)实现对图书借阅和归还过程的全程数据信息跟踪。 (6)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。 (7)具有易维护性和易操作性。 2.32.3 系统功能模块设计系统功能模块设计 (1)员工基本信息设置模块:员工信息查询,可以查询员工基本信息,如电话、家 庭住址等。 (2)图书管理模块:添加删除不同类型的的图书、添加删除图书的档案。 (3)供货管理信息模块:查询供货商、联系方式等。 三、三、系统设计系统设计 3.13.1 系统功能结构图系统功能结构图 根据图书管理系统的实际需求,可以将图书管理系统划分为图书管理、图书借阅、 读者管理、员工基本信息、供货管理信息、报表预览6个部分各个部分的具体功能的系 数学与信息科学学院课程设计稿纸 3 统功能结构图如图3-1所示。 图3-1 系统功能结构图 3.23.2 系统流程图系统流程图 图书管理系统的流程是用户先输入自己的姓名、密码进入系统如有一项不符合则 不能进入系统,成功登陆系统后,如果是读者则能进行图书查询、图书借阅,查询到 自己所需要的图书就能通过管理员进行借阅图书、归还图书也是通过管理员完成的。 如果不是读者而是管理员,那管理员可以进行相关信息的查询、添加删除图书及读者 的所有信息、设置相应的权限、为图书更新供货的信息、以及完成读者的图书借阅与 归还。 图书管理系统的系统流程图如图3-2所示。 图书管理系统 图 书 管 理 图 书 基 本 信 息 图 书 查 询 图 书 借 阅 报 表 预 览 读 者 管 理 员 工 基 本 信 息 供 货 管 理 信 息 过 期 图 书 查 询 供 货 信 息 打 印 罚 款 信 息 打 印 罚 款 信 息 查 询 读 者 管 理 信 息 查 询 图 书 借 阅 查 询 数学与信息科学学院课程设计稿纸 4 图3-2 图书管理系统的流程图 3.33.3 数据库逻辑结构设计数据库逻辑结构设计 概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进 行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持的实际数据 模型。 第一种转化是将实体转化为关系表。这种转化较简单,需要将实体的属性定义为 表的属性即可。 第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如 外部键的定义。 在上面工作的基础上归纳出人员管理数据库表格的组成之间的联系等等。该数据 库 系统具有以下方面的特点: 结构合理,对一个人员建立多条记录。 所建立的数据冗余度小,独立性强。 建档、修改、查询、统计快速而准确。 保密性好、可靠性好。 数据库的建立,能更好地进行流程的管理,以下为建立的数据库表: 图 3-3 数学与信息科学学院课程设计稿纸 5 图 3-4 图书的借阅和归还是图书管理系统中的一项重要的环节,开发图书管理系统就是 为了方便读者对图书的借阅和归还,因此要建立一个图书借还实体,用来保存读者对 图书的借阅和归还的详细信息。图书的借阅和归还实体属性图如图 3-5 所示。 3-5 读者借还实体属性图 图书管理系统为了增加系统的安全性,管理员只有在系统登陆模块验证通过后才 能进入管理员的操作界面,因此套在数据库中创建一个存放登录用户信息的管理员实 体。管理员实体属性图如图 3-6 所示。 图 3-6 管理员实体属性图 3.43.4 图书管理系统的系统图书管理系统的系统 e-re-r 图图 图书管理系统的系统 e-r 图如图 3-7 所示。 数学与信息科学学院课程设计稿纸 6 读者 图书 管理员 管理 管理借还 还书时间 借书时间 删除 类型条形码 修改 密码 修改 名称编号类型编号 添加 添加删除 图 3-7 图书管理系统的系统 e-r 图 四、四、系统实现过程系统实现过程 4.14.1 系统流程分析系统流程分析 根据开发图书管理系统的需求分析,本系统设计了两种用户,分别为系统管理员 和学生。 系统要求有系统管理员用户,我们设定系统管理员,当系统管理员使用帐户登录 后,需要查看有关图书的一系列的信息,管理员可以通过系统导航菜单进入图书管理、 图书借阅、读者管理、员工基本信息、供货管理信息、报表预览,在读者界面中,管 理员添加和修改学生、用户可以查看自己信息,在图书管理界面管理员可以添加和修 改图书信息、用户可查看图书,在图书借还界面完成读者借书还书的操作,系统查询 界面管理员可以查看借出去的图书信息及库存的信息、用户可以查找自己的所需的图 书,读者使用 读者帐号登陆系统后,可以查询自己所需要的图书的信息、也可以查询自己个人的基 本 数学与信息科学学院课程设计稿纸 7 信息及图书的借还信息。读者的借书和还书过程是通过管理员完成的。 4.24.2 主要模块的运行主要模块的运行 4.2.1 登陆界面 当用户输入用户名、密码,系统自动将输入的信息和相关数据表中的内容进行比 较,如果该用户输入的内容和数据表中的内容相符,则通过验证,此次登录成功;否 则登录失败。如下图 4-1 所示。 4-1 图书管理系统登陆界面 代码如下: private sub command3_click() dim i as integer data1.recordsource = “select * 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 if end sub private sub command4_click() end end sub private 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 “输入错误已达 3 次,请重新输入!“, vbokonly + vbcritical, “提示“ end end if msgbox “管理员或密码错误,请重新输入!“, , “提示“ text1 = “: text2 = “ text1.setfocus end if end sub private sub command2_click() end end sub private sub form_load() data1.recordsource = “select * from 登陆界面“ data2.recordsource = “select * from 管理员登录“ text1.text = “ text2.text = “ text3.text = “ text4.text = “ data1.databasename = app.path + “/数据表 2.mdb“ data2.databasename = app.path + “/数据表 3.mdb“ end sub 4.2.2 图书信息管理模块 图书信息管理模块主要分为查看图书信息页面和添加修改图书信息页面,此界面 为管理员登陆界面,只有管理员可以看这些信息,如图 4-2 所示。 数学与信息科学学院课程设计稿纸 9 图 4-2 代码如下: private sub a_click() form18.show end sub private sub form_load() end sub private sub g_click() form3.show end sub private sub h_click() form5.show end sub private sub i_click() form6.show end sub private sub j_click() form7.show end sub private sub label1_click() end sub private sub m_click() form8.show end sub private sub o_click() form11.show end sub private sub q_click() form4.show end sub private sub t_click() 数学与信息科学学院课程设计稿纸 10 form10.show end sub private sub w_click() form6.show end sub private sub x_click() form12.show end sub private sub y_click() form13.show end sub private sub z_click() form2.hide form1.show end sub 4.34.3 系统开发的遇到的相关问题及解决系统开发的遇到的相关问题及解决 4.3.1 图书管理系统索引 图书管理系统开发中存在大量的数据和信息检索,怎样更好的检索数据和信息操 作 是保证检索速度的提高和数据的分页显示,主要考虑了以下几个方面: (1)设计逻辑结构时充分考虑冗余量和可处理性两方面的要求,在接受冗余量的提 下,尽量减少表的连接操作。 (2)关系的大小对查询的影响也是很大的,因此为了提高数据库的查询速度,减小 系的大小和数据量也是必要的。 (3)建立合理的索引结构。索引相当于一个映射机构,将键值转换成相对应的 记录地址,形成索引文件。 索引设计是数据库物理设计的基本问题,也是较困难的问题,建立索引可以极大 地提高系统的查询速度,但是同时做 insert、update、delete 操作时会降低速度,因为 做这些操作的同时需要更新索引,所以不能对数据库中所有的表都建立索引。比如满 足下列条件之一的不易建立索引:不出现或很少出现的属性或表、属性分布严重不均 的属性、经常更新的属性或表、过长的属性、太小的表等。 满足下列条件之一的可以考虑建立索引:主键和外键都建立索引、对于以读为主 或只读的表,只要需要,且存储空间允许,可以减少连接开销、对于等值查询(即查 询条件以等号为比较符),最好建立索引、对查询范围(即查询条件,为比较符) ,最好建立索引、有些查询可以由检索直接得到结果,不必访问数据块。 根据实际需要,读者信息表,图书信息表,图书借还信息表,权限信息,管理员 信息表等都建立索引,合理使用缓冲区。 4.3.2 如何验证输入的字符串 在图书管理系统的开发过程中,需要对一些输入的字符串进行验证,例如金额、电话号码、e-mail 等,由于许多模块都需要用到这些验证,因此可以将其写入到一个公共类中然后在其他的页面中直 接调用即可。b 中对字符串进行验证时,可以使用 regex 类,要使用正则表达式验证输入的字符串, 如验证输入的字符串是否为 e-mail 的地址格式的实现方法。 数学与信息科学学院课程设计稿纸 11 4.3.3 图书信息管理模块 图书信息管理模块主要分为图书管理、图书借阅、读者管理、员工基本信息供货 管理信息报表预览、退出。只有管理员可以看这些信息,并且可以通过单击“添加图 书信息”这个超级链接转到添加或删除图书信息界面,并在该页中添家或修改图书信 息。 (1) 员工基本信息模块,该模块意在通过员工的序号、密码、电话等给出详细说明。 图 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 command1.caption = “添加“ data1.recordset.update data1.recordset.movelast end if end sub private sub command2_click() on error resume next data1.recordset.delete data1.recordset.movenext if data1.recordset.eof then data1.recordset.movelast end sub private sub command3_click() 数学与信息科学学院课程设计稿纸 12 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 if end sub private sub command4_click() on error resume next command1.caption = “添加“: command3.caption = “修改“ command1.enabled = true: command2.enabled = true command3.enabled = true: command4.enabled = true private sub command5_click() form12.hide form2.show end sub private sub form_load() data1.databasename = app.path + “/数据表.mdb“ end sub private 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.recordset.addnew text1.setfocus else command1.caption = “添加“ data1.recordset.update data1.recordset.movelast end if end sub private sub command2_click() on error resume next data1.recordset.delete data1.recordset.movenext if data1.recordset.eof then data1.recordset.movelast end sub private 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 text1.setfocus else command3.caption = “修改“ data1.recordset.update end if end sub private 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 数学与信息科学学院课程设计稿纸 14 data1.recordset.movelast end sub private sub command5_click() form13.hide form2.show end sub private sub form_load() data1.databasename = app.path + “/数据表.mdb“ end 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 = not command5.enabled if command1.caption = “添加“ then command1.caption = “确认“ data1.recordset.addnew text1.setfocus else command1.caption = “添加“ data1.recordset.update data1.recordset.movelast end if end sub private sub command2_click() on error resume next data1.recordset.delete data1.recordset.movenext if data1.recordset.eof then data1.recordset.movelast end sub private 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 text1.setfocus else command3.caption = “修改“ data1.recordset.update end if end sub private 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 data1.recordset.movelast end sub private sub command5_click() form13.hide form2.show 数学与信息科学学院课程设计稿纸 16 end sub private sub form_load() data1.databasename = app.path + “/数据表.mdb“ end sub 4.3.5 系统登陆验证码的实现 在学校图书管理系统的开发过程中,怎么样防止某些人利用某些恶意的软件对图书管理系统进 行恶意的登陆来攻击系统,增加图书管理系统的安全性是一个重要的问题。在图书管理系统的登陆 模块中加入一个验证码的功能,即用户除了要输入帐号和密码还要输入系统为用户提供的验证码。 验证码可以很好的解决了怎样防止恶意用户利用恶意软件对系统页面的疯狂提交、以及暴力破解密 码进行登陆的问题。因此,设置一个随机函数在数字 09 和英文字母 az 中随机抽取四个,在用 户 打开登陆界面的时候,系统通过随机生成器随机生成 4 个数字或字母或数字加字母存放在缓存内, 并出现在界面上顺序是随机的,当用户登陆时输入的验证码要与缓存中的进行对比符合就进入,不 符合就不能登陆。系统在提供验证码时候要加入一些干扰的条件的,不过这些人的肉眼是很容易分 辨,但机器人程序不能分辨,很好的防止某人利用机器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 呼吸训练课件
- 胆囊肿瘤的护理
- 雨课堂学堂在线学堂云《财务一点通( 哈工)》单元测试考核答案
- 2026年广日股份研究院校园招聘历年真题汇编带答案解析
- 浙江国企招聘-2025杭州电力设备制造有限公司招聘70人历年真题汇编附答案解析
- 2026江苏省招标中心有限公司校园招聘历年真题汇编带答案解析
- 2026年质量员之设备安装质量专业管理实务考试题库含完整答案(考点梳理)
- 2025中能建数字科技集团有限公司专业人才社会招聘32人参考题库带答案解析
- 浙江国企招聘-2025年丽水云和县云采工程咨询有限公司公开招聘市场化用工工作人员17人备考题库含答案解析(必刷)
- 2025年西安市北方医院招聘(14人)备考公基题库带答案解析
- GB/T 45800.1-2025全国一体化政务大数据体系第1部分:总体框架
- 以自己变化为主题的课件
- 2025年四川监理员考试题库附答案
- 拉线放行管理办法
- JJG(京)177-2025 出租汽车计价器(轨迹测距法)检定规程
- 卡西欧手表GPW-1000(5410)中文繁体说明书
- 2024-2030全球水解蛋白粉行业调研及趋势分析报告
- 6年级书法考试题及答案
- 太阳能光伏效率研究-洞察阐释
- 医疗反歧视培训
- GB/T 45701-2025校园配餐服务企业管理指南
评论
0/150
提交评论