图书管理系统课程设计

2025-04-25 版权声明 我要投稿

图书管理系统课程设计(精选8篇)

图书管理系统课程设计 篇1

1.1 课题背景意义

在学校现代化的管理中,图书馆管理系统也是其中非常重要的一部分,然而,用大型软件系统来于小型的图书管理,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种管理自然有十分重要作用。某图书馆需要管理其各种人员信息和图书信息,希望实现办公的信息化,通过建立一个图书管理系统来管理图书馆。

1.2国内外研究的现状

国内在信息化这一方面做的没有国外好,因此现在需要大量这样的程序人员,图书馆管理系统这一块也需要做大量改进。

图书管理系统课程设计 篇2

在当今知识大爆炸的时代,图书作为信息的一种载体,仍是人们获得知识的一种重要途径,因而作为图书管理与借阅的图书馆,它的运行情况则关系到知识的传播速度问题。以往旧的图书馆管理模式完全是手工操作,从新书的购买、编号、入库,到借阅、续借、归还、查询,无一不是人工处理,需要大量的劳动力与工作量,而且由于人为的原因造成一些错误,也是再所难免的。当读者想要借阅一本书时,首先要查询大量的卡片,而且要有一定的图书管理知识,才能很快的查到。自己想要的图书,在借阅过程中还要填写许多相关的卡片,使得图书馆的管理效率低下,图书流通速度较慢,因而从一定程度上也影响了知识的传播速度。

图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境

信息技术发展日新月异,区域信息化建设如火如荼,作为信息资源基础建设主体的图书馆面临着前所未有的挑战和机遇。

本系统利用当前的软件开发技术,以方便读者查询、借阅操作,解决流通中存在的问题为目的,结合图书管理系统的有关原则,设计了图书管理系统中的一个模块———图书管理模块。

2 图书管理模块设计分析

2.1 应用需求分析

图书管理系统包括前台界面设计,借阅管理设计,图书管理设计,读者管理设计,其中比较重要的模块为图书管理设计。图书管理是为了满足图书的查询,添加,修改,删除,对图书的基本设置及统计等功能,实现管理员对图书的方便快捷的操作而设计的此模块的流程和划分。

2.2 系统流程图及其功能的划分模块图

图1为图书管理流程图,图2为图书管理模块图。

3 系统数据库设计

3.1 数据库概念结构设计

所谓数据库是指长期存储在计算机内的,有组织的,课共享的数据集合。数据库是以某种文件结构存储的一系列信息表,这种文件结构使您能够访问这些表、选择表中的列、对表进行排序以及根据各种标准选择行。数据库通常有多个索引与这些表中的许多列相关联,所以我们能尽可能快地访问这些表。以本设计为例,可以设想一个含有图书编号、图书名称、类别代码、作者姓名以及出版社等内容的表。我们可以再考虑一下这些内容是否可以组织在一起。因为可以设想一个表包含读者姓名姓名、读者所在系别以及读者的电话号码等信息。同时还可以设想保存的其它信息包括书籍的借还处罚等内容。

这些信息内容可以肯定是不能保存在一个表中的,因此我们还要对数据库的逻辑结构进行分析,并且设计出需要的表。

3.2 数据库逻辑结构的设计

现在将上面的数据库概念结构以及我们设想出的需要的表转化为Access2003数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。具体包含了以下表:

书籍属性表(bookinfo):包含的字段书籍编号、书籍名称、类别代码、出版社、作者姓名、书籍价格、书籍页码、登记日期、是否借出。除图书价格为货币类型、登记日期为时间/日期型、是否借出为是/否型,其他都为文本型。

书籍类别表(booktype):包括的字段类别代码、书籍类别、借出天数,都为文本型。

书籍借罚表(setinfo):包括的字段借出册数、罚款,前者为整型数字型后者为货币型。

这三个表具有紧密的联系,书籍类别表中的类别代码及其书籍类别对书籍属性表中的书籍的库进行了详细的分类,而书籍类别表的借出天数同样是受书籍属性表的是否借出所限制,同时书籍类别表又限制了书籍借罚表的罚款金额,书籍属性表中的是否借出也决定了书籍借罚表的借出册数。

4 图书管理系统的实现

4.1 图书信息管理系统

为了满足总体的要求,图书信息管理系统包括图书管理具有新增、删除、修改及查询图书信息的功能。其中,新增图书可以建立一条新的图书记录,删除则可以将已建立的图书记录删除,修改可以修改所选择图书的基本资料。查询可以按输入的查询条件查出符合条件的图书。

程序代码直接利用SQL语句对Access数据库中的表进行查找、添加、修改、删除的操作。

图书管理部分可以轻松地实现对图书借阅及图书资料的管理,及时、方便地更改、设定图书借还情况,并能立即显示出图书的资料。为读者提供方便,并节省管理人员的时间,提高了工作效率。

4.2 图书查询

图书查询系统可以通过对图书编号、图书名称、图书出版社、作者姓名以及类别代码等方式对图书的信息进行查询。并对图书信息进行修改。输入查询的关键词和查询的方式进行查询,检索采用“模糊查询”,可以输入关键词的一部分进行查询。

选择合适的查询方式,在查询内容中输入关键字,对图书进行查询,通过SQL语言访问数据库,并对数据库进行查询,通过按照编号查询主要代码如下:

以上代码是利用“按照编号查询”对图书进行查询,例如我在查询内容中输入需要查询书籍的编号后,点击“查询”按钮,会在“查询结果”中显示书籍的编号,书名,出版社,作者等内容,在其中可以对书籍的属性进行修改,也可对图书进行删除操作,在“查询内容”中,选中“模糊查询”功能,可以对输入关键字对书籍进行查询,例如选中“按名称查询”后,选中“模糊查询”,在“查询内容”中输入“计算机”,点击“查询”后,“查询结果”中会出现库中所有书籍名称中带有“计算机”的书籍,然后在结果中找到自己需要的书籍.这种功能的实现主要是调用了数据库中的“bookinfo”表.其他的查询方式功能的实现类似于上述。其中查询功能中模糊查询的实现是用“like”语句实现,例如下面就是点击“书籍名称”选中“模糊查询”的功能是由下面代码实现:

在查询结果中可以对图书信息进行修改和删除,若图书尚未归还,删除此图书信息的时候会弹出一对话框“此书尚未还回馆内,你是否继续删除操作?”,点击确认,则可删除图书信息,主要代码如下:

4.3 添加图书

添加图书(新书入库)是本系统的一项主要功能。启动系统,以超级管理员身份登陆系统,登陆成功后,就可以对图书信息进行添加。能添加的信息要包括书籍编号、书籍名称、类别代码、作者姓名、书籍价格、出版者以及登记日期。

这一窗体中可以进行如下操作:输入图书的基本数据信息,其中书籍编号、书籍名称、类别代码、作者姓名等直接输入即可。输入完毕点击右下角“添加”按钮即可保存此条记录。新增的图书记录会出现在图书目录中。

若添加的新书是已经存在的书,则会提示:“对不起,该书籍编号已经存在,请重新输入!”,此功能是有select语句实现,主要代码如下:

删除与添加类似这里就不做过多说明。

