基于.NET技术的图书馆管理系统的设计与实现

2010-01-22 07:04
邯郸学院学报 2010年3期
关键词:管理员管理系统服务器

王 瑜

(安徽广播电视大学,安徽 合肥 230022)

1 引言

随着大型图书馆的建设和图书数量的增加,更多的人选择到图书馆借阅图书,随着图书馆的业务量不断提高,信息流量也越来越大。从而,利用信息技术手段科学有效地管理图书资源,为读者提供快捷便利地图书借阅,归还和信息查询等图书管理服务已成为一项重要的工程研究课题。目前,虽然很多图书馆都使用了图书馆管理系统,给图书馆工作人员提供一个更加方便的工作平台,也为读者提供更加方便的服务。但是,因各个图书馆实际业务需求不同,按照统一模式对不同单位实施以往有限功能的图书馆管理系统,容易导致系统的实用性和有效性等诸多问题。因此,我们根据图书馆实际的业务需要,开发了一种功能较新的图书馆管理系统。

2 系统相关技术

2.1 B/S软件结构

传统的C/S(客户/服务器)结构将软件的功能分两端执行:客户端和服务器端,服务器为访问者提供数据服务,而客户程序用于处理和分析从服务器接收的数据,这些数据只占总数据中很小的一部分,减少网络中的数据流量,提高了系统的性能。但是,随着软件复杂度的提高和数据库规模的加大,C/S体系结构暴露出很多缺点,如服务器机的负荷太重,数据安全性低等。B/S[1]56-66(浏览器/服务器)结构是在传统的C/S结构的基础上发展起来的一种三层C/S结构:浏览器/WEB服务器/数据库服务器,它有效地将C/S结构中服务器的压力分解,既保证了功能的透明又实现了逻辑的独立,并且通过隔离程序和数据提高了数据的安全性。

2.2 .NET技术

.NET[2]2-5是微软推出的一种开发平台,它由庞大的技术体系构成:

(1)WindowsForms技术,可视化程序设计,主要用来开发Windows应用程序。

(2)ASP.NET技术,主要用来设计和开发网站。

(3)WebService技术,主要用来开发基于互联网的Web服务。

(4)移动设备开发技术,主要用来开发手机等移动设备的软件和服务。

.NET Framework是.NET的基础架构,它是Microsoft为开发应用程序而创建的一个富有革命性的新平台。C#[2]2-5语言是专门为.NET应用而开发出的语言,语法上与C++类似,它从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。

2.3 SQL SERVER

SQL Server[3]8-9是微软公司推出的基于客户机/服务器的关系型数据库管理系统,使用Transact-SQL语句在客户机和服务器之间传送请求和应答。SQL Server可在是Windows NT、Windows 2000 Server等多种操作系统环境下运行,方便了用户开发程序和管理数据库。SQL Server使用客户机/服务器结构把工作负荷分解成分别在服务器上和客户机上执行的任务,当然它也支持 B/S软件的运行。SQL Server使用了先进的数据库结构,提供强大的Web服务功能,通过高端硬件设备和新的网络存储方法,从而能够为企业和用户提供优良的数据扩展性,同时还提高了数据存储的安全性。

3 系统设计

3.1 功能需求

根据图书馆的业务需求,该图书馆管理系统实现以下功能:

(1)用户角色:读者、管理员;

(2)读者功能:搜索图书、查询个人借阅记录、预约借书;

(3)管理员功能:管理图书(管理类别、登记新进书信息)、登记读者借书、登记读者还书、查询图书借阅记录、查询读者借阅记录、延长借阅时间;

(4)其他功能:注销借阅预登记信息、短消息通知读者还书。

3.2 模块设计

图1 系统功能模块

读者可通过两种方式进行借阅:

(1)预先登录系统,搜索到要借的书进行借阅预登记,再到图书馆中办理借阅手续;管理员登录系统后,根据读者账号找到预借阅信息,执行借阅操作。

(2)直接到图书馆借书,管理员登录系统,搜索读者需要借阅的书,输入读者的账号和借阅时间等信息,执行借阅操作。

系统根据读者的借阅预登记的时间信息,自动注销预登记信息;同时系统根据读者借阅的时间信息,给读者发送短消息以提醒归还。

4 管理员借出图书模块说明

4.1 关键数据表设计

表1 图书信息表

表2 借阅信息表

4.2 程序流程

假设读者已经事先完成借阅预登记,进行实际借阅的工作流程图(如图2).

图2 图书借阅程序流程图

4.3 部分代码实现

根据以上流程所示,给出管理员确认借出图书的C#程序代码:

/// <summary>

/// 借阅

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void btnSave_Click(object sender, EventArgs e)

{ //建立数据库连接

ConnSql conn = new ConnSql();

//组合更新借阅的SQL语句

string strUpdate = string.Format("update jieyue set bookID='{0}',amount='{1}',borrowtime='{2}',

returntime='{3}',isReturn=0,Reserve=1 where id={4}",

txtBookName.Text, txtAmount.Text, txtBorrowtime.Text,

txtReturntime.Text, Session["AID"]. ToString());

int intValue;

try

{ //执行更新命令

intValue=conn.ExecuteNonQuery(strUpdate);

if (intValue>0)

Response.Write("<script>alert('借阅成功!')</script>");

else

Response.Write("<script>alert('借阅失败!')</script>");

}

catch (Exception er)

{

Response.Write("<script>alert('借阅失败!')</script>");

}

}

5 结论

在分析了传统图书馆管理信息系统功能上存在不足的基础上,提出了一种包含用户自动预约图书功能特点的新型图书馆管理系统,并通过.net技术实现了系统的功能模块。该系统的实现简化了图书馆管理员的操作流程,提高了图书管理的工作效率。下一步我们将进一步分析目前图书馆管理工作的新需求,开发出能够满足各种读者和管理员需求的图书馆管理信息系统。

[1]张友生.软件体系结构:第2版[M].北京:清华大学出版社,2006.

[2]曾文权,周文琼,陶南,卢淑萍.VisualC#.NET程序设计基础[M].西安:西安电子科技大学出版社,2008.

[3]于松涛.SQL Server 2000系统管理与开发指南[M].北京:人民邮电出版社,2006.

猜你喜欢
管理员管理系统服务器
基于James的院内邮件管理系统的实现
我是小小午餐管理员
我是图书管理员
我是图书管理员
可疑的管理员
通信控制服务器(CCS)维护终端的设计与实现
基于LED联动显示的违停管理系统
海盾压载水管理系统
中国服务器市场份额出炉
得形忘意的服务器标准