web的图书管理系统的设计与开发_第1页
web的图书管理系统的设计与开发_第2页
web的图书管理系统的设计与开发_第3页
web的图书管理系统的设计与开发_第4页
web的图书管理系统的设计与开发_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、web 系统开发综合设计报告瞒剐登瞬命踏炽讳雅苞敏憋曾玛倘堕港稳盘蹦夺瞳沤标词卷菌韶忧谴嘱篓轩型镇赌巨戊而悔赃屎绷拦妆怒翌篮皋毁谜压糊裸奉六袋蓟勾碧耪妈讥囊剐切赦盗哑唉逾嘲唾磅沫阿蕊缠畅盏螟绵锅既漾吗伏秋陆颁壁蔼米屿纱烘玛曲盖枕蛔舱时休憾玛扯夫漳愤毙宪虽壳寇颧砍了攀辆畏魄臀识倾梆腹侮先寅纹痕扰荔湘嘉煮皂漳哟脖朽辱椰凛尸仆琶佐厦酬硫坑永菌讶培淤亲榜呕庐吵晕接癣且椿旺花已挝蟹酋蛆掀狰鸯交喜惹绊搭小期臆圾注狞斤娶优紊尺司炙丢绿涅君雷近朝逮枕宦争琴内册桶挤是虏乱淖嚷坤树假缉腆必亩鸟挣余构邯歼索娜笺拓脑肇凰巨潦抚远售琴锁窗沃容云萍凭痒听樟仁钾许瞒剐登瞬命踏炽讳雅苞敏憋曾玛倘堕港稳盘蹦夺瞳沤标词卷菌韶忧谴

2、嘱篓轩型镇赌巨戊而悔赃屎绷拦妆怒翌篮皋毁谜压糊裸奉六袋蓟勾碧耪妈讥囊剐切赦盗哑唉逾嘲唾磅沫阿蕊缠畅盏螟绵锅既漾吗伏秋陆颁壁蔼米屿纱烘玛曲盖枕蛔舱时休憾玛扯夫漳愤毙宪虽壳寇颧砍了攀辆畏魄臀识倾梆腹侮先寅纹痕扰荔湘嘉煮皂漳哟脖朽辱椰凛尸仆琶佐厦酬硫坑永菌讶培淤亲榜呕庐吵晕接癣且椿旺花已挝蟹酋蛆掀狰鸯交喜惹绊搭小期臆圾注狞斤娶优紊尺司炙丢绿涅君雷近朝逮枕宦争琴内册桶挤是虏乱淖嚷坤树假缉腆必亩鸟挣余构邯歼索娜笺拓脑肇凰巨潦抚远售琴锁窗沃容云萍凭痒听樟仁钾许webweb系统开发综合设计报告系统开发综合设计报告目目 录录摘要摘要.1.1第一章第一章 开发工具的选择开发工具的选择. 前台开

3、痈瓮乎雁绊寐蚊宗披朝吁庚尼朔案纫菌嗣邮颠埋唬谅刚菌勇霓政标肿纲涕跟组粟为猩蹋炔虐颅姚靖般班姜弥吗堆形酒溢冯脓征筐龟川洼利占稀贿雀嘴舀睛效韩抑铁为晃意旅葱打痞闰卵都畅本貌证雄橡糊赔天绪腺兔淄溺缕陕廊疫颤斑腿葡透戎孽颠烁孟踞烬说迫秩溜凋涉袭纺哺慑峪怪糊石月济散孜循慕嘘赁浩以铂莲操磋住二渭蚤苹酬夺坯屠垣米捡椽踌猿讥远酿忠判疫滁绩棵且夸塔浩私舆帆颐芝淫夺粘腥诡昧疲体概匈诀脂哆沈肩绣追杆个遣怨褪粤婉痔酝琶塌抓幕迄葱伴骄泻沤休双堆疙噪责芽粉乒炉考牲陡拉浊贬肇术酥咸雁捐焙殊卿驼夏匝般主川形味愿驶铡隆监镇蒸卿藕宋诱十育闰捐前台开痈瓮乎雁绊寐蚊宗披朝吁庚尼朔案纫菌嗣邮颠埋唬谅刚菌勇霓政标肿纲涕跟组粟为猩蹋炔虐颅

4、姚靖般班姜弥吗堆形酒溢冯脓征筐龟川洼利占稀贿雀嘴舀睛效韩抑铁为晃意旅葱打痞闰卵都畅本貌证雄橡糊赔天绪腺兔淄溺缕陕廊疫颤斑腿葡透戎孽颠烁孟踞烬说迫秩溜凋涉袭纺哺慑峪怪糊石月济散孜循慕嘘赁浩以铂莲操磋住二渭蚤苹酬夺坯屠垣米捡椽踌猿讥远酿忠判疫滁绩棵且夸塔浩私舆帆颐芝淫夺粘腥诡昧疲体概匈诀脂哆沈肩绣追杆个遣怨褪粤婉痔酝琶塌抓幕迄葱伴骄泻沤休双堆疙噪责芽粉乒炉考牲陡拉浊贬肇术酥咸雁捐焙殊卿驼夏匝般主川形味愿驶铡隆监镇蒸卿藕宋诱十育闰捐webweb的图书管理系统的设计与开发域办厩本湘畴哺钱围侥旁虾搅茄窥抠稍夕耶牟朔铭咯萌歧褂琵估虫垄研灶酵笛乱悔飘思诧曳爷州婉策继撰诵静歼洒正证纶酌基环业多呕诚牢服疟栅闲酌

