版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于C#語言的winform圖書管理系統(tǒng)設(shè)計與實(shí)現(xiàn)目錄TOC\o"1-3"\h\u786目錄115822摘要32238Abstract332755第一章引言4301961.1課題研究背景456311.2研究目的及意義4125151.3課題研究內(nèi)容5111631.4課題研究綜述6255951.4.1國內(nèi)外研究現(xiàn)狀6248841.4.2圖書管理系統(tǒng)的發(fā)展方向622186第二章系統(tǒng)開發(fā)相關(guān)技術(shù)研究7200542.1軟件體系結(jié)構(gòu)7166032.1.1C/S結(jié)構(gòu)7306232.1.2B/S結(jié)構(gòu)860272.2.NET技術(shù)概述9239462.2.1.NET框架107582.2.2Winform介紹11129042.2.3C#與.NET的關(guān)系12294732.3VisualStudio簡介12310342.4SQLServer數(shù)據(jù)庫概述1211730第三章系統(tǒng)的需求分析1372473.1可行性需求分析13187453.2性能需求分析14168453.3用戶需求分析14247793.3.1需求概述1455223.3.2用例模型15322973.4系統(tǒng)非功能性需求17151213.4.1可用性18158773.4.2可維護(hù)性18284333.4.3可擴(kuò)展性18146913.4.4容錯性1824703第四章系統(tǒng)設(shè)計19157814.1總體設(shè)計19165604.1.1系統(tǒng)角色設(shè)計19292574.1.2功能模塊總體設(shè)計19201614.2詳細(xì)設(shè)計21167054.2.1用戶登錄模塊21325094.2.2系統(tǒng)管理模塊23161954.2.3圖書管理模塊2498414.2.4讀者管理模塊25316364.2.5圖書借閱管理模塊2651394.2.6查詢圖書信息模塊2769274.3數(shù)據(jù)庫設(shè)計2731084.3.1概念結(jié)構(gòu)設(shè)計27327024.3.2邏輯結(jié)構(gòu)設(shè)計285209第五章系統(tǒng)主要功能的實(shí)現(xiàn)31270475.1用戶登錄模塊3143655.2查詢圖書模塊33171195.3讀者管理模塊3670525.4圖書管理模塊37216405.5借閱管理模塊4030781第六章總結(jié)與展望4466746.1總結(jié)44253196.2展望4515832參考文獻(xiàn)452917致謝46摘要隨著科學(xué)技術(shù)的進(jìn)步和計算機(jī)行業(yè)的快速發(fā)展,人們的工作效率顯著提高。計算機(jī)信息處理系統(tǒng)的引進(jìn)已經(jīng)徹底改變了許多系統(tǒng)的經(jīng)營管理方式。高校圖書館作為一種信息資源的集散地,存在圖書借閱頻繁、用戶管理多變等問題。從圖書信息管理和圖書用戶來設(shè)計,充分實(shí)現(xiàn)高校圖書信息的系統(tǒng)管理,是當(dāng)前高校圖書信息管理系統(tǒng)設(shè)計與開發(fā)的必然趨勢。圖書管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫建立和維護(hù),以及前端應(yīng)用程序的開發(fā)兩個方面。前者要求建立數(shù)據(jù)一致和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。后者要求應(yīng)用程序功能完備,容易使用等特點(diǎn)。本系統(tǒng)使用Winform窗體進(jìn)行界面設(shè)計,結(jié)合圖書館的要求,對SQLServer數(shù)據(jù)庫、SQL語言原理、C#語言的Winform應(yīng)用程序設(shè)計,數(shù)據(jù)庫技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用。主要完成對圖書管理系統(tǒng)的需求分析、詳細(xì)設(shè)計、數(shù)據(jù)庫模式分析,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)構(gòu)證明,所設(shè)計的圖書管理系統(tǒng)可以滿足系統(tǒng)管理員、圖書管理員、讀者管理員和讀者對系統(tǒng)的需要。當(dāng)本系統(tǒng)投入實(shí)際使用后,即可提高日常的工作效率,使得人力資源大大減少,把管理員從繁瑣的工作中釋放出來。在論文的最后,總結(jié)了本文的工作內(nèi)容,并對接下來的工作進(jìn)行展望。關(guān)鍵字:.NET;C#;SQLServer數(shù)據(jù)庫;圖書管理系統(tǒng);Winform應(yīng)用程序開發(fā)Abstract第一章引言1.1課題研究背景隨著高等學(xué)校招生規(guī)模的不斷擴(kuò)大,高校信息化建設(shè)在高校管理和服務(wù)中顯得極為緊迫和必要。高校信息化建設(shè)主要為教育管理、教學(xué)管理、圖書管理、財務(wù)管理、后勤服務(wù)管理等。圖書信息化管理已成為高校信息化建設(shè)的重要組成部分,無論是中等職業(yè)學(xué)校、高等職業(yè)學(xué)校,還是普通高等學(xué)校都建設(shè)起了大小不同的圖書館或是資料室,但由于各個學(xué)校的信息化程度不一樣,絕大多數(shù)學(xué)校的圖書管理系統(tǒng)不盡人意,如無法預(yù)約借閱、網(wǎng)上查詢等,這就導(dǎo)致有借閱者為了借閱某本圖書,而查閱了多個圖書管理庫,浪費(fèi)了大量時間以及精力。圖書館作為人類知識的寶庫,為人類知識的積累和傳播發(fā)揮重要作用。圖書館是用科學(xué)的方法搜集、整理、保管、傳播以及利用資料,為一定的經(jīng)濟(jì)、政治服務(wù)的科學(xué)、文化、教育機(jī)構(gòu)。隨著信息科學(xué)的迅猛發(fā)展,信息化徹底改變了圖書館工作人員傳統(tǒng)的工作方法,計算機(jī)已成為圖書館館員的工作工具。目前很多大型的圖書館已經(jīng)有一整套比較完整的信息管理系統(tǒng),但大多圖書管理系統(tǒng)都是比較常見C/S的體系結(jié)構(gòu)軟件,這種結(jié)構(gòu)的軟件對于小型圖書館比較適用,而對大型一些的圖書館,特別是校園網(wǎng)上的應(yīng)用,就遇到了許多問題,如客戶端安裝維護(hù)問題、系統(tǒng)反應(yīng)慢。1.2研究目的及意義科技高速發(fā)展,計算機(jī)的價格已經(jīng)普遍較為低廉。但是其性能卻有了很大的提高。如今在各個高校都配備了許多電腦,老師和學(xué)生都具備一定程度的電腦知識。在學(xué)校的學(xué)習(xí)和辦公中計算機(jī)被廣泛的應(yīng)用。能得到如此廣泛應(yīng)用主要是由于以下幾個方面的原因:計算機(jī)的運(yùn)算速度非???,可以比人力資源帶來更大效率;計算機(jī)可以為學(xué)校在各個方面借閱各種資源;計算機(jī)的應(yīng)用可以使教職工的工作效率大大提高;計算機(jī)在安全性方面也有一定的保障。本論文旨在通過對圖書信息管理系統(tǒng)構(gòu)建相關(guān)理論的系統(tǒng)研究,結(jié)合高校信息化建設(shè)的實(shí)際情況,建立一個先進(jìn)、靈活的圖書信息管理系統(tǒng),為高校師生服務(wù),促進(jìn)我國高校信息化建設(shè)水平邁上新的臺階。其研究的意義在于:圖書信息管理系統(tǒng)的實(shí)施,管理人員可以實(shí)時統(tǒng)計圖書庫存、借閱狀況等,同時可以提高圖書館工作人員的總體素質(zhì)和管理水平??傊瑲w納起來的優(yōu)點(diǎn):用數(shù)字的形式來記錄和存儲學(xué)校的圖書和電子資源的信息,包括圖書、讀者、還有借閱信息。使得更安全和高效大大減少了人力資源的浪費(fèi),只需要為數(shù)不多的幾個管理員就可以完成傳統(tǒng)需要很多人才能完成的工作量;查詢的效率大大得到提高,管理系統(tǒng)可以為在校的老師和學(xué)生提供多樣化的查詢手段,來實(shí)現(xiàn)方便和快捷的查詢讀者所需要的各種資源情況。綜上所述,為了更好的服務(wù)廣大讀者,提高效率節(jié)約資源,在現(xiàn)行的人工流程的上開發(fā)圖書管理系統(tǒng),來滿足當(dāng)前圖書管理的要求,提升工作效率。本研究的主要目的是設(shè)計和實(shí)現(xiàn)一個具有一定實(shí)用意義的圖書館管理平臺。1.3課題研究內(nèi)容結(jié)合國內(nèi)外對圖書信息管理系統(tǒng)的建設(shè)以及軟件開發(fā)思想的研究情況,開發(fā)出C/S模式的高校圖書信息管理系統(tǒng)。主要工作為通過對現(xiàn)有圖書信息管理系統(tǒng)建設(shè)情況的研究,分析現(xiàn)有高校圖書信息管理系統(tǒng)存在的不足。對現(xiàn)有軟件開發(fā)技術(shù)的研究,搭建起高校圖書信息管理系統(tǒng)的開發(fā)環(huán)境。通過對高校圖書信息管理系統(tǒng)的需求分析,采用.NET技術(shù),設(shè)計與開發(fā)出了先進(jìn)的高校圖書信息管理系統(tǒng)。具體為以下:1)綜述高校圖書管理中存在的問題以及信息化建設(shè)研究現(xiàn)狀,并對基于C/S模式開發(fā)的網(wǎng)絡(luò)圖書管理信息系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行了簡單論述,闡明基本開發(fā)路線。2)完成圖書管理信息系統(tǒng)的需求分析。分析中將具體模塊進(jìn)行細(xì)分,利用結(jié)構(gòu)化分析方法獲取了系統(tǒng)主要功能模塊需求以及主要的數(shù)據(jù)流程,按照軟件需求規(guī)格說明書的要求對系統(tǒng)需求分析進(jìn)行了整理,著重從系統(tǒng)功能需求、性能需求、數(shù)據(jù)流圖以及系統(tǒng)設(shè)計要求等要素,給出了主要分析過程。3)完成高校圖書管理信息系統(tǒng)的總體結(jié)構(gòu)設(shè)計與詳細(xì)設(shè)計。對系統(tǒng)各用戶特征及其主要功能業(yè)務(wù)流程、核心類及其關(guān)系,數(shù)據(jù)結(jié)構(gòu)及其模式等內(nèi)容進(jìn)行了詳細(xì)設(shè)計,給出了主要設(shè)計文檔,最后對系統(tǒng)的調(diào)試與測試進(jìn)行了闡述。4)利用VisualS集成開發(fā)工具,按照軟件設(shè)計的規(guī)范化要求,完成高校圖書管理信息系統(tǒng)功能模塊的代碼實(shí)現(xiàn),實(shí)現(xiàn)圖書信息管理、圖書借閱管理、圖書檢索、用戶管理等主要模塊的功能。給出詳細(xì)的測試用例及測試結(jié)果分析。1.4課題研究綜述1.4.1國內(nèi)外研究現(xiàn)狀我國的圖書管理系統(tǒng)始于上世紀(jì)八十年代初,經(jīng)過了30年的發(fā)展,如今已經(jīng)取得了傲人的成績。目前,我國絕大多數(shù)的圖書館已經(jīng)把計算機(jī)應(yīng)用到了圖書的管理當(dāng)中。圖書館已經(jīng)發(fā)展到計算機(jī)系統(tǒng)管理的自動化、網(wǎng)絡(luò)化、數(shù)字化操作模式。根據(jù)圖書館的工作流程,國內(nèi)圖書管理系統(tǒng)設(shè)置了采訪、編目、流通、期刊、參考咨詢、聯(lián)機(jī)檢索、公共查詢等子系統(tǒng),其功能覆蓋了圖書館的全部業(yè)務(wù)環(huán)節(jié)。圖書管理系統(tǒng)的數(shù)據(jù)資源在子系統(tǒng)之間具有高度的共享一致性,數(shù)據(jù)資源具有較高的集成性。國外對信息檢索技術(shù)的研究始于上世紀(jì)70年代的美國海軍兵器中心,其研究主要內(nèi)容是單詞匹配技術(shù)。隨著這項(xiàng)技術(shù)的發(fā)展,信息檢索、自動分類、自動索引等技術(shù)的研究工作也相繼展開,圖書管理系統(tǒng)的發(fā)展由此開始。上世紀(jì)90年代初,美國的科學(xué)家首次提出數(shù)字圖書館這一概念,近二十年的研究與發(fā)展使其各方面技術(shù)經(jīng)驗(yàn)都較為完備。網(wǎng)絡(luò)技術(shù)的飛速發(fā)展全面帶動了國外圖書管理系統(tǒng)自動化的研究。在研究初期,僅在英國,就有120多個商家對圖書管理系統(tǒng)進(jìn)行開發(fā)。國外比較知名的圖書管理系統(tǒng)軟件有:美國的SIRSI、INNOPAC以及澳大利亞的HORIZON等。國外的產(chǎn)品在開發(fā)、銷售、售后服務(wù)及版本的升級等方面具有較強(qiáng)的實(shí)力,而且其產(chǎn)品經(jīng)過了多年市場使用檢驗(yàn),反復(fù)修改,系統(tǒng)更加完善,更具有先進(jìn)性和穩(wěn)定性。1.4.2圖書管理系統(tǒng)的發(fā)展方向隨著高校信息化的不斷推進(jìn),高校圖書信息管理系統(tǒng)呈現(xiàn)出如下發(fā)展方向:(1)高校圖書信息管理系統(tǒng)必須使用高新技術(shù)做支撐。隨著高校規(guī)模的擴(kuò)張,無論是師生用戶,還是圖書信息都不斷增大,許多高校建立了多個校區(qū),多個圖書館,這就要求需要采用高新技術(shù)如數(shù)據(jù)倉庫、高效聯(lián)機(jī)解析處理、數(shù)據(jù)挖掘等技術(shù)對圖書信息進(jìn)行管理,實(shí)現(xiàn)分布式圖書資源庫的可互操作性。(2)高校圖書信息管理系統(tǒng)要實(shí)現(xiàn)圖書館的數(shù)字化。隨著因特網(wǎng)的發(fā)展,用戶希望無論在何處都能夠查詢到圖書信息,這就要求系統(tǒng)能夠突破時空限制為用戶全方位的信息服務(wù)。第二章系統(tǒng)開發(fā)相關(guān)技術(shù)研究應(yīng)用系統(tǒng)的實(shí)現(xiàn)技術(shù)一直是軟件工程領(lǐng)域的一大研究熱點(diǎn),一般軟件開發(fā)包含了2種模式,即C/S和B/S模式,這2種模式,各有自己的優(yōu)缺點(diǎn)。在對應(yīng)用系統(tǒng)開發(fā)之前,需要對軟件構(gòu)架、編程語言、開發(fā)技術(shù)以及數(shù)據(jù)庫進(jìn)行研究,才能開發(fā)出系統(tǒng)高的應(yīng)用程序。2.1軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來。這一定義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,這一方法在其他的定義和方法中基本上得到保持。其發(fā)展過程可以分為以下三個階段:集中式計算結(jié)構(gòu)、客戶機(jī)/服務(wù)器計算結(jié)構(gòu)(簡稱C/S結(jié)構(gòu))、瀏覽器服務(wù)器計算結(jié)構(gòu)(簡稱B/S結(jié)構(gòu))。集中式計算機(jī)結(jié)構(gòu)下客戶、數(shù)據(jù)和程序被集中在主機(jī)上,通常只有少量的GUI界面,對遠(yuǎn)程數(shù)據(jù)庫的訪問比較困難。這種結(jié)構(gòu)由于信息共享能力較差,屬于全封閉式系統(tǒng),且不同系統(tǒng)之間無法進(jìn)行交流,系統(tǒng)擴(kuò)展也不方便,已經(jīng)無法適應(yīng)信息技術(shù)發(fā)展的需求。2.1.1C/S結(jié)構(gòu)C/S結(jié)構(gòu)的基本原則是將計算機(jī)應(yīng)用任務(wù)分解成多個子任務(wù),由多臺計算機(jī)分工完成,即采用“功能分布”原則??蛻魴C(jī)/服務(wù)器結(jié)構(gòu),即所謂的C/S結(jié)構(gòu)作為一種較為傳統(tǒng)的軟件體系結(jié)構(gòu),其優(yōu)點(diǎn)在可以很好的發(fā)揮客戶端和服務(wù)器端的資源優(yōu)勢,通過給兩端分配不同的任務(wù)來實(shí)現(xiàn)系統(tǒng)的運(yùn)行。其結(jié)構(gòu)如圖所示。圖C/S模式體系結(jié)構(gòu)圖Client和Server常常分別處在相距很遠(yuǎn)的兩臺計算機(jī)上,Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接收客戶程序提出的服務(wù)請求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶程序。C/S結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。2.1.2B/S結(jié)構(gòu)B/S結(jié)構(gòu)是對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。本質(zhì)上,Browser/Server也是一種Client/Server結(jié)構(gòu),它是一種由傳統(tǒng)的二層Client/Server結(jié)構(gòu)發(fā)展而來的三層Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。三層體系結(jié)構(gòu)是在兩層體系結(jié)構(gòu)的中間增加了一層(通常稱為中間層)來實(shí)現(xiàn)業(yè)務(wù)邏輯的表達(dá)。分布式多層體系結(jié)構(gòu)是指將系統(tǒng)分散到不同的機(jī)器上,并把中間層進(jìn)行了模塊化處理。由傳統(tǒng)的二層Client/Server結(jié)構(gòu)發(fā)展而來的三層Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。B/S架構(gòu)體系結(jié)構(gòu)如下圖所示。它由三部分組成:客戶機(jī)、應(yīng)用服務(wù)器和數(shù)據(jù)服務(wù)器。圖B/S三層架構(gòu)模型目前,常見的應(yīng)用架構(gòu)有兩種:B/S結(jié)構(gòu)和C/S結(jié)構(gòu)。B/S結(jié)構(gòu)系統(tǒng)的主要優(yōu)點(diǎn)是系統(tǒng)的安裝、修改和維護(hù)全在服務(wù)器端解決,達(dá)到了“零客戶端”的功能,但其缺點(diǎn)是安全性難以控制,數(shù)據(jù)處理的響應(yīng)速度不高,數(shù)據(jù)的動態(tài)交互性不強(qiáng),不利于在線事務(wù)處理(OLTP)應(yīng)用。C/S結(jié)構(gòu)系統(tǒng)的優(yōu)點(diǎn)是客戶端的安全性較高,數(shù)據(jù)處理的相應(yīng)速度快,數(shù)據(jù)的動態(tài)交互性強(qiáng),缺點(diǎn)是客戶端程序設(shè)計復(fù)雜,軟件的移植、維護(hù)和升級困難。2.2.NET技術(shù)概述.NETFramework技術(shù)是微軟公司推出的一個全新開發(fā)框架概念,它代表了一個集合、一個環(huán)境、一個可支持下一代Internet的可編程結(jié)構(gòu)。它是一個支持環(huán)境與Windows一樣,.NET也是一個位于客戶機(jī)上的用戶環(huán)境和基礎(chǔ)用戶服務(wù)集合。.NET的最終目標(biāo)就是讓用戶無論在何方、何時、何設(shè)備都可以訪問到所需要的資源。用戶并不要知道這些資源存放在何處,而只需發(fā)出請求,然后就能接受到響應(yīng)結(jié)果,具體復(fù)雜處理過程對用戶而言是透明的。其最終目的就是將互聯(lián)網(wǎng)作為新一代操作系統(tǒng)的基礎(chǔ),對互聯(lián)網(wǎng)的設(shè)計思想進(jìn)行擴(kuò)展。.NET框架可分為兩部分:公共語言運(yùn)行環(huán)境CLR(CommonLanguageRuntime)和.NETFramework框架的類庫。其基本框架如下圖:圖.NET平臺框架結(jié)構(gòu)圖公共語言運(yùn)行環(huán)境在框架的底層,是負(fù)責(zé)程序的運(yùn)行,具有內(nèi)存、線程、安全和異常的管理功能以及通用類型系統(tǒng)與生命周期監(jiān)控等服務(wù)。在公共語言運(yùn)行環(huán)境之上的是.NET框架的類庫,具有多種類以及接口。公共語言運(yùn)行庫(CLR)是.NET的基礎(chǔ),它為各種各樣.NET語言提供了公共的類庫,也為用這些語言編寫的應(yīng)用程序提供了運(yùn)行環(huán)境。使用針對公共語言運(yùn)行庫的語言編譯器開發(fā)的代碼稱為托管代碼。類庫是一個可重用類型集合,具有綜合性及面向?qū)ο蟮奶卣?。使用者可以利用類庫來進(jìn)行多種應(yīng)用程序的開發(fā),包括傳統(tǒng)的基于命令行或基于圖形用戶界面的應(yīng)用程序,也可以包括基于ASP.NET所提供的最新應(yīng)用程序。2.2.1.NET框架.NET框架是.NET平臺的重要組成部分,其目的是便于開發(fā)者更加容易地建立網(wǎng)絡(luò)應(yīng)用程序和WEB服務(wù)。它簡化了在高度分布式Internet環(huán)境中進(jìn)行應(yīng)用程序開發(fā)。.NET技術(shù)的核心的.NET框架,它是基于網(wǎng)絡(luò)基礎(chǔ)的開發(fā)工具。.NETFramework包括了5個層次:通用語言運(yùn)行環(huán)境(CLR)、統(tǒng)一基礎(chǔ)類庫、ADO.NET、ASP.NET和通用語言規(guī)范(CLS),如下圖所示。圖.NET平臺框架支持環(huán)境.NETFramework主要功能如下:(1)提供了豐富的框架,從而使用戶可以NETFramework快速進(jìn)行數(shù)據(jù)驅(qū)動的開發(fā),而無需編寫代碼,ASP.NETAJA的一項(xiàng)新增功能,對管理瀏覽器歷史記錄提供了支持。(2)對公共語言運(yùn)行時的核心改進(jìn)包括:改進(jìn)了.NETFramework本機(jī)映像的布局、選擇不再對完全受信任的程序集進(jìn)行強(qiáng)名稱驗(yàn)證、提高了應(yīng)用程序啟動性能、改進(jìn)了生成的代碼以縮短端對端應(yīng)用程序執(zhí)行時間、選擇在ASLR(地址空間布局隨機(jī)化)模式下運(yùn)行托管代碼(如果操作系統(tǒng)支持)。(3)提高了WindowsPresentationFoundation的性能,包括縮短了啟動時間,提高了與位圖效果有關(guān)的性能。WPF的其他新增功能包括:改善了對業(yè)務(wù)線應(yīng)用程序、本機(jī)初始屏幕、DirectX像素著色器的支持,并且新增了WebBrowser控件。(4)為解決腳本環(huán)境或解釋環(huán)境的性能問題,提供了一個代碼執(zhí)行環(huán)境。統(tǒng)一開發(fā)人員個體經(jīng)驗(yàn)對應(yīng)用程序開發(fā)的影響。提供標(biāo)準(zhǔn)化的通信服務(wù),基于.NETFramework的代碼與任何其他代碼可以集成交流。2.2.2Winform介紹WinForm是.Net開發(fā)平臺中對WindowsForm的一種稱謂。Windows窗體的一些重要特點(diǎn)如下:功能強(qiáng)大:Windows窗體可用于設(shè)計窗體和可視控件,以創(chuàng)建豐富的基于Windows的應(yīng)用程序。操作方便:新的數(shù)據(jù)提供程序管理:數(shù)據(jù)提供程序管理提供易于連接OLEDB和ODBC數(shù)據(jù)源的數(shù)據(jù)控件,包括MicrosoftSQLServer、MicrosoftAccess、JET、DB2以及Oracle等。使用安全:Windows窗體充分利用公共語言運(yùn)行庫的安全特性。這就意味著,一切都可以通過Windows窗體來實(shí)現(xiàn),包括在瀏覽器中運(yùn)行的不可信控件和用戶硬盤上安裝的完全可信的應(yīng)用程序。優(yōu)點(diǎn):控件靈活:Windows窗體提供了一套豐富的控件,并且開發(fā)人員可以定義自己有特色的新的控件。WinForm控件是指以輸入或操作數(shù)據(jù)的對象。比如ComponentOne是.NET平臺下對數(shù)據(jù)和方法的封裝。有自己的屬性和方法。屬性是控件數(shù)據(jù)的簡單訪問者。方法則是控件的一些簡單而可見的功能。包含在.NETFramework中的Windows窗體類旨在用于GUI開發(fā)。您可以輕松創(chuàng)建具有適應(yīng)多變的商業(yè)需求所需的靈活性的命令窗口、按鈕、菜單、工具欄和其他屏幕元素。數(shù)據(jù)管理:方便的數(shù)據(jù)顯示和操作:應(yīng)用程序開發(fā)中最常見的情形之一是在窗體上顯示數(shù)據(jù)。Windows窗體對數(shù)據(jù)庫處理提供全面支持。可以訪問數(shù)據(jù)庫中的數(shù)據(jù),并在窗體上顯示和操作數(shù)據(jù)。向?qū)鞔_:向用戶提供創(chuàng)建窗體、數(shù)據(jù)處理、打包和部署等的分布指導(dǎo)。2.2.3C#與.NET的關(guān)系為了支持.NET框架,微軟公司博采眾長,開發(fā)出一種具有java簡潔性、C++語言靈活性、Pascal語言嚴(yán)謹(jǐn)?shù)恼Z言:C#,這是一個非常優(yōu)秀的語言。C#的誕生就是為了支持.NETFramework應(yīng)用程序開發(fā)平臺的,他們之間密不可分。熟練使用C#是作為一個在.NET平臺上的開發(fā)者必不可少的技能。.NET和C#語言之間是密不可分的,C#這門語言是伴隨著.NET的出現(xiàn)而誕生。用C#語言開發(fā)和編寫代碼時,必不可少的需要使用.NETframework為其提供的框架集合類庫來進(jìn)行開發(fā)。C#并不是.NET框架唯一支持的語言,開發(fā)人員可以使用VisualBasic.NET或者其他一些支持.NET語言進(jìn)行開發(fā)。2.3VisualStudio簡介Visual
Studio是微軟公司推出的開發(fā)環(huán)境,Visual
Studio可以用來創(chuàng)建Windows平臺下的Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office插件。Visual
Studio是目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境。VisualStudio2005是基于.NET2.0框架的。它同時也能開發(fā)跨平臺的應(yīng)用程序,如開發(fā)使用微軟操作系統(tǒng)的手機(jī)的程序等。總體來說是一個非常龐大的軟件,甚至包含代碼測試功能。這個版本的VisualStudio包含有眾多版本,分別面向不同的開發(fā)角色。同時還永久提供免費(fèi)的VisualStudioExpress版本。2.4SQLServer數(shù)據(jù)庫概述SQLServer是微軟公司的開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),該數(shù)據(jù)庫管理系統(tǒng)具有C/S體系結(jié)構(gòu)的特點(diǎn),跨操作系統(tǒng)平臺,支持多核心處理,能夠很好的提供Web支持,支持XML可擴(kuò)展標(biāo)記語言,可以支持在因特網(wǎng)上查詢的能力。對不同的網(wǎng)絡(luò)協(xié)議也有很好的支持,IPX/SPX,TCP/IP等。該數(shù)據(jù)庫系統(tǒng)是微軟為企業(yè)平臺所設(shè)計的大型數(shù)據(jù)庫產(chǎn)品。SQLServer2008在Microsoft的數(shù)據(jù)平臺上發(fā)布,可以組織管理任何數(shù)據(jù)。可以將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲到數(shù)據(jù)庫中??梢詫?shù)據(jù)進(jìn)行查詢、搜索、同步、報告和分析之類的操作。數(shù)據(jù)可以存儲在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面計算機(jī)和移動設(shè)備,它都可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲在哪里。SQLServer2008允許使用Microsoft.NET和VisualStudio開發(fā)的自定義應(yīng)用程序中使用數(shù)據(jù),在面向服務(wù)的架構(gòu)(SOA)和通過MicrosoftBizTalkServer進(jìn)行的業(yè)務(wù)流程中使用數(shù)據(jù)。信息工作人員可以通過日常使用的工具直接訪問數(shù)據(jù)。第三章系統(tǒng)的需求分析系統(tǒng)的需求分析包括可行性需求分析、性能需求分析和功能需求分析。分析的主要目的是確保開發(fā)出的系統(tǒng)真正滿足用戶實(shí)際需求。3.1可行性需求分析整個高校圖書信息管理系統(tǒng)的可行性分析主要包括以下幾個方面:(1)經(jīng)濟(jì)方面:作為一個高校,普遍財務(wù)收入幾千萬以上,開發(fā)一個圖書信息管理系統(tǒng)經(jīng)費(fèi)和實(shí)施整個平臺的費(fèi)用也不過是幾十萬之內(nèi),實(shí)施系統(tǒng)后整個高校的工作效率將得到顯著的提高,這有助于全校師學(xué)查閱資料,提高教育、教學(xué)科研水平。因此,開發(fā)圖書信息管理系統(tǒng),從經(jīng)濟(jì)角度是可行的。(2)技術(shù)方面:軟件方面,該平臺采用了目前新興的.NET和SQL2008的開發(fā)技術(shù)方案,選用功能強(qiáng)大的MicrosoftSQLServer2008作為數(shù)據(jù)庫,確保了平臺能夠處理大量數(shù)據(jù)。因此,整個圖書信息管理系統(tǒng)的軟件開發(fā)技術(shù)方案是成熟可行的。硬件方面,科技迅猛發(fā)展的今天,CPU運(yùn)算速度越來越快,硬盤和內(nèi)存容量越來越大,價格卻越來越低。因此,完成硬件上能夠滿足實(shí)施圖書信息管理系統(tǒng)的需要。(3)時機(jī)方面:各個高校已經(jīng)建立了千兆校園網(wǎng),學(xué)校所有辦公室、教學(xué)區(qū)、學(xué)生宿舍區(qū)都得到了覆蓋,家家戶戶實(shí)現(xiàn)了寬帶接入,這些良好的網(wǎng)絡(luò)環(huán)境為開發(fā)網(wǎng)絡(luò)教學(xué)平臺奠定了堅(jiān)實(shí)的基礎(chǔ)。(4)管理方面:各個高校都建立了各種管理規(guī)章制度,教學(xué)齊全,原始數(shù)據(jù)準(zhǔn)確可直接使用,這些都為網(wǎng)絡(luò)教學(xué)平臺開發(fā)提供了制度方面的保障。因此,圖書信息管理系統(tǒng)的開發(fā)無論從經(jīng)濟(jì)、技術(shù)、時機(jī),還是從管理方面都具備了開發(fā)條件,完全可行。3.2性能需求分析圖書信息管理系統(tǒng)在正常使用過程中總是需要處理大量的借閱者信息、書信息以及兩者相互作用產(chǎn)生的借書信息、還書信息和圖書查詢信息。因此整個管理系統(tǒng)在圖書館的管理工作中起著重要的作用,關(guān)系到整個圖書館的正常運(yùn)行。所以系統(tǒng)可靠性、可維護(hù)性要求較高:(1)系統(tǒng)要求穩(wěn)定、可靠:圖書信息管理系統(tǒng)是為全校師生提供優(yōu)質(zhì)服務(wù)的一個管理系統(tǒng),這就要求系統(tǒng)要穩(wěn)定、可靠地長時間運(yùn)行。(2)系統(tǒng)延遲盡可能短:系統(tǒng)數(shù)據(jù)流量大,為了給用戶更加優(yōu)質(zhì)的服務(wù),要求系統(tǒng)反應(yīng)速度要快,避免大量借閱、歸還等用戶排隊(duì)等候。(3)系統(tǒng)信息要有安全:系統(tǒng)涉及到全校師生的各種信息,要求要有安全機(jī)制,確保整個系統(tǒng)的安全,防止非法入侵、篡改系統(tǒng)相關(guān)數(shù)據(jù),造成不必要的麻煩。(4)系統(tǒng)用戶界面要友好:整個系統(tǒng)涉及到圖書的查詢、借閱、歸還等多種功能,而大多高校的圖書管理人員文化程度相對偏低,這就要求系統(tǒng)設(shè)計過程中要特別注意界面要友好,使使用者能夠容易上手。3.3用戶需求分析3.3.1需求概述在過去沒有計算機(jī)的時代,高校都采用人工方式管理圖書,采用手工方式登記圖書的借閱和歸還情況。隨著信息科學(xué)技術(shù)的迅猛發(fā)展,各高校數(shù)字化校園建設(shè)已鋪開,圖書信息管理系統(tǒng)作為數(shù)字化校園的重要組成部分,迫切需要在追求整個校園數(shù)字化前,建立起一套功能完善的圖書信息管理系統(tǒng)來作鋪墊。(1)功能要完善,解決傳統(tǒng)管理方式不能完成的難題圖書傳統(tǒng)管理方式,具有許多不能完成的難題,如準(zhǔn)確的圖書借閱、歸還情況。這就要求整個圖書信息管理系統(tǒng)能夠解決這些問題。(2)操作要簡便、工作流程盡量與傳統(tǒng)方式吻合。由于各個高校的圖書管理人員大多文化素質(zhì)要比教學(xué)人員低,他們習(xí)慣了傳統(tǒng)手工管理的工作流程,這就要求軟件設(shè)計過程中界面要簡潔、業(yè)務(wù)流程盡量與傳統(tǒng)的人工管理模式類似,使圖書管理人員能夠很快適應(yīng)計算機(jī)來管理圖書。(3)維護(hù)簡單。系統(tǒng)要求維護(hù)簡單,使得在出現(xiàn)故障時,能夠及時排錯,恢復(fù)正常使用。此外,應(yīng)向系統(tǒng)管理人員提交整個開發(fā)過程的各種文檔。3.3.2用例模型這里采用統(tǒng)一建模語言的方法即UML建模語言。適用于描述以用例為驅(qū)動,以體系結(jié)構(gòu)為中心的軟件設(shè)計的全過程。用例圖描述了一組用例、參與者以及他們之間的關(guān)系。用例圖是用來表達(dá)系統(tǒng)與外界間的一系列的交互,甚至系統(tǒng)還沒有構(gòu)建出來,就可以繪制用例圖。(1)系統(tǒng)整體用例圖首先從總體的角度觀察圖書管理系統(tǒng),給出整體的用例圖,如圖所示。這里體現(xiàn)了不同的角色,系統(tǒng)管理員、圖書管理員、讀者管理員和讀者。描述了他們各自的分工情況和用例之間的關(guān)系。圖系統(tǒng)管理用例圖圖圖書管理用例圖圖讀者管理用例圖圖讀者用例圖3.4系統(tǒng)非功能性需求除了上述功能性需求,要使系統(tǒng)在日常的工作情況下正常維持,要保證系統(tǒng)的完整性和交互性就必須有一些非功能性需求。3.4.1可用性MTTF,即系統(tǒng)平均無故障時間,該參數(shù)是用來指示計算機(jī)系統(tǒng)的可靠性。就是計算機(jī)在發(fā)生兩次故障之間所用的時間的平均值。換種說法就是平均需要多久才發(fā)生故障。按照這種說話,MTTF越大系統(tǒng)無故障時間越長,就越可靠。MTTR,系統(tǒng)平均維修時間,維護(hù)系統(tǒng)從故障到恢復(fù)正常使用這段時間的平均值。維護(hù)性就是通過他來進(jìn)行度量的,系統(tǒng)的可維護(hù)性MTTR成反比。由以上的結(jié)果可以推論出公式:MTTF/(MTTF+MTTR)*100%。所以,可用性即為系統(tǒng)保持正常時間所占的比例。3.4.2可維護(hù)性對軟件系統(tǒng)的改正、理解、改進(jìn)、改動的難易程度即為可維護(hù)性??衫斫庑院托薷男栽谲浖S護(hù)性上有重要的作用。就本系統(tǒng)來說,系統(tǒng)的正常運(yùn)行通過管理員的維護(hù)來實(shí)現(xiàn)。而且,對系統(tǒng)需求變化的做出快速的調(diào)整和改變。3.4.3可擴(kuò)展性在適當(dāng)?shù)牡胤讲迦氡M可能多的代碼即為系統(tǒng)的可擴(kuò)展性。其目的是為了應(yīng)付未來應(yīng)用需求發(fā)生的改變從而對項(xiàng)目做出的修改,以減少代碼的修改量。系統(tǒng)的可擴(kuò)展性是通過軟件的框架來實(shí)現(xiàn)的??梢杂腥缦路椒ǎ簞討B(tài)加載、回調(diào)函數(shù)、頂端抽象接口和使用可塑性很強(qiáng)的代碼結(jié)構(gòu)。3.4.4容錯性容錯性是指從錯誤中恢復(fù)的能力,這種錯誤是軟件或者硬件在運(yùn)行時產(chǎn)生的。一般來說系統(tǒng)的容錯性可以用過可靠性、可測行和可用性三個指標(biāo)來衡量。就具體的本項(xiàng)目而言,由于某些特殊的原因服務(wù)器出現(xiàn)問題時候,卻不影響本系統(tǒng)的正常運(yùn)行即為好的容錯性,容錯的提高可以通過服務(wù)器的部署來得到實(shí)現(xiàn)。第四章系統(tǒng)設(shè)計4.1總體設(shè)計眾所周知,圖書管理系統(tǒng)對圖書館來說有著舉足輕重的作用,它不但方便了讀者的檢索,是否在館、以及借閱和續(xù)借等。也極大方便了圖書館和圖書管理者對圖書的管理。鑒于上述功能。因此,對于一個好的圖書館里系統(tǒng)以下幾個功能就必不可少。4.1.1系統(tǒng)角色設(shè)計管理員系統(tǒng)分為系統(tǒng)管理員、圖書管理員、讀者管理員(1)系統(tǒng)管理員:主要負(fù)責(zé)系統(tǒng)中用戶信息的維護(hù)和數(shù)據(jù)庫的備份歡迎,保證系統(tǒng)的正常運(yùn)行。(2)圖書管理員:主要功能對系統(tǒng)中借閱信息,圖書信息,讀者信息,數(shù)據(jù)進(jìn)行統(tǒng)計以及個人資料的維護(hù)。借閱信息:讀者借書,讀者還書,讀者續(xù)借,查詢讀者借閱信息。讀者借書:根據(jù)讀者編號檢索讀者類型和已經(jīng)借閱圖書相應(yīng)信息。讀者還書:根據(jù)讀者編號檢索提取讀者信息,加載借閱圖書信息列表選擇要?dú)w還的圖書信息進(jìn)行歸還操作。讀者續(xù)借:若讀者在固定時間內(nèi)沒有讀完某本圖書,可以進(jìn)行續(xù)借操作。借閱查詢:可以對借閱信息就行統(tǒng)計查詢。圖書管理:查詢圖書信息并維護(hù)圖書信息。讀者管理:查詢讀者信息;添加讀者;維護(hù)讀者類別;數(shù)據(jù)統(tǒng)計;維護(hù)個人資料。讀者管理員:維護(hù)圖書信息、讀者信息和個人信息等。讀者可以查詢圖書信息,以及自己借閱圖書信息。維護(hù)個人信息。4.1.2功能模塊總體設(shè)計由于圖書館里系統(tǒng)的總體和各個功能板塊的需要,現(xiàn)將圖書管理系統(tǒng)做如下具體設(shè)計,以使該管理系統(tǒng)能夠正常運(yùn)行。根據(jù)系統(tǒng)的需求分析,系統(tǒng)的總體功能模塊設(shè)計如下圖:圖系統(tǒng)功能模塊數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,它將數(shù)據(jù)獨(dú)立抽象出來,通過圖形方式描述信息的實(shí)際流程。數(shù)據(jù)流程圖由系統(tǒng)的外部實(shí)體、數(shù)據(jù)處理、數(shù)據(jù)存儲和系統(tǒng)中的數(shù)據(jù)流四個部分組成。為了更加清晰的獲取圖書管理系統(tǒng)內(nèi)部業(yè)務(wù)流程以及數(shù)據(jù)流交互情況,下面通過結(jié)構(gòu)化分析方法,獲取圖書管理系統(tǒng)的數(shù)據(jù)流圖。圖頂層數(shù)據(jù)流圖類圖是最常用的UML圖,顯示出類、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系;它用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計。本系統(tǒng)中一共用到了幾個基本的數(shù)據(jù)類,具體類圖如下圖:圖系統(tǒng)的基本類圖4.2詳細(xì)設(shè)計4.2.1用戶登錄模塊用戶登錄板塊是圖書管理系統(tǒng)的重要組成部分,它既是用戶進(jìn)入圖書管理系統(tǒng)的端口或憑證,也是圖書管理系統(tǒng)的重要安全保證。功能模塊圖如下:圖管理員登陸模塊功能圖其主要功能分別分為:帳號管理,用戶密碼的輸入。只有當(dāng)用戶名和密碼相匹配時才能夠進(jìn)入圖書管理系統(tǒng)經(jīng)行帳號的管理如密碼的修改等或圖書的管理如預(yù)訂、預(yù)借等。但當(dāng)帳號和密碼不相匹配時,系統(tǒng)將自動彈出錯誤提醒,并拒絕用戶進(jìn)入該管理系統(tǒng)用戶登錄時的身份認(rèn)證及處理過程:圖用戶登錄時序圖打開登錄頁面。輸入帳號和密碼。系統(tǒng)檢查帳號和密碼,看是否相匹配。如果帳號或密碼不相匹配,則彈出錯誤提醒,點(diǎn)擊后并返回登陸頁面保留帳號,但要重新輸入密碼。如果帳號和密碼相匹配,則根據(jù)用戶的權(quán)限類別進(jìn)入相應(yīng)的系統(tǒng)登錄。進(jìn)入圖書管理系統(tǒng)主頁。4.2.2系統(tǒng)管理模塊系統(tǒng)管理模塊主要實(shí)現(xiàn)不同權(quán)限的圖書管理系統(tǒng)操作人員設(shè)置不同的模塊和使用范圍,也可以實(shí)現(xiàn)管理員的添加、修改以及刪除等。系統(tǒng)管理模塊圖如下圖所示:圖系統(tǒng)管理模塊1、添加新管理員輸入管理員賬號、密碼,對管理權(quán)限類別的識別相應(yīng)管理權(quán)限的取得在數(shù)據(jù)庫中添加新的管理員2、管理員權(quán)限的設(shè)置登錄有該權(quán)限的管理員選擇所需要設(shè)置權(quán)限的用戶權(quán)限類別的獲取和修改,確認(rèn)信息完成對數(shù)據(jù)庫中管理員及權(quán)限的更新3、刪除指定管理員登錄具有該權(quán)限的管理員選擇需要刪除的管理員并執(zhí)行刪除操作完成對數(shù)據(jù)庫中管理員及權(quán)限的更新4.2.3圖書管理模塊圖書管理模塊主要實(shí)現(xiàn)的是對圖書信息的管理功能,它應(yīng)該具備圖書信息的查詢、添加、修改、刪除等,此外還應(yīng)該具有對圖書的分類管理功能。1、圖書類別設(shè)置模塊處理過程:讀取并顯示圖書類別信息表中的己有信息圖書類別信息的添加、修改、刪除等圖書類別信息表的更新并提示2、圖書信息管理模塊處理過程:從圖書信息表中讀取已有的信息并顯示添加新的圖書記錄或修改已有記錄或刪除指定圖書記錄更新圖書信息表,并提示用戶圖圖書管理模塊功能圖其操作流程圖如圖所示:圖管理員圖書管理操作流程圖4.2.4讀者管理模塊讀者信息維護(hù)模塊主要負(fù)責(zé)讀者類別的設(shè)置,包括類型、可借冊書等信息。讀者信息的建立及維護(hù),包括了讀者信息的新建、編輯、刪除。讀者管理模塊圖如下圖所示:圖讀者管理模塊圖讀者類別管理模塊的處理過程:讀取并顯示讀者類別信息表中的信息;新的類別的添加、修改、刪除以及更新;讀者類別信息表的更新和提醒。讀者信息管理模塊處理過程:讀取并顯示讀者信息表中的信息;當(dāng)管理員或讀者輸入讀者編號時,會顯示其詳細(xì)信息;圖書管理員可以添加新的讀者信息、以及對已有讀者信息的修改或刪除;讀者信息表的更行及提醒。4.2.5圖書借閱管理模塊圖書借閱管理模塊主要負(fù)責(zé)圖書的借閱、續(xù)借以及圖書的歸還等。借閱管理模塊操作流程圖如圖所示:圖借閱管理操作流程圖1、圖書借閱模塊處理過程:掃描或輸入讀者編號,對讀者的類型進(jìn)行識別看是否達(dá)到借書上限,并顯示所借書籍情況以及相關(guān)信息若未達(dá)到則掃描輸入所借圖書編號或條形碼,并自動生成更新該用戶的相關(guān)借閱信息2、圖書的續(xù)借:掃描或輸入讀者編號,對讀者的類型經(jīng)行識別并顯示相關(guān)信息對所續(xù)借的書籍經(jīng)行掃描輸入,并自動生成更新用戶的相關(guān)借閱信息3、圖書歸還模塊處理過程:輸入讀者的編號或條形碼,顯示該讀者所借圖書信息在所借圖書書目中、選擇或者掃描讀者還書條目查看所借書的時間,判斷是否超期,若未過期,則完成還書過程若逾期,則自動彈出過期窗口,按逾期處理4.2.6查詢圖書信息模塊讀者查詢書刊信息的時序圖,具體如下圖所示:圖查詢圖書時序圖4.3數(shù)據(jù)庫設(shè)計在目前的數(shù)據(jù)庫管理系統(tǒng)中有層次模型、網(wǎng)狀模型、關(guān)系模型三種數(shù)據(jù)模型。其中,關(guān)系模型具有較高的數(shù)據(jù)獨(dú)立性,使用也較為方便,因而數(shù)據(jù)庫設(shè)計的核心問題就是根據(jù)系統(tǒng)數(shù)據(jù)模式對系統(tǒng)主要數(shù)據(jù)實(shí)體關(guān)系進(jìn)行設(shè)計。本文采用SQLServer2008關(guān)系數(shù)據(jù)庫,利用該數(shù)據(jù)庫對圖書管理信息進(jìn)行增、刪、編輯、統(tǒng)計、顯示等功能操作,對數(shù)據(jù)快速定位、查詢提供了有利條件。4.3.1概念結(jié)構(gòu)設(shè)計通過對本系統(tǒng)的做出的需求分析工作、系統(tǒng)流程設(shè)計工作等及系統(tǒng)功能結(jié)構(gòu)的確定,得到最終數(shù)據(jù)庫實(shí)體對象。整個圖書管理系統(tǒng)的關(guān)系圖,包括管理員、借閱者、書籍等等。整個圖書管理系統(tǒng)的關(guān)系圖,包括管理員、借閱者、書籍等等。具體關(guān)系如圖:圖總體E-R圖系統(tǒng)給不同的用戶劃分不同的管理權(quán)限,不同的權(quán)限對管理系統(tǒng)的操作又各不相同。圖書借閱信息實(shí)體,存儲著圖書的所有信息,包括讀者信息、讀者條形碼、應(yīng)還日期、借閱日期、圖書名稱、圖書條形碼等。可以準(zhǔn)確的記錄著每本書的借閱情況。為了實(shí)現(xiàn)對圖書的分類,一般是將不同的書進(jìn)行歸類,相同類型的書歸為一類,放在對應(yīng)的書架上。書架信息被存儲在書架實(shí)體信息中。每本書都有自己的圖書信息,包括圖書價格、作者名稱、出版社名稱、書架類型、圖書類型、圖書類型、圖書名稱、圖書條形碼、借閱此書、圖書價格等。為了方便對圖書進(jìn)行查詢和分類。設(shè)計了圖書信息實(shí)體,將這些信息保存在實(shí)體中。4.3.2邏輯結(jié)構(gòu)設(shè)計在設(shè)計完數(shù)據(jù)庫實(shí)體E-R圖之后,需要根據(jù)實(shí)體E-R圖設(shè)計數(shù)據(jù)表結(jié)構(gòu)。下面給出主要數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)和用途。本系統(tǒng)使用的數(shù)據(jù)庫管理系統(tǒng)為SQLServer2008。數(shù)據(jù)庫中的表有圖書信息表、圖書類型信息表、圖書借閱表、讀者信息表、讀者類型信息表、管理員信息表。(1)圖書信息表,表名Book,如下表所示:表1圖書信息表序號列名數(shù)據(jù)類型長度主鍵允許空描述1bkIDint10是否圖書ID2bkCodevarchar50否是圖書編號3bkNamevarchar50否是圖書名稱4bkAuthorvarchar50否是作者5bkPressvarchar50否是出版社6bkDatePressSmalldatetime否是出版日期7bkISBNvarchar50否是圖書書號8bkCatalogvarchar50否是圖書分類9bkLanguagevarchar50否是圖書語種10bkPageint10否是頁碼11bkPricemoney否是定價12bkDateInsmalldatetime否是入館時間13bkBrieftext否是圖書簡評14bkIsLabvarchar50否是是否在館圖書類型信息表,表名BookType,如下表所示:表2圖書類型信息表序號列名數(shù)據(jù)類型長度主鍵允許空描述1bkTypeIDint10是否圖書類型ID2bkCatalogvarchar50否是圖書分類圖書借閱表,表名Borrow,如下表所示:表3圖書借閱表序號列名數(shù)據(jù)類型長度主鍵允許空描述1ldIDint10是否借閱編號2rdIDvarchar50否是讀者編號3bkIDint10否是圖書ID4ldContinueTimesint10否是借閱次數(shù)5ldDateOutsmalldatetime否是借出時間6ldDateRetPlansmalldatetime否是應(yīng)還時間7ldDateRetActsmalldatetime否是歸還時間8ldOverDayint10否是超時天數(shù)9ldOverMoneymoney否是超時費(fèi)用10ldPunishMoneymoney否是罰金11isHasReturnvarchar50否是是否返還12operatorLendvarchar50否是借出操作者13operatorRetvarchar50否是返還操作者讀者信息表,表名Reader,如下表所示:表4讀者信息表序號列名數(shù)據(jù)類型長度主鍵允許空描述1rdIDvarchar50是否讀者編號2rdNamevarchar50否是姓名3rdPwdvarchar50否是密碼4rdSexvarchar50否是性別5rdTypeint10否是讀者類型6rdDeptvarchar50否是學(xué)院7rdPhonevarchar50否是手機(jī)號8rdEmailvarchar50否是郵箱9rdDateRegsmalldatetime否是注冊時間10rdBorrowQtyint10否是借閱數(shù)量讀者類型信息表,表名ReaderType,如下表所示:表5讀者類型信息表序號列名數(shù)據(jù)類型長度主鍵允許空描述1rdTypeint10是否圖書類型ID2rdTypeNamevarchar50否是讀者類型3canLendQtyint10否是借閱最多數(shù)量4canLendDayint10否是借閱最多天數(shù)5canContinueTimesint10否是持續(xù)次數(shù)6punishRatefloat否是罰款率7dateValidsmallint否是有效時間管理員信息表,表名Users,如下表所示:表6管理員信息表序號列名數(shù)據(jù)類型長度主鍵允許空描述1uIDvarchar50是否管理員ID2uNamevarchar50否是管理員名稱3uPwdvarchar50否是密碼4uRoleint10否是管理員權(quán)限第五章系統(tǒng)主要功能的實(shí)現(xiàn)5.1用戶登錄模塊用戶登錄頁面,用于完成讀者、系統(tǒng)管理員等用戶登錄圖書管理系統(tǒng)的驗(yàn)證功能。用戶可以在圖中所示的登錄欄輸入帳號、密碼后登錄。圖用戶登錄流程圖打開首頁,即登錄頁,系統(tǒng)登錄流程如圖所示,需要用戶輸入的信息在登錄頁面下方給予了相應(yīng)提示。圖用戶登錄頁面“登錄”按鈕單擊事件主要代碼如下:privatevoidbtnLogin_Click(objectsender,EventArgse){if(tbUserID.Text==""||tbUserPwd.Text==""){MessageBox.Show("賬號密碼不能為空!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}if(rBtnReader.Checked){DAL.ReaderDalrd=newLibrary.DAL.ReaderDal();if(!rd.IsExists(tbUserID.Text,tbUserPwd.Text)){MessageBox.Show("密碼有誤!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}5.2查詢圖書模塊圖書信息查詢:填寫或設(shè)定圖書序號、圖書編號、圖書名稱、圖書作者、出版社名、圖書簡介、語言、類別、入館時間等條件后,單擊“查詢”按鈕查詢出符合條件的圖書,圖書信息查詢功能流程圖如圖所示:圖圖書檢索功能流程圖功能實(shí)現(xiàn)過程:圖書信息查詢操作權(quán)限面向系統(tǒng)全部用戶,支持簡單檢索、全文檢索、多字段檢索三種方式。用戶輸入查詢字段,選擇檢索方式后,點(diǎn)擊檢索按鈕則由調(diào)度檢索處理程序,根據(jù)用戶輸入的檢索字段訪問圖書信息數(shù)據(jù)表,并將檢索結(jié)果返回客戶端,根據(jù)圖書檢索結(jié)果分頁顯示滿足檢索條件的圖書相信信息。圖書查詢頁面:圖書查詢頁面用于讀者查詢書籍信息。圖圖書查詢頁面當(dāng)用戶選定檢索方式后,需要根據(jù)檢索條件輸入相應(yīng)查詢字段信息。單擊“檢索”按鈕時,為保證用戶在查詢結(jié)果分頁時,自動調(diào)用上一次查詢字段。查詢字段的處理程序可以獨(dú)立編寫,在本系統(tǒng)中,許多模塊需要調(diào)用圖書信息查詢處理程序,如借閱查詢、還書查詢、圖書查詢等,其模塊實(shí)現(xiàn)過程類似,所不同的是查詢條件的獲取。查詢結(jié)果頁面用于顯示根據(jù)傳遞過來的參數(shù)查詢出的數(shù)據(jù),將查詢到的結(jié)果放在相應(yīng)的控件中顯示。在具體的代碼實(shí)現(xiàn)時主要利用該sql語句進(jìn)行查詢,或者將上述過程編譯成存儲過程,圖書信息檢索按鈕關(guān)鍵代碼如下:privatevoidtsbtnQuery_Click(objectsender,EventArgse){BLL.BorrowBllbb=newLibrary.BLL.BorrowBll();if(tsccbTiao.Text==""){bb.BindOneReaderBorrow(readerId,dgvMain);}if(tsccbTiao.Text=="圖書名稱"){stringsqlStr="selectldIDas借書編號,bk.bkIDAS圖書序號,bkNameAS圖書名稱,ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時間,ldDateRetPlanas應(yīng)還時間,ldOverDayas超期時間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkNamelike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}if(tsccbTiao.Text=="圖書作者"){stringsqlStr="selectldIDas借書編號,bk.bkIDAS圖書序號,bkNameAS圖書名稱,ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時間,ldDateRetPlanas應(yīng)還時間,ldOverDayas超期時間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkAuthorlike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}if(tsccbTiao.Text=="圖書分類"){stringsqlStr="selectldIDas借書編號,bk.bkIDAS圖書序號,bkNameAS圖書名稱,ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時間,ldDateRetPlanas應(yīng)還時間,ldOverDayas超期時間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkCataloglike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}if(tsccbTiao.Text=="出版社名"){stringsqlStr="selectldIDas借書編號,bk.bkIDAS圖書序號,bkNameAS圖書名稱,ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時間,ldDateRetPlanas應(yīng)還時間,ldOverDayas超期時間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkPresslike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}}5.3讀者管理模塊添加讀者信息:單擊添加讀者,出現(xiàn)“讀者管理”頁面,如下圖所示,可以對讀者編號、讀者性別、讀者類型、姓名、讀者電話、讀者單位、已借、讀者郵箱、登記時期等進(jìn)行編輯。添加后即可登錄使用,此功能用于讀者管理員添加讀者。圖添加讀者頁面在該頁面中,將讀者操作權(quán)限從數(shù)據(jù)庫中取出,并根據(jù)讀者類別將相應(yīng)的權(quán)限賦予讀者。添加讀者頁面需要判斷輸入信息是否完整,新增讀者是否已經(jīng)存在,然后將滿足上述約定要求的讀者信息“添加”到讀者信息表中?!疤砑印卑粹o單擊事件參考代碼如下:privatevoidtsbtnSave_Click(objectsender,EventArgse){if(tbUserID.Text!=""&&tbUserName.Text!=""&&tbUserPwd.Text!=""){introle=0;intstate=0;role=cbbUserRole.SelectedIndex+1;state=cbbUserState.SelectedIndex;if(OpType=="Add"){Model.Usersus=newLibrary.Model.Users();us.uID=tbUserID.Text;us.uName=tbUserName.Text;us.uPwd=tbUserPwd.Text;us.uRole=role;us.uState=state;if(newDAL.UserDal().InsertUser(us)){MessageBox.Show("添加成功!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);BindUserList();}tbUserID.Enabled=false;tbUserID.ReadOnly=true;tsbtnSave.Enabled=false;OpType="";}5.4圖書管理模塊圖書添加:單擊“圖書管理”/“添加圖書”菜單,出現(xiàn)“添加圖書”頁面。然后錄入數(shù)據(jù),圖書添加的流程及實(shí)現(xiàn)方法同讀者用戶添加代碼相似,其程序流程如圖所示。圖圖書添加流程圖圖書管理員錄入圖書信息,點(diǎn)擊添加按鈕之后,彈出“圖書添加成功”提示框,如下圖所示:該模塊實(shí)現(xiàn)的主要程序代碼如下:privatevoidbtnAdd_Click(objectsender,EventArgse){for(inti=0;i<panel1.Controls.Count;i++){if(panel1.Controls[i].GetType().ToString()=="System.Windows.Forms.TextBox"){if(((TextBox)panel1.Controls[i]).Name!="tbBrief"){if(((TextBox)panel1.Controls[i]).Text==""){MessageBox.Show("除了簡介與封面外\n所有信息必須完整","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}}}if(ValidateInPut()){Model.Bookbk=newLibrary.Model.Book();bk.bkID=0;bk.bkCode=tbBookCode.Text;bk.bkName=tbBookName.Text;bk.bkAuthor=tbBookAuthor.Text;bk.bkCatalog=cbbTypeName.Text;bk.bkLanguage=cbbLanguage.Text;bk.bkDatePress=dtpDatePress.Value;bk.bkDateIn=dtpDateIn.Value;bk.bkPress=tbPressName.Text;bk.bkPage=Convert.ToInt32(tbPages.Text);bk.bkPrice=(float)Convert.ToDouble(tbPrice.Text);bk.bkBrief=tbBrief.Text;bk.bkConver=null;bk.bkISBN=tbISBN.Text;bk.bkIsLab=true;if(bd.InsertBooks(bk,Convert.ToInt32(tbStartNumber.Text),Convert.ToInt32(tbCount.Text))){MessageBox.Show("圖書添加成功!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}else{MessageBox.Show("圖書添加失敗!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}}5.5借閱管理模塊圖書借閱是圖書管理系統(tǒng)實(shí)現(xiàn)的重點(diǎn)和難點(diǎn)。圖書借閱模塊需要對圖書在館內(nèi)的狀態(tài)進(jìn)行跟蹤,其主要狀態(tài)模式分別為增加圖書、在庫圖書、刪除圖書、圖書外借、圖書預(yù)定五類狀態(tài)。圖書管理人員輸入圖書信息為圖書添加狀態(tài),處于在庫圖書狀態(tài)則能夠被讀者外借。圖書外借歸還后該書也轉(zhuǎn)為在庫書籍狀態(tài),上述狀態(tài)轉(zhuǎn)換如圖:圖圖書狀態(tài)轉(zhuǎn)換圖借書和還書操作是本系統(tǒng)最重要的兩個功能,此操作要求讀者必須將書帶出圖書室或還回到圖書室,這樣才能保證圖書和系統(tǒng)信息的同步。單擊“借閱管理”/“借閱查詢”菜單,出現(xiàn)“借閱查詢”頁面,輸入讀者信息,點(diǎn)擊查詢即可得到借閱歷史,借閱查詢結(jié)果頁面如下圖所示:圖借閱查詢界面讀者還書操作界面:圖讀者還書界面查詢借閱模塊實(shí)現(xiàn)主要代碼:privatevoidbtnSearchReader_Click(objectsender,EventArgse){if(tbReaderID.Text!=""){Model.Readerrd=newLibrary.Model.Reader();rd=newDAL.ReaderDal().GetReaderById(tbReaderID.Text);if(rd!=null){tbReaderName.Text=rd.rdName;tbReaderType.Text=rd.rdType.ToString();tbReaderDept.Text=rd.rdDept;tbHasLendQty.Text=rd.rdBorrowQty.ToString();;DAL.ReaderTypeDalrtd=newLibrary.DAL.ReaderTypeDal();Model.ReaderTypert=rtd.GetReaderTypeByReaderId(tbReaderID.Text);if(rt!=null){tbCanLendDay.Text=rt.canLendDay.ToString();tbCanLendQty.Text=rt.canLendQty.ToString();stringsqlStr="selectldIDas借書編號,bk.bkIDAS圖書序號,bkNameAS圖書名稱,ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時間,ldDateRetPlanas應(yīng)還時間,ldOverDayas超期時間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+tbReaderID.Text+"'andbr.isHasReturn='否'";newBLL.BorrowBll().BindReaderBorrow(sqlStr,dgvOne);rdId=tbReaderID.Text;}}else{MessageBox.Show("不存在此讀者!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);}}}讀者還書模塊主要代碼實(shí)現(xiàn):privatevoidbtnOK_Click(objectsender,EventArgse){try{if(dgvOne.SelectedRows.Count>0){if(newDAL.BorrowDal().ReturnBook(Convert.ToInt32(dgvOne.SelectedRows[0].Cells[0].Value),(tbPunishMoney.Text!=""?Convert.ToDouble(tbPunishMoney.Text):0),DAL.CurrentUser.UserID)){MessageBox.Show("還書成功!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);stringsqlStr="selectldIDas借書編號,bk.bkIDAS圖書序號,bkNameAS圖書名稱,ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時間,ldDateRet
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能交通系統(tǒng)建設(shè)合同4篇
- 2025年度產(chǎn)品上樣研發(fā)創(chuàng)新合作框架協(xié)議4篇
- 二零二四年專業(yè)調(diào)解離婚財產(chǎn)分配協(xié)議3篇
- 2025年度廠房租賃合同補(bǔ)充協(xié)議(含租賃物保險及理賠)4篇
- 2025年度柴油產(chǎn)品售后服務(wù)協(xié)議3篇
- 女性職工知識培訓(xùn)課件
- 2024藝術(shù)品經(jīng)營公司與藝術(shù)家前期藝術(shù)品交易合同
- 不動產(chǎn)企業(yè)股權(quán)轉(zhuǎn)讓標(biāo)準(zhǔn)協(xié)議版B版
- 專業(yè)辦公設(shè)備配送及維護(hù)服務(wù)協(xié)議版A版
- 2024藥品、醫(yī)療器械質(zhì)量保證協(xié)議書
- 醫(yī)養(yǎng)康養(yǎng)園項(xiàng)目商業(yè)計劃書
- 《穿越迷宮》課件
- 《C語言從入門到精通》培訓(xùn)教程課件
- 2023年中國半導(dǎo)體行業(yè)薪酬及股權(quán)激勵白皮書
- 2024年Minitab全面培訓(xùn)教程
- 社區(qū)電動車棚新(擴(kuò))建及修建充電車棚施工方案(純方案-)
- 項(xiàng)目推進(jìn)與成果交付情況總結(jié)與評估
- 鐵路項(xiàng)目征地拆遷工作體會課件
- 醫(yī)院死亡報告年終分析報告
- 建設(shè)用地報批服務(wù)投標(biāo)方案(技術(shù)方案)
- 工會工作人年度考核個人總結(jié)
評論
0/150
提交評論