4.4 图书基本设置

图书基本设置中,管理员可以对每人最大借书量以及罚款进行设置,通过调用数据库中的setinfo表,主要代码如下:

4.5 书籍类别设置

管理员可以在书籍类别设置界面中,通过类别代码框,输入类别代码对图书进行查询,继而可以对图书种类,可借天数进行添加,修改,删除设置。例如,在“类别代码”中输入“A”,点击“查找”,则在“图书种类”中显示“IT类”,“可借天数”中显示“30”,它主要是通过调用了数据库中的booktype表来实现的.若添加或修改图书类别信息,则直接刷新了booktype表。

5 结束语

本系统要结合学校图书馆情况,经过实际的需求分析。通过采用功能强大的Visual Basic 6.0和Access2003为开发工具而开发出来的图书馆管理系统中的一个模块。整个模块从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成图书信息查询、添加和对图书的一些基本设置等。本模块所设计的可以满足学校图书馆管理方面的基本需要。但是也有些不足,一些人性化的东西设计的还不够。例如没有设计在一个时间段里某本图书被借出的次数。

参考文献

[1]罗朝胜.Visual Basic程序设计教程[M].北京:人民邮电出版社,2002:2-21.

[2]萨师煊.数据库系统概论[M].3版.北京:高等教育出版社,1999:2.

[3]Warner S.Visual Basic6程序设计[M].北京:人民邮电出版社,1-20,30-40.

[4]郑小玲.Access项目案例导航[M].北京:科学出版社,2003:20-25,234-268.

浅析图书馆图书管理系统的设计 篇3

【关键词】图书馆;图书管理系统;设计

一、前言

图书馆在人们的生产生活中发挥了重要的作用,它可以很好的帮助人们去保存文献书籍等,同时也方便了每一个人去翻阅或借阅自己需要的书本知识,对于科研和学习等发挥了极大的作用。而图书馆管理也是一个大工程,为了能让读者更加方便快捷的查阅到自己想要的书本,同时也为了增强图书馆图书的流动性与稳定性,图书馆需要从现代需求和科技出发,去寻找一种更加完善的管理系统。

二、图书馆管理系统设计重点

(一)从人工化到自动化转变。以前的图书馆大都是靠工作人员亲自排序和归类,这是一个很大的工作量,因为现如今的书籍量很大,书籍分类也很丰富,要想通过人工将这些书籍归类是一件很繁琐的事情。同时,很大的读者在借阅书本时需要在庞大的书籍库中找到自己想要的书本,这也是一件很浪费时间和精力的事情。而现在计算机技术和智能化十分的发达,将计算机运用到图书馆图书管理系统中来是一个很好的创新。将每一本书的编号输入电脑,跟电脑中图书馆的具体构造和方位进行匹配,就能得出每本书具体所在的位置,这就大大节省了搜索图书的时间,同时也能更好的归类图书。对于借阅书籍的信息,也可以通过电脑记录,这样方便进行管理。而在这的基础上,图书馆的工作人员需要有一定的计算机知识,才能更好地运用这些程序。

(二)增强系统的灵活性。图书馆管理系统的最终目的是为了使用者能够更好的使用,所以在设计之前,需要了解使用者的大致习惯,使得系统的灵活性得到提高。而很多的使用者并不是专业的计算机者,因此对于图书馆系统需要通俗易懂,能让每一个读者都能使用。系统设计人员可以将复杂的东西简单化,加以一些图画和文字的引导,这样才能让读者尽快熟悉这一系统。

(三)增加系统的稳定性。有的時候计算机等的软件会出现错误,这样很可能导致系统无法正常运行,最严重的是还可能会丢失宝贵的数据,造成巨大的经济损失。所以系统在设计时一定要将注意力放在系统的稳定性上,时刻对系统的运行进行检测,及时发现问题解决问题,同时还要注意给数据定期留下备份,才能在将损失降到最小。对于一些计算机仪器,还要定期进行检修,准备备用仪器,以备不时之需。

(四)合理布局。图书馆在建造的时候,就要考虑到面积和大小。首先要对图书馆的最大容量进行估计,同时对于每一类书籍的存放地点都要进行实际的测量。在考虑书籍的同时,还要考虑到读者的情况,如最大的人流量等,好在图书馆内设计休息和以供读书的地方。为了给读者营造一个安静舒适的读书环境,还要考虑到绿化,桌椅以及周边环境等一系列问题。

三、图书管理系统基本模块

(一)记录模块。记录模块是整个图书馆系统的核心,它的主要功能就是对图书的名称,购买记录,借出记录等的一个大集合。记录模块将图书清晰的记录在案,以便人们可以随时随地查找到图书的具体信息。记录模块的工作流程和原理包括这几个方面,首先先将同类的数据输入计算机内,并将其归为一批,而此时的数据只能存储在临时的数据库内,等到技术人员将其进行处理与检查,在确认没有错误且可以进行输出后,再将数据存在整个的数据库中,在以后进行查阅或者打印时就可以通过特殊查询而将这些数据输出。而计算机又可为接下来一批数据进行存储。

(二)图书的编目。图书的种类是不一样的,为了使人们能够准确且方便在数量巨多的图书群中查询到图书,就需要对图书进行分类。而现在绝大多数图书馆对图书进行分类都是根据图书的所写内容的不同来分类。如先将图书分为几大类,再在这几大类里根据图书的用途等分类,就这样以此类推。而这些图书根据其相应的分类也有不同的编号,这就是图书的编目。在对图书的数据确认无误后,就要打印出每一本图书的编目卡片、书标及批统计报表。这些就相当于图书的身份证一样,可以辨别出每一本书。图书编目是一项复杂的工程,因为一个图书馆的书籍过于庞大,要想将每一本书都标记成功,必将耗费很大的人力与物力,还需要耐心的细心。

四、图书馆管理系统的详细设计

(一)用户登录系统。图书馆的两大人群一个是读者,一个是管理者。图书馆管理系统需要对不同的人群登录设计不同的路径,准确区分登录系统的用户是管理员还是读者。对于读者而言,系统要对读者的信息进行添加和删除,读者可以通过对个人信息的登录查询和借阅,同时系统对这些信息记录,反馈给工作人员。

(二)管理者模块和读者模块。图书馆的使用人群就包括管理者和读者,所以要将系统分为管理者模块和读者模块,以便系统能够顺畅高效的运行。管理者就是对图书馆进行管理的人群,他们享有图书馆的最大的权限,同时管理者也是分为几类的,每一类管理者管理不同的事物。

(三)借阅模式。图书馆最常出现的事情就是借书与还书,工作人员输入借阅者的借阅证号和所要借阅的图书的图书编号,然后点击借阅按钮就可进行图书借阅。借阅之后系统会对信息进行自动记录与分析,可以通过图书的编号就能知道借阅者的信息。

五、结语

随着科技的发展,知识成为了人们不可或缺的东西,知识为人们带来了经验,带来了灵感,同时也带来了创新。人们通过书本去认识世界,理解科学甚至是实现自我创作,这些对于人类世界的文明与发展起着至关重要的作用。而图书馆就是为存储知识和传递知识而建造的,图书馆的作用是每一个人都能意识到的,图书馆的高效快捷的管理让人民获益良多,也为图书馆作用的发挥起着巨大的作用。