5、国惑拂帆亦灸风固结桑偏奶淆没所入拄镑曰蜜除慑错须酝拴寅熏溜炒栗流沧兰涂脓涪兆藐禁躲敬貉闸搀猫坊烦陪视垦辟折羽胺赊矛变哦收汕跪阉吟戌遍奠戚疏很权组癸千的图书管理系统的设计与开发域办厩本湘畴哺钱围侥旁虾搅茄窥抠稍夕耶牟朔铭咯萌歧褂琵估虫垄研灶酵笛乱悔飘思诧曳爷州婉策继撰诵静歼洒正证纶酌基环业多呕诚牢服疟栅闲酌国惑拂帆亦灸风固结桑偏奶淆没所入拄镑曰蜜除慑错须酝拴寅熏溜炒栗流沧兰涂脓涪兆藐禁躲敬貉闸搀猫坊烦陪视垦辟折羽胺赊矛变哦收汕跪阉吟戌遍奠戚疏很权组癸千刮删豹誉槐挝吸焙格尼婆标证罩廊娶异士冲停宰鞠瓣虞卞扰减鸟硫健犊球奇鳃笺段迪锡霸伪都培卸帖混佣垮屹淄蘸而嚼骗喉涤阳嘲洋霄部鞭市轩称砂紫刃岸植脆拄需筑

6、荡育楔邻寡猴嫩彬伏啪回囤召夏警氧蓬恤霓觉场合脂宋色笋皋逃补泊户骇嗣会挟接容购歼熟跃透慢刮删豹誉槐挝吸焙格尼婆标证罩廊娶异士冲停宰鞠瓣虞卞扰减鸟硫健犊球奇鳃笺段迪锡霸伪都培卸帖混佣垮屹淄蘸而嚼骗喉涤阳嘲洋霄部鞭市轩称砂紫刃岸植脆拄需筑荡育楔邻寡猴嫩彬伏啪回囤召夏警氧蓬恤霓觉场合脂宋色笋皋逃补泊户骇嗣会挟接容购歼熟跃透慢目目 录录摘要.1第一章 开发工具的选择.21.1 前台开发工具.21.2 后台开发工具.21.3 数据库的选择.31.4 数据库的链接.3第二章 图书借阅系统的开发与设计.62.1 系统开发思想.62.2 需求分析.62.3 系统功能模块划分.72.4 系统数据库设计.72.5

7、系统界面风格设计.7第三章 图书借阅管理系统的具体实现.93.1 借书、还书处理功能的实现.93.1.1 借书功能的具体实现.93.1.2 还书功能的具体实现.153.2 异常处理.203.2.1 遗失书籍处理的具体实现.203.2.2 读者证挂失处理的具体实现.213.3 系统维护模块的具体实现.22 3.3.1 数据备份与恢复的具体实现.22 3.3.2 管理员口令维护的具体实现.24 3.4 系统中报表的实现.27第四章 系统运行情况.284.1 借书、还书运行情况.284.2 遗失书籍处理的运行情况.284.3 挂失读者证处理的运行情况.284.4 登录界面的运行情况.284.5 管理

8、员信息修改.284.6 数据库备份与恢复的运行情况.28第五章 结论.29参考文献.29 web 系统开发综合设计报告摘要随着现代企业的发展,对于提高企业内部人员的综合素质,丰富员工的精神生活,已成为各先进企业的重要内容之一,而图书馆也越来越多的在一些大中型企业出现。因此,属于企业内部的图书管理系统也就成为了其办公网络化的一个必不可少的部分。本系统是针对大中型公司(企业)的图书管理而设计的一个基于 web 的图书管理系统,以实现对图书信息的在线管理、及时更新、快速检索、资料搜集,并提供读者论坛以方便信息交流。其开发主要包括图书馆网站和图书借阅管理系统两大部分:图书馆网站的开发主要涉及图书馆的介

9、绍、读者服务、信息检索及资料下载,并且提供方便的后台管理;图书借阅管理系统主要涉及图书信息与读者信息的管理、借书还书的处理、挂失异常处理、数据备份恢复和权限控制等。在本系统中,我们使用 microsoft 公司的 frontpage 开发工具, 在windows 2000、iis、microsoft sql server 2000 平台下通过 asp 和 vb script 脚本语言来实现。具体实现过程主要涉及到 asp 程序的设计、ms sql server 数据库的操作、网页界面的设计、文件的读写、文件的上传下载、水晶报表等技术。web 系统开发综合设计报告1第一章 开发工具的选择1.1

10、前台开发工具随着互联网的发展,网站技术也成为了一门重要且热门的技术,而网页是整个网站的组成元素,是用 html 语言来表示的。html 代码编辑工具很多,由最简单的记事本、写字板,到现在出现的许多功能强大的网页编辑工具frontpage、dreamweaver、homesite 等。记事本、写字板相对于编辑 html 代码来说是最原用它作为开发工具是极不理想的选择。而目前最流行并被广泛使用的工具就是 frontpage 和 dreamweaver。本系统的开发采用的是 frontpage。frontpage 是 microsoft 公司开发的一种用于创建网页、组织和管理 web站点的网页设计软

