《工程项目设计方案-模板【工程导论】(29页).doc》由会员分享,可在线阅读,更多相关《工程项目设计方案-模板【工程导论】(29页).doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-工程项目设计方案-模板【工程导论】项目名称项目组长专业班级项目组成员学生讲述情况教师主要提问记录学生回答问题情况答辩评分老师评分(70%)评分项目分值评价参考标准评分总分答辩成绩优良中及格差学习态度1098764方案介绍201917151310方案撰写质量(包括各部分的完整性等)302825221915设计创新1098764答辩效果302825221915学生评分(30%)学习态度201917151310方案介绍403733292420答辩效果403733292420老师签名: 年 月 日封面成都信息工程学院网络工程学院工程导论课程-项目方案项目名称:某小型数字图书馆的设计与实现组 长:成
2、员:专业班级:指导老师:日 期:年 月 日团队成员签名:-第 24 页工程导论课程答辩成绩评价表答辩记录及评价表某小型数字图书馆的设计与实现摘 要随着信息技术的迅猛发展,传统图书管理方式已不能满足现代化的图书管理需要。为了跟上信息时代的步伐,数字化图书管理系统应运而生。数字化图书管理系统主要用于对图书、读者、以及借阅的管理。它不仅能够简化人们的工作,系统化地对图书和读者进行管理,及时的统计出所有的借书记录;而且还能够给读者提供在线图书查询,以及公告新闻等功能,让读者能够了解到图书馆的最新动态,其用途很广,可以用于各高校的图书馆,企业集团的藏书中心,以及提供借阅业务的大型书店等。本系统的开发是基
3、于B/S结构,采用ASP程序设计语言及SQL Server 2000数据库进行开发;主要完成了系统的总体设计与规划、图书数据库的设计、系统页面的制作与美化、系统安全级别的定制和系统程序的编写、调试与修改等工作。本文首先对数字图书管理系统进行了需求分析;然后较详细的设计和实现了数字图书管理系统的数据库及各功能模块,包括前台管理、图书检索、图书借阅、在线电子图书阅览、图书公告、留言和后台管理等功能模块;最后,通过测试与分析,说明该系统运行稳定、可靠,具有一定的实用价值。关键词:数字图书馆;图书检索;图书借阅;数据库;在线电子图书目 录1 引言11.1 课题背景及意义11.2 课题的研究与开发目的1
4、1.3 本文的主要工作22 数字化图书管理系统的需求分析22.1 系统需求分析22.2 系统流程分析32.3 系统功能分析43 开发工具及相关技术53.1 Macromedia Dreamweaver 2004简介53.2 Microsoft SQL Server 2000简介53.3 ASP语言及相关技术介绍53.4 VBScript脚本介绍63.5 SQL语言介绍63.6 特殊功能原理64 小型数字图书馆的总体设计74.1 系统模块设计74.2 数据库的E-R图94.3 数据库设计94.4 数据库的约束与关系125 小型数字图书馆的具体实现135.1 前台管理模块145.2 图书检索模块1
5、55.3 图书借阅模块185.4 在线电子图书阅览模块205.5 图书馆公告模块215.6 留言簿模块215.7 后台管理模块226 系统的测试与分析24结 论28参考文献291 引言1.1 课题背景及意义随着网络技术的迅速发展,无论是企事业单位,还是学校都在借助于网络平台进行信息的管理。当前,随着基于网络学习平台的发展,基于网络的电子书籍给人们的学习带了很多方便,人们可以在网上进行电子书籍阅览、还可以进行图书的借阅,这些都给人们带来了前所未有的便利。因此,基于Web的数字图书馆的设计与开发既有非常重要的现实意义。作为知识经济的重要载体,数字图书馆是国家信息基础设施重要组成部分,目前已成为评价
6、一个国家信息基础水平的重要标志和本世纪各国文化科技竞争的焦点之一。对于我国来说,数字图书馆的研发起步较晚,因此,建设数字图书馆更加具有必要性和紧迫性。开发这样一个功能较完善的小型数字图书馆系统。既锻炼了学生的实际动手能力,又引导学生进行了一次模拟实际产品的开发,对于学生以后工作能力的培养具有重要的意义。1.2 课题的研究与开发目的从学生的实际需求出发,对数字图书馆系统进行了全面考虑。整个系统的将高可用性放在了第一位,另外,还考虑到系统的运行性能、高可扩充性、开放性、可维护性、学生操作的简易性以及充分保护学生投资等诸多方面的需求。数字图书馆是采用现代高新技术所支持的数字信息资源系统,是下一代因特
7、网上信息资源的管理模式,将从根本上改变目前因特网上信息分散不便使用的现状。通俗地说,数字图书馆是没有时空限制的、便于使用的、超大规模的知识中心。具有较高的可用性、扩展性、便于管理等特点。它解决方案可以包括解决数字资源创建、组织、管理、保存、发布、检索和利用整个过程的各个组件或模块,每一个组件或模块都可以是单独开发的。本系统的开发是采用B/S结构,模拟当今已有的一些数字图书馆系统进行设计与开发。因此,本次毕业设计应首先分析数字图书系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括计算机网络技术、编程技术等相关知识),选择所熟悉的开发工具进行本毕业设计的
8、开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文挡,为后面的毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做好调试和试运行的相关记录,也为后面的毕业论文的写作准备材料。本课题系统的主要目的是让学生能够综合运用以前所学知识(包括以前所学的一些关于网络技术、编程技术等相关知识)的能力,开发一个功能较完善的小型数字图书馆系统。1.3 本文的主要工作数字图书馆系统的工作主要是为着满足来自两方面的需求,分别是图书借阅者和图书馆管理人员。本文所研究的主要内容也是围绕着这两者的需求来进行的。论文的第1章主要对数据
9、图书馆的开发背景,目的,及意义进行了分析;第2章主要是对数字图书馆系统进行需求分析,以及对其数据流程与功能进行分析;第3章主要把系统开发工具进行介绍,另外讲解开发系统所用到的一些特殊功能技术;第4章是系统的总体设计,主要讲解了系统各功能模块的设计,以及数据的开发与设计;第5章就是讲解每一个功能的具体实现,第6章是对系统的测试及还存在的不足之处。2 数字化图书管理系统的需求分析2.1 系统需求分析随着社会发展的日新月异,社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理书籍。图书馆各项工作 (如采购、编
10、目等)都要围绕读者服务工作来开展。图书流通的好坏取决于管理工作,在图书流通工作中有大量各种繁杂的手续,如读者登记、预约、各种借还、续借、罚款以及各种统计记录等。这些大量的重复性工作仅仅靠手工进行管理就难以应付,经常出现读者排队的现象。因此,要想充分利用图书资料,掌握图书流通的各种信息,就必须采用新技术。 当前,基于网络学习平台的不断发展,就需要一个功能比较完善的数据管理系统,具有数据操作方便、高效、迅速、功能强大等优点。既满足了图书馆工作人员的用自动化代替手工劳动的强烈要求,又满足广大读者以最快的速度查找到所需要的文献资料。从而提高文献的利用率,减低拒借率,并为采购文献提供定量依据,提高藏书质
11、量。借助于网络平台进行信息的管理,基于网络的电子书籍给人们的学习带了很多方便,人们可以在网上进行电子书籍阅览、还可以进行图书的借阅,这些都给人们带来了前所未有的便利。借助数字图书馆系统图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。图书借阅者只应该查询和维护本人的借书情况和个人信息。图书馆管理功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、图书的基本信息;浏览、查询、统计、删
12、除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,可以为图书借阅者加入借书记录或是还书记录,在删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除;在线阅读电子图书、读者留言的管理与维护,维护数据库的完整性(即备份与恢复)。2.2 系统流程分析为了促进图书管理的信息化、网络化,采用ASP编写了WEB方式的数字图书管理系统,结合SQL SERVER 2000数据库来实现。是支持单机、网络、以及多学生的图书管理系统。本系统可直接放于网络服务器上,在任何地方均能实现管理。这套系统提供一个交互式平台,它不仅对图书、读者、图书借阅进行管理,更有在线进行续借等功能;还提供
13、了管理员推荐,借阅排行榜,以及最新入库的新书一栏,另外还有留言簿,方便与读者的交流。这样就能够更加及时的把读者的意见反馈给管理员,以完善管理体制,为读者提供最好的服务。读者可以在网络上直接进行系统,登录系统后可以查询自己所借阅图书的情况,并且可以在线进行续借操作,更大的提高了工作的效率。即可以减少管理员的工作,也大大地方便了读者。系统主要数据流图如图1所示。图1 系统数据流图2.3 系统功能分析本系统主要功能的详细说明如下:(1) 基本操作 借书:首先输入读者编号,回车后显示出该读者的详细信息,以及已经借阅的图书,允许借出的册数,还可以再借的册数。然后输入要借的书籍编号,回车后将该书籍标注为借
14、出,并且生成相应的借书记录。 还书:输入要还图书的编号,回车后显示出该图书详细的借阅资料,并提示有无罚款金额等。点击“归还”按钮或按F6键即可完成还书操作。(2) 系统设置 出版社设置:设置出版社的相关信息,系统已经内建大量出版社资料。 图书类别设置:根据实际情况对图书信息进行分类,系统内建了标准图书分类方法。 罚款金额设置:设置读者借书超期的罚款金额。 读者权限设置:设置读者的借书权限包括限借册数和限借天数等。 (3) 系统管理 超级管理员操作:输入高级管理员密码后可添加普通管理员。 高级管理员密码修改:修改高级管理员操作的登录密码。 普通管理员密码修改:修改普通管理员登录系统的密码。 书库
15、管理:添加、修改、删除、查询图书相关资料。 读者管理:添加、修改、删除、查询读者相关资料。 数据备份:此项功能需要每天按时备份数据库。 (4) 主要功能 书库查询:按照书籍编号、书籍名称、书籍类别、出版社、作者姓名等对图书资料进行查询打印。 读者查询:按照读者编号对读者资料进行查询打印。 借书查询:按照书籍编号、读者编号、等方式进行借书查询打印。 超期查询:显示到当天为止,所有已经超期的读者。 统计排行:按照图书馆所有图书的借阅次数进行统计排名,方便管理员了解图书借阅的畅销情况。 新书入库: 最新的书籍入库查询,在首页有一个推荐栏进行导航读者。 读者订阅: 读者可以在留言簿向图书馆建议引入大家
16、需要的书籍,写清楚书名,出版社与作者。 图书分类: 读者可以按照图书所属于的不同的类型,查询自己所需要那一类图书中的所有书籍。 在线阅读: 有一些重要的电子书刊,可以直接在网络上供读者阅读,这样更充分的利用了网络资源,给读者提供了很大的便利。3 开发工具及相关技术根据现在艺人数目的增加,以及大众对娱乐事业的看重,娱乐事业在不断的发展,系统应该需要具有操作简单;具有亲情性(比如在网站中挂上关心民众的标语:注意保护眼睛等);查询灵活快捷;运行稳定、安全;评价功能高等特征。本系统是基于Windows 2003(2003可以很方便配置IIS来架设网站)+IIS,采用ASP程序编写,以SQL Serve
17、r 2000作为主体数据库开发而成的。系统开发工具使用Macromedia Dreamweaver 2004和SQL Server 2000。这两种工具结合适合各类管理系统的快速开发,开发的成品与Windows系列操作系统兼容性较好,而且开发维护费用较低。在讲解系统的主要功能之前,先把此次系统开发所用的工具、环境以及所使用到的相关技术知识介绍一下,方便读者在接下来的系统功能介绍中,对功能的实现有更多的领会。3.1 Macromedia Dreamweaver 2004简介Macromedia Dreamweaver 2004是一个专业的可视化Web应用程序编辑器。它与以前的版本相比,其功能更加
18、强大,界面更加友好,而且动态网页制作方面的功能更加完善。使用Macromedia Dreamweaver 2004可以轻松地制作出跨平台和跨浏览器的精美网页。3.2 Microsoft SQL Server 2000简介Microsoft SQL Server 2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS, Relational Database Management System)。SQL Server 2000是为了支持高容量的事务处理(比如在线评价艺人的表演能力等)以及数据仓库和决策支持系统(比如管理艺人资料)而设计的。它运行在Microsoft Window
19、s 2003 Server上基于intel处理器的网络。可以把SQL Server 2000作为一种个人桌面数据库系统安装在运行Windows 2003上。3.3 ASP语言及相关技术介绍ASP(Active Server Pages)是基于Microsoft Windows NT和Microsoft Internet Information Server的开放式脚本开发环境,它很好地把HTML和脚本融合在一起,提高了编程的灵活性,降低了开发难度。ASP中的脚本在WEB服务器端运行,而不是传统的在客户浏览器中运行,这一措施使客户的浏览器无须担心服务器端的网页使用哪一种脚本,ASP都会生成一个符
20、合HTML标准的网页送回客户端。ASP的五种常用的内置对象为:l Request对象:获取从学生端浏览器发送到服务器端的所有信息,允许访问用表单提交给服务器的数据l Response对象:将HTML和各种其他数据返回到用学生端浏览器l Server对象:为ASP的应用程序提供服务器的功能l Application对象:使给定应用程序的所有学生共享信息l Session对象:在此对象中维护每个学生的信息,可以使用Session对象存储特定的学生会话所需的信息3.4 Jcript脚本介绍能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:Javascript、VBScrip
21、t、Document Object Model(DOM,文档对象模型)、Layers和Cascading Style Sheets(CSS,层叠样式表),这里主要讲Javascript。那么Javascript是什么东东?Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。Javascript是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和学生之间实现了一种实时性的、
22、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。. javascript程序是纯文本的,且不需要编译,所以任何纯文本的编辑器都可以编辑javascript文件。方便快捷可以实现网站各种可看的效果。3.5 SQL语言介绍SQL是一个完全标准化的语言。在SQL的发展过程中,国际标准化组织(ISO),美国国际标准居(ANSI)等机构为SQL制定了各种标准。但是对于不同的数据库系统,它们所支持的SQL功能也各有所不同,语法也有差异。SQL已经成为关系型数据库的标准语言。SQL按其功能分主要由以下几部分组成:l 数据定义语言(DDL):实现定义,删除,和修改数据库对象的功能l 数据查询语
23、言(DQL):实现查询数据的功能l 数据操纵语言(DML):实现对数据库数据的增加,删除,修改功能l 数据控制语言(DCL):实现控制学生对数据库的操作权限的功能其中用得最多的是数据操纵语言(DML)。它包含了最常用的核心SQL语句,即SELECT,INSERT,UPDATE,DELETE。3.6 新颖的功能(1)评价原理学生通过网站注册到“大学生兼职粉丝网”,通过自身真实身份进行评价以及意向选择。(2)大学生评价自由系统启动后,学生注册登录后评价系统会自动记录学生评价以及意向并不会对学生评价“和谐”(将相关不得当评价遮蔽),将学生评价以等级级制的形式输出,公正公平对待学生,在没有被评价的艺人
24、记录中将其跳出与学生评价,争取做到所有艺人被评价,对艺人负责,这样就能有效的查找出那些艺人人气不旺,对所有被学生评价优良的艺人增加红名,这样就保持了系统启动后,管理员以及学生对数据操作的优良性和有效性。4 小型数字图书馆的总体设计 4.1 系统模块设计整个数字图书馆系统分为两个大的模块:前台操作模块和后台管理模块。其具体层次框图如图2所示。图2 层次框图其中前台部分主要是读者可以在线进行的操作。读者可以在查询图书资料,阅读规章制度、公告、以及在线阅读电子图书,登录帐号对图书进行续借,还可以在留言簿留言等操作功能。其模块图如图3所示。图3 前台模块图图4 后台管理模块图而后台管理模块则主要是管理
25、员对图书馆进行管理。对读者的管理,图书资料的管理,图书借阅的操作,可以对留言簿的留言进行回复及清除操作,公告的发布等等功能,另外还有对数据库的备份和恢复功能,以保证数据的安全和完整性。其具体的模块结构图如图4所示。4.2 数据库的E-R图根据系统的流程与功能需求,读者可以借阅图书,管理员对读者、图书、以及图书馆的其他信息进行管理,而且不同的管理员也拥有不同的管理权限等,对数据表进行设计。具体的各数据实体之间的关系主要表示为如图5所示。图5 数据库E-R图4.3 数据库设计根据系统功能设计的要求以及功能模块的划分,针对以上E-R图进行设计,对于数字图书馆系统一共涉及到八个数据表。它们分别是:图书
26、表(book),读者表(reader),借阅表(borrow),管理员表(manager),留言表(Lyan),公告表(announce),在线阅读表(onlineReading),图书馆参数表(LibraryDetail)。下面就介绍一下各表的设计结构及其功能。(1)图书表(book):主要用于存放图书的详细信息。包括图书的bookID,名称,作者,出版社,类型,入库日期,图书的介绍等信息。推荐是一个(bit)类型字段,用于存放此书是否为管理员推荐图书,若是则为True,否则为False。是否借出也是一个(bit)类型字段,用于标识该图书是否已经被读者借出,若是为True,否则为False。
27、其详细设计结构如表1所示。表1 book结构表字段名称类型主键非空默认值bookIDInt(4)YesYes字段名称类型主键非空默认值书名Varchar(50)NoYes作者Varchar(50)NoYes出版社Varchar(50)NoYes类型Varchar(50)NoYes推荐Bit(1)NoNoFalse是否借出Bit(1)NoNoFalse入库日期Datetime(8)NoNo借阅次数Int(4)NoYes0图书介绍Text(16)NoYes(2)借阅表(borrow):主要用于存放读者借书的记录。其中用readerID和bookID共同作为主键,其分别与reader表和bookID
28、表中的readerID,bookID相对应,以标识不同的读者所借阅的不同的图书。续借否字段用于存储读者是否已经对所借的图书进行过续借,是否超期字段也是一个bit类型数据,用于存储读者所借的图书是否超期未还,若已超期,系统会自动计算超期的天数,存放在超期天数字段里。其详细结构如表2所示。表2 borrow结构表字段名称类型主键非空默认值readerIDInt(4)YesYesbookIDInt(4)YesYes借阅日期Datetime(8)NoYes续借否Bit(1)NoYesFalse是否超期Bit(1)NoYesFalse超期天数Int(4)No Yes0(3)读者表(reader):用于存
29、放读者的信息。包括学生的readerID,名字,密码身份证号,住址,联系方式以及罚款等等。每注册一个读者学生,都会自动生成一个唯一标识readerID,以供学生登录使用,以及借书等其他操作。如果借阅表中记录为学生借阅图书超期,则会根据超期天数计算出对应学生的罚款金额,并存放在罚金字段当中。其详细结构如表3所示。表3 reader结构表字段名称类型主键非空默认值readerIDInt(4)YesYes会员名Varchar(20)NoNo密码Varchar(20)NoYes身份证IDVarchar(20)NoYes住址Varchar(50)NoNo联系方式Varchar(50)NoNo邮箱Varc
30、har(50)NoNo字段名称类型主键非空默认值罚金Float(8)NoYes0(4)管理员表(manager):用于存放管理员的所有信息。包括其登录名,密码,地址和联系方式,这里isAdmin字段用于标识管理员是否为超级管理员,若是则值为True,否则为False。这些信息提供管理员登录时的信息,以及对其权限控制。由超级管理员亿创建的普通管理员其isAdmin字段都为False。其详细结构如表4所示。表4 manager结构表字段名称类型主键非空默认值IDInt(4)YesYesmanagerNameVarchar(20)NoYesmanagerPwdVarchar(20)NoYesisAd
31、minBit(1)NoYesFalseTelephoneVarchar(20)NoNoAddressVarchar(50)NoNo(5)留言表(Lyan):用于存放学生的留言标题,留言内容,留言者,及其联系方式,留言时间等。另外还可以存放管理员对留言的回复内容。将回复内容和留言存放在一个表中,这样更方便于数据的操作和存储。其详细结构如表5所示。表5 Lyan结构表字段名称类型主键非空默认值IDInt(4)YesYesTopicVarchar(50)NoYesNameVarchar(50)NoYesTelephoneVarchar(50)NoNoTheDateDatetime(8)NoYesCo
32、ntentText(16)NoYesReplyText(16)NoNoreplydateDatetime(8)NoNo(6)公告表(announce):用于存放管理员所发布的公告信息。包括公告标题,公告内容,和发布公告的时间等。其详细结构如表6所示:表6 announce结构表字段名称类型主键非空默认值IDInt(4)YesYesTopicVarchar(50)NoYesContentText(16)NoYes字段名称类型主键非空默认值ThedateDatetime(8)NoYes(7)在线阅读表(onlineReading):用于存放供读者在线阅读的图书的信息。包括图书名,图书的主要介绍,和
33、图书所有的内容,以及入库日期等。其详细结构如表7所示。表7 onlineReading结构表字段名称类型主键非空默认值IDInt(4)YesYesTopicVarchar(50)NoYesContentText(16)NoYesIndateDatetime(8)NoYesIlluminateText(16)NoNo(8)图书馆参数表(LibraryDetail):用于存放图书馆的主要参数信息。即一本书的借阅期限,一个读者最多可能借书的本数,以及超期后,对读者一天的惩罚金额,另外还可以在这里增加一些附加的管理制度。等信息。其详细结构如表8所示。表8 LibraryDetail结构表字段名称类型主
34、键非空默认值IDInt(4)YesYes借书期限Int(4)NoYes1借书数量Int(4)NoYes5超期罚金Float(8)NoYes02管理制度Text(16)NoNo4.4 数据库的约束与关系数据库中各表都有其特定的限制,以及一些重要的关联。这里将一些重要约束描述如下:(1)管理员表与其它表无关系,只是为了存放管理员的帐号与密码等数据。(2)读者表里的readerID字段为主键,用于存放老师的ID。(3)图书表里存放的是图书的所有信息,其中bookID为主键,用于存放图书的ID。(4)借阅表里存放的是读者借阅图书的所有信息,其中readerID和bookID共同作为其主键。(5)借阅表
35、也是最重要的一个表它同时与二个表存在着外键约束,图书表之间,与读者表之间存在着外键约束,图书表里面的bookID字段的值与借阅表里面的bookID值相关联,读者表里面的readerID字段的值与借阅表里面的readerID值相关联。(6)公告表和在线阅读表均与其它表无关系。(7)留言表用于存放留言数据,及管理相应的回复内容,与其他表也无关系。(8)其它各表的字段值都是有一些非空的约束,详细情况请见各数据表。(9)在新建数据库之后插入了一些测试数据(详见系统数据库,这里不提供)。5 小型数字图书馆的具体实现图6 首页界面本设计采用B/S结构,综合运用以前所学的专业知识,设计开发的一个功能较完善的
36、小型数字图书馆系统,具体包括以下功能:(1)前台管理模块(学生的登陆、学生信息的维护等功能);(2)图书检索模块(包括图书的搜索、图书分类查询、借阅查询等功能);(3)图书借阅模块(包括正常借阅、续借图书以及还书等功能);(4)在线电子图书的阅览;(5)图书馆公告(包括图书馆新闻、新书预告、规章制度等);(6)留言簿模块(包括留言簿的浏览、读者留言、留言簿的管理等功能);(7)后台管理模块(包括图书的录入、增加、删除等功能)、读者的管理(读者帐号的注册、等)、数据的更新、数据库的备份与恢复等功能。下面就详细介绍一下每一个功能模块。首先整个系统对数据库的连接用了一个conn.inc文件,它负责与
37、sql server 2000的连接工作。具体代码为: 每一个需要连接数据库的页面可以直接引用该文件即可。实现语句为:图6界面图是整个数字图书馆系统的首页。左面部分主要用于学生的登录,对图书的查询,而右面则公告信息以及推荐图书的查看。主题图下面的导航栏导航你到整个系统。5.1 前台管理模块本模块主要实现的是对读者身份进行鉴别,以及读者对自己的资料进行维护等功能。(1)读者登录读者通过表单提供读者帐号和密码,系统根据读者所提供的信息对其进行身份查询鉴别。如果身份合法的话,直接进入读者界面,并用session变量记录读者的帐号和密码,以待以后页面使用。如果条件成立,则就连接数据库,用SQL语句在r
38、eader表中以输入的帐号和密码作为查询条件进行查询是否相符合的记录。其语句为:sql=select * from reader where readerID=&request(reader)& and 密码=&request(readerpwd)&set con=server.CreateObject(adodb.recordset)con.open sql,conn,3,3然后对con记录集进行判断,如果为空,则没有查找到与读者所输入的信息相符合的数据,并反馈相应信息提示重新登录。否则就用两个session变量来存放读者帐号和密码,以用来标识读者的身份。if not con.eof the
39、n 用session变量记录读者身份信息 session(readerID)=request(reader) session(readerpassword)=request(readerpwd)end if(2)读者资料修改:读者可以先登录进系统,通过身份验证之后,对原来数据库中存储的个人信息进行修改。但是读者所能修改的信息仅是个人信息的有限数据,如学生名、登录密码、家庭住址、联系电话以及邮箱等信息,而对于读者帐号和身份证号是无法修改的,因为读者帐号是根据身份证号唯一且自动生成的,也是不能修改的。读者登录后,在login.asp页面所提供的读者原信息form表单中更新成对应的新信息,提交到re
40、aderalter.asp页面,由它进行处理。首先用request对象获取数据,再对必须填写的选项进行判断是否输入信息完整,成立再判断旧密码是否正确,即判断其是否为非法学生。具体实现的SQL语句如下:sql=select * from reader where readerID=&session(readerID)& and 密码=&request(pwd)&conn.execute(sql)新密码进行是否相同。前面所有的条件都成立,就可以直接对数据更改,用了一个UPDATE更新语句来实现。sql=update reader set 会员名=&request(newReaderName)&,密
41、码=& request(newpwd1)&,联系方式=&request(telephone)&,住址=& request(address)&,邮箱=&request(mail)& where readerID=& session(readerID)&conn.execute(sql)实现了信息更改之后,如果学生修改了密码,则必须将其帐号和密码用以重新登录,以及时更新session(“readerpassword”)变量数据。在这里可以用一个response对象的redirect方法来实现,并将帐号和新密码作为参数传递给login.asp页面,来自动重新登录。response.redirect
42、login.asp?reader=&session(readerID)&readerpwd=& request(newpwd1)5.2 图书检索模块本模块主要实现的功能有图书的搜索、图书分类查询、借阅查询等功能。(1) 图书的搜索读者可以在图书搜索引擎中输入所要查找的图书相关信息,选择相应的搜索方式,和图书所在的类型进行搜索,系统会查询所有符合所输入的查询信息,显示给读者,可以直接点击图书名进入查看图书的详细资料。读者直接在搜索引擎中关键字文本框(名为:book)中输入所要查询图书的相关数据。所输入的信息可以是书名、出版社、以及作者相关的信息。“请选择搜索方式”是一个select下拉菜单(名为
43、:ssfs),一共有三个有效的option选项:书名;作者;出版社。读者可以选择搜索方式,即所输入的信息在所选定的字段中查询。“请选择图书类型”也是一个select下拉菜单(名为:tslx),它列出了所有的图书类型,读者可以选择自己所要查询的图书属于那一类型,就可以只在这一类图书中搜索。Form表单将所输入的数据提交到search.asp页面进行查询处理。首先要生成SQL语句:sql=select * from book where 根据所选择的条件下生成搜索方式,用一个like子句来实现所有包含所输入的关键字记录。if request(ssfs)请选择搜索方式.and request(ssfs) thensql=sql&request(ssfs)& like %&request(book)&% else 如果没有选择搜索方式,则将会在所书名,作者,出版社中查询所有符合你所输入的信息sql=sql& 书名 like %&request(book)&% or 作者 like%&request(book) &% or 出版社 like %&request(book)&%end