参考文献

图书管理系统的分析与设计 篇4

一、系统的总体功能

图书管理系统的用户是借阅者和图书管理员。借阅者使用系统预订图书。图书管理员使用系统进行图书馆业务的管理工作,包括借书、还书、维护借阅者信息、维护图书信息。

二、系统的功能细化

预订图书。若借阅者所借书被借书,则借阅者可以预订该书。当借阅者可以获得所订书刊时,就将图书给予预订者,并形成预订记录,包括借阅者ID号、图书条形码、预订时间。若借阅者取消预订,则系统从借阅者和书刊信息中删除预订记录。

借书。借阅管理员在借书时需求输入图书的条形码,借阅者的ID,然后提交以上信息。系统对借阅者进行身份验证,系统在借阅者通过身份后查看数据库中是否存在借阅者所借的图书,或存在,则在系统中建立借阅记录,包括借阅者ID号、图书条形码、借书时间,并借出图书。

还书.借阅管理员在还书时需求输入图书的条形码,然后提交以上信息。系统检查该图书是否超期,如果超期则交纳超期款,否则删除所还书的借阅记录。

维护借阅者信息。当需要创建借阅者时,图书管理员输入借阅者信息,包括姓名、性别、所在单位、联系电话、身份证号码,并提交,系统根据所输入的信息查看数据库中是否已存在该借阅者信息。或不存在,则为借阅者创建一个账户,并存储借阅者信息。当需要删除借阅者时,图书管理员输入借阅者ID,系统根据所输ID号从数据库中查询、显示借阅者信息。如图书管理员确定删除借阅者,则系统检查借阅者是否还有借阅记录。若有,则取消删除动作;若没有,则系统检查借阅者是否还有预订记录。或有,则先删除预定记录再删除借阅者,若没有,则直接删除借阅者。

维护图书信息。当需要添加图书时,图书管理员输入各种有关该图书的信息,包括图书名称、作者、ISBN号,并提交,系统根据所输入的信息查看数据库中是否已存在该书信息。若不存在,则创建,并存储图书信息。当需要删除书刊时,图书管理员输入书的条形码,系统根据所输入的条形码从数据库中查询、显示图书信息,并检查该书是否被借出。若有,则取消删除动作;若没有,则删除。

要求:对上述系统进行简单的分析与设计。包括:

1. 画出用例图,并写出每个用例的文档。

2. 根据用例文档画出每个用例的活动图、每个用例的分析模型。

图书管理系统UML分析与设计 篇5

系统的功能性需求描述如下:

·

图书管理系统为管理员提供主功能界面。

·

图书管理系统在启动时要求管理员输人口令,只有口令正确,才可以进入系统的主功能界面。

·

管理员负责对图书管理系统的维护工作,因此系统应赋予管理员对图书信息、读者信息和出版社信息进行录入、修改、查询和删除等功能的操作权限。

·

管理员作为读者的代理实现借书与还书业务。

·

图书信息、读者信息和出版社信息保存在对应的数据库表中。

在上述功能性需求分析的基础上,可以写出较为详细的需求规格说明书,作为进行系统分析、设计和实现的依据。需求分析规格说明书由系统最终用户提出需求,系统分析人员负责编写。图书管理系统需求分析规格说明书如下:

·

这是一个图书馆图书借阅管理的应用系统;

·

图书管理系统负责将图书、杂志借给读者,前提条件是这些读者在系统进行了注册,图书和杂志也在系统中进行了注册;

·

图书馆负责新书的购买,当书和杂志已经过时或者破旧不堪时,可以将这些图书和杂志从图书馆管理系统中删除;

·

图书管理员是图书馆的员工,负责与读者打交道,并且是在系统提供的支持下开展工作;

·

图书管理系统能够容易地建立、修改和删除系统中的信息,包括图书信息、读者信息、以及出版社信息等;

·

图书管理系统能够在所有流行的平台环境(windows,uNIx等操作系统)上运行,并具有一个美观的图书用户界面;

·

图书管理系统容易扩展新功能。

2.分析建模

 Use case diagram 分析

采用下列描述项撰写用例的脚本。

· 用例名称——表明用户的意图或用例的用途。

· 参与者——与该用例相关的参与者列表。

· 前置条件——一个条件列表,如果其中包含条件,则这些条件必须在访问用例之前得到满足。

· 后置条件——一个条件列表,如果其中包含条件,则这些条件将在用例完成以后得到满足。

· 基本事件流——描述用例中各项活动都正常进行时用例的工作方式。

· 分支事件流——描述用例中某项活动的子活动各项工作都正常进行时用例的工作式。

· 异常事件流——描述用例的变更工作方式,以及出现异常或发生错误的情况下所执行的路径。

图书管理系统中每个用例的脚本描述如下:

1.系统登录

用例名称:系统登录

参与者:图书管理员 1.1前置条件 无

1.2后置条件

如果用例成功,参与者可以启动系统,使用系统提供的功能。反之,系统的状态不发生变化。

1.3基本事件流

当图书管理员登录系统时,用例启动。

①系统提示用户输入用户名和密码。

②用户输入用户名和密码。

③系统验证输入的用户名和密码,若正确,则用户登录到系统中。

1.4异常事件流

如果用户输入无效的用户名/密码,则系统显示错误信息。用户可以选择返回基本事件流的起始点,重新输入正确的用户名/密码;或者取消登录,用例结束。

2.图书借阅

用例名称:借阅图书

参与者:读者,图书管理员 2.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。

2.2后置条件

如果这个用例成功实现,则在系统中创建并存储借阅记录。2.3基本事件流

当读者借阅图书时,用例启动。

①登录系统。

②输人图书ID和读者ID。

③检索读者ID。

④检索图书ID。

⑤根据时间算法确定图书借出日期和归还日期。

⑥图书馆将图书借给读者。

⑦创建借阅记录。

⑧存储借阅记录。2.4异常事件流

①如果读者未注册,则系统显示提示信息,用例被终止。

②如果要借图书不存在,系统显示提示信息,用例被终止。

③如果要借图书都已借出,则系统提示信息,用例被终止。3.图书归还

用例名称:图书归还

参与者:读者,图书管理员 3.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。

3.2后置条件

如果这个用例成功实现,则系统删除借阅记录;否则,系统的状态不发生变化。3.3基本事件流

当读者归还借阅的图书时,用例被启动。

①登录系统。

②输入图书ID和读者ID。③检索图书ID。

④检索读者ID。

⑤查询图书借阅记录。⑥删除借阅记录。3.4异常事件流

①如果归还图书不存在,则系统显示提示信息,用例被终止。②如果借阅记录不存在,则系统显示提示信息,用例被终止。4.读者维护

用例名称:读者维护 ‘ 参与者:图书管理员 ’ 4.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。4.2后置条件

如果这个用例成功地实现,则系统添加、修改或检索读者信息;否则,系统的状态不发生变化。

4.3基本事件流

当图书管理员维护读者信息时,用例被启动。①登录系统。

