图书馆自习室自动排座系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图书馆自习室自动排座系统

范红月

(大连海事大学图书馆 辽宁大连116026)

文 摘 设计和实现了一套新颖的图书馆自动排座系统,以解决图书馆自习室的座位分配问

题。首先对自动排坐系统的功能需求进行了分析,然后介绍了系统的关键技术及其实现方法,重点介绍了“轮询”机制及其算法实现。关键词 图书馆 自习室 自动排座

Automa ti c Sea ti n g Arrange m en t Syste m for Self -Study i n g Room i n L i brary

Fan Hongyue

(L ibrary of Dalian Mariti m e University,Dalian L iaoning 116026)

Abstract:I n this paper,a aut omatic seating arrange ment syste m has been p r oposed t o s olve the p r oble m of seating arrange ment in self -studying r oom.Firstly,functi onal require ments of the sys 2te m have been analyzed .Then,the key technol ogies and its i m p le ment methods have been intr o 2duced .The “poll ”sche me and its algorith m are particularly br ought f or ward .Key words:L ibrary,Self -study r oom ,Aut omatic seating arrange ment

高校图书馆自习室受到广大学生的青睐,利用率非常高。笔者在与韩国海洋大学图书馆的交流中了解到,该图书馆自习室设有座位分配机。通过该机,学生可以方便地查询座位使用情况,快速找到空余的座位,避免了来回找座对其它同学的影响。

目前很多高校已经建立了校园一卡通系统,并且与图书馆自动化系统实现了互联,读者在图书馆

可以使用校园卡自动完成身份登记、借还书等各种业务。在此条件之下,本文设计和实现了一个图书馆自习室自动排座系统。

1 自动排座系统设计

系统由终端机及自动排座软件组成,终端机带有触摸屏和读卡器,通过网卡与图书馆自动化系统相连,如图1所示

图1 自动排座系统数据连接结构图

84图书馆杂志(L ibrary Journal ) 2008年第9期(Vol .27.No .9)

使用时,用户只需将校园卡贴近读卡器,系统即通过图书馆自动化系统与“一卡通”中心数据库进行连接;在验证了用户的信息后,进入选座界面;系统提供直观的人机界面,用户从屏幕上可以直接了解到各自习室的座位使用情况,如果发现有空余的座位,就可以通过触摸屏在界面中直接选取座位;最后根据系统的提示快速到达自己选定的座位,整个过程只需要几分钟的时间。自动排座软件系统的主要功能包括:

选座功能:通过软件提供的选座界面,用户可以快速察看自习室的座位使用情况并选定自己的座位。选定座位后,系统会提示到达座位的路径,方便用户到达,并减少对其他用户的影响。

座位轮询功能:在系统空闲状态下,系统会定时检查各自习室的座位情况,以更新显示界面。在自习室的入口设有读卡器,自习的同学进入和退出自习室都需要刷卡。当用户退出时可以选择取消或保留座位。如果选择保留座位,则系统自动为该座位计算闲置时间,若闲置时间超过半小时,系统自动取消用户对该座位的使用权,杜绝了占座的现象。

座位管理功能:系统具有座位管理的功能,每天开馆时自动将所有座位状态设置为空闲,自习的同学可以按顺序自由的选择自己的座位。当某些自习室有特殊原因不能开放时,系统管理员还可以通过座位管理功能将该自习室或特定的座位设置成不可用状态,避免同学因选择了不可用的座位而影响其自习。

数据分析功能:系统包含一个独立的数据库,用于记录自习室座位的使用情况。管理员可以通过系统的数据分析功能,方便的察看自习室各时间段的使用情况,并能进行统计和分析。通过这些统计和分析的结果,可以对图书馆的管理和改造提供有益的参考。

2 自动排座系统软件实现

本文设计的自动排座系统软件,使用C++语言,在环境下开发完成。软件设计按照面向对象程序设计方法进行,根据功能和需求进行模块划分。每个模块由独立的类实现,系统具有极高的可扩展性和可重用性。下面分别介绍软件系统的几个关键问题及其实现方法。

首先是数据库的选择。目前我馆共有自习室5个,总共座位数为300个,数据量非常小。因此本文选用了免费的ACCESS数据库,采用ADO(ActiveX Data Object)方式对数据进行操作。

座位被设计成一个独立的类,包含了座位的属性,以及对这些属性的操作。座位的属性包括:状态属性:保存座位的状态,包括空闲状态、使用状态、不可用状态。不可用状态主要是自习室有特殊用途而不能提供给用户时使用。管理员拥有将座椅设置成不可用状态的权限。

位置属性:保存座位的行号和列号。

用户I D属性:用于保存座位当前使用者的I D。

使用时间属性:用于保存座位当前使用者的使用时间。

闲置时间属性:用于保存座位当前使用者的闲置时间。

禁用I D属性:用于保存当前座位禁止使用者的I D。

自习室类是软件系统的核心类,由座位数量属性、与之相对应数量的座位对象及相关操作函数构成。最主要的函数是房间扫描函数:RoomScan(),其伪代码如下:

对自习室的每个座位:

读取其状态属性;

I F(状态==空闲||状态==不可用)

继续;

E LSE I F(状态==使用)

读取其闲置时间属性;

I F(闲置时间>30分钟)

将座位状态设置为空闲状态;

并将禁止使用者的I D设置为当前使用者的I D;

结束。

自习室类拥有的其他函数包括:座椅状态设置函数,可以一次性设置全部座椅的状态,也可以单独设置某个座椅的状态;自习室使用情况函数,可以返回自习室当前的使用情况信息;数据保存函数,用于将座椅的使用信息保存到数据库中。

主功能类主要包括人机界面、数据库操作和一个轮循函数。轮循函数采用定时器实现。其主要功能是在每个定时周期中遍历全部自习室RoomScan 函数,以更新人机界面的显示。由于定时器是W in2 dows系统的低优先级消息,当用户进行操作时,该消息不被响应,因此不会影响用户的操作。

选座界面模仿航空公司的自助值机界面完成,如图2所示。简单、直观、易用性强。

(下转第61页)

94

范红月:图书馆自习室自动排座系统

相关文档
最新文档