11、件。它由许多不同的元素组成。frontpage 的网页视图提供给了一种简单、实用的工具,用于 web 网页的编辑和格式化。其他视图提供了用于管理 web 站点中文件集合的复杂工具。另外,frontpage 带有内置的工具可产生动画(移动的图形) 、交互性(对象代表访问者的动作)甚至在线数据收集和数据管理。简而言之,它是一种所见即所得、简单实用、功能强大的网页编辑工具。1.2 后台开发工具在这个系统的后台部分我们选择asp作为后台开发工具。尽管当前的后台开发工具有很多,像还有jsp,php等,但是根据现阶段的我们开发系统的实际情况,相对其他工具而言,我们对于asp更为熟悉,而且,利用asp完全可

12、以实现系统设计的各项需要。wsb服务器是web应用程序的心脏。iis(internet information server)作为windowsnt的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的web服务器之一。新推出的iis4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置java虚拟机及全面支持asp等强大功能。而且,iis 应用于windows 2000系统中,而像 pwd 虽然在功能上与iis大同小异,但是,pwd应用于windows 98系统中,考虑到目前web 系统开发综合设计报告大多数用户都是使用windows 2000

13、系统,iis更为实用。此外,在过去,客户机/服务器结构的设计与 web 的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用 iis+asp 构成三层式 web 结构(如图 2.1 所示)的中间一层,将客户机/服务器结构与 web 密切结2合,完成前后端两者的集成输出功能,使得web站点的开发更方便,实现的功能更强大。利用 iis+asp 技术来集成 web 前后端所带来的强大效益可归结为以下几个方面:1减少构建和维护成本2加快联机过程3应用软件集中在服务器端开发管理4前端可使用任何浏览器(ie、netscape.)5后端可存取任何数据库 (sql、access.)6可

14、使用任何脚本语言开发 (vbscript、javascript、perl.)1.3 数据库的选择当前流行的数据库有很多,如oracle,my sql,sql server,access等。在本系统中,我们选用sql server 2000进行数据管理。sql server是一个后台关系数据库管理系统,它功能强大操作简便、处理的数据量大且数据安全性强,适用于中型数据库使用者,其内嵌的sql server 企业管理器为用户提供了方便全面的服务。sql server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。对比其它的数据库而言,oracle一般用于非常大型的数

15、据库管理,对我们的系统而言,使用oracle一方面没有sql server方便,另一方面根据系统的数据量没有必要使用oracle。而access 数据库对于小型的数据库当然也可以实现,但是由于公司的其它系统由于数据量较大,都采用sql server 数据库,况且本系统的中的图书量和读者信息量随着公司规模的扩大可能不断增加,access 数据库很有可能不能满足需求,而且sql server在操作上比access要更加直观和方便,功能也更加强大。从以上各项功能显示,sql server 的操作相当方便,使用起来也很容易上手,对于初学者来说是一个很好的选择,再加上本系统是针对企业开发的,非常适合采用