②如果选择的活动是“添加读者信息”,则执行分支事件流4.3.1:添加读者信息。③如果选择的活动是“修改读者信息”,则执行分支事件流4.3.2:修改读者信息。④如果选择的活动是“检索读者信息”,则执行分支事件流4.3.3:检索读者信息。4.3.1分支事件流

①提供读者的信息,例如,读者ID,读者姓名、电话号码等。②系统存储读者信息。4.3.2分支事件流 ①输入读者ID。

②查询并显示读者信息。③更新系统中读者信息。4.3.3分支事件流 ①输入读者ID。

②查询并显示读者信息。4.4异常事件流

①如果读者已经存在,则系统显示提示信息,用例被终止。②如果查询不到读者,则系统显示提示信息,用例被终止。5.图书维护

用例名称:图书维护 参与者:图书管理员 5.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。5.2后置条件

如果这个用例成功实现,则系统添加、修改或检索图书信息;否则,系统的状态不发生变化。

5.3基本事件流

当图书管理员维护图书信息时,用例被启动。①登录系统。

②如果选择的活动是“添加图书信息”,则执行分支事件流5.3.1:添加图书信息。③如果选择的活动是“修改图书信息”,则执行分支事件流5.3.2:修改图书信息。④如果选择的活动是“检索图书信息”,则执行分支事件流5.3.3:检索图书信息。5.3.1分支事件流

①提供图书的信息,例如,图书ID,图书名称、编著者、出版社、价格、出版年份筹 ②系统存储图书信息。5.3.2分支事件流 ①输人图书ID。

②查询并显示图书信息。⑨更新系统中图书信息。5.3.3分支事件流 ①输入图书ID。

②查询并显示图书信息。5.4异常事件流

①如果该图书已经存在,则系统显示提示信息,用例被终止。②如果查询不到该图书,则系统显示提示信息,用例被终止。

系统总体功能结构

 根据用例图定义分析包以及分析包(子系统)之间的关系。

图书管理系统分析包详细结构

 定义类、用例实现(序列图)、类关系图(1)系统登录

类图:

系统登录分析类图

用例实现:

登录系统成功顺序图

登录系统失败顺序图

(2)登录图书信息

类图:

登录图书信息分析类图

用例实现:

登录图书信息顺序图

(3)修改图书信息

类图:

修改图书信息分析类图

用例实现:

修改图书信息顺序图

(4)检索图书信息

类图:

检索图书信息分析类图

用例实现:

检索图书信息顺序图

(5)借阅图书 类图:

借阅图书分析类图

用例实现:

借阅图书顺序图

(6)归还图书

类图:

归还图书分析类图

用例实现:

归还图书顺序图

(7)借出图书一览表

类图:

借出图书一览表分析类图

用例实现:

借出图书一览表顺序图

(8)类关系图

系统实体类(业务类)之间的关系

(9)类的具体定义

1.图书表类

编号:A—l一0l

类名:图书表

职责:存放图书馆所能处理的所有图书的基本信息

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注

说明:该类存放所有图书类的公用信息,它是“图书借阅表”的父类。图书也有身份,可以通过不同的ISBN相区别。在图书管理系统中,图书也有相关的行为,图书因为使用期限等可以被销毁,所以图书表也是系统中的一个对象。

2.登录图书界面类

编号:A一1—02

类名:登录图书界面

职责:提供输入所有图书信息的界面

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注

说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一个临时的输入接口。

3.登录图书信息控制类

编号:A—l—03

类名:登录图书信息控制类

职责:实现登录图书界面类与图书表类所提供信息的交互。

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价 格,购人日期,过期日期,书架代码,备注

说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一 个临时的输人接口。

4.出版社表类

编号:B—l—01

类名:出版社表

职责:存放图书表所使用的所有图书的出版单位

属性:出版社代码,出版社名称

说明:该类与出版社表之间存在着单向关联的关系。

5.读者表类

编号:C一1一Ol

类名:读者表

职责:存放图书馆的所有读者的基本信息

属性:读者代码,读者名,联络电话

说明:该类类描述了物理借阅者的信息,代表了系统中存储的物理借阅者的信息,即物理借阅者在系统中的账户。同时,读者表又是图书借阅表的组成成分之一。

6.图书借阅表类

编号:D—l—01

类名:图书借阅表

职责:存放图书馆所能处理的所有图书的基本信息

属性:图书代号,读者代号,借书日期,还书日期,说明:该类描述了从图书馆借阅图书的借阅记录。一个该类的对象对应一个借阅者和一本图书。该类的对象的存在表示借阅者借阅了借阅记录中记录的物理图书。当图书被归还时,要删除借阅记录(对象)。

 形成系统分析规约(注意规约可能会有活动图、状态图等)

3.系统设计

设计模型的主要工作: 1).软件平台设计

软件平台是系统开发和运行的环境。图书管理系统的开发和运行环境如下:

· 操作系统——操作系统是计算机系统中最重要的系统软件。图书管理系统可以运行在Windows 95/98/2000/NT/Windows XP等桌面操作系统上。

· 支撑软件——支撑软件是协助人们开发和维护软件的工具和环境软件。数据库系统、集成开发环境等都属于支撑型软件,例如,Delphi、Oracle、Java等。图书管理系统使用的DBMS是Access 2003,数据库中间件是JDBC。

· CASE平台——采用CASE开发环境可保证系统开发质量,提高开发效率,保证文档的一致性。图书管理系统的分析、设计j实现和部署模型是在Rose 2003建模环境下创建的,清晰地表达了在不同的开发阶段的系统模型。2).结构设计

结构设计是把软件分解成为多个子系统,并确定出由各子系统及其接口构成的软件结构。子系统是对软件分解的一种中间形式,也是组织和描述软件的一种方法。由多个子系统构成系统软件,每一个子系统又包括多个用例设计、设计类和接口。结构设计具体要做的工作是将系统划分成相对独立、功能相对完整的子系统(包),将系统模型中的元素划分到不同的包中,说明在什么地方定义包,各个包之间的依赖性和主要通信机制。从而得到尽可能简单和清晰的结构,各部分之间的依赖尽可能的少,并尽量减少双向的依赖关系。3).详细设计与界面设计

详细设计是对软件结构中确定出的各个子系统内部的设计,需要分析和确定每一个子系统中的用例设计、设计类和接口。详细设计还要描述每个类的细节,并用动态模型描述类的实例在具体环境中的行为。

界面设计是对人和外部系统与系统之间交互界面的设计,包括输入界面、输出界面和输入/输出界面的设计。另外,界面设计还涉及到人机交互方式、人机交互流程、输入输出设备和媒体等内容。4).数据库设计

数据库是系统存储和管理数据的主要技术手段,数据库设计的任务是根据给定的系统应用需求和系统环境,设计出合理的数据库结构。数据库设计可分为概念设计、逻辑设计和物理设计3个阶段。用UML进行数据库设计的主要思想,是利用UML的扩展机制定义一些版型,用于表示与数据库相关的一些概念。Rose 2003提供了对数据库设计的支持,所设计的模型可以直接生成具体数据库中的表、触发器、存储过程等。

 系统结构设计

系统框架视图

