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