摘 要
随着现代科学技术的进步,人类社会正逐渐走向信息化。图书馆拥有丰富的文献信息资源,是社会信息系统的重要组成部分,在信息社会中的作用愈来愈重要。我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得以迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展,图书馆信息化建设迈上了一个新台阶。本网站使用Dreamweaver CS3制作页面,用ASP技术连接数据库,使用Access制作系统的数据库,利用数据库访问技术实现对数据库的各种管理操作,实现图书管理系统的基本功能及管理功能。本系统适用于管理员、普通用户和游客,系统功能包括图书查询、图书借阅、图书归还、会员管理以及图书信息管理等。整个系统的设计包括前台页面的设计、数据库的设计以及网站动态功能的实现。本系统界面友好,操作简单,比较实用。
关键词:图书管理系统,ASP,Dreamweaver CS3,Access 数据库
在这个飞速发展的信息时代,各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。我们可以利用计算机进行信息管理来提高工作效率,而且还可以提高其安全性,尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。
在大学,图书馆作为一种信息资源的集散地,是一间学校办学实力的象征,学校图书馆藏书量的多少在一定程度决定了这间学校的好坏。上万的藏书量,如果还是人工管理,需要投入大量的人力物力,而且效率很低,而利用图书管理信息系统可以节省人力,提高效率,使得管理员能够更有效地完成图书馆的管理。由于数据处理是手工操作,工作量大,出错率高,出错后不易更改。图书馆采取对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。
基于这此问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化。提高图书馆借书还书的效率,让图书馆更好地为大学生服务,让他们更好地利用教学资源好好学习,成为社会的有用之才。
第1章 课题背景与需求分析
一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。随着近年来信息技术及计算机网络技术的不断发展, 图书馆也先从传统的图书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便。对于一些小图书馆和一些图书室来说,由于工作人员比较少,长期以来,作为图书馆的主要工作—图书借阅一直未能很好地开展。在平常的图书借阅工作中, 由于大部分读者不熟悉图书馆藏书,且对图书排架分类的不了解,往往花费很长时间才能找到其所需的书。为提高管理效率,更好地为读者服务,利用已有的办公局域网络条件,将馆藏书籍做成基于WEB的查询系统,实现图书在一个单位的网络内甚至Internet上查询,可使图书查询和借阅变得更加方便快捷,从而使图书室的工作效率得到明显提高。
基于这此问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的进行查询和修改图书情况等图书管理操作。
随着社会的进步,信息技术的广泛应用,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,设计实现一个图书信息管理系统,通过与计算机的结合使用对中小型图书馆或图书室的各种图书信息进行管理可以给管理员和用户带来以下不同的方便:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作效率,也是图书馆等部门管理科学化、正规化的重要标志之一。而且计算机管理的成本不断降低。因此,开发一套这样的中小型图书管理软件已经很有必要,并且实现研究服务于实践的原则。
本次毕业设计题目:“基于ASP的图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解用Dreamweaver CS3实现动态网页制作的使用和管理系统的相关知识。
现在大多数的图书管理方式为手工处理,重复劳动多,劳动强度大,而且容易出错,新系统的使用能否可以很好的解决这些问题要看系统的可行性,可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析有以下几个方面:
技术可行性:处理速度快、准确通过权限的设置,数据的安全性好、方便查询、借阅管理等。
经济可行性:系统建设不需要很大的投入、可缩减人力投入。
运行上可行性:本系统作为一个小型的图书馆信息管理系统,所耗费的资源非常的小。
从各种社会因素可行性分析:可降低工作人员工作强度,提高效率。
综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。
第2章 系统分析
2.1.1 系统描述
图书馆作为大学的不可分割的一部分,在学生的生活和学习中是占到了非常重要的作用。是同学和老师们丰富专业知识的重要场所。所以,图书馆管理系统是保证同学和老师们正常借书和还书的保障,也是经常和他们交流、沟通的渠道。通过书籍的录入,可以是同学和老师们清楚而及时的查阅各方面的书籍。借还书的管理可以通过人性化的管理可以方便而有效地处理全校学生的借阅情况。本系统的可供管理员、用户和游客登陆使用。任务明确,责任清楚,通过分工更能及时的将图书和借阅情况展示给师生。
2.1.2 系统功能
系统功能包括:不同的登陆用户有不同的使用权限。如管理员可以实现查看全部图书、添加查看图书分类、实现新到图书的添加、查询图书、删除图书并对管理员进行删除、添加、更改及变更密码等管理功能。而普通用户只能浏览图书,查询图书、查看借书情况或向管理员留言及接收管理员的信息等功能。另外,游客也可以享受部分功能,那就是“图书管理”部分中的“查看全部图书”、“图书分类查看”和“图书查询”。如果游客想要成为普通用户,也很简单,只要点击系统中随处可见的注册按钮,并按要求注册,即可成为普通用户,享受借还书等功能。
2.1.3 用户特点
管理员、普通用户和游客可以通过主界面登录系统,但因角色的不同会跳转到不同的页面。通过培训,用户应该可以掌握全部的后台操作,学生凭借书卡号和初始密码登录系统,登陆系统后进行系统操作,实现借书、浏览图书等功能。
图2-1 图书管理系统业务流程图
2.1.5 数据流程分析
图2-2 数据流程图
图书馆管理系统的功能主要包括普通用户的借书与还书、图书的浏览以及给管理员留言等。管理员用户的增加图书与删除图书,对用户的借书情况查看与删除与锁定按期为还书的用户、查看用户留言以及催促为还书的同学还书的功能。另外,系统还增加了游客对象对图书的查看和查询功能。
1.后台的管理
-
- 图书信息的管理:对图书的基本信息录入、修改、查询和删除等。
- 用户信息的管理:对各种用户的基本信息录入、修改、查询和删除、查看用户留言。
- 借阅信息的管理:对用户的借阅信息的录入、修改、查询和删除。
2.前台信息查询
- 普通用户信息查询:学生个人信息、借阅情况和图书信息的查阅与查询。
- 普通用户密码的修改、给管理员留言。
2.3.1 功能模块
1.登录模块:实现管理员、用户和游客的登陆。不同类型的用户有不同的使用权限,当登陆系统后会进入不同的操作界面。
2.图书信息管理模块:此模块用于对图书馆的图书信息进行统一管理,以实现用户与管理员对图书的浏览,查询,删除与修改等功能。
3.读者信息管理模块:该模块管理员可以添加管理员,删除管理员并可以实现对普通用户的锁定功能。
4.归还图书模块:管理员实现对用户所借图书的归还功能。
5.读者模块:普通用户实现对图书的浏览,查询,借阅等主要功能,并可以根据需要向管理员发送短信息。
图书管理系统的几大功能模块流程图如下所示:
图2-4 前台用户的HIPO图
图2-5 后台用户的HIPO图
该图书管理系统包括四个实体:游客、用户、图书、管理员。E-R图如下所示:
本图书管理系统数据库中共包含七张数据表,各表的功能及每张表中包含的字段如下所示:
1.存储管理员信息的表admin,该表字段及其类型定义如表3-1所示:
表2-1 admin(管理员)表
字段 | 类型 | 长度 | 必填字段 | 允许空格 | 备注 |
ID | 数字 | id主键 | |||
name | 文本 | 50 | 是 | 否 | 名字 |
pwd | 文本 | 50 | 是 | 否 | 密码 |
2.存储图书信息的表book,该表字段及其类型定义如表3-2所示:
表2-2 book(图书信息)表
字段 | 类型 | 长度 | 必填字段 | 允许空值 | 备注 |
id | 数字 | 否 | id主键 | ||
booktype | 文本 | 50 | 是 | 否 | 图书类别 |
publishing | 文本 | 50 | 是 | 否 | 出版社 |
bookmoney | 数字 | 20 | 是 | 否 | 货币 |
pdate | 日期时间 | 是 | 否 | 出版时间 | |
bookname | 文本 | 50 | 是 | 否 | 图书名称 |
num | 数字 | 8 | 是 | 否 | 图书数量 |
3.存储图书类别的表booktype,该表字段及其类型定义如表3-3所示:
表2-3 booktype(图书类别)表
字段 | 类型 | 长度 | 必填字段 | 允许空值 | 备注 |
id | id主键 | ||||
booktype | 文本 | 50 | 是 | 否 | 图书类别 |
4.存储借出信息的表loans,该表字段及其类型定义如表3-4所示:
表2-4 loans(借出信息)表
字段 | 类型 | 长度 | 必填字段 | 允许空值 | 备注 |
id | 数字 | 否 | id主键 | ||
bid | 数字 | 50 | 是 | 否 | 图书编号 |
time | 日期时间 | 借书时间 | |||
Loan_ | 数字 | 否 | 借书数量 | ||
uid | 数字 | 20 | 是 | 否 | 用户编号 |
5.存储消息的表msg,该表字段及其类型定义如表3-5所示:
表2-5 msg(消息)表
字段 | 类型 | 长度 | 必填字段 | 允许空值 | 备注 |
id | 数字 | 否 | id主键 | ||
content | 文本 | 500 | 是 | 否 | 消息内容 |
uid | 数字 | 20 | 是 | 否 | 用户编号 |
6.存储用户信息的表user,该表字段及其类型定义如表3-6所示:
表2-6 user(用户)表
字段 | 类型 | 长度 | 必填字段 | 允许空值 | 备注 |
id | 数字 | 否 | id主键 | ||
name | 文本 | 50 | 是 | 否 | 名字 |
pwd | 文本 | 50 | 是 | 否 | 密码 |
lock | 是/否 | 是否锁定 | |||
loan_num | 数字 | 20 | 是 | 否 | 借书数量 |
7.存储用户留言的表user,该表字段及其类型定义如表3-6所示:
表2-6 ly(留言)表
字段 | 类型 | 长度 | 必填字段 | 允许空值 | 备注 |
id | 数字 | 否 | id主键 | ||
name | 文本 | 50 | 名字 | ||
Username | 文本 | 50 | 用户名 | ||
Class | 文本 | 50 | 班级 | ||
Liuyan | 文本 | 250 | 留言 | ||
Sex | 文本 | 20 | 是 | 否 | 性别 |
要求系统能够实现三种类型用户的登陆,分别为游客、管理员和普通用户。普通用户拥有自己的用户名和密码,用户登陆到此图书管理系统。在登陆界面,普通用户输入自已的用户名和密码,并需要在类别中选择自已的类别为普通用户(此为默认选项)单击“登陆”按钮,普通用户就可以登陆到图书管理系统中。
普通用户登陆界面如图4-1所示:
图3-1 普通用户登录界面
普通用户登陆到图书管理系统需要在登陆界面输入“用户名”,“密码”及选择登陆的类别。用户登陆流程图如图4-2所示:
输入用户名
和密码
是
图3-2 普通用户登录流程图
3.2 浏览图书
普通用户可以浏览图书馆所拥有的全部图书,找到自已想借阅的图书书,直接单击每本图书后面的“借阅”按钮,就可以实现图书的借阅。在图书列表中,普通用户可以浏览图书馆每册书的详细信息,包括:“图书编号”、“书名”、“分类”、“出版社”、“价格”、“数量”和“出版日期”。
图3-3浏览图书界面
3.2.2 浏览图书流程图
用户可以查看自已所借图书的列表,借书列表列出了图书的部分主要信息如:“图书名”,“分类”,“出版社”,“价格”,“借书日期”和“已借时间”。
图3-5预览借书情况界面
图3-6 借书信息预览流程图
普通用户通过图书查询功能可以更有效地借阅到自己所需的图书。图书查询需要用户先输入查询的条件,之后会将所有满足条件的图书列出,以供用户浏览与借阅。
当用户要借某本特定的图书,即可以通过图书查询功能来借阅图书。可以输入的查询条件有:“书名”、“分类”、“出版社”、“价格范围”、“出版日期”,输入查询条件后,单击“查询”按钮,即可以列出图书查询的结果。
图3-7查询图书界面
当选择的查询条件为“经济学”图书时,即在“图书查询”界面的“分类”一栏中选择“经济学”,并在“出版日期”一栏中的第二个日期选择至2011年,即显示出图书馆所有经济学的图书,如图4-8所示。
图3-8查询结果界面
普通用户可以对自己的信息、资料进行有效地管理,其中包括查看个人基本资料,查看个人借书情况,管理自己的邮箱并可以向管理员或其它读者发送短信息,还可以修改自己的个人登陆密码。
普通用户可以浏览自已的个人资料,包括本人“用户名”、“密码”、“用户状态”、“借书数目”、“我的邮箱”。单击“我的基本情况”后即可看到如下界面。
“我的基本情况”界面如图3-9所示:
图3-9个人基本资料界面
普通用户可以通过互发短信息与管理员进行沟通,当单击左侧的“给管理员留言”链接后,就会出现如图4-13所示页面。用户按要求填写留言,输入完成后单击“提交”按钮就可以完成给管理员留言的功能。
图3-10给管理员留言界面
结束
普通用户拥有修改自己个人密码的权限。要求输入两次密码,若两次输入的密码不一致,则显示“两次输入密码不一致”提示信息,若输入一致则完成密码的修改,当下次用户再登陆时,需要用新的密码进行登陆。用户修改个人密码界面如下图4-15所示:
图3-12修改密码界面
图3-13 修改个人密码流程图
<%
connstr="DBQ="+server.mappath("book.mdb")+";
DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set db = Server.Createobject("ADODB.Connection")
db.open connstr
%>
<%
dim uid,pwd
uid=request("uid")
pwd=request("pwd2")
if request("qq")<>"" then
if request("pwd1")=request("pwd2") then
if request("utype")<>"3" then
sql="update user set pwd='"&pwd&"' where id="&uid
else
sql="update admin set pwd='"&pwd&"' where id="&uid
end if
db.execute(sql)
response.write "<script>alert('密码修改成功!');window.location.href('right.asp')</script>"
else
response.write "<script>alert('两次密码不同!');history.go(-1)</script>"
end if
%>
第4章 网站测试
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明书和编码的最终复审,是软件质量保证的关键步骤。测试的目的在于寻找错误,尽量找出系统中所有隐藏的错误。程序的开发者应避免检查自己的程序。如果由别人来测试程序员编写的程序,会更客观,更有效,并更容易取得成功。
测试的步骤主要是按以下三个方面进行:
1.单元测试
单击测试是对每个功能模块进行测试,采用各种测试用例对此系统的各个模块进行测试。输入一些不符合条件的数据,看能不能运行。而它最终的目的是保证每个模块单独运行正确。
2.综合测试
综合测试是针对设计阶段进行的。模块测试完成后,能保证每个功能模块能够单独地正常工作,但所有模块联结在一起能不能正常工作就是综合测试的任务了。我通过登陆后进入系统,从上至下一一测试系统的功能,每个功能都能正确实现。
3.确认测试
确认测试主要是针对需求分析阶段进行的。来进一步检查软件是否按用户所提出来的要求。如这时在测试中发现了问题,则必须返加到需求分析中去,这样就会严重担误系统的继续进行。确认测试的内容包括:功能测试、性能测试。
对本图书管理系统进行测试过程如下:
普通用户登录:
表4-1 普通用户登录表
输入 | 应输出 | 实际输出 |
用户名:mm 密码:123 | 普通用户操作界面 | 普通用户操作界面 |
图书查询:
表4-2 查询图书表
输入 | 应输出 | 实际输出 |
单击“图书查询” | 出现图书查询界面 | 出现图书查询界面 |
书名:红楼梦 | “没有这条记录” | “没有这条记录” |
书名:十万个为什么,日期至08年 | 显示书名为“十万个为什么”的图书信息 | 显示书名为“十万个为什么”的图书信息 |
分类:经济学,日期至08年 | 显示分类为经济学的图书信息 | 显示分类为经济学的图书信息 |
价格范围:1到999元,日期至08年 | 显示所有价格范围为1到999元的图书信息 | 显示所有价格范围为1到999元的图书信息 |
出版日期:1970至2008年 | 显示年份1970至2008年的图书信息 | 显示年份1970至2008年的图书信息 |
查看我的借书情况与我的基本资料:
表4-3 查看我的借书情况与我的基本资料表
输入 | 应输出 | 实际输出 |
点击“我的借书情况” | 显示出本人所借图书 | 显示出本人所借图书 |
点击“我的基本资料” | 显示用户的个人资料 | 显示用户的个人资料 |
向管理员发送短信息:
表4-5 发送短信息表
输入 | 应输出 | 实际输出 |
点击“向管理员留言” | 显示发送短信界面 | 显示发送短信界面 |
点击“提交” | 成功发送短信 | 成功发送短信 |
修改密码:
表4-6 修改密码表
输入 | 应输出 | 实际输出 |
点击“修改密码” | 显示修改密码界面 | 显示修改密码界面 |
输入两遍新密码 | 显示修改成功 | 显示修改成功 |
由于我们所了解的知识有限,有些功能暂时未能实现,有些功能还有一些瑕疵,比如在首页显示的超期用户里面,超期用户只能够显示第一个超期用户的名字,具体原因还未找到。总体看,整个程序是完整的,功能是齐全的。
1.系统数据库的设计:在数据库的设计中要着重从ACCESS应用、数据库设计范式等方面来分析本课题的系统关键技术和实现难点并加以解决。
2.建立严密的数据表操作机制同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立是比较困难的,但也是必须的。在编制时更应加强程序逻辑的可靠性和程序调试的全面性。
3.数据库连接、查询、更新和对字符串的检测和转化等操作是经常用到的,如果对每次表单的操作都要重复使用上述操作将对数据库或者程序的设计带来很大的压力,要设计相应的模块来解决这个问题。
4.对用户借书后应还时间的计算以及统计超期用户上感觉挺棘手的,在老师的帮助下,我们终于明白了这两个功能是如何实现的。
5.留言功能的实现的时候出现了乱码,在通过相关途径下明白了出现乱码的原因并且改正了。
在老师的指导和督促下,经过两个星期的紧张设计与研究,我们基于图书馆管理系统的课程设计终于开发完成了。 通过本系统的开发使我们所学的专业知识得到了综合的运用,对以前很多抽象、枯燥的理论知识加深了理解,同时也使我学会了利用结构化程序设计思想开发管理信息系统,并用模块化方法加以实现。 让我们深刻地认识到信息系统开发的每一步都是以上一步为基础的。因此每一步文档的编写都必须正确、完整,否则就会给下一步的工作带来不必要的麻烦,加大工作量。另外我与同学的团结互助力量也是无穷大的,正是我们的相互协作才顺利完成了这次课程设计。
经过两个星期的努力,课程设计基本完成了,虽然部分功能还有些许瑕疵,但从总体看,这还是一个十分完美的系统,倾注了我们诸多心血。在整个课程设计的实践中,我学到很多有用的知识,也积累了不少宝贵的开发经验,当程序出现了问题,就会发现是哪里出现问题,针对问题查找资料或者问老师,让我学会了之前不懂的或者没有学习的知识,在这里,我十分感谢帮助我解决问题的梁老师。通过自己的努力,系统基本满足了图书管理的基本需要,实现了用户使用的方便以及管理员管理的方便,在界面上力求做到简单实用,在操作方面尽量做到满足用户使用的习惯,但由于自己的水平有限和时间的不足,在有些方面还不完善,在首页显示超期用户时,只能显示第一个超期用户的用户名。在今后的学习当中我们将继续完善此系统,使其功能更加强大,满足用户的更多需求。为期两周的课程设计终于完成了,对于我们来说,这已经是一个浩大的工程了,起早贪黑、夜以日继,终于完美竣工了,很有成就感,一个人轻松许多,当一个完美的系统出现在自己眼前时,之前的劳累、厌倦、抱怨、失望全都没有了,有的只有开心和成功后的喜悦。
- 马秀麟,王燕,管理信息系统原理及开发. 北京:人民邮电出版社 [M],2009
- 李文才,田中雨,网页设计与制作. 北京:清华大学出版社 [M],2009
- 刘意成.ASP实战演练[M].北京:西安电子科技大学出版社,2006
- 周绪.ACCESS中文版入门与提高[M].北京:清华大学出版社,2005
- 李存斌.数据库应用技术[M].北京:中国水利水电出版社,2006
- 罗运模.ACCESS数据仓库应用与开发[M].北京:人民邮电出版社,2003
- 刘瑞新.ASP动态网站开发技术[M].北京:清华大学出版社,2001
- 肖金秀,冯沃辉,施鸿翔.ASP3.0动态网页培训教程[M].北京:冶金工业出版社,2000
- 张登辉,刘益红.ASP编程基础及应用[M].北京:机械工业出版社,2004
[10]刘小东.Dreamweaver实用教程入门与提高[M].北京:中国铁道出版社,1992
[11]石治国,崔林.ASP动态网站编程[M].北京:清华大学出版社,1996
[12]丁贵广,闫允一.ASP编程基础与实例[M].北京:机械工业出版社,2003
[13]廖彬山,高峰霞.ASP动态网站开发教程[M].北京:华大学出版社,2005
[14]蒙新.ASP编程技术与综合实例演练[M].北京:华大学出版社,2008
[15]刘端阳,李卫东. Dreamweaver+asp动态网站开发从入门到精通[M].北京:人民邮电出版社,2009