· 用户界面包(User Interface Package)——用于描述整个用户界面使用的类,这些类提供的操作允许用户浏览系统中的数据,允许用户输入新数据。用户界面类基于Java AWT包设计,AWT包是Java语言中用于编写用户界面应用程序的一个标准库。用户界面包与业务模型包相互协作,调用业务模型包中类实例的方法对图书信息进行检索和插入操作。

。业务模型包(Business Model Package)——包含分析阶段主要的类(借阅图书类、归还图书类、图书类、读者类、出版社类)。在设计阶段将进一步细化这些类,从而完整地定义它们的操作,并为它们增加永久性存储支持。业务模型包与数据库包相互协作,访问数据库中的数据。· 数据库包(Database Package)——为业务模型包中的类提供数据存取服务,以便这些类能够实现数据的永久性存储功能。

。组件包(Utility Package)——包含一些可以被系统中其他包所使用的服务。

 界面设计

 详细设计

图书信息管理详细设计:

1.设计类图

“图书信息管理’’是一个用例,在“图书信息管理”用例所提取的3个概念类的基础上,可以确定该用例有3个设计类:登录图书信息(LoginBook)、修改图书信息(UpdateBook)、检索图书信息(SelectRook)。如图13.2所示为“图书信息管理”用例的设计类图。

“图书信息管理”用例设计类图

·

BpFrame类——属于用户界面包,定义系统检索与修改界面的框架。

·

BpSelectFrame类——属于用户界面包,继承BpFrame类,定义检索界面框架。

·

BpUpdateFrame类——属于用户界面包,继承BpSelectFrame类,定义系统修改界面框架。

·

SelectBook类——属于用户界面包,继承BpSelectFrame类,与DbChoice类相关联,显示图书信息检索界面。

·

LoginBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息登录功能。

·

UpdateBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息修改功能。

·

DbChoice类——属于组件包,定义了用于数据库操作的实例变量和实例方法。

2.顺序图

为实现用例的功能,每个用例要实现的功能要通过用例中各个类的对象的操作的相互协作完成,这就要在顺序图或协作图中反映各个对象之间的消息调用过程。如图13.3所示为添加的图书ID不重复的情况下“登录图书信息”用例的顺序图。

“登录图书信息”顺序图

3.属性和方法设计

用例设计中识别出了大量的设计类,接下来要详细地设计所识别出来的每一个设计类,即设计类的属性和方法。属性设计应该注意的问题是:一要补充属性分析时没有考虑到的属性,确定属性的全部内容,其中包括属性名、可视性、范围、类型、初始值;二要尽量采用系统采用的程序设计语言的语法规范描述属性。

方法设计包括数据结构设计、算法设计和流程设计。方法设计要注意的是:一要立足于所采用的程序设计语言;二所选用的程序设计语言应该能够提供丰富的数据结构;三要根据所实现的功能确定算法设计;四是可以用程序流程图或活动图来描述流程设计的结果。

如图所示为添加了属性和方法“图书信息管理”用例的设计类图。

添加属性和方法后的“图书信息管理”类图

LoginBook类的属性和方法设计如下:

·

sql属性——定义执行插人操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

LoginBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。

·

cheekInsea()方法——①检查各输入项的输人格式是否正确;②检查图书ID是否重复。

·

makelnsertStmt()方法——定义执行插人操作的SQL命令字符串。

·

afterlnsert()方法——清空登录图书界面的各输入项。

SelectBook类的属性和方法设计如下:

·

sql属性——定义执行插入操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

SelectBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面。

·

checkSelect()方法——检查是否输入要检索的图书ID。

·

makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

·

setSelectedData()方法——显示检索图书的结果。

·

clear()方法——清空图书检索界面各检索项。

UpdateBook类的属性和方法设计如下:

·

sql属性——定义执行插入操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

UpdateBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面;③提供修改图书功能。

·

checkSelect()方法——检查是否输人要检索的图书ID。

·

makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

·

setSelectedData()方法——显示检索图书的结果。

·

clear()方法——清空图书修改界面各修改项。

·

checkUpdate()方法——检查各修改项的修改格式是否正确。

·

makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。

读者信息管理详细设计: 1.设计类图

“读者信息管理”是一个用例,在“读者信息管理”用例确定了3个概念类:添加读者信息、修改读者信息、检索读者信息。但是,该用例的功能相对比较简单。可以用1个设计类Borrow实现这3个概念类的功能。如图所示为“读者信息管理”用例的设计类图。

图13.5 “读者信息管理”用例设计类图

· Borow类——属于业务模型包,继承BpupdateFrame类,实现读者信息添加修改和检索功能。

2.顺序图

如图13.6所示为添加的读者ID不重复的情况下“添加读者信息”用例的顺序图。

“添加读者信息”顺序图

通过分析如图所示的顺序图,可以得到下图所示为“读者信息管理”用例的设计类图。

图优化后的“读者信息管理”用例设计类图

3.属性和方法设计

如下图所示为添加了属性和方法“读者信息管理”用例的设计类图。

添加属性和方法后的“读者信息管理”类图

Borrow类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· Borrow()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索读者信

息界面。

· checkSelect()方法——检查是否输入要检索的读者ID。

· makeSeleetStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索读者的结果。

· ehecklnsert()方法——检查是否可执行插入操作。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。

· afterlnsert()方法——清空各输入项。

· checkUpdate()方法——检查是否可执行修改操作。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。

· checkData()方法——检查各输入项的输人格式是否正确。

· clear()方法——清空各文本框。

出版社信息管理详细设计: 1.设计类图

“出版社信息管理”是一个用例,可以用1个设计类Publish实现添加出版社信息、修改出版社信息、检索出版社信息3个概念类。如图13.9所示为“出版社信息管理”用例的设计类图。

图13.9 “出版社信息管理”用例设计类图

· Publish类——属于业务模型包,继承BpUpdateFrame类,实现出版社信息添加、修改和检索功能。

2.顺序图

如图13.10所示为添加的出版社ID不重复情况下“添加出版社信息”用例的顺序图。

图13.10 “添加出版社信息”顺序图

3.属性和方法设计

如图13.1l所示为添加了属性和方法“出版社信息管理”用例的设计类图。

图13.11 添加属性和方法后的“出版社信息管理”类图

Publish类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· Publish()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索出版社信息界面。

· checkSelect()方法——检查是否输入要检索的出版社ID。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。· setSelectedData()方法——显示检索出版社的结果。· checklnsert()方法——检查是否可执行插入操作。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。· afterInsert()方法——清空各输人项。

· checkUpdate()方法——检查是否可执行修改操作。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· checkData()方法——检查各输入项的输人格式是否正确。· clear()方法——清空各文本框。

图书借还信息管理详细设计: 1.设计类图

“图书借还信息管理”是一个用例,在“图书信息管理”用例所提取的4个概念类的基础上,可以确定该用例有4个设计类:借阅图书(BorrowBook)、归还图书(RetumBook)、借出图书一览表(BorrowBookList)和未按期归还图书一览表(OverdueList)。如图所示为“图书借还信息管理”用例的设计类图。

图“图书借还信息管理”用例设计类图

· BorrowBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书借阅功能。

· ReturnBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书归还功能。

· BorrowBookList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示借出图书清单一览表。

