摘要:圖書(shū)館管理信息系統(tǒng)在這里分成兩個(gè)子系統(tǒng):圖書(shū)館信息管理系統(tǒng)和圖書(shū)館信息查詢(xún)系統(tǒng),分別用C# Forms和ASP.NET實(shí)現(xiàn)。兩個(gè)子系統(tǒng)分別采用C/S和B/S結(jié)構(gòu)開(kāi)發(fā),保證了此系統(tǒng)的功能的完善和實(shí)用,并盡量降低成本。
關(guān)鍵詞:管理信息系統(tǒng);C# Forms;ASP.NET
中圖分類(lèi)號(hào):TP315文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)25-7081-03
The Design and Development of a Library MIS Research of Web Services
SHI Hui-yu
(Information Engineering Department, NanHang JinCheng College, Nanjing 211156, China)
Abstract: The library management information system is divided into two sub-systems: Library information management system and library information query systems, the two systems is respectively developed by C # Forms and ASP.NET. The development of the two sub-systems are Using C/S and B/S structure, The system ensures the function of the perfect and practical, and as far as possible to reduce costs.
Key words: MIS; C# Forms; ASP.NET
隨著圖書(shū)館的建設(shè)和信息技術(shù)的發(fā)展,圖書(shū)館的信息流量越來(lái)越大,一方面是圖書(shū)館內(nèi)部的信息流動(dòng),如圖書(shū)的信息、磁圖書(shū)館注冊(cè)用戶(hù)信息和借還書(shū)信息,另一方面是讀者需要從圖書(shū)館獲取的信息變大,比如自己的借閱信息、圖書(shū)的信息等。為了能夠更好的管理這些信息,為了給圖書(shū)館工作人員提供一個(gè)更加方便的工作平臺(tái)并為讀者提供更加方便的服務(wù),開(kāi)發(fā)此系統(tǒng)。
此系統(tǒng)基于.NET Framework2.0,開(kāi)發(fā)語(yǔ)言使用C#。
1 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)
由于圖書(shū)館的信息流動(dòng)主要是在圖書(shū)館內(nèi)部和在用戶(hù)和圖書(shū)館之間,而這系統(tǒng)的面向人群分兩大群:圖書(shū)館工作人員和讀者。因此把系統(tǒng)分為兩部分,一部分面向圖書(shū)館工作人員,稱(chēng)為圖書(shū)館信息管理系統(tǒng),另一部分面向讀者等想查詢(xún)圖書(shū)信息的人,稱(chēng)為圖書(shū)館信息查詢(xún)系統(tǒng)。這樣可以保證此系統(tǒng)的功能的完善和實(shí)用,并盡量降低其成本。
1.1 系統(tǒng)總體結(jié)構(gòu)
該系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。圖書(shū)館管理信息系統(tǒng)分為兩個(gè)子系統(tǒng):1) 圖書(shū)館信息管理子系統(tǒng),主要實(shí)現(xiàn)圖書(shū)館工作人員所需的功能;2) 圖書(shū)館信息查詢(xún)子系統(tǒng),主要實(shí)現(xiàn)讀者所需的功能。
1.2 子系統(tǒng)功能
圖書(shū)館信息管理子系統(tǒng)功能結(jié)構(gòu)圖如下所示。主要功能包括用戶(hù)管理、圖書(shū)管理和業(yè)務(wù)管理。用戶(hù)管理包括添加用戶(hù)、用戶(hù)維護(hù)和角色管理;圖書(shū)管理包括添加圖書(shū)、圖書(shū)維護(hù)和罰款處理;業(yè)務(wù)管理包括借書(shū)管理和還書(shū)管理。
圖書(shū)館信息查詢(xún)子系統(tǒng)功能結(jié)構(gòu)圖如下所示。完成的功能主要是圖書(shū)信息查詢(xún)和用戶(hù)縣官功能,包括取回密碼,查詢(xún)/修改個(gè)人資料、查詢(xún)節(jié)約信息和修改密碼。
這樣兩個(gè)系統(tǒng)分別實(shí)現(xiàn)了圖書(shū)館工作人員和讀者所需的功能,并成為一個(gè)完整的系統(tǒng)。
2 系統(tǒng)的實(shí)現(xiàn)
2.1 開(kāi)發(fā)方式的選擇
本系統(tǒng)的兩個(gè)子系統(tǒng)分別采用C/S和B/S兩種結(jié)構(gòu)。
C/S(Client/Server)結(jié)構(gòu)即大家熟知的客戶(hù)機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶(hù)都可以訪(fǎng)問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。
傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開(kāi)放模式,但這只是系統(tǒng)開(kāi)發(fā)一級(jí)的開(kāi)放性,在特定的應(yīng)用中無(wú)論是Client端還是Server端都還需要特定的軟件支持。由于沒(méi)能提供用戶(hù)真正期望的開(kāi)放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開(kāi)發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶(hù)同時(shí)使用。
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶(hù)工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶(hù)端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶(hù)的總體成本(TCO)。
以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪(fǎng)問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪(fǎng)問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全 。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效[1]。
綜上所述,對(duì)于圖書(shū)館管理信息系統(tǒng),圖書(shū)館信息管理子系統(tǒng)的開(kāi)發(fā)比較適合使用C/S模式進(jìn)行開(kāi)發(fā),而圖書(shū)館信息查詢(xún)子系統(tǒng)的開(kāi)發(fā)比較適合使用B/S模式進(jìn)行開(kāi)發(fā)。
2.2 開(kāi)發(fā)工具及相關(guān)技術(shù)
本系統(tǒng)開(kāi)發(fā)使用的開(kāi)發(fā)軟件是Visual Studio 2005和SQLServer2005。
Visual Studio 2005是微軟公司出品的一個(gè)集成開(kāi)發(fā)環(huán)境。在這個(gè)環(huán)境里可以開(kāi)發(fā)windows窗體程序,也可以開(kāi)發(fā)網(wǎng)站。無(wú)論是開(kāi)發(fā)windows窗體程序還是開(kāi)發(fā)網(wǎng)站,都要用到.NET Framework。它由三個(gè)主要部分組成:1) 公共語(yǔ)言運(yùn)行庫(kù);2) 統(tǒng)一編程類(lèi);3) ASP.NET。
在本系統(tǒng)中用到了windows窗體技術(shù)和ASP.NET技術(shù)。
SQLServer2005是微軟出品的一個(gè)關(guān)系型數(shù)據(jù)庫(kù)的管理軟件,通過(guò)它可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行可視化管理[2]。
2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
這個(gè)系統(tǒng)中存在三個(gè)實(shí)體:管理員、讀者和圖書(shū)。
讀者的基本屬性:用戶(hù)編號(hào)、用戶(hù)姓名、證件號(hào)、生日、密碼、性別、工作、電話(huà)號(hào)碼、電子郵件、欠款、備注。
圖書(shū)的基本屬性:圖書(shū)編號(hào)、書(shū)名、叢書(shū)名、作者、出版社、主題、ISBN號(hào)、索引號(hào)、載體信息、所在書(shū)架、可借情況、圖書(shū)狀態(tài)、中圖分類(lèi)法分類(lèi)號(hào)、備注。
管理員的基本屬性:管理員編號(hào)、管理員名字、密碼、提示信息。
這些屬性在具體設(shè)計(jì)中有所擴(kuò)展,這里只是列出了較為重要的項(xiàng)。
注意:每本圖書(shū)的圖書(shū)編號(hào)是唯一的。
設(shè)計(jì)了如下幾張表:
DBBooks表:存放書(shū)籍信息;
DBUser表:存放讀者信息;
DBLaw表:存放讀者規(guī)則;
DBLen表:存放借還書(shū)信息;
DBAdmin表:存放管理員信息。
其中表DBAdmin表只在圖書(shū)館信息管理系統(tǒng)中使用。
數(shù)據(jù)庫(kù)中表的關(guān)系:
DBAdmin表與其他表沒(méi)有關(guān)系;
DBUser表中,UserLaw依賴(lài)于DBLaw表中的UserType;
DBBooks表中UserLen、OutDay、BackDay分別依賴(lài)于DBLen表中的UserNum、LenDate、BackDate;
DBLen表中UserNum依賴(lài)于DBUser表中的UserNo,BookNum依賴(lài)于DBBooks表中的BukNum。
2.4 數(shù)據(jù)訪(fǎng)問(wèn)技術(shù)
ADO.NET 對(duì) Microsoft SQL Server 和 XML 等數(shù)據(jù)源以及通過(guò) OLE DB 和 XML 公開(kāi)的數(shù)據(jù)源提供一致的訪(fǎng)問(wèn)。數(shù)據(jù)共享使用者應(yīng)用程序可以使用 ADO.NET 來(lái)連接到這些數(shù)據(jù)源,并檢索、處理和更新所包含的數(shù)據(jù)。
ADO.NET 通過(guò)數(shù)據(jù)處理將數(shù)據(jù)訪(fǎng)問(wèn)分解為多個(gè)可以單獨(dú)使用或一前一后使用的不連續(xù)組件。ADO.NET 包含用于連接到數(shù)據(jù)庫(kù)、執(zhí)行命令和檢索結(jié)果的 .NET Framework 數(shù)據(jù)提供程序。您可以直接處理檢索到的結(jié)果,或?qū)⑵浞湃?ADO.NET DataSet 對(duì)象,以便與來(lái)自多個(gè)源的數(shù)據(jù)或在層之間進(jìn)行遠(yuǎn)程處理的數(shù)據(jù)組合在一起,以特殊方式向用戶(hù)公開(kāi)。ADO.NET DataSet 對(duì)象也可以獨(dú)立于 .NET Framework 數(shù)據(jù)提供程序使用,以管理應(yīng)用程序本地的數(shù)據(jù)或源自 XML 的數(shù)據(jù)[4]。
在本系統(tǒng)中,一般的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)操作如下:
SqlConnection con = new SqlConnection(ConnectionString);
con.Open();
SqlCommand inseert = new SqlCommand(SqlCommond, (SqlConnection)con);
try
{int inda = inseert.ExecuteNonQuery();
/*此方法的返回值為int型,返回SQL語(yǔ)句影響的行數(shù)。*/
}
catch (System.Exception ex)
{ System.Windows.Forms.MessageBox.
Show(ex.Message); }
finally
{ con.Close();}
3 結(jié)束語(yǔ)
本文討論了圖書(shū)館管理信息系統(tǒng)的的設(shè)計(jì)與開(kāi)發(fā)。文中把系統(tǒng)分為兩部分:圖書(shū)館信息管理系統(tǒng)和圖書(shū)館信息查詢(xún)系統(tǒng),并分別采用C/S和B/S兩種開(kāi)發(fā)方式實(shí)現(xiàn)。這樣能夠方便讀者察看個(gè)人信息和圖書(shū)信息,也方便圖書(shū)館管理人員對(duì)讀者信息和圖書(shū)信息的管理,提高日常工作效率。對(duì)圖書(shū)館的建設(shè)也起到積極作用。
參考文獻(xiàn):
[1] ITPUB論壇.B/S結(jié)構(gòu)簡(jiǎn)介及與C/S結(jié)構(gòu)的區(qū)別[EB/OL].http://tech.it168.com/a2009/0115/263/000000263115.shtml.
[2] Hurwitz D,Liberty J.Programming ASP.NET[M].3rd ed.USA:O'Reilly,2005.
[3] ADO.NET概述[EB/OL].http://msdn.microsoft.com/zh-cn/library/h43ks021(VS.80).aspx.
[4] 黃海,林超.ASP.NET 2.0全程指南[M].北京:電子工業(yè)出版社,2008.