基于C語(yǔ)言的winform圖書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于C語(yǔ)言的winform圖書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于C語(yǔ)言的winform圖書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于C語(yǔ)言的winform圖書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于C語(yǔ)言的winform圖書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于C#語(yǔ)言的winform圖書(shū)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-3"\h\u786目錄115822摘要32238Abstract332755第一章引言4301961.1課題研究背景456311.2研究目的及意義4125151.3課題研究?jī)?nèi)容5111631.4課題研究綜述6255951.4.1國(guó)內(nèi)外研究現(xiàn)狀6248841.4.2圖書(shū)管理系統(tǒng)的發(fā)展方向622186第二章系統(tǒng)開(kāi)發(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簡(jiǎn)介12310342.4SQLServer數(shù)據(jù)庫(kù)概述1211730第三章系統(tǒng)的需求分析1372473.1可行性需求分析13187453.2性能需求分析14168453.3用戶(hù)需求分析14247793.3.1需求概述1455223.3.2用例模型15322973.4系統(tǒng)非功能性需求17151213.4.1可用性18158773.4.2可維護(hù)性18284333.4.3可擴(kuò)展性18146913.4.4容錯(cuò)性1824703第四章系統(tǒng)設(shè)計(jì)19157814.1總體設(shè)計(jì)19165604.1.1系統(tǒng)角色設(shè)計(jì)19292574.1.2功能模塊總體設(shè)計(jì)19201614.2詳細(xì)設(shè)計(jì)21167054.2.1用戶(hù)登錄模塊21325094.2.2系統(tǒng)管理模塊23161954.2.3圖書(shū)管理模塊2498414.2.4讀者管理模塊25316364.2.5圖書(shū)借閱管理模塊2651394.2.6查詢(xún)圖書(shū)信息模塊2769274.3數(shù)據(jù)庫(kù)設(shè)計(jì)2731084.3.1概念結(jié)構(gòu)設(shè)計(jì)27327024.3.2邏輯結(jié)構(gòu)設(shè)計(jì)285209第五章系統(tǒng)主要功能的實(shí)現(xiàn)31270475.1用戶(hù)登錄模塊3143655.2查詢(xún)圖書(shū)模塊33171195.3讀者管理模塊3670525.4圖書(shū)管理模塊37216405.5借閱管理模塊4030781第六章總結(jié)與展望4466746.1總結(jié)44253196.2展望4515832參考文獻(xiàn)452917致謝46摘要隨著科學(xué)技術(shù)的進(jìn)步和計(jì)算機(jī)行業(yè)的快速發(fā)展,人們的工作效率顯著提高。計(jì)算機(jī)信息處理系統(tǒng)的引進(jìn)已經(jīng)徹底改變了許多系統(tǒng)的經(jīng)營(yíng)管理方式。高校圖書(shū)館作為一種信息資源的集散地,存在圖書(shū)借閱頻繁、用戶(hù)管理多變等問(wèn)題。從圖書(shū)信息管理和圖書(shū)用戶(hù)來(lái)設(shè)計(jì),充分實(shí)現(xiàn)高校圖書(shū)信息的系統(tǒng)管理,是當(dāng)前高校圖書(shū)信息管理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)的必然趨勢(shì)。圖書(shū)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)建立和維護(hù),以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。前者要求建立數(shù)據(jù)一致和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。后者要求應(yīng)用程序功能完備,容易使用等特點(diǎn)。本系統(tǒng)使用Winform窗體進(jìn)行界面設(shè)計(jì),結(jié)合圖書(shū)館的要求,對(duì)SQLServer數(shù)據(jù)庫(kù)、SQL語(yǔ)言原理、C#語(yǔ)言的Winform應(yīng)用程序設(shè)計(jì),數(shù)據(jù)庫(kù)技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用。主要完成對(duì)圖書(shū)管理系統(tǒng)的需求分析、詳細(xì)設(shè)計(jì)、數(shù)據(jù)庫(kù)模式分析,并由此設(shè)計(jì)了數(shù)據(jù)庫(kù)結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)構(gòu)證明,所設(shè)計(jì)的圖書(shū)管理系統(tǒng)可以滿(mǎn)足系統(tǒng)管理員、圖書(shū)管理員、讀者管理員和讀者對(duì)系統(tǒng)的需要。當(dāng)本系統(tǒng)投入實(shí)際使用后,即可提高日常的工作效率,使得人力資源大大減少,把管理員從繁瑣的工作中釋放出來(lái)。在論文的最后,總結(jié)了本文的工作內(nèi)容,并對(duì)接下來(lái)的工作進(jìn)行展望。關(guān)鍵字:.NET;C#;SQLServer數(shù)據(jù)庫(kù);圖書(shū)管理系統(tǒng);Winform應(yīng)用程序開(kāi)發(fā)Abstract第一章引言1.1課題研究背景隨著高等學(xué)校招生規(guī)模的不斷擴(kuò)大,高校信息化建設(shè)在高校管理和服務(wù)中顯得極為緊迫和必要。高校信息化建設(shè)主要為教育管理、教學(xué)管理、圖書(shū)管理、財(cái)務(wù)管理、后勤服務(wù)管理等。圖書(shū)信息化管理已成為高校信息化建設(shè)的重要組成部分,無(wú)論是中等職業(yè)學(xué)校、高等職業(yè)學(xué)校,還是普通高等學(xué)校都建設(shè)起了大小不同的圖書(shū)館或是資料室,但由于各個(gè)學(xué)校的信息化程度不一樣,絕大多數(shù)學(xué)校的圖書(shū)管理系統(tǒng)不盡人意,如無(wú)法預(yù)約借閱、網(wǎng)上查詢(xún)等,這就導(dǎo)致有借閱者為了借閱某本圖書(shū),而查閱了多個(gè)圖書(shū)管理庫(kù),浪費(fèi)了大量時(shí)間以及精力。圖書(shū)館作為人類(lèi)知識(shí)的寶庫(kù),為人類(lèi)知識(shí)的積累和傳播發(fā)揮重要作用。圖書(shū)館是用科學(xué)的方法搜集、整理、保管、傳播以及利用資料,為一定的經(jīng)濟(jì)、政治服務(wù)的科學(xué)、文化、教育機(jī)構(gòu)。隨著信息科學(xué)的迅猛發(fā)展,信息化徹底改變了圖書(shū)館工作人員傳統(tǒng)的工作方法,計(jì)算機(jī)已成為圖書(shū)館館員的工作工具。目前很多大型的圖書(shū)館已經(jīng)有一整套比較完整的信息管理系統(tǒng),但大多圖書(shū)管理系統(tǒng)都是比較常見(jiàn)C/S的體系結(jié)構(gòu)軟件,這種結(jié)構(gòu)的軟件對(duì)于小型圖書(shū)館比較適用,而對(duì)大型一些的圖書(shū)館,特別是校園網(wǎng)上的應(yīng)用,就遇到了許多問(wèn)題,如客戶(hù)端安裝維護(hù)問(wèn)題、系統(tǒng)反應(yīng)慢。1.2研究目的及意義科技高速發(fā)展,計(jì)算機(jī)的價(jià)格已經(jīng)普遍較為低廉。但是其性能卻有了很大的提高。如今在各個(gè)高校都配備了許多電腦,老師和學(xué)生都具備一定程度的電腦知識(shí)。在學(xué)校的學(xué)習(xí)和辦公中計(jì)算機(jī)被廣泛的應(yīng)用。能得到如此廣泛應(yīng)用主要是由于以下幾個(gè)方面的原因:計(jì)算機(jī)的運(yùn)算速度非???,可以比人力資源帶來(lái)更大效率;計(jì)算機(jī)可以為學(xué)校在各個(gè)方面借閱各種資源;計(jì)算機(jī)的應(yīng)用可以使教職工的工作效率大大提高;計(jì)算機(jī)在安全性方面也有一定的保障。本論文旨在通過(guò)對(duì)圖書(shū)信息管理系統(tǒng)構(gòu)建相關(guān)理論的系統(tǒng)研究,結(jié)合高校信息化建設(shè)的實(shí)際情況,建立一個(gè)先進(jìn)、靈活的圖書(shū)信息管理系統(tǒng),為高校師生服務(wù),促進(jìn)我國(guó)高校信息化建設(shè)水平邁上新的臺(tái)階。其研究的意義在于:圖書(shū)信息管理系統(tǒng)的實(shí)施,管理人員可以實(shí)時(shí)統(tǒng)計(jì)圖書(shū)庫(kù)存、借閱狀況等,同時(shí)可以提高圖書(shū)館工作人員的總體素質(zhì)和管理水平??傊瑲w納起來(lái)的優(yōu)點(diǎn):用數(shù)字的形式來(lái)記錄和存儲(chǔ)學(xué)校的圖書(shū)和電子資源的信息,包括圖書(shū)、讀者、還有借閱信息。使得更安全和高效大大減少了人力資源的浪費(fèi),只需要為數(shù)不多的幾個(gè)管理員就可以完成傳統(tǒng)需要很多人才能完成的工作量;查詢(xún)的效率大大得到提高,管理系統(tǒng)可以為在校的老師和學(xué)生提供多樣化的查詢(xún)手段,來(lái)實(shí)現(xiàn)方便和快捷的查詢(xún)讀者所需要的各種資源情況。綜上所述,為了更好的服務(wù)廣大讀者,提高效率節(jié)約資源,在現(xiàn)行的人工流程的上開(kāi)發(fā)圖書(shū)管理系統(tǒng),來(lái)滿(mǎn)足當(dāng)前圖書(shū)管理的要求,提升工作效率。本研究的主要目的是設(shè)計(jì)和實(shí)現(xiàn)一個(gè)具有一定實(shí)用意義的圖書(shū)館管理平臺(tái)。1.3課題研究?jī)?nèi)容結(jié)合國(guó)內(nèi)外對(duì)圖書(shū)信息管理系統(tǒng)的建設(shè)以及軟件開(kāi)發(fā)思想的研究情況,開(kāi)發(fā)出C/S模式的高校圖書(shū)信息管理系統(tǒng)。主要工作為通過(guò)對(duì)現(xiàn)有圖書(shū)信息管理系統(tǒng)建設(shè)情況的研究,分析現(xiàn)有高校圖書(shū)信息管理系統(tǒng)存在的不足。對(duì)現(xiàn)有軟件開(kāi)發(fā)技術(shù)的研究,搭建起高校圖書(shū)信息管理系統(tǒng)的開(kāi)發(fā)環(huán)境。通過(guò)對(duì)高校圖書(shū)信息管理系統(tǒng)的需求分析,采用.NET技術(shù),設(shè)計(jì)與開(kāi)發(fā)出了先進(jìn)的高校圖書(shū)信息管理系統(tǒng)。具體為以下:1)綜述高校圖書(shū)管理中存在的問(wèn)題以及信息化建設(shè)研究現(xiàn)狀,并對(duì)基于C/S模式開(kāi)發(fā)的網(wǎng)絡(luò)圖書(shū)管理信息系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行了簡(jiǎn)單論述,闡明基本開(kāi)發(fā)路線(xiàn)。2)完成圖書(shū)管理信息系統(tǒng)的需求分析。分析中將具體模塊進(jìn)行細(xì)分,利用結(jié)構(gòu)化分析方法獲取了系統(tǒng)主要功能模塊需求以及主要的數(shù)據(jù)流程,按照軟件需求規(guī)格說(shuō)明書(shū)的要求對(duì)系統(tǒng)需求分析進(jìn)行了整理,著重從系統(tǒng)功能需求、性能需求、數(shù)據(jù)流圖以及系統(tǒng)設(shè)計(jì)要求等要素,給出了主要分析過(guò)程。3)完成高校圖書(shū)管理信息系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)與詳細(xì)設(shè)計(jì)。對(duì)系統(tǒng)各用戶(hù)特征及其主要功能業(yè)務(wù)流程、核心類(lèi)及其關(guān)系,數(shù)據(jù)結(jié)構(gòu)及其模式等內(nèi)容進(jìn)行了詳細(xì)設(shè)計(jì),給出了主要設(shè)計(jì)文檔,最后對(duì)系統(tǒng)的調(diào)試與測(cè)試進(jìn)行了闡述。4)利用VisualS集成開(kāi)發(fā)工具,按照軟件設(shè)計(jì)的規(guī)范化要求,完成高校圖書(shū)管理信息系統(tǒng)功能模塊的代碼實(shí)現(xiàn),實(shí)現(xiàn)圖書(shū)信息管理、圖書(shū)借閱管理、圖書(shū)檢索、用戶(hù)管理等主要模塊的功能。給出詳細(xì)的測(cè)試用例及測(cè)試結(jié)果分析。1.4課題研究綜述1.4.1國(guó)內(nèi)外研究現(xiàn)狀我國(guó)的圖書(shū)管理系統(tǒng)始于上世紀(jì)八十年代初,經(jīng)過(guò)了30年的發(fā)展,如今已經(jīng)取得了傲人的成績(jī)。目前,我國(guó)絕大多數(shù)的圖書(shū)館已經(jīng)把計(jì)算機(jī)應(yīng)用到了圖書(shū)的管理當(dāng)中。圖書(shū)館已經(jīng)發(fā)展到計(jì)算機(jī)系統(tǒng)管理的自動(dòng)化、網(wǎng)絡(luò)化、數(shù)字化操作模式。根據(jù)圖書(shū)館的工作流程,國(guó)內(nèi)圖書(shū)管理系統(tǒng)設(shè)置了采訪(fǎng)、編目、流通、期刊、參考咨詢(xún)、聯(lián)機(jī)檢索、公共查詢(xún)等子系統(tǒng),其功能覆蓋了圖書(shū)館的全部業(yè)務(wù)環(huán)節(jié)。圖書(shū)管理系統(tǒng)的數(shù)據(jù)資源在子系統(tǒng)之間具有高度的共享一致性,數(shù)據(jù)資源具有較高的集成性。國(guó)外對(duì)信息檢索技術(shù)的研究始于上世紀(jì)70年代的美國(guó)海軍兵器中心,其研究主要內(nèi)容是單詞匹配技術(shù)。隨著這項(xiàng)技術(shù)的發(fā)展,信息檢索、自動(dòng)分類(lèi)、自動(dòng)索引等技術(shù)的研究工作也相繼展開(kāi),圖書(shū)管理系統(tǒng)的發(fā)展由此開(kāi)始。上世紀(jì)90年代初,美國(guó)的科學(xué)家首次提出數(shù)字圖書(shū)館這一概念,近二十年的研究與發(fā)展使其各方面技術(shù)經(jīng)驗(yàn)都較為完備。網(wǎng)絡(luò)技術(shù)的飛速發(fā)展全面帶動(dòng)了國(guó)外圖書(shū)管理系統(tǒng)自動(dòng)化的研究。在研究初期,僅在英國(guó),就有120多個(gè)商家對(duì)圖書(shū)管理系統(tǒng)進(jìn)行開(kāi)發(fā)。國(guó)外比較知名的圖書(shū)管理系統(tǒng)軟件有:美國(guó)的SIRSI、INNOPAC以及澳大利亞的HORIZON等。國(guó)外的產(chǎn)品在開(kāi)發(fā)、銷(xiāo)售、售后服務(wù)及版本的升級(jí)等方面具有較強(qiáng)的實(shí)力,而且其產(chǎn)品經(jīng)過(guò)了多年市場(chǎng)使用檢驗(yàn),反復(fù)修改,系統(tǒng)更加完善,更具有先進(jìn)性和穩(wěn)定性。1.4.2圖書(shū)管理系統(tǒng)的發(fā)展方向隨著高校信息化的不斷推進(jìn),高校圖書(shū)信息管理系統(tǒng)呈現(xiàn)出如下發(fā)展方向:(1)高校圖書(shū)信息管理系統(tǒng)必須使用高新技術(shù)做支撐。隨著高校規(guī)模的擴(kuò)張,無(wú)論是師生用戶(hù),還是圖書(shū)信息都不斷增大,許多高校建立了多個(gè)校區(qū),多個(gè)圖書(shū)館,這就要求需要采用高新技術(shù)如數(shù)據(jù)倉(cāng)庫(kù)、高效聯(lián)機(jī)解析處理、數(shù)據(jù)挖掘等技術(shù)對(duì)圖書(shū)信息進(jìn)行管理,實(shí)現(xiàn)分布式圖書(shū)資源庫(kù)的可互操作性。(2)高校圖書(shū)信息管理系統(tǒng)要實(shí)現(xiàn)圖書(shū)館的數(shù)字化。隨著因特網(wǎng)的發(fā)展,用戶(hù)希望無(wú)論在何處都能夠查詢(xún)到圖書(shū)信息,這就要求系統(tǒng)能夠突破時(shí)空限制為用戶(hù)全方位的信息服務(wù)。第二章系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)研究應(yīng)用系統(tǒng)的實(shí)現(xiàn)技術(shù)一直是軟件工程領(lǐng)域的一大研究熱點(diǎn),一般軟件開(kāi)發(fā)包含了2種模式,即C/S和B/S模式,這2種模式,各有自己的優(yōu)缺點(diǎn)。在對(duì)應(yīng)用系統(tǒng)開(kāi)發(fā)之前,需要對(duì)軟件構(gòu)架、編程語(yǔ)言、開(kāi)發(fā)技術(shù)以及數(shù)據(jù)庫(kù)進(jìn)行研究,才能開(kāi)發(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é)對(duì)數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來(lái)。這一定義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,這一方法在其他的定義和方法中基本上得到保持。其發(fā)展過(guò)程可以分為以下三個(gè)階段:集中式計(jì)算結(jié)構(gòu)、客戶(hù)機(jī)/服務(wù)器計(jì)算結(jié)構(gòu)(簡(jiǎn)稱(chēng)C/S結(jié)構(gòu))、瀏覽器服務(wù)器計(jì)算結(jié)構(gòu)(簡(jiǎn)稱(chēng)B/S結(jié)構(gòu))。集中式計(jì)算機(jī)結(jié)構(gòu)下客戶(hù)、數(shù)據(jù)和程序被集中在主機(jī)上,通常只有少量的GUI界面,對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)比較困難。這種結(jié)構(gòu)由于信息共享能力較差,屬于全封閉式系統(tǒng),且不同系統(tǒng)之間無(wú)法進(jìn)行交流,系統(tǒng)擴(kuò)展也不方便,已經(jīng)無(wú)法適應(yīng)信息技術(shù)發(fā)展的需求。2.1.1C/S結(jié)構(gòu)C/S結(jié)構(gòu)的基本原則是將計(jì)算機(jī)應(yīng)用任務(wù)分解成多個(gè)子任務(wù),由多臺(tái)計(jì)算機(jī)分工完成,即采用“功能分布”原則。客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu),即所謂的C/S結(jié)構(gòu)作為一種較為傳統(tǒng)的軟件體系結(jié)構(gòu),其優(yōu)點(diǎn)在可以很好的發(fā)揮客戶(hù)端和服務(wù)器端的資源優(yōu)勢(shì),通過(guò)給兩端分配不同的任務(wù)來(lái)實(shí)現(xiàn)系統(tǒng)的運(yùn)行。其結(jié)構(gòu)如圖所示。圖C/S模式體系結(jié)構(gòu)圖Client和Server常常分別處在相距很遠(yuǎn)的兩臺(tái)計(jì)算機(jī)上,Client程序的任務(wù)是將用戶(hù)的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶(hù);Server程序的任務(wù)是接收客戶(hù)程序提出的服務(wù)請(qǐng)求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶(hù)程序。C/S結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶(hù)端PC的處理能力,很多工作可以在客戶(hù)端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶(hù)端響應(yīng)速度快。2.1.2B/S結(jié)構(gòu)B/S結(jié)構(gòu)是對(duì)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ā)展而來(lái)的三層Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。三層體系結(jié)構(gòu)是在兩層體系結(jié)構(gòu)的中間增加了一層(通常稱(chēng)為中間層)來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯的表達(dá)。分布式多層體系結(jié)構(gòu)是指將系統(tǒng)分散到不同的機(jī)器上,并把中間層進(jìn)行了模塊化處理。由傳統(tǒng)的二層Client/Server結(jié)構(gòu)發(fā)展而來(lái)的三層Client/Server結(jié)構(gòu)在Web上應(yīng)用的特例。B/S架構(gòu)體系結(jié)構(gòu)如下圖所示。它由三部分組成:客戶(hù)機(jī)、應(yīng)用服務(wù)器和數(shù)據(jù)服務(wù)器。圖B/S三層架構(gòu)模型目前,常見(jiàn)的應(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á)到了“零客戶(hù)端”的功能,但其缺點(diǎn)是安全性難以控制,數(shù)據(jù)處理的響應(yīng)速度不高,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng),不利于在線(xiàn)事務(wù)處理(OLTP)應(yīng)用。C/S結(jié)構(gòu)系統(tǒng)的優(yōu)點(diǎn)是客戶(hù)端的安全性較高,數(shù)據(jù)處理的相應(yīng)速度快,數(shù)據(jù)的動(dòng)態(tài)交互性強(qiáng),缺點(diǎn)是客戶(hù)端程序設(shè)計(jì)復(fù)雜,軟件的移植、維護(hù)和升級(jí)困難。2.2.NET技術(shù)概述.NETFramework技術(shù)是微軟公司推出的一個(gè)全新開(kāi)發(fā)框架概念,它代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)可支持下一代Internet的可編程結(jié)構(gòu)。它是一個(gè)支持環(huán)境與Windows一樣,.NET也是一個(gè)位于客戶(hù)機(jī)上的用戶(hù)環(huán)境和基礎(chǔ)用戶(hù)服務(wù)集合。.NET的最終目標(biāo)就是讓用戶(hù)無(wú)論在何方、何時(shí)、何設(shè)備都可以訪(fǎng)問(wèn)到所需要的資源。用戶(hù)并不要知道這些資源存放在何處,而只需發(fā)出請(qǐng)求,然后就能接受到響應(yīng)結(jié)果,具體復(fù)雜處理過(guò)程對(duì)用戶(hù)而言是透明的。其最終目的就是將互聯(lián)網(wǎng)作為新一代操作系統(tǒng)的基礎(chǔ),對(duì)互聯(lián)網(wǎng)的設(shè)計(jì)思想進(jìn)行擴(kuò)展。.NET框架可分為兩部分:公共語(yǔ)言運(yùn)行環(huán)境CLR(CommonLanguageRuntime)和.NETFramework框架的類(lèi)庫(kù)。其基本框架如下圖:圖.NET平臺(tái)框架結(jié)構(gòu)圖公共語(yǔ)言運(yùn)行環(huán)境在框架的底層,是負(fù)責(zé)程序的運(yùn)行,具有內(nèi)存、線(xiàn)程、安全和異常的管理功能以及通用類(lèi)型系統(tǒng)與生命周期監(jiān)控等服務(wù)。在公共語(yǔ)言運(yùn)行環(huán)境之上的是.NET框架的類(lèi)庫(kù),具有多種類(lèi)以及接口。公共語(yǔ)言運(yùn)行庫(kù)(CLR)是.NET的基礎(chǔ),它為各種各樣.NET語(yǔ)言提供了公共的類(lèi)庫(kù),也為用這些語(yǔ)言編寫(xiě)的應(yīng)用程序提供了運(yùn)行環(huán)境。使用針對(duì)公共語(yǔ)言運(yùn)行庫(kù)的語(yǔ)言編譯器開(kāi)發(fā)的代碼稱(chēng)為托管代碼。類(lèi)庫(kù)是一個(gè)可重用類(lèi)型集合,具有綜合性及面向?qū)ο蟮奶卣?。使用者可以利用?lèi)庫(kù)來(lái)進(jìn)行多種應(yīng)用程序的開(kāi)發(fā),包括傳統(tǒng)的基于命令行或基于圖形用戶(hù)界面的應(yīng)用程序,也可以包括基于A(yíng)SP.NET所提供的最新應(yīng)用程序。2.2.1.NET框架.NET框架是.NET平臺(tái)的重要組成部分,其目的是便于開(kāi)發(fā)者更加容易地建立網(wǎng)絡(luò)應(yīng)用程序和WEB服務(wù)。它簡(jiǎn)化了在高度分布式Internet環(huán)境中進(jìn)行應(yīng)用程序開(kāi)發(fā)。.NET技術(shù)的核心的.NET框架,它是基于網(wǎng)絡(luò)基礎(chǔ)的開(kāi)發(fā)工具。.NETFramework包括了5個(gè)層次:通用語(yǔ)言運(yùn)行環(huán)境(CLR)、統(tǒng)一基礎(chǔ)類(lèi)庫(kù)、ADO.NET、ASP.NET和通用語(yǔ)言規(guī)范(CLS),如下圖所示。圖.NET平臺(tái)框架支持環(huán)境.NETFramework主要功能如下:(1)提供了豐富的框架,從而使用戶(hù)可以NETFramework快速進(jìn)行數(shù)據(jù)驅(qū)動(dòng)的開(kāi)發(fā),而無(wú)需編寫(xiě)代碼,ASP.NETAJA的一項(xiàng)新增功能,對(duì)管理瀏覽器歷史記錄提供了支持。(2)對(duì)公共語(yǔ)言運(yùn)行時(shí)的核心改進(jìn)包括:改進(jìn)了.NETFramework本機(jī)映像的布局、選擇不再對(duì)完全受信任的程序集進(jìn)行強(qiáng)名稱(chēng)驗(yàn)證、提高了應(yīng)用程序啟動(dòng)性能、改進(jìn)了生成的代碼以縮短端對(duì)端應(yīng)用程序執(zhí)行時(shí)間、選擇在A(yíng)SLR(地址空間布局隨機(jī)化)模式下運(yùn)行托管代碼(如果操作系統(tǒng)支持)。(3)提高了WindowsPresentationFoundation的性能,包括縮短了啟動(dòng)時(shí)間,提高了與位圖效果有關(guān)的性能。WPF的其他新增功能包括:改善了對(duì)業(yè)務(wù)線(xiàn)應(yīng)用程序、本機(jī)初始屏幕、DirectX像素著色器的支持,并且新增了WebBrowser控件。(4)為解決腳本環(huán)境或解釋環(huán)境的性能問(wèn)題,提供了一個(gè)代碼執(zhí)行環(huán)境。統(tǒng)一開(kāi)發(fā)人員個(gè)體經(jīng)驗(yàn)對(duì)應(yīng)用程序開(kāi)發(fā)的影響。提供標(biāo)準(zhǔn)化的通信服務(wù),基于.NETFramework的代碼與任何其他代碼可以集成交流。2.2.2Winform介紹WinForm是.Net開(kāi)發(fā)平臺(tái)中對(duì)WindowsForm的一種稱(chēng)謂。Windows窗體的一些重要特點(diǎn)如下:功能強(qiáng)大:Windows窗體可用于設(shè)計(jì)窗體和可視控件,以創(chuàng)建豐富的基于Windows的應(yīng)用程序。操作方便:新的數(shù)據(jù)提供程序管理:數(shù)據(jù)提供程序管理提供易于連接OLEDB和ODBC數(shù)據(jù)源的數(shù)據(jù)控件,包括MicrosoftSQLServer、MicrosoftAccess、JET、DB2以及Oracle等。使用安全:Windows窗體充分利用公共語(yǔ)言運(yùn)行庫(kù)的安全特性。這就意味著,一切都可以通過(guò)Windows窗體來(lái)實(shí)現(xiàn),包括在瀏覽器中運(yùn)行的不可信控件和用戶(hù)硬盤(pán)上安裝的完全可信的應(yīng)用程序。優(yōu)點(diǎn):控件靈活:Windows窗體提供了一套豐富的控件,并且開(kāi)發(fā)人員可以定義自己有特色的新的控件。WinForm控件是指以輸入或操作數(shù)據(jù)的對(duì)象。比如ComponentOne是.NET平臺(tái)下對(duì)數(shù)據(jù)和方法的封裝。有自己的屬性和方法。屬性是控件數(shù)據(jù)的簡(jiǎn)單訪(fǎng)問(wèn)者。方法則是控件的一些簡(jiǎn)單而可見(jiàn)的功能。包含在.NETFramework中的Windows窗體類(lèi)旨在用于GUI開(kāi)發(fā)。您可以輕松創(chuàng)建具有適應(yīng)多變的商業(yè)需求所需的靈活性的命令窗口、按鈕、菜單、工具欄和其他屏幕元素。數(shù)據(jù)管理:方便的數(shù)據(jù)顯示和操作:應(yīng)用程序開(kāi)發(fā)中最常見(jiàn)的情形之一是在窗體上顯示數(shù)據(jù)。Windows窗體對(duì)數(shù)據(jù)庫(kù)處理提供全面支持??梢栽L(fǎng)問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),并在窗體上顯示和操作數(shù)據(jù)。向?qū)鞔_:向用戶(hù)提供創(chuàng)建窗體、數(shù)據(jù)處理、打包和部署等的分布指導(dǎo)。2.2.3C#與.NET的關(guān)系為了支持.NET框架,微軟公司博采眾長(zhǎng),開(kāi)發(fā)出一種具有java簡(jiǎn)潔性、C++語(yǔ)言靈活性、Pascal語(yǔ)言嚴(yán)謹(jǐn)?shù)恼Z(yǔ)言:C#,這是一個(gè)非常優(yōu)秀的語(yǔ)言。C#的誕生就是為了支持.NETFramework應(yīng)用程序開(kāi)發(fā)平臺(tái)的,他們之間密不可分。熟練使用C#是作為一個(gè)在.NET平臺(tái)上的開(kāi)發(fā)者必不可少的技能。.NET和C#語(yǔ)言之間是密不可分的,C#這門(mén)語(yǔ)言是伴隨著.NET的出現(xiàn)而誕生。用C#語(yǔ)言開(kāi)發(fā)和編寫(xiě)代碼時(shí),必不可少的需要使用.NETframework為其提供的框架集合類(lèi)庫(kù)來(lái)進(jìn)行開(kāi)發(fā)。C#并不是.NET框架唯一支持的語(yǔ)言,開(kāi)發(fā)人員可以使用VisualBasic.NET或者其他一些支持.NET語(yǔ)言進(jìn)行開(kāi)發(fā)。2.3VisualStudio簡(jiǎn)介Visual