· OverdueList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示未按期归还图书与读者清单一览表。

2.顺序图

如图所示为读者ID与图书ID都存在情况下的“借阅图书”用例的顺序图。

“登录图书信息”顺序图

3.属性和方法设计

如图所示为添加了属性和方法“图书借还信息管理”用例的设计类图。

添加属性和方法后的“图书借还信息管理”类图

BorrowBook类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· BorrowBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。· checklnsert()方法——①检查各输入项的输入格式是否正确;②检查借阅图书ID是否存在。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。

· afterInsert()方法——清空借阅图书界面的各输入项。

· checkSelect()方法——检查是否输入读者ID和图书ID。

· makeSelectStmt()方法——显示检索结果。

· checkDelete()方法——检查是否可执行删除操作。

· makeDeleteStmt()方法——定义执行删除操作的SQL命令字符串。

· afterDelete()方法——清空删除操作后的各输入项。

· clear()方法——清空所有的文本框。ReturnBook类的属性和方法设计如下:

· sql属性——定义执行插人操作的SQL命令字符串。

· RetumBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供图书归还界面。

· checkUpdate()方法——检查各修改项的修改格式是否正确。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· afterUpdate()方法——清空所有的文本框。BorrowBookList类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· BorrowBookList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“借出图书一览表”功能的界面。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索结果。OverdueList类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· xOverdueList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“未按期归还图书一览表”功能的界面。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索结果。

组件包设计:

组件包包含被所有其他包使用的通用组件,图书管理系统的组件包由Const、DbChoice、BpUtil三个类组成,这三个类定义了系统所有其他类所使用的公共常量与公共方法。另外,IconCanvas(加载系统界面所使用的图标)、MsgDialog(信息显示对话框)、SQLExceptionDialog(显示数据库异常信息对话框)3个类也为系统所有其他类所公共使用。在此与组件包中的类一起进行说明。1.Const类

Const类定义了系统所使用的公共名称等常量,其类图如图所示。

Const类的类图

2.BpUtil类

BpUtil类定义了系统使用的公共方法,其类图如图所示。

BpUtil类的类图

BpUtil类的方法设计如下:

· repeateString()方法——返回指定个数的字符串对象。

· varchar2text()方法——返回按照指定长度调整的字符串对象。

· setComp()方法——在组件上按照CridBagConstraints布局配置Panel。· checkWaming()方法——检查数据库连接操作是否出现异常。· isNumeric()方法——验证字符串能否转换为数值。

· getToday()方法——以YYYY/MM/DD的格式返回今日的日期。

· getToday()方法——返回以今日为基点的指定为YYYY/MM/DD格式的日期。· isYMD()方法——验证能否识别YYYY/MM/DD格式的字符串。· GB2312Unicode()方法——GB2312转换为Unicode。· UnicodeGB2312()方法——Unicode转换为GB2312。

· getRowCount()方法——求数据表中满足条件的记录数。

· convYMD()方法——Java.util.Date类型数据转换为YYYY/MM/DD格式。

3.DbChoice类

DbChoice类定义了用于数据库操作的实例变量与实例方法,其类图如图所 示。

DbChoice类的类图

DbChoice类的属性和方法设计如下:

· con属性——定义用于数据库连接的实例变量。· query属性——定义用于SELECT语句的实例变量。· displayCol属性——定义用于检索结果的列数。

· valueCol属性——定义方法getSelectedVal()返回值的列数。

· vItem属性——定义用于保存方法getSelectedVal()返回值的Vector · DbChoice()方法——构造方法,用于初始化实例变量。· setQueryData()方法——执行检索操作。· getSelectedVal()方法——返回检索结果。· setValueCol()方法——设置列的值。· getValueCol()方法——返回列的值。

· setDisplayCol()方法——设置显示列的值。· getDisplayCol()方法——返回显示列的值。

· setDisplayhem()方法——设置显示项的列的值。4.IconCanvas类

IconCanvas类用于完成加载系统界面所使用图标的功能,其类图如图所示。

IconCanvas类的类图

IconCanvas类的方法设计如下:

· IconCanvas()方法——构造方法,用于完成加载图像文件的功能。· paint()方法——用于完成显示图像文件的功能。5.MsgDialog类

MsgDialog类用于完成显示系统界面所使用的信息对话框功能,其类图如图13.19所 示。

MsgDialog类的类图

MsgDialog类的属性和方法设计如下:

· MsgDialog()方法——构造方法,用于生成信息显示区域,定义信息对话框的标题、布局管理器等功能。

· actionPerformed()方法——用于处理发生的事件。

6.SQLExceptionDialog类

当发生数据库异常时,SQLExceptionDialog类定义了用于显示数据库异常信息对话框,其类图如图所示。

SQLExceptionDialog类的类图

SQLExceptionDialog类的属性和方法设计如下:

· SQLExceptionDialog()方法——构造方法,用于定义发生的SQL异常。· actionPerformed()方法——用于处理发生的事件。· setMessage()、方法——用于显示发生的异常信息。系统管理详细设计:

系统管理由Bookplate和LoginDialog两个类组成,Bookplate类用于显示系统主功能界面,LoginDialog类用于显示用户登录对话框界面。Bookplate类与LoginDialog类之间有单向关联关系,即Bookplate类中定义的实例变量dialog可以调用LoginDialog类的构造函数,以实现系统登录界面的显示,描述两者之间关系的类图如图所示。

“系统管理”用例设计类图

Bookplate类的方法设计如下:

· main()方法——系统执行的入口点,用于显示系统主功能界面。

· Bookplate()——构造方法,用于设置系统框架(Frame)、标题、菜单、按钮布局、标签等系统组件。

· aetionPerformed()——当用鼠标左键点击各功能按钮时,分别调用各个子功能系统,同时实现生成、显示和隐藏对应的框架的功能。LoginDialog类的方法设计如下:

· LoginDialog()方法——构造方法,用于设置用户登录对话框界面的标题、显示信息区域、设置标签和文本域、生成按钮等功能。

· actionPerformed()——当用鼠标左键点击功能按钮时,处理所触发的事件。· getStatus()——返回按钮的状态值。· getUserID()——返回用户ID。· getPassword()——返回用户口令。

 数据库设计(表略)

图书管理系统课程设计 篇6

引言

随着高等院校规模的不断扩大,高校图书馆的藏书、管理人员、读者的数量也就越来越多,图书管理涉及到大量的数据处理,一个现在化的图书馆根本不可能手工完成的庞大的数据处理。

该毕业设计鉴于管理系统的不断发展,为了减轻人工操作管理图书的负担,提高高校图书管理工作的效率。使用Visual FoxPro6.0(Visual FoxPro 在近几年已成为最常用的小型关系数据库系统。一直被不同层次的程序员用于设计和开发各类管理信息系统或者进行数据库的维护。在Visual FoxPro 6.0的学习和开发过程中体现的特点是易学、高效、功能强大,特别适用于小型数据库的管理和建设。但要掌握和精通编程技巧则需要不断的学习和实践。)为开发工具开发了一个适用于高校的图书管理系统,该系统较完善的实现了不同级别用户所需求的各项图书管理操作。