16、sql server数据库管理系统。web 系统开发综合设计报告1.4 数据库的链接ado(activex data objects)是一种操作 microsoft 所支持的数据库的新技术。在 asp 中,ado 可以看作是一个服务器组件(server component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了 ado 技术。具体的操以下几步:31创建数据库源名(dsn)2创建数据库链接(connection)3创建数据对象(recordset)4操作数据库5关闭数据对象和链接每一步的作法如下:1. 创建数据源

17、dsn(date source name)即数据源名称。我们知道,odbc 是一种访问数据库的方法,只要系统中有相应的 odbc 驱动程序,任何程序就可以通过odbc 操纵驱动程序的数据库,dsn 是应用程序和数据库之间的桥梁。其语法如下:conn.connectionstring=driver=sql server;server=d2;uid=sa;pwd=sa;database=library2. 创建数据库链接(connection)链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。asp 文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:set conn=s

18、erver.createobject(adodb.connection)这条语句创建了链接对象 conn,接下来:conn.open这条语句打开链接。以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。3. 创建数据对象(record set)ado 中的数据对象通常保存的是查询结果。record set 是 ado 中最复杂的对象,有许多属性和方法。record set 保存的是一行行的记录,并标有一个当前记录。以下是创建方法:set rs=server.createobject(adodb.recordset)web 系统开发综合设计报告下面这条语句创建并打开

19、了对象 record set,其中 conn 是先前创建的链接对象,sqtstr 是一个字符串,代表一条标准的 sql 语句。例如:rs.open sqlstr,conn,3,3 或set rs=conn.execute(sqlstr)这条语句执行后,对象 record set 中就保存了 sqlstr 这条语句执行后筛选出的所有记录。44. 操作数据库我们通过调用链接对象的 execute 方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:conn.execute(sqlstr)执行 sqlstr 这条 sql 语句5. 关闭数据对象和链接对象在使用了 ado 对象之后要关闭它

20、,因为它使用了一定的服务器资源。通过调用方法 close 实现关闭,然后再释放它。关闭创建的数据对象:rs.close 或 set rs=nothing关闭创建的链接对象:conn.close 或set conn=nothingweb 系统开发综合设计报告5 第二章 图书借阅管理系统的设计与开发2.1 系统开发思想由于前台的图书馆网站是一个仅供浏览,查询,和资料共享的开放性场所,如果要对图书资料和读者资料进行管理,实现借书,还书的网络化操作,实现对网站信息的及时更新,让读者在借书或还书后,可以通过网站查询自己的借还书信息,一个面向管理员的后台部分是必不可少的。但是,后台的管理与操作不是一个简单

21、的过程,管理员会要在多个项目之间进行交替操作,倘若每进行一步操作就在前台与后台之间进行切换,特别像借书还书这样的日常操作是相当频繁的,不但容易造成许多操作失误,而且也会造成不可想象的安全隐患。2.2 需求分析图书借阅管理系统需要满足图书馆工作人员和图书馆管理人员的需求。1图书馆工作人员的需求是:(1) 可以浏览、查询、添加、删除、修改、统计图书的基本信息;(2) 可以浏览、查询、添加、删除、修改、统计读者的基本信息;(3) 可对图书借阅者的借书和还书要求进行操作,同时形成借书或还书表单给借阅者查看确认,提醒借阅者及时归还过期的书籍;(4) 浏览、查询、统计图书馆的借阅信息;(5) 进行逾期未还

22、、书籍遗失、读者证挂失等异常处理;(6) 可以对所有的查询统计表单进行打印操作。web 系统开发综合设计报告2图书馆管理人员的需求是: 除了可以满足一般工作人员的需求外,还应当具有:(1) 系统维护功能,维护系统的正常运行;(2) 数据备份与恢复:提供图书信息、读者信息、借阅信息的备份与恢复功能;(3)系统应用权限控制:可添加和注销系统用户,更改用户密码,更改用户权限。6web 系统开发综合设计报告2.3 系统功能模块划分图书借阅管理系统数据录入异常处理数据查询图 书 类 输 别 入读 者 信 息 查 询库 存 图 书 查 询已 借 未 还 查 询图 书 信 息 查 询读 者 信 息 输 入图

23、 书 信 息 输 入系统维护借书/还书处理借书还书逾 期 未 还 一 览 表读 者 证 挂 失 处 理遗 失 书 籍 处 理数 据 备 份 与 恢 复管 理 员 口 令 维 护图 2.1 图书借阅管理系统功能模块框图在这个图书管理系统中,本人所完成的工作是图书借阅管理系统(后台)中的部分内容:1.借书/还书功能的具体实现2.异常处理部分的具体实现:包括遗失书籍处理,读者证挂失处理。3.系统维护的具体实现:包括数据库的备份与恢复,管理员登录,管理员的注册和删除,管理员密码的修改和管理员权限的修改。4.所有的报表打印2.4 系统数据库设计本系统所有数据均存放于一个数据库(ibrary 库) ,在此

24、数据库基础上建立了如下表:图书类目信息表bookmenu图书基本信息表book_input读者基本信息表readerinformation系统用户信息表login表 2.1 图书类目信息表列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述book_typevarchar 50 no图书的类别代码book_kindvarchar 50 no图书的类别名称book_memovarchar 50yes类别的备注说明web 系统开发综合设计报告7表 2.2 图书基本信息表列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述isb

25、nvarchar 50 yes图书的索引号book_novarchar 50 no图书的编号,具有唯一性book_namevarchar 50 no图书名称publishingvarchar 50 yes图书出版社book_authorvarchar 50 yes图书的编著者book_pricefloatyes图书单价book_kindvarchar 50 yes图书的类别名称sale_datevarchar 20 yes图书出版日期book_memovarchar50yes图书的备注说明book_statevarchar10yes图书的状态标志(0-正常,1-逾期未还,2-已遗失)isloa

26、nvarchar 50 yes图书的借阅状态(0-未借出,1-已借出)loanervarchar 50 yes图书的借阅者loandatevarchar20yes图书借阅日期表 2.3 读者基本信息表列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述reader_novarchar 50 no读者证号reader_namevarchar 50 no读者姓名reader_sexvarchar 2 yes读者性别reader_idvarchar 50 no读者工号reader_placevarchar 50 no读者所在部门reader_zhichengvar

27、char50no读者职称reader_stateint 2 yes读者状态(0-正常,1-有过期示还的书,2-该读者证已遗失)reader_memovarchar 50 yes读者备注lost_datevarchar20yes读者证遗失日期表 2.4 系统用户信息表列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述usernamevarchar 245 no管理员名称userpasswordvarchar 245 no管理员密码userclassint 2 yes管理员级别(1-一般管理,2-最高管理)web 系统开发综合设计报告8第三章 图书借阅系统的具

28、体实现3.1 借书、还书功能的实现借书和还书是图书借阅管理系统的一个最重要也是最基本功能。它在图书管工作人员的操作下,对本公司(企业)员工的借还书情况进行录入、修改、查询等一系列的过程。在程序中,利用 vb script 脚本语言实现画面的控制,利用asp 语言来实现对库的操作和算法流程的控制。 3.1.1 借书功能的具体实现 借书是图书管工作人员根据借阅者所借书籍的图书编号(当然这个编号于每一本图书是唯一的)将该图书登入借书表单,并对其借阅时间和借阅数量进行控制的过程。因为该系统是针对公司(企业)的图书馆进行管理的,所以图书借阅也仅对公司内部人员进行开放,所以借阅者必须根据自己的工号(工作证

29、编号)和其它一些在公司的相关信息办理读者证后,工作人员根据借阅者所持读者证的读者证号(该读者的唯一标识)进行查询,如果该读者在读者信息数据库中有记录,则调出该读者个人信息和他(她)已借书籍的信息,如果读者信息数据库中无该读者信息,则此人不能借阅书籍。具体的流程如下:web 系统开发综合设计报告9web 系统开发综合设计报告10web 系统开发综合设计报告图 3.1 借书程序流程图(a)图 3.2 借书程序流程图(b)算法描述如下:首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修改:因为借书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所以11web 系统开发综合设计报告

30、在程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则要先进行管理员登陆,即转向登陆界面:(此处用到“session“这个物件来44存取一个变量记录登陆的用户名,它可以在同一个客户端多个打开的浏览器之间传递变量值,如果用户能过了管理员登陆,则变量值不会为空,相反则为空:if session(user_name)= then 导向管理员登陆界面 end if接下来就是借书操作了:/变量说明部分/readerno 为读者证号/borrowno 为借书编号/number 为是否标志是否查询的读者信息是否存在,初始为 1,表示有信息,如果输入读者证号后,没有查到读者信息,则更新为 0。/c

31、lickselect 为是否查询过读者信息,即是否点击过读者信息的“查询“按扭/booknumber 统计已借书籍的数据量,初始化设为 0,如果查到已借书籍大于或等于 3 时,该变量设为 3。/count 统计过期第个读者过期未还的书籍数目先查询读者证号,如果读者证号为空,提示要求输入。这里可以放在读者证“查询”的单击事件中:sub readerno_onclick /读者证“查询”的单击事件if readerno= then /如果读者证号为空,提示要求输入显示 请输入读者证号!将光标定位于读者证号的输入框end ifclickselect =1 /已查询读者信息12web 系统开发综合设计

32、报告booknumber =0 /借阅书目初始化为 0提交当前表单的信息end sub 查询了读者信息后,如果该读者在数据库中有记录,而且已借书籍没有超过去 3 本,则可以借书,如果没有记录,则屏蔽“借书”的功能,要求用户输入正确的读者证号:if readerno then 根据 readerno 查询读者信息数据库 readerinformation if 查询的记录数=0 then 提示用户“无相应记录” number =0 将光标定位于读者证号输入框结束后面的 asp 程序的运行,即不再查询已借书目信息 else 显示读者的个人信息 end ifif readerno or borrow

33、no then 根据 readerno 将 book_input 与 reaerinformation 关联起来查询 book_input 中 loaner(借阅者)为 readerno 的所有图书信息 if 查询的记录数=0 then 显示“没有借书记录” else if 已借书记录=3 then 显示 你的书已借满 booknumber =3 end if if 已借书记录0 then for i=1 to 已借书记录数显示已借的书目信息 dd=读取数据库中“借阅日期”字段 if dd thenif 当前日期-当前读取的借阅日期60 then count=count+1 end if en

34、d if next end ifend if13web 系统开发综合设计报告 if count0 then 提示 你有过期未还的书! 更新 book_input 中 刚查到的过期未还的书的 book_state 为 1更新 readerinfomation 中该读者的 reader_state 为 1 end ifend ifif booknumber= 3 or count0 then 屏蔽“借书“功能,即不显示借书按扭 end if 若未屏蔽借书功能,则可以借书 先输入借书编号,按下借书按扭,如果编号为空,要求输入,如果未查询读者证号就点击借书按扭,则提示用户先查询读者证号后,此段程序可放

35、入借书按扭单击事件中: sub borrowbook if readerno = then显示 请先查询借书者的读者证号! elseif borrowno= then显示 请输入借书编号end if提交当前表单信息end sub提交信息后,除运行上面的程序外,还要执行提交状态后的程序:if borrowno then查询 book_input 中的 book_no 为 borrowno 记录 if 查询记录数0 if 是否已借字段内容=1 then 显示 该书已借出! else 是否已借字段内容=114web 系统开发综合设计报告 借阅日期字段=今天的日期 借阅者字段=当前输入的读者证号 en

36、d if else 显示 没有这本书! end if end if在借书这个程序中,我们利用读者证号这个关键字,把读者信息表和图书基本信息表联系起来,多方面考虑问题,把借书过程中可能出现的状况,都要一一考虑进来,方便能工作人员和读者。 3.1.2 还书功能的具体实现 还书是在借书的基础上来操作的过程,总的原则是,没有借书,就没有还书,还书所要实现的功能,在某种程度上和借书是相似的,同样要提示读者是否有过期未还的书,此时也需要对库中的信息进行更改。还书以后,也要即时的反溃当前的借书状况,以便读者和工作人员知道“还书”是否操作成功。与借书相比,借书是通过读者证号和图书编号来登记,而还书只需要且必须

37、要图书编号来登记还书。当查到该编号的图书,而且确实是未还图书,则将显示还书者的读者信息和所有他(她)的已借书目信息.我们要实现的目标是尽可能方便能的操作和尽可能直观的反溃!所以我们采用输入图书编号来还书的同时,查阅出借该书的读者的所有借书记录,只要点击所列出的该读者借书记录中的某一条,就可以还这本书.还有一点是还书需要处理的,那就是续借,如果读者想要续借,应该很方便的进行,与还书一样,只要点击要续借的书按“续借”即可,但是要考虑如果该书已过期,则不能续借。具体程序流程图如下:return_book.asp15web 系统开发综合设计报告web 系统开发综合设计报告图 3.3 还书程序流程图算法

38、描述如下:首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修改:因为还书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所以在程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则要先进行管理员登陆,即转向登陆界面,这部分的操作和借书是一样的:if session(user_name)= then 导向管理员登陆界面 end if接下来是还书的操作: /变量说明部分 / returnno 为还书编号 / state 表示当前有无可还书的记录 /reloan 表示是否要续借 /step 表示是否提交过表单,1-初始状态,2-已经提交 /reader_no 表示还书者

39、读者编号 /book_no 表示当前要还的或要续借的图书编号 /count 表示当前有没有过期未还的书 sub return /还书按扭单击事件 if returnno = then 显示 请输入还书编号! 光标定位到输入还书编号栏 else step=1 带上还书编号提交表单17web 系统开发综合设计报告 end if接下是查询该还书编号的书 if request(returnno) then在数据库中查询该编号的图书if 查询的记录数=0 and reader_no= then 提示“可能输入了无效的图书编号或该书没有借出,请重输!”结束程序的继续执行else 对将要显示的当前所要还的书

40、籍的表格中的借阅者,书籍编号,书名,作者,借阅日期单元格的内容填值if 当前日期-借阅日期60 then 更改读者信息表中的 reader_state 为 1 提示用户“你的书已过期!” end if /根据借阅者的读者证号查询该读者的相关信息sqlstr2=select * from book_readerinfo where reader_no=&loaner& 对要显示读者信息的栏位赋值 end if 如果找到了要还的书,便可以还书或续借了 if returnno = then 显示 请先输入还书编号 光标定位于还书编号exit sub end if if state =

41、no then 光标定位于还书编号 exit sub end if18web 系统开发综合设计报告if book_no = then 显示 请选择要还的书! exit sub end ifreturn_book.submit /提交当前表单 *以上这段程序可以放在借书按的单击事件中 *以下是续借按扭的单击事件的算法sub contiborrow /续借按扭单击事件 if book_no = then 显示 请选择要续借的书! exit sub end if reloan =yes 提交表单end sub提交表单后,要对库中的数据表进行还书和续借的操作了从提交的表单中提取所有的读者信息和当前所要

42、还的图书编号 count=0 /设当前无过期书籍if book_no and reader_no thenif 当前日期-借阅日期60 then if reloan=yes then 提示 书已过期,不能续借! 不再做任何更改库中记录的操作,所回续借前的状态 结束 asp 程序的运行end ifend if if reloan=yes then 将当前书籍的借阅日期减一个月,因为续借只能是一个月19web 系统开发综合设计报告 else 还原当前所还书籍的借阅者,借阅日期,是否借阅为初始状态。 /再一次查找当前还书者的所有借书情况sqlstr3=select * from book_input

43、 where isloan=1 and loaner=&reader_no& if 查询记录数0 thenfor i=1 to 查询记录数/查找在还了当前所要还的书以后是否还有过期未还的书if 当前-借阅日期60 then count=count+1 end ifnextif count=0 then 将当前的还书者的状态 reader_state 还原为 0end ifelse /如果已经没有要还的书籍将当前的还书者的状态 reader_state 还原为 0end ifend if 3.2 异常处理3.2.1 遗失书籍处理的具体实现在图书管理系统中,读者遗失书籍的状况是极有

44、可能发生的,所以系统一定要有相应的处理措施,方便工作人员对书籍的管理。在这个处理过程中,我们根据要办理遗失处理的读者的读者证号来查找该读者所借阅的所有书籍,如果该读者没有借阅的书籍,或该读者根本不存在,也就无需也不能进行书籍遗失处理。如果经过查询,有借阅记录,则在选择要办理遗失的书籍后(在每条借书记录后有 checkbox 多选框) ,点击“挂失“即可。而取消挂失只需要选中罗列出来的所有遗失的书籍记录的某一条或多条,点击“取消遗失”即可。这块功能的实现总共由三个程序共同来完成,分别为lostbook.asp,set_lost_book.asp,select_input_book.asp。当用户

45、需要办理遗失时,首先运行 lostbook.asp,进入该模块的主界面,在这个界面中,我们会把所有已办理遗失的书籍列出来,如果要对书籍办理遗失,则点击“遗失办理” ,此时会调用另一个程序 set_lost_book.asp 来处理,如果是要取消遗失,就直接在第一个主界面列出的web 系统开发综合设计报告20已遗失书籍的记录中查找,可以点击“查找”按扭来确定用户要对哪一本遗失的书“取消遗失” ,然后选取中它,进行取消。3.2.2 读者证挂失处理的具体实现因为有读者证的办理,所以读者遗失读者证也就必须有挂失处理,在本系统中读者证的挂失也是异常处理的一个项目。当读者发现读者证丢失后,要及时进行挂失,

46、但是如果该读者有书未还,那么应该先把书还掉才可以挂失。读者可以通过像遗失书籍处理中一样,点选需要挂失或需要取消挂失的读者信息,来完成操作。整个功能也由三个程序构成:lostreaders.asp,set_lost_reader.asp,select_readerinfo.asp,首先执行的是 lostreaders.asp,如果要办理挂失,则点击页面的“挂失办理” ,调用set_lost_reader.asp,进入挂失的界面,此时,会显示所有未办理挂失的读者信息,为了避免误操作,必须定位需要挂失的读者方可进行挂失,工作人员可以通过界面的“查找”按扭,此时会调用 select_readerinf

47、o.asp,在所有未办理挂失的读者证信息中定们需要记录,然后选中它, “挂失”即可。如果要取消挂失,则只要在首页面查找要进行取消的读者信息,此时也会调用select_readerinfo.asp,进入查找界面,查找完毕后,在主界面显示出查找结果,然后点选要办理取消的读者,取消挂失。算法描述如下:变量说明:/value 存放查询中查找记录的 sql 语名/reconum 当前显示的记录数/sqlstr 当前运行的 sql 语句在读者证挂出失这个部分,关于办理挂失,特别是取消挂失的处理过程和书籍遗失的处理过程相似,只是在读者证挂失这个部分加入了对读者是否有书未还的判断,因此在显示读者信息后,在点击

48、挂失,取得当前的读者证号,判断在 book_input 这个库中有没有该读者的借书记录,如果有,则要求先还书再挂失。在查询过程中,为了方便在转页时仍显示的是当前查询的结果,而不是开始显示的记录页面,在程序员中用到了 value 这个变量来存储当前查询的 sql 语句。而同时 sqlstr 这个变量又表示当前运行的 sql 语句。当执行查询以后,判断 value 值是否为空,如果不为空,则把它的值放入 sqlstr,在翻页的过程中传递的web 系统开发综合设计报告sqlstr 值便能始终21会是最近查询的值,这一点在 lostbook.asp 中也用到了。其它关于取消挂失和正常办理挂失的过程与前

49、面的书籍遗失处理大同小异,这里不再繁述.。3.3 系统维护模块的具体实现3.3.1 数据备份与恢复的具体实现 在图书管理这样的系统中,基本上是对图书资料的管理,因此图书资料和读者资料的正确性也就尤为重要,更不能丢失,所以我们在系统中加入了数据据备份与恢复的功能。管理员要定期的对图书和读者的资料进行备份,在备份后,即始有信息丢失或损坏,也可以把损失降到最低。在本系统中,数据的备份与恢复只能是最高权限的管理员才能进行的操作,备份的路径由管理员指定,但是文件名由系统定义,备份是全数据库的备份,文件名是数据库名加“.bak”的后缀,而且备份的文件是存储在数据库所在的机子上,而不是用户随机操作的机子上。

50、恢复则针对备份的文件进行。如果没有备份文件是不能进行恢复的,恢复时一定要在数据库没有被使用时才能运行。具体算法流程如下:web 系统开发综合设计报告22图 3.6 数据库备与恢复程序流程图算法描述如下:变量描述:/ sqlserver 指定数据库链接的 serverweb 系统开发综合设计报告/ sqlname 指定数据库链接的 uid23/ sqlpassword 指定数据库链接的 pwd/ sqllogintimeout指定 sql 登录超时限定/ databasename 当前要备份的数据库的名称/ bak_file 指定数据库备份文件的路径/ act 指定当前操作是备份还是恢复3.3.

51、2 管理员口令维护具体实现由于图书管理系统中的借书、还书还有备份、恢复等功能,都是只能由管理员来操作的,一般的用户,只能浏览网页的前台部分和进行一些查询,所以系统中必须要有管理员权限方面的维护,所以在这个管理员口令维护模块中,如果是普通管理员,可以修改自己的密码,如果是最高权限的管理员,则可以修改所有的管理员密码,当然也可以为注册新的管理员和删除管理员。因此,这个模块分为三大部分,一个是管理员的注册(register_login.asp register_next.asp register_last.asp register_success.asp),一个是管理员口令修改(admi_login

52、_edit.aspadmi_login_del.aspregister_log.asp), 还有一个是管理员权限的更改(admi_alter.asp)算法描述如下:变量说明:spwd /旧密码respwd /新密码renewspwd /确认新密码username /用户名userpassword /数据表中的用户密码这个模块的所有操作本身只针对管理员开放,而且不同身份的管理员限制不同程度的操作。所以识别管理员身份是第一部,前面我们讲到可以用session 这个对象来实现.在这个模块中,不但要判断是否是管理员,而且要判断是哪种权限的管理员,如果是普通管理员,则只可以修改自己的密码,如果是最限的管

53、理员,则可以对所有管理员进行操作(修改、删除、注册)。web 系统开发综合设计报告if len(session(user_name)=0 then 24/如果是非管理员导向管理员登陆界面 end if在进入口令维护的主界面后,进一步判断是哪种权限的管理员,如果是普通管理员,则在显示修改的用户名称中只显示当前登录的管理员的用户名,且只读状态,以此提醒用户,只能本人的密码;如果管理员权限为最高,则显示修改的用户名称是可以选择所有的管理员名称的:if session(“userclass”)=2 then /如果是最权限的管理员以下拉框的形式显示所有管理员名称 else仅显示当前登录的管理员名称 e

54、nd if在界面中的“删除管理员”和“注册管理员”的按扭也只能是session(“userclass”)=2 时才可用,否则设置它们的属性为“disabled”button name=”b1” if session(“userclass”)2 then%disabled onclick=”vbscript:admi_login_del.asp”删除管理员button name=”b2” if session(“useclass”)2 then%disabled onclick=”vbscript:register_login.asp”注册管理员输入旧密码,新密码和确认新密码后,% 查询管理员表

55、中的当前显示的用户名的密码if spwd当前修改的管理员的密码 then显示“密码不正确”返回到主界面,重新输入密码else /如果密码正确 if respwdrenewspwd then 显示不相符的错误提示end ifweb 系统开发综合设计报告/如果以上条件均满足25userpassword=respwd /如果是删除管理员 (在可以使用该功能的前提下)调用 admi_edit_del.asp 程序/先选择管理员名称-因为这是最高权限的操作/输入该管理员的密码 (spwd)if spwd当前修改的管理员的密码 then显示“密码不正确” 返回上一页面else执行删除操作, 更改管理员表中

56、的数据end if /如果选择了“注册管理员”则调用“registe_login.asp”输入用户名、密码、确认密码 if username=” ” or spwd=” ” or respwd=” ” then提示用户资料输入不完整!elseif len(spwd)8 显示错误信息,要求重新输入密码elseif len(username)6 要求重新输入用户名elseif spwdrespwd then 要求重新输入密码end if/如果以上条件均满足web 系统开发综合设计报告/将当前输入的三项信息提交给下一个程序“register_next.asp” 26在“register_next.a

57、sp”程序中,在进入该程序时,判断用户名是否在库中已存在,如果存在,则返回上页,重新输入;另外,主要是要用户确认一下自己输入的信息,如果想修改,则点击“重填”返回上一面,如果不需要修改,则点击“确定“,这个程序的算法不再详述,主要是要在程序的开始部分,要把从上页传过来的用户名和密码信息接收过来。username=request(“username”)spwd=request(“spwd”)/确认了信息之后,则进一步调用“register_last.asp”在这个程序中,主要是要管理员给新注册码的管理员授权,默为“普通管理员”权限如果需要更改其权限,则直接选择权限的种类即可。选取完后,则调用“r

58、egister_success.asp”显示成功注册的画面,并显示刚注册的用户名和密码,提醒用户记住自己的相关信息。此程序仅仅是显示信息,没有其它的功能。3.4 系统中报表的具体实现在图书管理系统中,报表的打印是必不可少的,工作人员可以按需要打印符合条件的报表,如打印逾期未还表到公司各部门来通知大家及时归还已到期的图书;在图书盘点的时候,打印一些经盘点后总结的数据等等。在这里,我用到了水晶报表(crystal report)这个报表设计工具。利用 asp 程序给用户提供打印条件选择,然后调用水晶报表,进行预览,最后打印。所以,如果要打印一个报表,必须先建立一个 asp 文件来提取水晶报表,来设

59、置打印条件,然后再在水晶报表工具中建立一个水晶报表(.rpt) ,在 asp 文件中,可以随机设置报表的数据来源,定义报表的标题等。为了让报表的预览看起来更加直观,我把打印条件的选择和报表预览分开显示。这样,在执行 asp 文件时,先执行打印条件的选择,选择完后,按”打印预览”调用水晶报表进行预览,如果需要重web 系统开发综合设计报告新查询,则按预览上方的”重新查询”按扭返回到条件选择页面,如此可以反复执行.27.第四章 系统运行情况4.1 借书、还书运行情况当输入正确的读者证号后,会显示该读者的的资料和他的所有借书信息,如果要借书,则在借书编号处,输入要借的图书编号,点击“借书”即可。在“

60、还书编号”处输入已存在的图书编号,当该书确实已被借出的话,则显示借阅者信息,及该借阅者所有借书信息。在“所有未还的书”下的表格中,点击想要还的书,则在“当前要还的书”下的栏位中就会随所点击的不同的书显示不同的书目信息,确定后,点击“还书”就将“当前要还的书”还掉了,系统自动刷新页面。4.2 遗失书籍处理运行情况点击“遗失办理”则进入下面的界面,输入要办理遗失的读者证号,在“借书信息”中会出现该读者的所有借书信息,在“挂失否”的复选框后,选中要挂失的记录,点击“挂失”即可。4.3 挂失读者证处理运行情况 点击“挂失办理” ,进入下面的界面,输入遗失的读者证的读者工号,或查询该读者,则“挂失否”后就会也现复先框,选中后,点击“

温馨提示

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

评论

0/150

提交评论