21世纪,人类社会正面临知识经济和信息社会的急剧变革,世界各个角落的人们都强烈地感受到新时代的冲击与震撼。下面是我为大家整理的图书馆管理系统设计论文,供大家参考。
图书管理系统设计
图书馆管理系统设计论文摘要
【摘要】本文介绍了利用ASP+Access编写图书管理系统的实现主要步骤与部分技术代码。
图书馆管理系统设计论文内容
【关键字】ASP;Access
随着计算机 网络技术 的普及和发展,现已逐渐进入信息化社会。人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发基于网络平台的图书管理信息系统已经成为图书管理部门的必要因此,我按照图书管理部门的需要,采用ASP+Acces实现了此图书管理系统。
一、ASP+Access
ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和 其它 程序进行交互,是一种简单、方便的编程工具。
Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。
由于Access存储方式简单,易于维护管理、移植性好,所以本系统采用ASP做为编程工具、Access做数据库来开发
二、系统模块
此系统共分为八大模块,包括图书简介、 规章制度 、图书录入、归还图书、图书查询、新购图书、未归图书、系统维护。名模块的功能如下:
一图书简介:把图书进行分类和定义索书号,以方便查询。
二规章制度:主要介绍图书管理的订购、借阅、归还等制度。
三图书录入:对新购图书按书名、作者、分类、编号等图书信息进行录入。
四图书归还:此模块是图书管理员对归还的图书,按照图书编号进行入库管理。
五图书查询:按图书信息一些主要字段对数据库进行查询并显示。
六新购图书:查询某一时间段以后所购买的图书并显示。
七未归图书:显示未归的图书,并分页显示。
八系统维护:对数据库进行备份和恢复。
三、设计数据库
此图书管理系统数据库里主要有以下几个表:
User:用来存储图书管理员的用户名和密码。字段为user、pwd。
Menu:存储程序主页面的菜单名称和链接地址。字段为ID、父菜单ID、位置、URl、字体颜色、菜单项。
Bookinfo:用来存储图书的各种信息。字段为书名、作者、图书分类、图书编号、索书号、出版社、版期版次、购入日期、价格、排架号、是否借阅、借阅日期、应归还日期、借阅科室、借阅人、备注。
Dept:用来存储科室名称。字段为dept。
四、程序设计
一登录模块及Session的使用
由于此系统有些功能是不允许普通用户使用的,如图书录入、图书归
还等模块,所以本系统采用以管理员登录的方式,来判断是何种用户使用本系统,如果是普通用户,点击“以普通用户登录”,就可以使用本系统,但图书录入、归还图书和系统维护等模块不能使用。
由于有些功能模块不允许普通用户使用,故在登录模块程序语句定义一个Session:Session("UserAcc") = Trim(rs("User"))。 Session在计算机中,尤其是在网络应用中,称为“会话”,用于保持状态的基于 Web 服务器的 方法 。Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。因此,在限制普通用户使用并用If判断Session("UserAcc")是否为空即可。
二表单验证
在图书录入模块中,需要填写图书的各种信息,在提交表单时如果某
些信息为空,IE就会显示出错,因此,在提交表单之前对表单进行验证,JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证,只需编写一个函数就可以实现。函数如下
function checkinput() {
if ('') {
alert('请输入书名');
();
return false;
}
}
在提交按钮代码中加入OnSubmit="Return checkinput()"就可以完成对表单的验证了。
三数据库连接
对于Access数据库,一个文件就是一个数据库,所以可以利用数据驱动程序直接访问数据,这种方法需要利用动态连接字符串建立一个连接,具体连接字符如下:
Dim conn, connstr,db
db="./data/"
connstr="Provider=;DataSource="&(db)
Set conn=Createobject("")
connstr
这样就可连接数据了,再用SQL语句就可以读取表中数据了:
Set rs=CreateObject("")
sql="Select * From bookinfo"
sql,conn,1,3
四对数据库的操作
连接好数据库后,我们就可以对表bookinfo的记录进增加、删除、修改等操作了。具体代码及释义如下:
(1):增加:
bianhao=Trim(Request("bianhao"))
sql="Select * From bookinfo Where 图书编号='"& bianhao &"'"
sql,conn,1,3
If <>0 Then
"此图书编号已存在,请重新输入"
"
"
""
"返 回"
Else
注:在增加信息时,必须检索图书编号是否唯一,如不唯一会出给出提示:“此图书编号已存在,请重新输入”
rs("书名")=trim(request("bookname"))
rs(“作者")=trim(request("author"))
……
end if
""
end if
set rs=nothing
(2)删除
本系统“删除”图书记录功能在查询模块中执行,但必须以管理员身份登录,才能显示对记录进行操作的功能:
删除记录采用SQL中的delete语句,代码如下:
bh=Request("bianhao")
If bh<>"" Then
"Delete From bookinfo Where 图书编号='"& bh &"'"
End If
(3)修改
修改只需命令即可完成,这里不再赘述。
(4)查询
本系统有精确查询、模糊查询、分类查询、编号查询、索书号查询、借阅人查询共六种方法。用SQL中select…where…就可以完成查询功能。如按分类查询:
tiaojian=Trim(request("tiaojian"))
Set rs=CreateObject("")
sql="select * from bookinfo where 图书分类= '"& tiaojian &"' order by 图书编号 desc"
sql,conn,1,1
五、小结
此图书管理基本上可以实现图书管理的大部份工作,实现图书的计算机管理,方便借阅人员查询和借阅图书,更好的利用图书资源,把图书管理员从手工记录管理图书中解脱出来,提高了工作效率。
图书馆管理系统设计论文文献
[1]伍云辉. 程序天下 电子工业出版,2008
[2]武延军,赵彬.精通ASP网络编程. 人民邮电出版社,2000
[3][美]Michael Moncur JavaScript 入门经典 人民邮电出版,2007
图书管理信息系统设计
图书馆管理系统设计论文摘要
提要作为信息资源的集散地,图书馆在高校中的作用是尤为重要的,而图书馆传统人工管理方式已经无法快速、高效地应付日益增长的信息数据。随着计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。因此,图书管理信息系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底解脱出来,从而使人们有更多的时间来获取信息、了解信息、掌握信息,更好地发挥图书馆强大的资源优势。
图书馆管理系统设计论文内容
关键词:图书管理信息系统;数据库应用;Visual Foxpro语言;windows HC
中图分类号:G251文献标识码:A
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点。本是从我校图书馆的馆藏规模和实际操作流程程出发,针对图书馆管理的现状,经过详细的系统调查,结合效用和成本多方要素。利用Visual 作为开发工具,为图书馆开发出的一个实用的单机版图书馆管理信息系统。全文共分为五部分,其分别为绪论、系统分析阶段、系统设计阶段、系统实施阶段、系统测试。
一、绪论
(一)系统开发背景。目前,在一些高校图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且在新书入库后要经历较长的时间方能借出。另外,因图书数量有限,必须对图书实行限量借阅,因此要实施弹性借书方法是件很困难的事。
为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。该系统应具备以下功能:(1)能对各类图书实行分类管理;(2)提供必要的读者信息;(3)能进行各种高级查询;(4)具有图书检索功能等。这样,不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。
(二)数据库概述。从20世纪五十年代中期开始,计算机的应用由科学研究部门逐步扩展至企业、行政部门。至六十年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于六十年代末。现已形成相当规模的理论体系和实用技术。
数据库(Database)DB是统一管理的相关数据的集合。
数据库管理系统(Database Managerment System)DBMS是位于用户和 操作系统 之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
数据库系统(Database System)DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
数据库技术是一门研究数据库的结构、存储、管理和使用的软件学科。
二、系统分析阶段
(一)系统可行性分析。系统可行性分析包括:技术的可行性、经济可行性、法律因素可行性。
技术可行性:结合本校图书馆规模和平时业务量的具体情况,本系统采用Visual 作为开发平台,可以很容易实现图书馆相关信息的记录、维护、检索,并且可以在不添加任何设备的情况下,以较少的人力较快地完成系统的设计,实现系统的功能。
经济可行性:不需要额外开支,用现有的人力物力就可实现,软件成本很低。
法律可行性研究:研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。
(二)系统需求分析
1、图书管理信息系统的总体功能要求。简单的图书管理系统主要包括下面的功能:①借书处理:完成读者借书这一业务流程,核心为快速检索到学生需要的书籍。②还书处理:完成读者还书这一业务流程。③新书上架:完成新书资料的录入工作。④旧书下架:完成图书资料的删除工作。⑤读者查询:根据读者号,查询读者借阅情况,能够对读者的基本信息资料进行管理。⑥相关帮助:便于新的系统使用者能够快速掌握该系统的使用操作。
2、图书管理信息系统的性能需求。①要求有较强的 系统安全 性,对一定范围和程度内用户的错误操作有相应的系统自我保护功能。②系统的维护时间不能超过系统总运行时间的千分之五,系统每次的维护时间不能超过系统总运行时间的千分之一,系统的故障恢复时间不得超过系统故障时间的百分之五。③其他性能要求以其相关或类似的系统为参考。
三、系统设计阶段
(一)系统功能模块设计。鉴于以上各项功能要求,将该系统划分为以下六个模块:
1、图书信息模块。对图书的基本信息进行录入、删除、修改以前信息和进行简单查询功能。
2、查询检索模块。可对书目的基本信息进行检索,其查询条件可以是按分类检索;也可以是按照作者名、图书名称或出版社进行检索。同时,也可对读者的基本信息进行检索,查阅其借阅信息。
3、读者管理模块。对读者的基本信息进行录入管理,可自动生成会员代号,可自动记录会员的借阅信息。
4、数据维护模块。可对数据库中的各项基本数据信息进行数据备份和数据恢复,并可实现数据备份文件存贮路径的自由选择。
5、报表输出模块。对图书的基本信息、会员的基本信息、会员的借阅信息等数据可按照查询条件的不同按要求打印输出。
6、帮助模块。可以提供关于图书管理信息系统各项操作的详细帮助信息,并可实现对不同操作的定点帮助提示。
(二)数据库设计
1、数据描述
(1)静态数据描述。①图书一级分类表:包括一个数据表。其中的主要信息有:分类编号和一级分类名称。一级分类中将图书共分五大类,具体分类方法、编号和分类名称参照国家统一分类方法的规定。②图书二级分类表:包括五个数据表。其中的主要信息有:二级分类的编号和分类名称。二级分类中将图书共分为二十二个小类,并分别隶属于一级分类的五个大类中,其具体分类方法、编号和分类名称参照国家统一分类方法的有关规定。③图书明细分类表:包括二十二个数据表。其中的主要信息有:明细分类的编号和分类名称。明细分类又将二十二个小类明细的分为若干细小类别,其具体的分类方法、编号和分类名称参照国家统一分类方法的有关规定。
以上数据均按国家统一规定设置录入,不能做太大改变,分类名称可以有一定的缩略但不能影响其原有的意义。系统设计完成后不可以通过录入、删除的方式进行修改。
(2)动态数据
①图书的基本数据。包括一个数据表。其中的主要数据有图书编号:是对录入图书的统一编号,以便唯一区别图书;图书名称:图书出版时的封面印刷名称;作者:图书的编写者或编写单位或组织;出版社:出版发行该册图书的发行单位;录入日期:该册图书入库的时间;借阅次数:该图书总的被借阅次数;类别编号:给图书所属的明细分类的类别号,它应与明细分类表中的图书的类别编号一致;简介:对该册图书的内容总体概括介绍。
②读者基本数据:包括一个数据表。其中的主要数据有:读者代号:读者的统一编号,由系统自动生成,唯一的标示一个会员的身份;姓名:读者的真实姓名;电话:读者的有效联系电话,可选择填写;地址:读者的有效联系地址,可选择填写;身份证号:读者的身份证号码,可选择填写;注册日期:读者本人正式注册成功时的日期(为系统自动填写)。备注:读者的个人其他资料。
以上两部分数据的录入具有一定的界面,并提供修改的方式。还提供随时的查询,对查询结果有相应的显示和打印输出,对全体的数据可进行备份与恢复。
③借阅记录。包括一个数据表。其中的主要数据有:读者代号、图书编号、借阅日期。这些数据信息都是由系统自动填写。此表中的所有数据不提供修改方式,只供查阅、显示和打印输出。可以对全体数据进行备份和恢复。
④登录密码。包括一个数据表。其主要数据有:管理员代号、密码、权限。
2、数据库描述。该系统建立一个数据库,其中包括三十二个数据表。全部用Visual Foxpro实现。其中,部分数据表的结构和联系如图1所示。(图1)其他分类数据表的连接通过“下级分类表名”实现连接调用。
3、数据采集。对于图书分类数据表的信息参照国家图书分类方法;对于图书基本信息数据可通过对现存图书进行分类录入;对于读者方面的信息数据可以在系统运行使用中获得。
(三)用户界面设计。本系统设计原则:1、界面美观、操作方便并能高效率地完成工作;2、界面根据用户需求设计;3、界面能引导用户操作的功能,并能提供一些帮助功能。
主要的用户界面有:1、登录界面;2、主表单界面;3、各类信息查询;4、读者信息管理列表;5、图书信息管理列表等。
四、系统实施阶段
(一)计算机系统的性能和软硬件环境。在软件方面本系统运行平台为Windows2000专业版,开发工具采用易学易用的软件开发工具Visual 。因Visual 在应用程序的开发上具有灵活、效率高等特点和使用简便的数据库管理功能。硬件要求:Inter PentiumⅢ、128M内存、40G硬盘等。
(二)编写程序。依据各阶段的开发文档,使用Visual 进行程序编写。此系统的编码设计(表单设计、代码设计、变量定义、控件的定义)严格按照大众化的标准和风格。
对于系统的帮助功能的实现,则使用windows help compiler来单独编译,最后通过Visual Foxpro提供的接口命令(set help to)和系统相连。帮助文件的数据字典、源代码见附件。
五、系统测试
测试的步骤主要有以下三个方面:1、单元测试:采用的是白盒测试法,检查模块控制结构的某些特殊路径;2、综合测试:采用的是自顶向下集成法;3、确认测试包括:功能测试、性能测试。
有关图书馆管理系统设计论文推荐:
1. 图书管理系统毕业论文
2. 浅谈图书馆管理论文
3. 关于图书馆设计论文
4. 图书馆管理毕业论文范文
5. 有关图书馆结构设计论文
6. 图书馆管理论文
1 前言 4 目的 4 范围 4 有关本系统中的定义 4 2 资料引用 4 3 设计思路 4 数据层设计 5 user_book表的触发器 5 用户续借图书的存储过程 6 到期催还表的视图 7 数据链接层设计 8 UserBook Entity Bean设计 9 UserConsumer Entity Bean设计 10 UserLogBook Entity Bean设计 11 数据逻辑层设计 12 TheBook Session Bean设计 13 TheUser Session Bean设计 14 TheLog Session Bean设计 15 网络应用层设计 15 CheckValue bean 16 EnCode bean 16 JDBCBean bean 16 Rank bean 16 SetUp bean 16 SplitPage bean 17 UserLogin bean 17 SearchBook bean 17 SearchDeadline bean 17 ValidateIMG servlet 17 GetDelete servlet servlet 17 GetBookSubmit servlet 18 GetUserSubmit servlet 18 GetRenewBook servlet 18 GetBorrowBook servlet 18 GetReturnBook servlet 18 4 程序架构 18 程序组织结构 18 功能权限划分 20 WEB程序/页面设计 21 本系统实现的功能 22 5 任务分工 22 1 前言 目的 本文档详细描述了图书管理系统的设计,主要是为开发人员提供,使其对本项目的构建和维护有深入的了解。 范围 本文档的描述只针对图书管理系统的版本。 有关本系统中的定义 以下是本说明书中用到的专门术语的定义和外文首字母组词的原词组: 术语或缩写 定义与描述 booksManager 本系统的名称 Reader 系统权限:普通读者 BookAdmin 系统权限:图书管理员 UserAdmin 系统权限:用户管理员 SuperAdmin 系统权限:超级管理员(系统管理员) Undergraduate 系统用户角色:本科生 Graduate 系统用户角色:研究生 Teacher 系统用户角色:教师 2 资料引用 清华大学《应用软件平台与核心技术》讲义 顾明 清华大学《应用软件平台与核心技术》助教文档 张伟业、魏岚、陈勇、林彩荣 《精通EJB(第二版)》 《J2EE应用与BEA Web Logic Server》,刑国庆等译,电子工业出版社 《设计模式——可复用面向对象软件的基础》,Erich Gamma等,机械工业出版社 3 设计思路 本系统严格按照4层结构设计,分为数据层(SQL server),数据链接层(entity bean),数据逻辑层(session bean),网络应用层(java bean, java servlet, java serverpage)。 四层之间完全独立,可以部署在四台服务器上运行,体现了分布式应用的思想。 数据层的功能严格来说是实现基本的数据存储(逻辑处理功能应该全部交给CMP管理),但因为学习原因,在数据库中也用到了一些逻辑处理,如使用了存储过程+系统级临时表处理读者续借图书的功能、使用触发器防止未还书的用户和未归还的图书被注销以及使用视图检测借书记录实现到期催还功能。 数据链接层实现了和数据库的连接,作用在于屏蔽数据库和平台之间的差异,做到底层无关性。本层利用了模糊查找、多表映射、Relationship等技术,通过find,select方法数据的查找功能,抛出聚集对象或远程接口对象给下一层。 数据逻辑层实现了对数据的逻辑处理,例如将远程接口对象转化为值对象、将聚集对象转化为值对象向量、利用日期类完成查找两个特定日期之间的记录等相对复杂的计算。 网络应用层完成页面跳转和页面显示等应用功能,还有一些附加功能如:图片验证,登录验证,等级控制,代码过滤,分页控制,输入值检测、借书日志打印、系统运行日志记录以及系统设置等。(使用了JDBC实现存储过程和模糊查找图书的功能) 数据层设计 数据库表 表名 功能描述 user_consumer 记录了用户的所有信息 user_book 记录了图书的所有信息 user_logBook 记录了用户使用本系统的信息,保留了所有的借书记录,可作为系统日志和报表资料 user_book表的触发器 用到的触发器之一,作用:如果要注销的图书被外借没有归还,则回滚此删除操作。 CREATE TRIGGER bookhavelog ON FOR DELETE AS declare @bookISBN varchar(50) select @bookISBN=book_ISBN from deleted if exists(select * from user_logBook where logb_book_ISBN=@bookISBN and logb_backdate is null) begin rollback return end 用户续借图书的存储过程 利用存储过程实现用户续借图书的逻辑操作,根据用户的当前信息判断其是否有续借的权限,并把处理结果输出到临时表中去。 CREATE PROCEDURE user_renew_book @xxxparm int AS CREATE TABLE ##temp(statement varchar(50)) DECLARE @username varchar(50) SET @username=(select logb_cons_username from user_logBook where ID=@xxxparm) IF @username is null BEGIN INSERT INTO ##temp VALUES ('The ID is not EXIST') RETURN END DECLARE @timelimit int SET @timelimit=(select logb_timelimit from user_logBook where ID=@xxxparm) DECLARE @renewday int SET @renewday=(select cons_maxday from user_consumer where cons_username=@username) DECLARE @maxrenew int SET @maxrenew=(select cons_maxrenew from user_consumer where cons_username=@username) IF (@renewday*@maxrenew)>=@timelimit BEGIN update user_logBook set logb_timelimit=logb_timelimit+@renewday where ID=@xxxparm --update user_consumer set cons_maxrenews=cons_maxrenews-1 where cons_username=@username INSERT INTO ##temp VALUES ('renew successful') RETURN END ELSE BEGIN INSERT INTO ##temp VALUES ('You are not allowed to renew the book') RETURN END GO 到期催还表的视图 利用DATEDIFF,DATEADD,CAST,GETDATE等函数从借书记录表中计算出到期的记录,然后根据此记录找出相应的读者信息,在网页上以email形式催还。 CREATE VIEW AS SELECT TOP 100 PERCENT , , DATEADD([day], , CAST( AS datetime)) AS deadline_date, GETDATE() AS now_date, , , , , , , , , , , , FROM INNER JOIN ON = INNER JOIN ON = WHERE (DATEDIFF([day], DATEADD([day], , CAST( AS datetime)), GETDATE()) >= 0) AND ( IS NULL) ORDER BY DESC 数据链接层设计 entity bean UserBook Entity Bean设计 userbook remotehome接口 方法 描述 findAllBook 得到所有的图书信息 findByISBN 通过图书的书号得到图书的信息 findSearcher 利用关键字模糊查找图书信息 selectUserByBookISBN (userbook remote) 利用select方法实现多表相关的查找 findSearcher实现模糊查找的代码: select object(p) from UserBook as p where like concat(concat('%',?1),'%') or like ?1 or like ?1 or like ?1 or like ?1 or like concat(concat('%',?1),'%') or like ?1 UserConsumer Entity Bean设计 UserConsumer remotehome接口 方法 描述 findAllUser 查找所有的用户信息 findByUsername 通过用户名查找用户信息 findSearcher 利用关键字模糊查找用户信息 selectBookByUsername (userconsumer remote) 利用select方法实现多表相关的查找 findSearcher实现模糊查找的代码: select object(p) from UserConsumer as p where like concat(concat('%',?1),'%') or like ?1 or like concat(concat('%',?1),'%') or like ?1 or like ?1 UserLogBook Entity Bean设计 UserLogBook remotehome接口 方法 描述 findallbybookISBN 查找此书所有的借阅记录 findbybookISBN 查找此书当前的借出记录 findallbyusername 查找此用户所有的借阅记录 findbyusername 查找此用户当前的借出书记录 findbacklog 得到所有已经归还图书的借书记录 findoutlog 得到所有尚未归还图书的借书记录 findbyID 通过记录流水号查找借书记录 findlogbyday 查找某一日期的借书记录 (模糊匹配,例如提交“2004-5”可得到最终记录时间——借阅或归还在2004年5月份的所有借书记录) findallog 得到所有的借书记录 FindLogByDay通过模糊匹配得到一组最终记录时间的代码: select object(p) from UserLogBook as p where ( is null and like concat(concat('%',?1),'%') ) or ( is not null and like concat(concat('%',?1),'%') ) 数据逻辑层设计 session bean TheBook Session Bean设计 TheBook bean 实现图书的增删改查以及模糊搜索、通过书查读者等功能 方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量 TheUser Session Bean设计 TheUser bean 实现用户(读者)的增删改查以及模糊搜索、通过读者查书等功能 方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量 TheLog Session Bean设计 TheLog bean 主要实现对日志(借书记录)的各项操作,提供多种获得日志的方法(按读者、按图书、按日期、按借还状态等),方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量,另外还有如下方法: 方法 功能 public boolean userBorrowBook(String username, String bookISBN) 以一个事务封装读者借书的所有逻辑操作,借书成功返回真值,无法借书返回假值,调用enCode bean对中文进行转码 public boolean userReturnBook(String logbid) 以一个事务封装读者还书的所有逻辑操作,即实现使一笔借书记录销账的功能,调用enCode bean对中文进行转码 public Vector showLogBetweenDays(String dayBegin, String dayEnd) 返回两个日期之间的所有日志,主要利用Calendar类实现 网络应用层设计 本层本着面向对象思想的封装性、数据模糊性、可重用性等原则设计。 本着系统运行错误在系统中打印()、用户输入和误操作错误导向友好的错误处理页并给出友好的提示的错误处理原则。 每次对会话bean的调用写入系统运行日志文件,默认路径是C:\\。 CheckValue bean 封装多个静态方法。 可以用于检测某表中某个字段是否已经存在某个值(可用于检测重名用户、重号图书)、检测用户名合法性、检测密码合法性、检测年龄合法性、检测电子邮件合法性、检测数字合法性、检测日期合法性等。 EnCode bean 封装编码转码工作: html显示转码,例如:将<转为<,将>转为&rt;,将数据库中的换行转为html中的换行等等,这样可以屏蔽用户提交文本中的可执行代码。 可重载的中文转码。 密码的加密和解密编码。 JDBCBean bean 封装所有的数据库操作。包括一个带结果集返回的SQL执行方法和一个不带结果集返回的SQL执行方法。 Rank bean 封装4种权限(普通读者、用户管理员、图书管理员、系统管理员)的页面访问,相当于页面加锁功能。 SetUp bean public static String title="SuperLibrary";//系统名称 public static String dbS="booksManagerDS";//数据库的JNDI名 public static String errorPage="";//友好的错误处理页,用get方法传递出错原因 public static String homePage="";//默认首页 //权限------------------------------------------------------------------------- public static String Reader="Reader";//读者 public static String UserAdmin="UserAdmin";//用户管理员 public static String BookAdmin="BookAdmin";//图书管理员 public static String SuperAdmin="SuperAdmin";//系统管理员 //等级------------------------------------------------------------------------- public static String Undergraduate="Undergraduate";//本科生 public static int UndergraduateRenew=1;//本科生可续借的次数 public static int UndergraduateMaxday=30;//本科生一次可借的天数 public static String Graduate="Graduate";//研究生 public static int GraduateRenew=2;//研究生可续借的次数 public static int GraduateMaxday=45;//研究生一次可借的天数 public static String Teacher="Teacher";//教师 public static int TeacherRenew=3;//教师可续借的次数 public static int TeacherMaxday=60;//教师一次可借的天数 //---------------------------------------------------------------------------- public static int rsPerPage=5;//每页显示记录的数量 public static int minBooks=4;//系统默认的最小借书数 SplitPage bean 将数据记录分页的逻辑实现和页面显示(最简,可在外部由样式表美化)封装在一个bean中,重用时实际只需要传递一个记录集数量的为参数即可,可重用。一般作为session级java bean在页面中被调用,在会话中保存用户对此页面的访问状态,在会话结束之前始终记忆用户访问此页对应的页码。 UserLogin bean 将用户登录的逻辑实现和页面显示(最简,可在外部由样式表美化)封装在一个bean中,包括对用户各种登录情况的处理,可重用。 SearchBook bean 利用JDBC实现模糊查找和按指定类别精确查找图书的功能。 SearchDeadline bean 利用JDBC调用视图实现到期图书的催还功能。 ValidateIMG servlet 动态生成含有随机验证码的图片,在生成图片的同时将验证码写入session中,与用户的登录输入比较。可有效的防止机器人登录。 GetDelete servlet servlet 处理图书、用户、日志的注销操作,根据返回值进行相应页面的跳转。 GetBookSubmit servlet 处理图书的入库和图书信息的修改,根据返回值进行相应页面的跳转。 GetUserSubmit servlet 处理用户的注册和用户信息的修改,根据返回值进行相应页面的跳转。 GetRenewBook servlet 处理用户续借图书的请求(JDBC调用存储过程实现),从系统临时表中读取状态值,根据状态值进行相应页面的跳转。 GetBorrowBook servlet 处理用户的借书请求,将用户借书限额已满、库存为零等错误导向友好的错误页,如果借书成功则跳转到图书信息页面,并给与相应的提示。 GetReturnBook servlet 处理用户的还书请求,如果还书成功则跳转到用户的借书记录页面,并给与相应的提示。 4 程序架构 程序组织结构 说明:图书搜索和用户登录看作系统外部功能,通过JDBC直接调用数据库,其中用户登录模块封装在一个java bean中,可重用。另外,用户续借图书是通过存储过程实现,从而绕过了使用CMP技术管理事务的实体bean。 本系统其余程序的组织结构严格按照下图实现: 程序组织结构图 功能权限划分 站点页面地图 权限名称 系统定义字符 权限 可访问页面 普通读者 Reader 查看自己的信息(还书、续借); 修改自己的信息; 查看图书(借书); userModify userView booklist 图书管理员 BookAdmin 拥有普通读者的权限; 图书的增删改查; 到期催还; userModify userView booklist bookAdder bookModify deadline 用户管理员 UserAdmin 拥有普通读者的权限; 用户的增删改查; userModify userView booklist userRegister userModify userList 系统管理员 SuperAdmin 拥有图书管理员和用户管理员的权限; 查看系统日志; 删除系统日志; 系统设置; 包括(系统设置,利用application级java bean控制整个应用程序)在内的所有页面 WEB程序/页面设计 利用代码关闭客户端的输入法,实现用户名、密码不能出现中文的问题。 利用onfocus=() onmouseover=()代码使文本框自动吸附获得焦点,方便用户输入。 利用WMODE="transparent"参数使flash的背景透明,更好的融入网页。 在每页中,利用代码: 嵌入上下导航条,使网站导航明确,方便用户浏览。 在网页头部加入代码: 使客户端不缓存网页,保证了客户每次浏览该页都从服务器获得最新的版本,以求正确显示。 提供智能搜索(获得尽可能多的匹配)和精确搜索(获得尽可能精确的匹配)图书,服务器端编程都采用模糊查找的方式。 在客户端用javascript对表单提交进行第一次验码,通过后提交到服务器端,再进行第二次验码,验码包括:用户名是否重复、年龄是不是合适的数字,两次密码输入的是否一致、电子邮件是否合法、密码是否太短、用户名是否太短、用户名密码是否为空等等。 利用随机生成JPG图片验证码的方法,防止机器人登录。 在页面中使用session级java bean实现分页,在会话中保存用户对此页面的访问状态,在会话结束之前始终记忆用户访问此页对应的页码。 在页面中使用application级java bean实现安全的系统设置,当服务器启动后,即可对系统运行参数进行应用程序级的设置,只要服务器不关闭,此设置始终有效且作用于所有用户,如果设置不慎造成系统错误或想恢复系统默认设置,则只需重新启动服务器即可。 在对会话bean的调用包ejbClient中,创建系统运行日志,通过包中的writeF类写入web服务器的C:\\中,可做查询用。 本系统实现的功能 确定图书的基本信息,有书名、作者、出版日期、当前借阅状态等属性 系统的使用者包括读者、图书管理员、用户管理员、系统管理员四种 读者可以查询图书;图书管理员可以完成图书管理、借阅管理;读者管理员可以完成读者管理的功能;系统管理员可以使用系统的所有功能 图书管理:新书登记,图书查询,图书注销; 借阅管理:借书,还书,查询到期读者 读者管理:增加读者、删除读者、查询读者、读者类别管理(设置研究生,本科生,教师的可借册数,可借天数,可续借次数等) 系统管理:系统管理员使用,包括用户权限管理(增加用户,删除用户,密码修改等),系统借书日志,系统运行日志,系统设置等功能 页面输入有验码,密码存取有加密 图书到期催还 体现分层设计思想,使用MVC架构 实现了多个Beans,Bean之间实现了对应的关系 使用了EJB QL,事务控制等 使用了jsp->sessionBean->entityBean->数据库模式 数据库使用了触发器和存储过程等一些高级技术
在图书馆管理信息系统的系统分析的基础上,做出了详细业务描述及数据流程图,下面我们着手进行系统设计。要再次申明的一点是:本系统为学校图书馆管理专用。一、模块设计(一)、图书建档模块:此模块对应图书建档的业务流程,要输入的图书信息在作业的第一部分已有反映,不再赘述。信息输入之后,经过一定的分类处理,形成图书档案数据库,可用于用户查询、模块调用与数据统计。(二)、会员注册模块对应会员注册流程,会员基本信息及会员权限等形成会员档案数据库,可用于用户查询、模块调用与数据统计。(三)、借阅处理模块这一模块对应的是图书借阅流程。这一流程可包括下面五方面业务:查询、预约、外借、还书、续借。它可以拆分为下面五个模块。1,外借处理模块。对应图书外借业务,这一业务在图书外借出办理,由工作人员扫入图书证条码察看用户的借阅权限,用户有欠费纪录时要求用户先缴纳罚款再行借书;无欠费纪录确认用户可以借阅图书后,扫入图书条码进行外借手续,外借完成后由计算机系统更新储存用户借阅信息及图书借阅信息,以备查询。2、还书处理模块对应还书处理流程,在图书外借出进行,用户还书时,工作人员扫入图书条码,进行还书处理,完成后由计算机系统更新储存用户借阅信息及图书借阅信息,以备查询。当图书丢失时,要求读者进行赔偿。3、查询处理模块对应查询处理流程,在用户端服务器进行,由读者自行操作,读者输入一定查询信息后,由用户端服务器提交到服务器,在数据库中进行寻找匹配后,输出查询结果。可循环调用。4、预约处理模块对应预约处理流程,在用户端服务器进行,由读者自行操作。5、续借处理模块对应续借处理流程,在用户端服务器进行,由读者自行操作。二、代码设计本系统中所使用代码:借书证号位学生学号,每一借书证都有相对应的唯一条码;索书号以中图分类法排列,每本书已有相对应的唯一条码。三、输入输出及人机对话设计1、输入设计:图书建档过程中各类图书信息输入由工作人员先添入确定格式表格再以键盘输入计算机存储,在键盘输入过程中由计算机同时进行数据类型检验、格式检验、逻辑检验并即时出错提示。会员注册过程中会员资料先由会员自行填入确定格式表格再由工作人员以键盘输入计算机存储,在键盘输入过程中由计算机同时进行数据类型检验、格式检验、逻辑检验并即时出错提示。图书借阅及还书过程中图书条码和借书证条码在图书外借处以条码识别机扫描输入,也可以键盘输入图书证号和索书号;图书预约、查询及续借过程中索书号和借书证号在用户服务器终端以键盘输入。2、输出设计:各类信息均以表格形式在显示器终端输出。3、人机对话设计图书建档及会员注册信息输入时以填表法进行,在填表过程中进行错误提示及警告。操作人员进行借还书操作的界面以选单式界面为主。用户查询、预约、续借操作界面以问答式与选单式结合。四、数据库设计图书馆管理信息系统数据库设计一览表,如下图所示序号 模块名 数据库名 用途 数据来源 数据去向 1 图书建档 图书档案 存放图书信息 键盘输入 查询及统计 2 会员注册 会员档案 存放会员信息 键盘输入 查询及统计 3 借阅处理 用户借阅档案 存放用户借阅信息 预约、外借、还书、续借过程中生成 查询、检验权限 4 借阅处理 图书借阅档案 存放图书被借阅信息 预约、外借、还书、续借过程中生成 查询、检验 五、网络设计计算机网络系统采用开放式用户机/服务器体系结构实现图书馆信息管理系统。具体设计成一个计算机网络系统,由服务器进行数据处理,用户端显示结果。1,服务器上运行UNIX操作系统,支持多用户系统。2,用户端运行Windows2000。3,TCP/IP网络协议连接用户与服务器。六、安全保密设计系统安全以设置分级用户权限保障,不同权限的用户可调用的资源不同。
用VB做可以很快做出来的!
134 浏览 5 回答
296 浏览 4 回答
103 浏览 3 回答
181 浏览 2 回答
205 浏览 5 回答
270 浏览 1 回答
179 浏览 3 回答
276 浏览 5 回答
313 浏览 2 回答
325 浏览 2 回答
265 浏览 3 回答
154 浏览 5 回答
174 浏览 3 回答
147 浏览 4 回答
184 浏览 2 回答