该毕业设计的学习和实践过程以实用性为目的,特别注意整体的设计和构思,避免了开发过程中不必要的反复修改和添减。程序编写时着重体现编程实用技巧,对系统的安全性,实用性和可维护性都做了较为充分的考虑。为保护个人知识产权,在系统中还添加了产品信息的介绍。

该数据库应用系统的学习、开发和其他的系统开发步骤一样被分为5个部分:开发工具概述,系统的需求分析设计,数据库设计,系统功能实现,系统运行。该论文从对Visual FoxPro 6.0系统开发基础的叙述开始,对整个系统的具体开发设计过程做了详细介绍。并在附录部分附有该系统精华部分的程序编码。

由于水平有限,论文中难免存在错误和不足之处,敬请各位批评和指正。

网络图书管理系统设计 篇7

1.1 网络图书馆的基本特征和功能

网络图书馆的产生和发展是对传统图书馆一个深刻的革命, 它不仅表现为馆藏网络化、操作电脑化, 而且它的信息传递网络化是完全超越传统馆间界线的, 并且网络图书馆要使人们对信息存贮自由化和对资源共享化, 所以网络图书馆的概念是一个比较完整的概念。因此, 网络图书馆的定义应该是:即采用网络化技术, 以统一的标准和规范为基础, 有序地组织网络化信息资源, 形成分布式海量资源库群, 在高质量保存和管理基础上, 用智能检索技术手段, 以宽带高速网络作为传输通道, 为用户提供广域网上高速、横向、跨库连接的电子存取服务系统。网络图书馆是信息工作者以互联网络为平台, 以通信线络为支撑, 以网络信息资源为内容, 对有价值的各种信息资源进行收集、加工、组织所建立起来的能为用户提供高速、快捷、方便的网上信息服务的开放网络资源体系。可见网络图书馆的这个定义相对于传统图书馆是一个崭新的图书馆, 它的产生具有自己独特的特征和功能。

(1) 信息资源的网络化。

信息资源网络化是网络图书馆的基础, 也是它与传统图书馆的最大区别。网络图书馆时代的图书馆非常容易从这些渠道直接获取网络化的信息资源。网络是信息的载体, 信息依附于网络而存在, 离开了信息资源的网络化, 网络图书馆就成了无源之水。

(2) 文献资源的组织标准化和规范化。

它要求在文献资源的组织、检索过程中必须有统一的标准, 所采用的形式要统一规范, 对于图书馆员和用户都要易学易用。网络图书馆不是一个或几个图书馆就能实现, 它需要图书馆界共同努力完成, 因此各个图书馆间的合作就必须有统一的标准, 对信息资源的加工检索行为必须规范, 标准化、规范化是网络图书馆可扩展性的保证。

(3) 信息资源管理的自动化。

网络图书馆与传统图书馆相比, 最根本的区别就是能将文献信息管理全过程收集、整理、加工和传输从传统的手工操作或半自动化完全过渡到自动化、智能化状态。

(4) 信息传递网络化。

网络化和网络二者是不可分的。网络化是以网络为基础的, 没有网络, 信息资源的网络化就没有任何意义。具有大量信息资源的网络图书馆要用网络信息服务于用户, 需要通过以网络为主的信息基础设施来实现的, 没有网络这个信息高速公路, 也就不可能有所谓的“网络地球”。网络图书馆只有通过网络将网络化的信息资源跨时空、开放型、标准化、规范化的传递给用户, 才能在现今社会经济生活中发挥其巨大的作用。

(5) 信息共享化。

信息资源共享化是网络图书馆所具有的又一个基本特点和功能, 也是以往传统图书馆所无法比拟的。因为网络图书馆有了信息资源网络化和信息传递网络化作为坚实的基础, 它对用户的服务方式, 服务手段, 服务的广度和深度以及服务的时效就发生了根本性的变化。网络图书馆可以利用信息共建共享化的优势, 实现图书馆历史上前所未有的跨行业、跨地域、跨国界快捷无障碍的服务。

以上几点是网络图书馆最基本的特点和功能, 也是网络图书馆与传统图书馆根本相区别的地方。

2 网络图书馆设计的相关技术

2.1 JSP技术介绍

JSP (Java Server Pages) 是由S u n Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术, 它是在传统的网页HTML文件中插入Java程序段 (Scriptlet) 和JSP标记 (tag) , 从而形成JSP文件 (*.jsp) 。

用JSP开发的Web应用是跨平台的, 即能在Linux下运行, 也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets, 来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离, 支持可重用的基于组件的设计, 使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时, 首先执行其中的程序段, 然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等, 以实现建立动态网页所需要的功能。

JSP与Java Servlet一样, 是在服务器端执行的, 通常返回该客户端的就是一个HTML文本, 因此客户端只要有浏览器就能浏览。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理, 然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础, 而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用, 完全的面向对象, 具有平台无关性且安全可靠, 主要面向因特网的所有特点。

自JSP推出后, 众多大公司都支持JSP技术的服务器, 如IBM、Oracle、Bea公司等, 所以JSP迅速成为商业应用的服务器端语言。

2.2 Struts技术介绍

Struts是Apache基金会Jakarta项目组的一个Open Source项目, 它采用MVC模式, 能够很好地帮助java开发者利用J2EE开发Web应用。和其他的java架构一样, Struts也是面向对象设计, 将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层, 基于如Java Servlets, JavaBeans, ResourceBundles与XML等标准技术, 以及Jakarta Commons的一些类库。Struts有一组相互协作的类 (组件) 、Serlvet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准, 可以说是一个传统MVC设计模式的一种变化类型。

S t r u t s跟T o m c a t、T u r b i n e等诸多Apache项目一样, 是开源软件, 这是它的一大优点, 使开发者能更深入的了解其内部实现机制。

3 网络图书馆的相关模块概述

在线网络图书馆主要有三个大模块。

(1) 前台。

主要功能包括:用户注册, 用户登录, 图书查找, 排行系统, 主框架。

(2) 后台。

主要功能包括:用户登录, 用户管理, 图书管理, 章节管理, 页面管理。

(3) 数据库设计。

本系统主要使用SqlServer2000。具体有图书表, 章节表, 页面表, 图书类型表, 用户表, 角色表, 权限-角色表等。

4 网络图书馆设计的特点

在线网络图书馆开发环境使用的是MyEclipse 6.5, 数据库为SqlServer2000, 主要采用Jsp技术。框架采用了手写的Struts框架。当中大量采用了JavaScript和AJAX技术对程序进行检测和异步控制。

特点1:当注册用户时, 如果输入用户名, 离开焦点后, 将触发onblur事件, 调用相关的JavaScript, 然后再web.config里找到相应的Servlet, 在Servlet中异步查找是否存在输入的用户名。如果存在返回0, 否则返回1。JavaScript再对返回的数据进行处理, 从而打到异步的验证。其它地方如:图书的阅读, 章节的浏览、翻页, 书籍章节号的插入和页号的插入时都使用了相关的技术。

特点2:本系统采用的连接池技术。

特点3:本系统的数据库的主键统一采用Int型并设置为自增长。这样可以有效的防着由于主键重复时导致插入数据失败的问题。同时也方便了记录的管理。

