王 瑜
(安徽廣播電視大學(xué),安徽 合肥 230022)
隨著大型圖書館的建設(shè)和圖書數(shù)量的增加,更多的人選擇到圖書館借閱圖書,隨著圖書館的業(yè)務(wù)量不斷提高,信息流量也越來越大。從而,利用信息技術(shù)手段科學(xué)有效地管理圖書資源,為讀者提供快捷便利地圖書借閱,歸還和信息查詢等圖書管理服務(wù)已成為一項(xiàng)重要的工程研究課題。目前,雖然很多圖書館都使用了圖書館管理系統(tǒng),給圖書館工作人員提供一個(gè)更加方便的工作平臺(tái),也為讀者提供更加方便的服務(wù)。但是,因各個(gè)圖書館實(shí)際業(yè)務(wù)需求不同,按照統(tǒng)一模式對不同單位實(shí)施以往有限功能的圖書館管理系統(tǒng),容易導(dǎo)致系統(tǒng)的實(shí)用性和有效性等諸多問題。因此,我們根據(jù)圖書館實(shí)際的業(yè)務(wù)需要,開發(fā)了一種功能較新的圖書館管理系統(tǒng)。
傳統(tǒng)的C/S(客戶/服務(wù)器)結(jié)構(gòu)將軟件的功能分兩端執(zhí)行:客戶端和服務(wù)器端,服務(wù)器為訪問者提供數(shù)據(jù)服務(wù),而客戶程序用于處理和分析從服務(wù)器接收的數(shù)據(jù),這些數(shù)據(jù)只占總數(shù)據(jù)中很小的一部分,減少網(wǎng)絡(luò)中的數(shù)據(jù)流量,提高了系統(tǒng)的性能。但是,隨著軟件復(fù)雜度的提高和數(shù)據(jù)庫規(guī)模的加大,C/S體系結(jié)構(gòu)暴露出很多缺點(diǎn),如服務(wù)器機(jī)的負(fù)荷太重,數(shù)據(jù)安全性低等。B/S[1]56-66(瀏覽器/服務(wù)器)結(jié)構(gòu)是在傳統(tǒng)的C/S結(jié)構(gòu)的基礎(chǔ)上發(fā)展起來的一種三層C/S結(jié)構(gòu):瀏覽器/WEB服務(wù)器/數(shù)據(jù)庫服務(wù)器,它有效地將C/S結(jié)構(gòu)中服務(wù)器的壓力分解,既保證了功能的透明又實(shí)現(xiàn)了邏輯的獨(dú)立,并且通過隔離程序和數(shù)據(jù)提高了數(shù)據(jù)的安全性。
.NET[2]2-5是微軟推出的一種開發(fā)平臺(tái),它由龐大的技術(shù)體系構(gòu)成:
(1)WindowsForms技術(shù),可視化程序設(shè)計(jì),主要用來開發(fā)Windows應(yīng)用程序。
(2)ASP.NET技術(shù),主要用來設(shè)計(jì)和開發(fā)網(wǎng)站。
(3)WebService技術(shù),主要用來開發(fā)基于互聯(lián)網(wǎng)的Web服務(wù)。
(4)移動(dòng)設(shè)備開發(fā)技術(shù),主要用來開發(fā)手機(jī)等移動(dòng)設(shè)備的軟件和服務(wù)。
.NET Framework是.NET的基礎(chǔ)架構(gòu),它是Microsoft為開發(fā)應(yīng)用程序而創(chuàng)建的一個(gè)富有革命性的新平臺(tái)。C#[2]2-5語言是專門為.NET應(yīng)用而開發(fā)出的語言,語法上與C++類似,它從根本上保證了C#與.NET框架的完美結(jié)合。在.NET運(yùn)行庫的支持下,.NET框架的各種優(yōu)點(diǎn)在C#中表現(xiàn)得淋漓盡致。
SQL Server[3]8-9是微軟公司推出的基于客戶機(jī)/服務(wù)器的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),使用Transact-SQL語句在客戶機(jī)和服務(wù)器之間傳送請求和應(yīng)答。SQL Server可在是Windows NT、Windows 2000 Server等多種操作系統(tǒng)環(huán)境下運(yùn)行,方便了用戶開發(fā)程序和管理數(shù)據(jù)庫。SQL Server使用客戶機(jī)/服務(wù)器結(jié)構(gòu)把工作負(fù)荷分解成分別在服務(wù)器上和客戶機(jī)上執(zhí)行的任務(wù),當(dāng)然它也支持 B/S軟件的運(yùn)行。SQL Server使用了先進(jìn)的數(shù)據(jù)庫結(jié)構(gòu),提供強(qiáng)大的Web服務(wù)功能,通過高端硬件設(shè)備和新的網(wǎng)絡(luò)存儲(chǔ)方法,從而能夠?yàn)槠髽I(yè)和用戶提供優(yōu)良的數(shù)據(jù)擴(kuò)展性,同時(shí)還提高了數(shù)據(jù)存儲(chǔ)的安全性。
根據(jù)圖書館的業(yè)務(wù)需求,該圖書館管理系統(tǒng)實(shí)現(xiàn)以下功能:
(1)用戶角色:讀者、管理員;
(2)讀者功能:搜索圖書、查詢個(gè)人借閱記錄、預(yù)約借書;
(3)管理員功能:管理圖書(管理類別、登記新進(jìn)書信息)、登記讀者借書、登記讀者還書、查詢圖書借閱記錄、查詢讀者借閱記錄、延長借閱時(shí)間;
(4)其他功能:注銷借閱預(yù)登記信息、短消息通知讀者還書。
圖1 系統(tǒng)功能模塊
讀者可通過兩種方式進(jìn)行借閱:
(1)預(yù)先登錄系統(tǒng),搜索到要借的書進(jìn)行借閱預(yù)登記,再到圖書館中辦理借閱手續(xù);管理員登錄系統(tǒng)后,根據(jù)讀者賬號找到預(yù)借閱信息,執(zhí)行借閱操作。
(2)直接到圖書館借書,管理員登錄系統(tǒng),搜索讀者需要借閱的書,輸入讀者的賬號和借閱時(shí)間等信息,執(zhí)行借閱操作。
系統(tǒng)根據(jù)讀者的借閱預(yù)登記的時(shí)間信息,自動(dòng)注銷預(yù)登記信息;同時(shí)系統(tǒng)根據(jù)讀者借閱的時(shí)間信息,給讀者發(fā)送短消息以提醒歸還。
表1 圖書信息表
表2 借閱信息表
假設(shè)讀者已經(jīng)事先完成借閱預(yù)登記,進(jìn)行實(shí)際借閱的工作流程圖(如圖2).
圖2 圖書借閱程序流程圖
根據(jù)以上流程所示,給出管理員確認(rèn)借出圖書的C#程序代碼:
/// <summary>
/// 借閱
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{ //建立數(shù)據(jù)庫連接
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
{ //執(zhí)行更新命令
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>");
}
}
在分析了傳統(tǒng)圖書館管理信息系統(tǒng)功能上存在不足的基礎(chǔ)上,提出了一種包含用戶自動(dòng)預(yù)約圖書功能特點(diǎn)的新型圖書館管理系統(tǒng),并通過.net技術(shù)實(shí)現(xiàn)了系統(tǒng)的功能模塊。該系統(tǒng)的實(shí)現(xiàn)簡化了圖書館管理員的操作流程,提高了圖書管理的工作效率。下一步我們將進(jìn)一步分析目前圖書館管理工作的新需求,開發(fā)出能夠滿足各種讀者和管理員需求的圖書館管理信息系統(tǒng)。
[1]張友生.軟件體系結(jié)構(gòu):第2版[M].北京:清華大學(xué)出版社,2006.
[2]曾文權(quán),周文瓊,陶南,盧淑萍.VisualC#.NET程序設(shè)計(jì)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2008.
[3]于松濤.SQL Server 2000系統(tǒng)管理與開發(fā)指南[M].北京:人民郵電出版社,2006.