Studio是微軟公司推出的開(kāi)發(fā)環(huán)境,Visual

Studio可以用來(lái)創(chuàng)建Windows平臺(tái)下的Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來(lái)創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office插件。Visual

Studio是目前最流行的Windows平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。VisualStudio2005是基于.NET2.0框架的。它同時(shí)也能開(kāi)發(fā)跨平臺(tái)的應(yīng)用程序,如開(kāi)發(fā)使用微軟操作系統(tǒng)的手機(jī)的程序等??傮w來(lái)說(shuō)是一個(gè)非常龐大的軟件,甚至包含代碼測(cè)試功能。這個(gè)版本的VisualStudio包含有眾多版本,分別面向不同的開(kāi)發(fā)角色。同時(shí)還永久提供免費(fèi)的VisualStudioExpress版本。2.4SQLServer數(shù)據(jù)庫(kù)概述SQLServer是微軟公司的開(kāi)發(fā)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),該數(shù)據(jù)庫(kù)管理系統(tǒng)具有C/S體系結(jié)構(gòu)的特點(diǎn),跨操作系統(tǒng)平臺(tái),支持多核心處理,能夠很好的提供Web支持,支持XML可擴(kuò)展標(biāo)記語(yǔ)言,可以支持在因特網(wǎng)上查詢(xún)的能力。對(duì)不同的網(wǎng)絡(luò)協(xié)議也有很好的支持,IPX/SPX,TCP/IP等。該數(shù)據(jù)庫(kù)系統(tǒng)是微軟為企業(yè)平臺(tái)所設(shè)計(jì)的大型數(shù)據(jù)庫(kù)產(chǎn)品。SQLServer2008在Microsoft的數(shù)據(jù)平臺(tái)上發(fā)布,可以組織管理任何數(shù)據(jù)??梢詫⒔Y(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中??梢詫?duì)數(shù)據(jù)進(jìn)行查詢(xún)、搜索、同步、報(bào)告和分析之類(lèi)的操作。數(shù)據(jù)可以存儲(chǔ)在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面計(jì)算機(jī)和移動(dòng)設(shè)備,它都可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲(chǔ)在哪里。SQLServer2008允許使用Microsoft.NET和VisualStudio開(kāi)發(fā)的自定義應(yīng)用程序中使用數(shù)據(jù),在面向服務(wù)的架構(gòu)(SOA)和通過(guò)MicrosoftBizTalkServer進(jìn)行的業(yè)務(wù)流程中使用數(shù)據(jù)。信息工作人員可以通過(guò)日常使用的工具直接訪(fǎng)問(wèn)數(shù)據(jù)。第三章系統(tǒng)的需求分析系統(tǒng)的需求分析包括可行性需求分析、性能需求分析和功能需求分析。分析的主要目的是確保開(kāi)發(fā)出的系統(tǒng)真正滿(mǎn)足用戶(hù)實(shí)際需求。3.1可行性需求分析整個(gè)高校圖書(shū)信息管理系統(tǒng)的可行性分析主要包括以下幾個(gè)方面:(1)經(jīng)濟(jì)方面:作為一個(gè)高校,普遍財(cái)務(wù)收入幾千萬(wàn)以上,開(kāi)發(fā)一個(gè)圖書(shū)信息管理系統(tǒng)經(jīng)費(fèi)和實(shí)施整個(gè)平臺(tái)的費(fèi)用也不過(guò)是幾十萬(wàn)之內(nèi),實(shí)施系統(tǒng)后整個(gè)高校的工作效率將得到顯著的提高,這有助于全校師學(xué)查閱資料,提高教育、教學(xué)科研水平。因此,開(kāi)發(fā)圖書(shū)信息管理系統(tǒng),從經(jīng)濟(jì)角度是可行的。(2)技術(shù)方面:軟件方面,該平臺(tái)采用了目前新興的.NET和SQL2008的開(kāi)發(fā)技術(shù)方案,選用功能強(qiáng)大的MicrosoftSQLServer2008作為數(shù)據(jù)庫(kù),確保了平臺(tái)能夠處理大量數(shù)據(jù)。因此,整個(gè)圖書(shū)信息管理系統(tǒng)的軟件開(kāi)發(fā)技術(shù)方案是成熟可行的。硬件方面,科技迅猛發(fā)展的今天,CPU運(yùn)算速度越來(lái)越快,硬盤(pán)和內(nèi)存容量越來(lái)越大,價(jià)格卻越來(lái)越低。因此,完成硬件上能夠滿(mǎn)足實(shí)施圖書(shū)信息管理系統(tǒng)的需要。(3)時(shí)機(jī)方面:各個(gè)高校已經(jīng)建立了千兆校園網(wǎng),學(xué)校所有辦公室、教學(xué)區(qū)、學(xué)生宿舍區(qū)都得到了覆蓋,家家戶(hù)戶(hù)實(shí)現(xiàn)了寬帶接入,這些良好的網(wǎng)絡(luò)環(huán)境為開(kāi)發(fā)網(wǎng)絡(luò)教學(xué)平臺(tái)奠定了堅(jiān)實(shí)的基礎(chǔ)。(4)管理方面:各個(gè)高校都建立了各種管理規(guī)章制度,教學(xué)齊全,原始數(shù)據(jù)準(zhǔn)確可直接使用,這些都為網(wǎng)絡(luò)教學(xué)平臺(tái)開(kāi)發(fā)提供了制度方面的保障。因此,圖書(shū)信息管理系統(tǒng)的開(kāi)發(fā)無(wú)論從經(jīng)濟(jì)、技術(shù)、時(shí)機(jī),還是從管理方面都具備了開(kāi)發(fā)條件,完全可行。3.2性能需求分析圖書(shū)信息管理系統(tǒng)在正常使用過(guò)程中總是需要處理大量的借閱者信息、書(shū)信息以及兩者相互作用產(chǎn)生的借書(shū)信息、還書(shū)信息和圖書(shū)查詢(xún)信息。因此整個(gè)管理系統(tǒng)在圖書(shū)館的管理工作中起著重要的作用,關(guān)系到整個(gè)圖書(shū)館的正常運(yùn)行。所以系統(tǒng)可靠性、可維護(hù)性要求較高:(1)系統(tǒng)要求穩(wěn)定、可靠:圖書(shū)信息管理系統(tǒng)是為全校師生提供優(yōu)質(zhì)服務(wù)的一個(gè)管理系統(tǒng),這就要求系統(tǒng)要穩(wěn)定、可靠地長(zhǎng)時(shí)間運(yùn)行。(2)系統(tǒng)延遲盡可能短:系統(tǒng)數(shù)據(jù)流量大,為了給用戶(hù)更加優(yōu)質(zhì)的服務(wù),要求系統(tǒng)反應(yīng)速度要快,避免大量借閱、歸還等用戶(hù)排隊(duì)等候。(3)系統(tǒng)信息要有安全:系統(tǒng)涉及到全校師生的各種信息,要求要有安全機(jī)制,確保整個(gè)系統(tǒng)的安全,防止非法入侵、篡改系統(tǒng)相關(guān)數(shù)據(jù),造成不必要的麻煩。(4)系統(tǒng)用戶(hù)界面要友好:整個(gè)系統(tǒng)涉及到圖書(shū)的查詢(xún)、借閱、歸還等多種功能,而大多高校的圖書(shū)管理人員文化程度相對(duì)偏低,這就要求系統(tǒng)設(shè)計(jì)過(guò)程中要特別注意界面要友好,使使用者能夠容易上手。3.3用戶(hù)需求分析3.3.1需求概述在過(guò)去沒(méi)有計(jì)算機(jī)的時(shí)代,高校都采用人工方式管理圖書(shū),采用手工方式登記圖書(shū)的借閱和歸還情況。隨著信息科學(xué)技術(shù)的迅猛發(fā)展,各高校數(shù)字化校園建設(shè)已鋪開(kāi),圖書(shū)信息管理系統(tǒng)作為數(shù)字化校園的重要組成部分,迫切需要在追求整個(gè)校園數(shù)字化前,建立起一套功能完善的圖書(shū)信息管理系統(tǒng)來(lái)作鋪墊。(1)功能要完善,解決傳統(tǒng)管理方式不能完成的難題圖書(shū)傳統(tǒng)管理方式,具有許多不能完成的難題,如準(zhǔn)確的圖書(shū)借閱、歸還情況。這就要求整個(gè)圖書(shū)信息管理系統(tǒng)能夠解決這些問(wèn)題。(2)操作要簡(jiǎn)便、工作流程盡量與傳統(tǒng)方式吻合。由于各個(gè)高校的圖書(shū)管理人員大多文化素質(zhì)要比教學(xué)人員低,他們習(xí)慣了傳統(tǒng)手工管理的工作流程,這就要求軟件設(shè)計(jì)過(guò)程中界面要簡(jiǎn)潔、業(yè)務(wù)流程盡量與傳統(tǒng)的人工管理模式類(lèi)似,使圖書(shū)管理人員能夠很快適應(yīng)計(jì)算機(jī)來(lái)管理圖書(shū)。(3)維護(hù)簡(jiǎn)單。系統(tǒng)要求維護(hù)簡(jiǎn)單,使得在出現(xiàn)故障時(shí),能夠及時(shí)排錯(cuò),恢復(fù)正常使用。此外,應(yīng)向系統(tǒng)管理人員提交整個(gè)開(kāi)發(fā)過(guò)程的各種文檔。3.3.2用例模型這里采用統(tǒng)一建模語(yǔ)言的方法即UML建模語(yǔ)言。適用于描述以用例為驅(qū)動(dòng),以體系結(jié)構(gòu)為中心的軟件設(shè)計(jì)的全過(guò)程。用例圖描述了一組用例、參與者以及他們之間的關(guān)系。用例圖是用來(lái)表達(dá)系統(tǒng)與外界間的一系列的交互,甚至系統(tǒng)還沒(méi)有構(gòu)建出來(lái),就可以繪制用例圖。(1)系統(tǒng)整體用例圖首先從總體的角度觀(guān)察圖書(shū)管理系統(tǒng),給出整體的用例圖,如圖所示。這里體現(xiàn)了不同的角色,系統(tǒng)管理員、圖書(shū)管理員、讀者管理員和讀者。描述了他們各自的分工情況和用例之間的關(guān)系。圖系統(tǒng)管理用例圖圖圖書(shū)管理用例圖圖讀者管理用例圖圖讀者用例圖3.4系統(tǒng)非功能性需求除了上述功能性需求,要使系統(tǒng)在日常的工作情況下正常維持,要保證系統(tǒng)的完整性和交互性就必須有一些非功能性需求。3.4.1可用性MTTF,即系統(tǒng)平均無(wú)故障時(shí)間,該參數(shù)是用來(lái)指示計(jì)算機(jī)系統(tǒng)的可靠性。就是計(jì)算機(jī)在發(fā)生兩次故障之間所用的時(shí)間的平均值。換種說(shuō)法就是平均需要多久才發(fā)生故障。按照這種說(shuō)話(huà),MTTF越大系統(tǒng)無(wú)故障時(shí)間越長(zhǎng),就越可靠。MTTR,系統(tǒng)平均維修時(shí)間,維護(hù)系統(tǒng)從故障到恢復(fù)正常使用這段時(shí)間的平均值。維護(hù)性就是通過(guò)他來(lái)進(jìn)行度量的,系統(tǒng)的可維護(hù)性MTTR成反比。由以上的結(jié)果可以推論出公式:MTTF/(MTTF+MTTR)*100%。所以,可用性即為系統(tǒng)保持正常時(shí)間所占的比例。3.4.2可維護(hù)性對(duì)軟件系統(tǒng)的改正、理解、改進(jìn)、改動(dòng)的難易程度即為可維護(hù)性??衫斫庑院托薷男栽谲浖S護(hù)性上有重要的作用。就本系統(tǒng)來(lái)說(shuō),系統(tǒng)的正常運(yùn)行通過(guò)管理員的維護(hù)來(lái)實(shí)現(xiàn)。而且,對(duì)系統(tǒng)需求變化的做出快速的調(diào)整和改變。3.4.3可擴(kuò)展性在適當(dāng)?shù)牡胤讲迦氡M可能多的代碼即為系統(tǒng)的可擴(kuò)展性。其目的是為了應(yīng)付未來(lái)應(yīng)用需求發(fā)生的改變從而對(duì)項(xiàng)目做出的修改,以減少代碼的修改量。系統(tǒng)的可擴(kuò)展性是通過(guò)軟件的框架來(lái)實(shí)現(xiàn)的??梢杂腥缦路椒ǎ簞?dòng)態(tài)加載、回調(diào)函數(shù)、頂端抽象接口和使用可塑性很強(qiáng)的代碼結(jié)構(gòu)。3.4.4容錯(cuò)性容錯(cuò)性是指從錯(cuò)誤中恢復(fù)的能力,這種錯(cuò)誤是軟件或者硬件在運(yùn)行時(shí)產(chǎn)生的。一般來(lái)說(shuō)系統(tǒng)的容錯(cuò)性可以用過(guò)可靠性、可測(cè)行和可用性三個(gè)指標(biāo)來(lái)衡量。就具體的本項(xiàng)目而言,由于某些特殊的原因服務(wù)器出現(xiàn)問(wèn)題時(shí)候,卻不影響本系統(tǒng)的正常運(yùn)行即為好的容錯(cuò)性,容錯(cuò)的提高可以通過(guò)服務(wù)器的部署來(lái)得到實(shí)現(xiàn)。第四章系統(tǒng)設(shè)計(jì)4.1總體設(shè)計(jì)眾所周知,圖書(shū)管理系統(tǒng)對(duì)圖書(shū)館來(lái)說(shuō)有著舉足輕重的作用,它不但方便了讀者的檢索,是否在館、以及借閱和續(xù)借等。也極大方便了圖書(shū)館和圖書(shū)管理者對(duì)圖書(shū)的管理。鑒于上述功能。因此,對(duì)于一個(gè)好的圖書(shū)館里系統(tǒng)以下幾個(gè)功能就必不可少。4.1.1系統(tǒng)角色設(shè)計(jì)管理員系統(tǒng)分為系統(tǒng)管理員、圖書(shū)管理員、讀者管理員(1)系統(tǒng)管理員:主要負(fù)責(zé)系統(tǒng)中用戶(hù)信息的維護(hù)和數(shù)據(jù)庫(kù)的備份歡迎,保證系統(tǒng)的正常運(yùn)行。(2)圖書(shū)管理員:主要功能對(duì)系統(tǒng)中借閱信息,圖書(shū)信息,讀者信息,數(shù)據(jù)進(jìn)行統(tǒng)計(jì)以及個(gè)人資料的維護(hù)。借閱信息:讀者借書(shū),讀者還書(shū),讀者續(xù)借,查詢(xún)讀者借閱信息。讀者借書(shū):根據(jù)讀者編號(hào)檢索讀者類(lèi)型和已經(jīng)借閱圖書(shū)相應(yīng)信息。讀者還書(shū):根據(jù)讀者編號(hào)檢索提取讀者信息,加載借閱圖書(shū)信息列表選擇要?dú)w還的圖書(shū)信息進(jìn)行歸還操作。讀者續(xù)借:若讀者在固定時(shí)間內(nèi)沒(méi)有讀完某本圖書(shū),可以進(jìn)行續(xù)借操作。借閱查詢(xún):可以對(duì)借閱信息就行統(tǒng)計(jì)查詢(xún)。圖書(shū)管理:查詢(xún)圖書(shū)信息并維護(hù)圖書(shū)信息。讀者管理:查詢(xún)讀者信息;添加讀者;維護(hù)讀者類(lèi)別;數(shù)據(jù)統(tǒng)計(jì);維護(hù)個(gè)人資料。讀者管理員:維護(hù)圖書(shū)信息、讀者信息和個(gè)人信息等。讀者可以查詢(xún)圖書(shū)信息,以及自己借閱圖書(shū)信息。維護(hù)個(gè)人信息。4.1.2功能模塊總體設(shè)計(jì)由于圖書(shū)館里系統(tǒng)的總體和各個(gè)功能板塊的需要,現(xiàn)將圖書(shū)管理系統(tǒng)做如下具體設(shè)計(jì),以使該管理系統(tǒng)能夠正常運(yùn)行。根據(jù)系統(tǒng)的需求分析,系統(tǒng)的總體功能模塊設(shè)計(jì)如下圖:圖系統(tǒng)功能模塊數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,它將數(shù)據(jù)獨(dú)立抽象出來(lái),通過(guò)圖形方式描述信息的實(shí)際流程。數(shù)據(jù)流程圖由系統(tǒng)的外部實(shí)體、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)和系統(tǒng)中的數(shù)據(jù)流四個(gè)部分組成。為了更加清晰的獲取圖書(shū)管理系統(tǒng)內(nèi)部業(yè)務(wù)流程以及數(shù)據(jù)流交互情況,下面通過(guò)結(jié)構(gòu)化分析方法,獲取圖書(shū)管理系統(tǒng)的數(shù)據(jù)流圖。圖頂層數(shù)據(jù)流圖類(lèi)圖是最常用的UML圖,顯示出類(lèi)、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系;它用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)。本系統(tǒng)中一共用到了幾個(gè)基本的數(shù)據(jù)類(lèi),具體類(lèi)圖如下圖:圖系統(tǒng)的基本類(lèi)圖4.2詳細(xì)設(shè)計(jì)4.2.1用戶(hù)登錄模塊用戶(hù)登錄板塊是圖書(shū)管理系統(tǒng)的重要組成部分,它既是用戶(hù)進(jìn)入圖書(shū)管理系統(tǒng)的端口或憑證,也是圖書(shū)管理系統(tǒng)的重要安全保證。功能模塊圖如下:圖管理員登陸模塊功能圖其主要功能分別分為:帳號(hào)管理,用戶(hù)密碼的輸入。只有當(dāng)用戶(hù)名和密碼相匹配時(shí)才能夠進(jìn)入圖書(shū)管理系統(tǒng)經(jīng)行帳號(hào)的管理如密碼的修改等或圖書(shū)的管理如預(yù)訂、預(yù)借等。但當(dāng)帳號(hào)和密碼不相匹配時(shí),系統(tǒng)將自動(dòng)彈出錯(cuò)誤提醒,并拒絕用戶(hù)進(jìn)入該管理系統(tǒng)用戶(hù)登錄時(shí)的身份認(rèn)證及處理過(guò)程:圖用戶(hù)登錄時(shí)序圖打開(kāi)登錄頁(yè)面。輸入帳號(hào)和密碼。系統(tǒng)檢查帳號(hào)和密碼,看是否相匹配。如果帳號(hào)或密碼不相匹配,則彈出錯(cuò)誤提醒,點(diǎn)擊后并返回登陸頁(yè)面保留帳號(hào),但要重新輸入密碼。如果帳號(hào)和密碼相匹配,則根據(jù)用戶(hù)的權(quán)限類(lèi)別進(jìn)入相應(yīng)的系統(tǒng)登錄。進(jìn)入圖書(shū)管理系統(tǒng)主頁(yè)。4.2.2系統(tǒng)管理模塊系統(tǒng)管理模塊主要實(shí)現(xiàn)不同權(quán)限的圖書(shū)管理系統(tǒng)操作人員設(shè)置不同的模塊和使用范圍,也可以實(shí)現(xiàn)管理員的添加、修改以及刪除等。系統(tǒng)管理模塊圖如下圖所示:圖系統(tǒng)管理模塊1、添加新管理員輸入管理員賬號(hào)、密碼,對(duì)管理權(quán)限類(lèi)別的識(shí)別相應(yīng)管理權(quán)限的取得在數(shù)據(jù)庫(kù)中添加新的管理員2、管理員權(quán)限的設(shè)置登錄有該權(quán)限的管理員選擇所需要設(shè)置權(quán)限的用戶(hù)權(quán)限類(lèi)別的獲取和修改,確認(rèn)信息完成對(duì)數(shù)據(jù)庫(kù)中管理員及權(quán)限的更新3、刪除指定管理員登錄具有該權(quán)限的管理員選擇需要?jiǎng)h除的管理員并執(zhí)行刪除操作完成對(duì)數(shù)據(jù)庫(kù)中管理員及權(quán)限的更新4.2.3圖書(shū)管理模塊圖書(shū)管理模塊主要實(shí)現(xiàn)的是對(duì)圖書(shū)信息的管理功能,它應(yīng)該具備圖書(shū)信息的查詢(xún)、添加、修改、刪除等,此外還應(yīng)該具有對(duì)圖書(shū)的分類(lèi)管理功能。1、圖書(shū)類(lèi)別設(shè)置模塊處理過(guò)程:讀取并顯示圖書(shū)類(lèi)別信息表中的己有信息圖書(shū)類(lèi)別信息的添加、修改、刪除等圖書(shū)類(lèi)別信息表的更新并提示2、圖書(shū)信息管理模塊處理過(guò)程:從圖書(shū)信息表中讀取已有的信息并顯示添加新的圖書(shū)記錄或修改已有記錄或刪除指定圖書(shū)記錄更新圖書(shū)信息表,并提示用戶(hù)圖圖書(shū)管理模塊功能圖其操作流程圖如圖所示:圖管理員圖書(shū)管理操作流程圖4.2.4讀者管理模塊讀者信息維護(hù)模塊主要負(fù)責(zé)讀者類(lèi)別的設(shè)置,包括類(lèi)型、可借冊(cè)書(shū)等信息。讀者信息的建立及維護(hù),包括了讀者信息的新建、編輯、刪除。讀者管理模塊圖如下圖所示:圖讀者管理模塊圖讀者類(lèi)別管理模塊的處理過(guò)程:讀取并顯示讀者類(lèi)別信息表中的信息;新的類(lèi)別的添加、修改、刪除以及更新;讀者類(lèi)別信息表的更新和提醒。讀者信息管理模塊處理過(guò)程:讀取并顯示讀者信息表中的信息;當(dāng)管理員或讀者輸入讀者編號(hào)時(shí),會(huì)顯示其詳細(xì)信息;圖書(shū)管理員可以添加新的讀者信息、以及對(duì)已有讀者信息的修改或刪除;讀者信息表的更行及提醒。4.2.5圖書(shū)借閱管理模塊圖書(shū)借閱管理模塊主要負(fù)責(zé)圖書(shū)的借閱、續(xù)借以及圖書(shū)的歸還等。借閱管理模塊操作流程圖如圖所示:圖借閱管理操作流程圖1、圖書(shū)借閱模塊處理過(guò)程:掃描或輸入讀者編號(hào),對(duì)讀者的類(lèi)型進(jìn)行識(shí)別看是否達(dá)到借書(shū)上限,并顯示所借書(shū)籍情況以及相關(guān)信息若未達(dá)到則掃描輸入所借圖書(shū)編號(hào)或條形碼,并自動(dòng)生成更新該用戶(hù)的相關(guān)借閱信息2、圖書(shū)的續(xù)借:掃描或輸入讀者編號(hào),對(duì)讀者的類(lèi)型經(jīng)行識(shí)別并顯示相關(guān)信息對(duì)所續(xù)借的書(shū)籍經(jīng)行掃描輸入,并自動(dòng)生成更新用戶(hù)的相關(guān)借閱信息3、圖書(shū)歸還模塊處理過(guò)程:輸入讀者的編號(hào)或條形碼,顯示該讀者所借圖書(shū)信息在所借圖書(shū)書(shū)目中、選擇或者掃描讀者還書(shū)條目查看所借書(shū)的時(shí)間,判斷是否超期,若未過(guò)期,則完成還書(shū)過(guò)程若逾期,則自動(dòng)彈出過(guò)期窗口,按逾期處理4.2.6查詢(xún)圖書(shū)信息模塊讀者查詢(xún)書(shū)刊信息的時(shí)序圖,具體如下圖所示:圖查詢(xún)圖書(shū)時(shí)序圖4.3數(shù)據(jù)庫(kù)設(shè)計(jì)在目前的數(shù)據(jù)庫(kù)管理系統(tǒng)中有層次模型、網(wǎng)狀模型、關(guān)系模型三種數(shù)據(jù)模型。其中,關(guān)系模型具有較高的數(shù)據(jù)獨(dú)立性,使用也較為方便,因而數(shù)據(jù)庫(kù)設(shè)計(jì)的核心問(wèn)題就是根據(jù)系統(tǒng)數(shù)據(jù)模式對(duì)系統(tǒng)主要數(shù)據(jù)實(shí)體關(guān)系進(jìn)行設(shè)計(jì)。本文采用SQLServer2008關(guān)系數(shù)據(jù)庫(kù),利用該數(shù)據(jù)庫(kù)對(duì)圖書(shū)管理信息進(jìn)行增、刪、編輯、統(tǒng)計(jì)、顯示等功能操作,對(duì)數(shù)據(jù)快速定位、查詢(xún)提供了有利條件。4.3.1概念結(jié)構(gòu)設(shè)計(jì)通過(guò)對(duì)本系統(tǒng)的做出的需求分析工作、系統(tǒng)流程設(shè)計(jì)工作等及系統(tǒng)功能結(jié)構(gòu)的確定,得到最終數(shù)據(jù)庫(kù)實(shí)體對(duì)象。整個(gè)圖書(shū)管理系統(tǒng)的關(guān)系圖,包括管理員、借閱者、書(shū)籍等等。整個(gè)圖書(shū)管理系統(tǒng)的關(guān)系圖,包括管理員、借閱者、書(shū)籍等等。具體關(guān)系如圖:圖總體E-R圖系統(tǒng)給不同的用戶(hù)劃分不同的管理權(quán)限,不同的權(quán)限對(duì)管理系統(tǒng)的操作又各不相同。圖書(shū)借閱信息實(shí)體,存儲(chǔ)著圖書(shū)的所有信息,包括讀者信息、讀者條形碼、應(yīng)還日期、借閱日期、圖書(shū)名稱(chēng)、圖書(shū)條形碼等??梢詼?zhǔn)確的記錄著每本書(shū)的借閱情況。為了實(shí)現(xiàn)對(duì)圖書(shū)的分類(lèi),一般是將不同的書(shū)進(jìn)行歸類(lèi),相同類(lèi)型的書(shū)歸為一類(lèi),放在對(duì)應(yīng)的書(shū)架上。書(shū)架信息被存儲(chǔ)在書(shū)架實(shí)體信息中。每本書(shū)都有自己的圖書(shū)信息,包括圖書(shū)價(jià)格、作者名稱(chēng)、出版社名稱(chēng)、書(shū)架類(lèi)型、圖書(shū)類(lèi)型、圖書(shū)類(lèi)型、圖書(shū)名稱(chēng)、圖書(shū)條形碼、借閱此書(shū)、圖書(shū)價(jià)格等。為了方便對(duì)圖書(shū)進(jìn)行查詢(xún)和分類(lèi)。設(shè)計(jì)了圖書(shū)信息實(shí)體,將這些信息保存在實(shí)體中。4.3.2邏輯結(jié)構(gòu)設(shè)計(jì)在設(shè)計(jì)完數(shù)據(jù)庫(kù)實(shí)體E-R圖之后,需要根據(jù)實(shí)體E-R圖設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)。下面給出主要數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)和用途。本系統(tǒng)使用的數(shù)據(jù)庫(kù)管理系統(tǒng)為SQLServer2008。數(shù)據(jù)庫(kù)中的表有圖書(shū)信息表、圖書(shū)類(lèi)型信息表、圖書(shū)借閱表、讀者信息表、讀者類(lèi)型信息表、管理員信息表。(1)圖書(shū)信息表,表名Book,如下表所示:表1圖書(shū)信息表序號(hào)列名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵允許空描述1bkIDint10是否圖書(shū)ID2bkCodevarchar50否是圖書(shū)編號(hào)3bkNamevarchar50否是圖書(shū)名稱(chēng)4bkAuthorvarchar50否是作者5bkPressvarchar50否是出版社6bkDatePressSmalldatetime否是出版日期7bkISBNvarchar50否是圖書(shū)書(shū)號(hào)8bkCatalogvarchar50否是圖書(shū)分類(lèi)9bkLanguagevarchar50否是圖書(shū)語(yǔ)種10bkPageint10否是頁(yè)碼11bkPricemoney否是定價(jià)12bkDateInsmalldatetime否是入館時(shí)間13bkBrieftext否是圖書(shū)簡(jiǎn)評(píng)14bkIsLabvarchar50否是是否在館圖書(shū)類(lèi)型信息表,表名BookType,如下表所示:表2圖書(shū)類(lèi)型信息表序號(hào)列名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵允許空描述1bkTypeIDint10是否圖書(shū)類(lèi)型ID2bkCatalogvarchar50否是圖書(shū)分類(lèi)圖書(shū)借閱表,表名Borrow,如下表所示:表3圖書(shū)借閱表序號(hào)列名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵允許空描述1ldIDint10是否借閱編號(hào)2rdIDvarchar50否是讀者編號(hào)3bkIDint10否是圖書(shū)ID4ldContinueTimesint10否是借閱次數(shù)5ldDateOutsmalldatetime否是借出時(shí)間6ldDateRetPlansmalldatetime否是應(yīng)還時(shí)間7ldDateRetActsmalldatetime否是歸還時(shí)間8ldOverDayint10否是超時(shí)天數(shù)9ldOverMoneymoney否是超時(shí)費(fèi)用10ldPunishMoneymoney否是罰金11isHasReturnvarchar50否是是否返還12operatorLendvarchar50否是借出操作者13operatorRetvarchar50否是返還操作者讀者信息表,表名Reader,如下表所示:表4讀者信息表序號(hào)列名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵允許空描述1rdIDvarchar50是否讀者編號(hào)2rdNamevarchar50否是姓名3rdPwdvarchar50否是密碼4rdSexvarchar50否是性別5rdTypeint10否是讀者類(lèi)型6rdDeptvarchar50否是學(xué)院7rdPhonevarchar50否是手機(jī)號(hào)8rdEmailvarchar50否是郵箱9rdDateRegsmalldatetime否是注冊(cè)時(shí)間10rdBorrowQtyint10否是借閱數(shù)量讀者類(lèi)型信息表,表名ReaderType,如下表所示:表5讀者類(lèi)型信息表序號(hào)列名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵允許空描述1rdTypeint10是否圖書(shū)類(lèi)型ID2rdTypeNamevarchar50否是讀者類(lèi)型3canLendQtyint10否是借閱最多數(shù)量4canLendDayint10否是借閱最多天數(shù)5canContinueTimesint10否是持續(xù)次數(shù)6punishRatefloat否是罰款率7dateValidsmallint否是有效時(shí)間管理員信息表,表名Users,如下表所示:表6管理員信息表序號(hào)列名數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵允許空描述1uIDvarchar50是否管理員ID2uNamevarchar50否是管理員名稱(chēng)3uPwdvarchar50否是密碼4uRoleint10否是管理員權(quán)限第五章系統(tǒng)主要功能的實(shí)現(xiàn)5.1用戶(hù)登錄模塊用戶(hù)登錄頁(yè)面,用于完成讀者、系統(tǒng)管理員等用戶(hù)登錄圖書(shū)管理系統(tǒng)的驗(yàn)證功能。用戶(hù)可以在圖中所示的登錄欄輸入帳號(hào)、密碼后登錄。圖用戶(hù)登錄流程圖打開(kāi)首頁(yè),即登錄頁(yè),系統(tǒng)登錄流程如圖所示,需要用戶(hù)輸入的信息在登錄頁(yè)面下方給予了相應(yīng)提示。圖用戶(hù)登錄頁(yè)面“登錄”按鈕單擊事件主要代碼如下:privatevoidbtnLogin_Click(objectsender,EventArgse){if(tbUserID.Text==""||tbUserPwd.Text==""){MessageBox.Show("賬號(hào)密碼不能為空!","消息",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查詢(xún)圖書(shū)模塊圖書(shū)信息查詢(xún):填寫(xiě)或設(shè)定圖書(shū)序號(hào)、圖書(shū)編號(hào)、圖書(shū)名稱(chēng)、圖書(shū)作者、出版社名、圖書(shū)簡(jiǎn)介、語(yǔ)言、類(lèi)別、入館時(shí)間等條件后,單擊“查詢(xún)”按鈕查詢(xún)出符合條件的圖書(shū),圖書(shū)信息查詢(xún)功能流程圖如圖所示:圖圖書(shū)檢索功能流程圖功能實(shí)現(xiàn)過(guò)程:圖書(shū)信息查詢(xún)操作權(quán)限面向系統(tǒng)全部用戶(hù),支持簡(jiǎn)單檢索、全文檢索、多字段檢索三種方式。用戶(hù)輸入查詢(xún)字段,選擇檢索方式后,點(diǎn)擊檢索按鈕則由調(diào)度檢索處理程序,根據(jù)用戶(hù)輸入的檢索字段訪(fǎng)問(wèn)圖書(shū)信息數(shù)據(jù)表,并將檢索結(jié)果返回客戶(hù)端,根據(jù)圖書(shū)檢索結(jié)果分頁(yè)顯示滿(mǎn)足檢索條件的圖書(shū)相信信息。圖書(shū)查詢(xún)頁(yè)面:圖書(shū)查詢(xún)頁(yè)面用于讀者查詢(xún)書(shū)籍信息。圖圖書(shū)查詢(xún)頁(yè)面當(dāng)用戶(hù)選定檢索方式后,需要根據(jù)檢索條件輸入相應(yīng)查詢(xún)字段信息。單擊“檢索”按鈕時(shí),為保證用戶(hù)在查詢(xún)結(jié)果分頁(yè)時(shí),自動(dòng)調(diào)用上一次查詢(xún)字段。查詢(xún)字段的處理程序可以獨(dú)立編寫(xiě),在本系統(tǒng)中,許多模塊需要調(diào)用圖書(shū)信息查詢(xún)處理程序,如借閱查詢(xún)、還書(shū)查詢(xún)、圖書(shū)查詢(xún)等,其模塊實(shí)現(xiàn)過(guò)程類(lèi)似,所不同的是查詢(xún)條件的獲取。查詢(xún)結(jié)果頁(yè)面用于顯示根據(jù)傳遞過(guò)來(lái)的參數(shù)查詢(xún)出的數(shù)據(jù),將查詢(xún)到的結(jié)果放在相應(yīng)的控件中顯示。在具體的代碼實(shí)現(xiàn)時(shí)主要利用該sql語(yǔ)句進(jìn)行查詢(xún),或者將上述過(guò)程編譯成存儲(chǔ)過(guò)程,圖書(shū)信息檢索按鈕關(guān)鍵代碼如下:privatevoidtsbtnQuery_Click(objectsender,EventArgse){BLL.BorrowBllbb=newLibrary.BLL.BorrowBll();if(tsccbTiao.Text==""){bb.BindOneReaderBorrow(readerId,dgvMain);}if(tsccbTiao.Text=="圖書(shū)名稱(chēng)"){stringsqlStr="selectldIDas借書(shū)編號(hào),bk.bkIDAS圖書(shū)序號(hào),bkNameAS圖書(shū)名稱(chēng),ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時(shí)間,ldDateRetPlanas應(yīng)還時(shí)間,ldOverDayas超期時(shí)間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkNamelike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}if(tsccbTiao.Text=="圖書(shū)作者"){stringsqlStr="selectldIDas借書(shū)編號(hào),bk.bkIDAS圖書(shū)序號(hào),bkNameAS圖書(shū)名稱(chēng),ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時(shí)間,ldDateRetPlanas應(yīng)還時(shí)間,ldOverDayas超期時(shí)間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkAuthorlike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}if(tsccbTiao.Text=="圖書(shū)分類(lèi)"){stringsqlStr="selectldIDas借書(shū)編號(hào),bk.bkIDAS圖書(shū)序號(hào),bkNameAS圖書(shū)名稱(chēng),ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時(shí)間,ldDateRetPlanas應(yīng)還時(shí)間,ldOverDayas超期時(shí)間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkCataloglike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}if(tsccbTiao.Text=="出版社名"){stringsqlStr="selectldIDas借書(shū)編號(hào),bk.bkIDAS圖書(shū)序號(hào),bkNameAS圖書(shū)名稱(chēng),ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時(shí)間,ldDateRetPlanas應(yīng)還時(shí)間,ldOverDayas超期時(shí)間,isHasReturnas是否歸還fromBorrowbr,Bookbkwherebk.bkID=br.bkIDandrdID='"+readerId+"'andbk.bkPresslike'%"+tstbKey.Text+"%'";bb.BindReaderBorrow(sqlStr,dgvMain);}}5.3讀者管理模塊添加讀者信息:?jiǎn)螕籼砑幼x者,出現(xiàn)“讀者管理”頁(yè)面,如下圖所示,可以對(duì)讀者編號(hào)、讀者性別、讀者類(lèi)型、姓名、讀者電話(huà)、讀者單位、已借、讀者郵箱、登記時(shí)期等進(jìn)行編輯。添加后即可登錄使用,此功能用于讀者管理員添加讀者。圖添加讀者頁(yè)面在該頁(yè)面中,將讀者操作權(quán)限從數(shù)據(jù)庫(kù)中取出,并根據(jù)讀者類(lèi)別將相應(yīng)的權(quán)限賦予讀者。添加讀者頁(yè)面需要判斷輸入信息是否完整,新增讀者是否已經(jīng)存在,然后將滿(mǎn)足上述約定要求的讀者信息“添加”到讀者信息表中?!疤砑印卑粹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圖書(shū)管理模塊圖書(shū)添加:?jiǎn)螕簟皥D書(shū)管理”/“添加圖書(shū)”菜單,出現(xiàn)“添加圖書(shū)”頁(yè)面。然后錄入數(shù)據(jù),圖書(shū)添加的流程及實(shí)現(xiàn)方法同讀者用戶(hù)添加代碼相似,其程序流程如圖所示。圖圖書(shū)添加流程圖圖書(shū)管理員錄入圖書(shū)信息,點(diǎn)擊添加按鈕之后,彈出“圖書(shū)添加成功”提示框,如下圖所示:該模塊實(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("除了簡(jiǎn)介與封面外\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("圖書(shū)添加成功!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}else{MessageBox.Show("圖書(shū)添加失敗!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}}5.5借閱管理模塊圖書(shū)借閱是圖書(shū)管理系統(tǒng)實(shí)現(xiàn)的重點(diǎn)和難點(diǎn)。圖書(shū)借閱模塊需要對(duì)圖書(shū)在館內(nèi)的狀態(tài)進(jìn)行跟蹤,其主要狀態(tài)模式分別為增加圖書(shū)、在庫(kù)圖書(shū)、刪除圖書(shū)、圖書(shū)外借、圖書(shū)預(yù)定五類(lèi)狀態(tài)。圖書(shū)管理人員輸入圖書(shū)信息為圖書(shū)添加狀態(tài),處于在庫(kù)圖書(shū)狀態(tài)則能夠被讀者外借。圖書(shū)外借歸還后該書(shū)也轉(zhuǎn)為在庫(kù)書(shū)籍狀態(tài),上述狀態(tài)轉(zhuǎn)換如圖:圖圖書(shū)狀態(tài)轉(zhuǎn)換圖借書(shū)和還書(shū)操作是本系統(tǒng)最重要的兩個(gè)功能,此操作要求讀者必須將書(shū)帶出圖書(shū)室或還回到圖書(shū)室,這樣才能保證圖書(shū)和系統(tǒng)信息的同步。單擊“借閱管理”/“借閱查詢(xún)”菜單,出現(xiàn)“借閱查詢(xún)”頁(yè)面,輸入讀者信息,點(diǎn)擊查詢(xún)即可得到借閱歷史,借閱查詢(xún)結(jié)果頁(yè)面如下圖所示:圖借閱查詢(xún)界面讀者還書(shū)操作界面:圖讀者還書(shū)界面查詢(xún)借閱模塊實(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借書(shū)編號(hào),bk.bkIDAS圖書(shū)序號(hào),bkNameAS圖書(shū)名稱(chēng),ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時(shí)間,ldDateRetPlanas應(yīng)還時(shí)間,ldOverDayas超期時(shí)間,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ū)模塊主要代碼實(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("還書(shū)成功!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);stringsqlStr="selectldIDas借書(shū)編號(hào),bk.bkIDAS圖書(shū)序號(hào),bkNameAS圖書(shū)名稱(chēng),ldContinueTimesas續(xù)借次數(shù),ldDateOutas借出時(shí)間,ldDateRet

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論