特点4:采用了Struts作为系统的MVC框架。从而使视图层 (View) , 模型层 (Model) 、和控制层 (Controller) 相互分离, 从而使业务逻辑更加清晰, 可维护性更高。

特点5:页面采用了DIV+CSS (层叠样式表) 对样式进行控制。而且程序中样式表进行了统一的定义, 通过在JSP中加入代码来引入。

特点6:系统统一采用了UTF-8的编码方式, 能够良好的支持中文不出现任何的乱码。

特点7:系统采用了JSTL标签。首先, 使用了JSTL后能够在应用程序和服务器之间提供一致的接口, 最大程度地提高了Web应用在各应用服务器之间的移植, 其次, JSTL简化了JSP和Web应用程序的开发。很多Scriptlet利用JSTL来处理会显得很简单, 再次, 使用了JSTL后, 能够以一种统一的方式减少JSP中的Scriptlet代码的数量, 甚至可以使程序中没有任何Scriptlet代码, 这样的代码显得干净, 整洁, 一目了然。

参考文献

[1]安宏涛.大学图书馆建设评析[J].佳木斯大学社会科学学报, 2007 (4) :24~25.

[2]董颖.关于网络图书馆研究与建设的几个问题[J].现代情报, 2004 (4) :12~14.

[3]范秋英.浅析高校图书馆网络资源的组织与利用[J].科技情报开发与经济, 2007 (5) :22~23.

[4]贺亚锋.Web站点元数据自动生成工具介绍[J].图书馆杂志, 2001 (4) :33~35.

[5]魏欣.高校图书馆网络化建设[J].图书馆工作与研究, 2005 (4) :24~26.

[6]王荣国, 卢朝霞.网络化图书馆文集[J].东北大学出版社, 1999 (7) :46~47.

[7]吴传炉, 李亚尤.网络图书馆信息资源建设探讨[J].现代图书情报技术, 2000 (4) :22~23.

[8]肖明, 沈英.国内外网络图书馆研究现状及未来走向[J].现代图书情报技术, 2000 (6) :25~26.

[9]周蕾.网络时代高校图书馆知识服务的创新[J].内蒙古科技与经济, 2005 (15) :13~1 5.

[10]钟小文.我国图书馆网络信息源建设初探[J].图书馆论坛, 2005 (5) :22~24.

[11]朱强.谈谈网络图书馆的现实条件[J].大学图书馆学报, 2000 (8) :12~13.

ASP网上图书管理系统设计 篇8

关键词:图书管理;ASP;系统统计

网上图书管理系统是典型的MIS管理系统。具有操作简便,界面美观,管理代码化、条码化、标准化等特点,并支持网络远程交换数据,便于统一管理。网上图书管理系统具体优点:

先进的阅览方式:读者可以方便阅览图书资源,并可以对自己喜欢的书目加书签、发表评论等,还可以使用搜索功能对存放位置的书籍检索。

科学的图书馆管理模式:系统采用多种主动推荐方式,客户结合灵活多样的高级检索,能轻松地找到所需要的书籍信息:通过客户意见反馈系统,系统可以随时把握客户的各种新的需求和及时与读者进行网上互动交流:通过完善的信息发布系统,客户可以及时得到图书馆最新动态和新闻,掌握行业动向;后台结构化管理模式,涵盖了栏目设置、图书资料编辑、用户管理、基础信息管理等等,为图书馆的电子化管理提供了一套良好的管理模式。

人性化的操作界面:一个网站,能否吸引顾客的经常光顾,界面的美观也显得非常重要。本系统的设计充分体现图书馆经营者的审美观,更好地展示图书馆独特的个性和特色。

1.系统设计

1.1设计目标

图书管理系统主要提供网上的图书阅览平台,其功能主要包括:

对图书资源进行分类,发布到网上供读者阅读为读者提供图书检索功能;读者能方便地阅览电子图书;读者能建立书鉴;提供读者论坛功能;对读者用户进行用户账号、密码及权限等的管理。

1.2设计思想

实现一个简单的图书管理系统,页面通过ASP脚本程序访问数据库和文件系统。

1.3系统功能分析与设计

登录/注册:若你是第一次访问本系统,则需要先注册一个用户,然后登录才能进入主界面。

权限管理:权限管理包括两个部分:一是对用户的管理,用户注册后系统分配给用户默认级别,二是系统管理员分配给书目的阅读权限级别。两者结合起来,就实现对用户的权限管理。

密码管理:用户注册登录后若有必要,可以修改自己的密码。

图书分类浏览:图书按照其内容进行分类,把相关的类别排列在一起,最深分三级,读者可以按照类别分别查找,逐级浏览,方便迅速找到感兴趣的主题。

图书搜索:在读者阅读目的很明确的情况下,如果知道某本书的书名、作者、出版社等信息或了解其中的某个关键字,就可以利用图书搜索功能。

书评:他人对书的评价往往对阅读有很大的帮助。书评可帮助选择阅读的对象,而且方便读者的交流。图书管理系统为读者提供发表意见的园地、对图书进行打分,同时读者可以对别人的评论发表自己的看法。从而更好地得到读者对某本书的评价和反馈。

书签:若读者对某本书没有看完等原因要经常访问该书,则就可以用书签功能,读者可以把以后还需访问的书目做上书签,以后就能方便地阅读了。

十大热门:读者希望看到最热门的图书,就可以通过系统提供的十大热门选项,快速找到最热门的十大书籍。

管理用户:对于管理员来说,管理用户功能能够方便地显示用户信息,管理员能够对某个用户的注销和注册管理员。

管理书评:管理员可以对需要删除的书评使用删除功能。

管理书目:为了对目录、图书修改的方便,此模块提供管理员对目录的添加与删除、图书的添加与删除功能。

2.数据库设计与实现

2.1数据库的需求分析(如表1所示)

根据系统要求,可以列出以下数据项和数据结构。

用户信息表:存放用户信息,数据项包括用户名称、密码、权限、访问次数等。

书目信息表:存放书目信息,数据项包括书目名称、作者、存放位置、访问级别、所属类别等。

书目类别信息表:对书目的类别以及类别之间的包含关系进行描述,数据项包括书目类别名称、上级类别等。

书评信息表:存放书评信息,数据项包括书评标题、评论者、评论书目、内容、评分、时间等。

书评回复表:存放对评论进行回复的信息,数据项包括作者、内容、时间等。

书签信息表:存放书签信息,数据项包括内容和所属者等。

2.2数据库逻辑设计用户信息表(users)的结构(如表2所示)

根据需求分析,可以列出以下数据项和数据结构。

其中,Name为唯一标识。用户的级别是使用数字来表示的,1表示管理员,从2以上每个数字分别表示一种用户级别,数字越大,用户权限越小。具体的实现方式是通过和书目的阅读权限级别进行比较,例如:某本书的权限是4,那么只有级别为1,2,3和4的用户可以阅读。访问次数是用来对用户权限级别的管理,访问次数增多,级别也增大。例如:用户级别为5,访问次数超100后,他的级别会升为4,同样道理,200次后级别就为3了。依此类推,最大级别就是2了,因为1是管理员。

上一篇:泰国社会与文化下一篇:最初的美好作文800字