畢業(yè)設(shè)計(jì)圖書管理系統(tǒng)論文_第1頁(yè)
畢業(yè)設(shè)計(jì)圖書管理系統(tǒng)論文_第2頁(yè)
畢業(yè)設(shè)計(jì)圖書管理系統(tǒng)論文_第3頁(yè)
畢業(yè)設(shè)計(jì)圖書管理系統(tǒng)論文_第4頁(yè)
畢業(yè)設(shè)計(jì)圖書管理系統(tǒng)論文_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、圖書管理系統(tǒng)摘 要圖書館在正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息、書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對(duì)讀者資源、書籍資源、借書信息、還書信息進(jìn)行管理,及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更,有利于提高管理效率。隨著現(xiàn)代計(jì)算機(jī)科學(xué)的發(fā)展,計(jì)算機(jī)信息系統(tǒng)越來(lái)越受到重視,對(duì)學(xué)校圖書進(jìn)行的管理工作已經(jīng)逐漸改為由計(jì)算機(jī)完成。本文首先介紹開(kāi)發(fā)工具visual basic,接著介紹了visual basic的數(shù)據(jù)訪問(wèn)技術(shù),最后詳細(xì)講解了用visual basic開(kāi)發(fā)的圖書管理系統(tǒng),這一部分主要包括數(shù)據(jù)庫(kù)的建立和系統(tǒng)功能的實(shí)現(xiàn)(登陸,主界面,借閱管理,書籍管理,讀者管理,讀者查詢,用戶管理),最后做了

2、開(kāi)發(fā)總結(jié)。關(guān)鍵詞:圖書管理系統(tǒng),數(shù)據(jù)庫(kù),visual basicabstractnowadays the society is an information society, when developing forward in economy, culture, etc., we need constantly study and keep touch with the others, in order to adapt to the development of the society.with the development of modern computer science, com

3、puter information systems take more attention, the supervisory work carries on which to the schoolbooks already gradually changed by the computer completes. the first presentation development tool visual basic, and then introduced the visual basic data access technologies, finally in detail explaine

4、d development the books management system using visual basic. this part including database creation and the system function realization (logging, the main interface, the borrows management, the books management, the reader manages, the reader inquires, user management), and finally the development s

5、ummary.keywords: books management system, database, visual basic目 錄摘 要iabstractii第1章引 言11.1 軟件開(kāi)發(fā)背景11.2 系統(tǒng)編寫目的21.3 系統(tǒng)最終實(shí)現(xiàn)功能21.4 系統(tǒng)采用設(shè)計(jì)方法2第2章相關(guān)設(shè)計(jì)技術(shù)簡(jiǎn)介42.1 visual basic的歷史42.2 visual basic常用術(shù)語(yǔ)解釋52.3 visual basic的特點(diǎn)5第3章 數(shù)據(jù)訪問(wèn)技術(shù)73.1 ado data控件簡(jiǎn)介73.1.1 引入 ado data控件到vb項(xiàng)目73.1.2 控件的主要屬性、事件和方法83.2 ado data控件直接

6、操縱數(shù)據(jù)庫(kù)113.2.1 連接數(shù)據(jù)源113.2.2 移動(dòng)記錄133.2.3 增、刪、改記錄133.3 sql語(yǔ)言在vb中的應(yīng)用143.3.1 sql提供的實(shí)用函數(shù)143.3.2 利用sql訪問(wèn)多個(gè)記錄地方法15第4章 概要設(shè)計(jì)分析164.1 需求分析164.1.1 需求描述與分析164.1.2 需求分析的步驟164.2 可行性的分析174.3 數(shù)據(jù)庫(kù)設(shè)計(jì)17第5章 詳細(xì)設(shè)計(jì)說(shuō)明195.1開(kāi)發(fā)使用的過(guò)程模型195.2 系統(tǒng)結(jié)構(gòu)流程圖205.3 系統(tǒng)功能的實(shí)現(xiàn)205.3.1 登陸205.3.2 主界面225.3.3 借閱管理225.3.4 書籍管理245.3.5 讀者管理275.3.6 讀者查詢2

7、95.3.7 用戶管理335.4 數(shù)據(jù)庫(kù)設(shè)計(jì)355.4.1 數(shù)據(jù)庫(kù)355.4.2 索引365.4.3 后臺(tái)數(shù)據(jù)庫(kù)的建立37總 結(jié)40致 謝41參考文獻(xiàn):42第1章 引 言1.1 軟件開(kāi)發(fā)背景當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。圖書館管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),

8、系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計(jì)的。所以圖書館管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理圖書檔案,這種管理方式存在著許多缺點(diǎn),圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開(kāi)始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書借閱情況(如借書天數(shù)、超過(guò)限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息

9、處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩?lái)說(shuō),缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開(kāi)發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書進(jìn)行更改就更加困難了

10、。因此,開(kāi)發(fā)這樣的一種軟件已成為非常必要的事。我們所設(shè)計(jì)的圖書館管理系統(tǒng)主要是針對(duì)各個(gè)學(xué)校在管理圖書時(shí)所面臨的大量的工作,通過(guò)詳細(xì)的調(diào)查,精心的設(shè)計(jì)之后才開(kāi)發(fā)的。它主要有以下幾個(gè)功能規(guī)定借出時(shí)間,添加新類別,修改類別,解除舊類別、書名類別,出版社,價(jià)格。方便學(xué)校的圖書管理。1.2 系統(tǒng)編寫目的圖書管理是每一個(gè)學(xué)校都在進(jìn)行的工作,它對(duì)于學(xué)校來(lái)說(shuō)是至關(guān)重要的,它直接關(guān)系到學(xué)校提供教學(xué)環(huán)境的好壞,隨著計(jì)算機(jī)科學(xué)技術(shù)的飛速發(fā)展,計(jì)算機(jī)的應(yīng)用在全球范圍內(nèi)日益普及,圖書管理由人工管轉(zhuǎn)變?yōu)樽詣?dòng)化,機(jī)器化。著重解決圖書管理問(wèn)題,使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)

11、確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能以為人們深刻認(rèn)識(shí),它以進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。由計(jì)算機(jī)管理方式于傳統(tǒng)的方式相比較,優(yōu)勢(shì)是顯而易見(jiàn)的,首先,可以省去大量人工的費(fèi)用,加速現(xiàn)代化管理的進(jìn)程;其次,避免了人工管理出錯(cuò),使圖書管理工作可以輕松進(jìn)行。第三,可以充分發(fā)揮計(jì)算機(jī)在信息處理方面的優(yōu)勢(shì),可以讓繁瑣的工作由計(jì)算機(jī)處理。因此,開(kāi)發(fā)一個(gè)圖書管理系統(tǒng)是很有必要的。1.3 系統(tǒng)最終實(shí)現(xiàn)功能圖書管理系統(tǒng)主要有5大類別的功能,分別是借閱管理,書籍管理,讀者管理,讀者查詢,用戶管理,當(dāng)以讀者身份進(jìn)入該系統(tǒng),只能使用圖書

12、查詢功能。1) 借閱管理實(shí)現(xiàn)的借書和還書功能。2) 書籍管理:書庫(kù)管理和圖書類別設(shè)置功能。3) 書籍管理:對(duì)圖書進(jìn)行查詢,添加,刪除,修改。4) 讀者管理:對(duì)讀者進(jìn)行查詢,添加,刪除,修改。5) 讀者查詢可以對(duì)圖書進(jìn)行查找并可以對(duì)借閱情況進(jìn)行查詢。6) 用戶管理可以添加用戶,并且可以修改用戶密碼。1.4 系統(tǒng)采用設(shè)計(jì)方法系統(tǒng)使用visual basic編程語(yǔ)言,采用sql sserver 2000作為數(shù)據(jù)庫(kù),保證了數(shù)據(jù)庫(kù)的安全性和使用性,是現(xiàn)在開(kāi)發(fā)設(shè)計(jì)中比較流行的開(kāi)發(fā)方式。主要使用visual basic中的ado data控件來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作。使用ado data控件操作簡(jiǎn)單,可以使用

13、最少的代碼創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序。而對(duì)數(shù)據(jù)庫(kù)的操作,既可以使用ado data控件直接進(jìn)行,也可以使用ado data控件結(jié)合代碼操縱。第2章相關(guān)設(shè)計(jì)技術(shù)簡(jiǎn)介2.1 visual basic的歷史visual basic 6.0簡(jiǎn)單易學(xué)且功能豐富,是最為廣泛應(yīng)用的編程語(yǔ)言之一,visual basic 6.0是microsoft公司推出的最新版本,具有許多新特性,它進(jìn)一步優(yōu)化ide環(huán)境,添加了許多內(nèi)置的編程工具,對(duì)數(shù)據(jù)庫(kù)的支持增加ado,顯著增強(qiáng)了對(duì)internet的支持,可以直接生成dhmtl、aps頁(yè)面對(duì)企業(yè)級(jí)的客戶機(jī)/服務(wù)編程提供了更力的支持。相對(duì)于以前的版本,visual basic 6.

14、0的功能有很大的發(fā)展。我們?cè)谶@次編0程中,對(duì)visual basic 6.0的個(gè)方面應(yīng)用進(jìn)行深入討論,內(nèi)容涉及基本的編程技巧、控件的使用、數(shù)據(jù)庫(kù)的編程、ole、windowsapi調(diào)用、多媒體程序設(shè)計(jì)、activex等。visual basic是由basic演化而來(lái)的,basic是beginners all-purpose symbolic instruction code(初學(xué)者通用符號(hào)指令代碼)的縮寫,是國(guó)際上廣泛使用的一種計(jì)算機(jī)高級(jí)語(yǔ)言。basic簡(jiǎn)單、易學(xué),目前仍是計(jì)算機(jī)入門的主要學(xué)習(xí)語(yǔ)言之一。 basic語(yǔ)言的問(wèn)世及發(fā)展到visual basic經(jīng)歷了以下四個(gè)階段:第一階段:(196

15、4年70年代初) 1964年basic語(yǔ)言問(wèn)世。 第二階段:(1975年80年代中) 微機(jī)上固化的basic第三階段:(80年代中90年代初) 結(jié)構(gòu)化basic語(yǔ)言。第四階段:(1991年以來(lái)) visual basic 自從1991年,微軟推出了visual basic1.0版。這在當(dāng)時(shí)引起了很大的轟動(dòng)。許多專家把vb的出現(xiàn)當(dāng)作是軟件開(kāi)發(fā)史上的一個(gè)具有劃時(shí)代意義的事件。其實(shí),以我們現(xiàn)在的目光來(lái)看,vb10的功能實(shí)在是太弱了。但在當(dāng)時(shí),它是第一個(gè)“可視”的編程軟件。這使得程序員欣喜之極,都嘗試在vb的平臺(tái)上進(jìn)行軟件創(chuàng)作。微軟也不失時(shí)機(jī)地在四年內(nèi)接連推出vb20,vb30,40,三個(gè)版本。并且從

16、vb3開(kāi)始,微軟將access的數(shù)據(jù)庫(kù)驅(qū)動(dòng)集成到了vb中,這使得vb的數(shù)據(jù)庫(kù)編程能力大大提高。從vb4開(kāi)始,vb也引入了面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。vb功能強(qiáng)大,學(xué)習(xí)簡(jiǎn)單。而且,vb還引入了“控件:的概念,使得大量已經(jīng)編好的vb程序可以被我們直接拿來(lái)使用,如今,vb已經(jīng)有了6.0版,也就是此教師評(píng)測(cè)系統(tǒng)開(kāi)發(fā)使用的版本。通過(guò)幾年的發(fā)展,它已成為一種真正的專業(yè)化的開(kāi)發(fā)語(yǔ)言和環(huán)境。用戶認(rèn)為可用visual basic快速創(chuàng)建windows程序,在現(xiàn)在還可以編寫企業(yè)水平的客戶服務(wù)器程序及強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用程序,visual basic新版中還有更多可用新功能。2.2 visual basic常用術(shù)語(yǔ)解釋在以

17、下討論visual basic時(shí),經(jīng)??梢月?tīng)到這些術(shù)語(yǔ),因此首先對(duì)這些術(shù)語(yǔ)進(jìn)行理解,以下是visual basic中最常用到的幾個(gè)術(shù)語(yǔ):控件提供程序可見(jiàn)界面的可重用對(duì)象??丶氖纠形谋究颉?biāo)簽和命令按鈕。事件由用戶或操作系統(tǒng)引發(fā)的動(dòng)作。事件的示例有擊鍵、單擊鼠標(biāo)、一段時(shí)間的限制,或從端口接收數(shù)據(jù)。方法嵌入在對(duì)象定義中的程序代碼,它定義對(duì)象怎樣處理信息并響應(yīng)某事件。例如,數(shù)據(jù)庫(kù)對(duì)象有打開(kāi)紀(jì)錄集并從一個(gè)記錄移動(dòng)到另一個(gè)記錄的方法。 對(duì)象程序的基本元素,它含有定義其特征的屬性,定義其任務(wù)和識(shí)別它可以響應(yīng)的事件的方法??丶痛绑w是visual basic中所有對(duì)象的示例。 過(guò)程為完成任務(wù)而編寫的代碼

18、段。過(guò)程通常用于響應(yīng)特定的事件。 屬性對(duì)象的特征,如尺寸、位置、顏色或文本。屬性決定對(duì)象的外觀,有時(shí)也決定對(duì)象的行為。屬性也用于為對(duì)象提供數(shù)據(jù)和從對(duì)象取回信息。2.3 visual basic的特點(diǎn)vb的重要特點(diǎn)之一是可視性。系統(tǒng)引進(jìn)了窗體和控件的機(jī)制,用于設(shè)計(jì)應(yīng)用程序界面。用戶通過(guò)在屏幕上生成窗體,在窗體中繪制所需要的控件和按鈕,設(shè)計(jì)菜單和對(duì)話框,vb會(huì)自動(dòng)生成相應(yīng)的代碼。vb的另一重要特點(diǎn)是事件驅(qū)動(dòng)。當(dāng)窗體或控件上發(fā)生一個(gè)事件時(shí),vb立即把控制權(quán)交給程序員。程序員不必?fù)?dān)心如何判斷事件是否已發(fā)生,只需要編寫一段代碼告訴計(jì)算機(jī)在事件發(fā)生以后應(yīng)該做什么工作就可以了。這樣,設(shè)計(jì)一個(gè)windows應(yīng)

19、用程序簡(jiǎn)化為用鼠標(biāo)在屏幕上點(diǎn)擊、拖拽并添加少量的代碼就可以完成了,大大降低了對(duì)程序設(shè)計(jì)的要求,提高了應(yīng)用程序的開(kāi)發(fā)效率。利用vb的可視性特點(diǎn),可方便的設(shè)計(jì)了程序的窗體界面,并在各個(gè)窗體中的合適位置繪制所需的每種控件。如要修改窗體或控件的某項(xiàng)屬性,只需在相應(yīng)的窗體或控件的屬性窗口修改相應(yīng)的參數(shù)便可達(dá)到需要的設(shè)計(jì)效果。利用vb的事件驅(qū)動(dòng)性特點(diǎn),只需在窗體或控件上的代碼窗口中添加少量的代碼,便可達(dá)到告訴當(dāng)在相應(yīng)的窗體或控件上發(fā)生某一事件時(shí),它們?cè)谑录l(fā)生后應(yīng)該做什么工作的目的。例如幾個(gè)窗體上的添加、刪除、返回按鈕的作用,就是通過(guò)在各個(gè)相應(yīng)按鈕的代碼窗口中輸入相應(yīng)的代碼,來(lái)達(dá)到當(dāng)在幾個(gè)按鈕上出現(xiàn)單擊(

20、click)事件后,相應(yīng)按鈕實(shí)現(xiàn)添加、刪除、返回的功能的。第3章 數(shù)據(jù)訪問(wèn)技術(shù)3.1 ado data控件簡(jiǎn)介ado data控件使用microsoft activex數(shù)據(jù)對(duì)象(ado)來(lái)快速建立數(shù)據(jù)庫(kù)綁定的控件和數(shù)據(jù)提供者之間的連接。數(shù)據(jù)綁定控件是任何具有“數(shù)據(jù)源”屬性的控件。數(shù)據(jù)提供者可以是任何符合ole db規(guī)范的數(shù)據(jù)源。使用visual basic的類模塊也可以很方便地創(chuàng)建子集的數(shù)據(jù)提供者。盡管可以在應(yīng)用程序中直接使用activex數(shù)據(jù)對(duì)象,但如圖2-1所示的ado data控件有作為一個(gè)圖形控件的優(yōu)勢(shì)(具有“向前”和“向后”按鈕),以及一個(gè)易于使用的界面,使可以用最少的代碼創(chuàng)建數(shù)據(jù)庫(kù)

21、應(yīng)用程序。 圖2-1 ado data控件 3.1.1 引入 ado data控件到vb項(xiàng)目在vb開(kāi)發(fā)環(huán)境中選擇主菜單“工程”中的“部件”子菜單,彈出如圖2-2所示的部件屬性框,在控件標(biāo)簽頁(yè)中選擇“microsoft ado data control 6.0(oledb)”控件。然后單擊“確定”按鈕,這樣ado data控件就引入到當(dāng)前的vb項(xiàng)目中。在如圖2-3所示的vb開(kāi)發(fā)環(huán)境中的工具箱中,就能夠看到 ado data控件的圖標(biāo)。然后單擊該圖標(biāo),就可以在窗體中的任意位置添加ado data控件。圖2-3圖2-2 ado data控件 3.1.2 控件的主要屬性、事件和方法1、主要屬性(1)c

22、onnectionstring屬性ado data控件的connectionstring屬性是一個(gè)字符串,可以包含進(jìn)行一個(gè)連接所需的所有設(shè)置值。在該字符串中所傳遞的參數(shù)是與驅(qū)動(dòng)程序相關(guān)的。例如,odbc驅(qū)動(dòng)程序允許該字符串包含驅(qū)動(dòng)程序、提供者 、缺省的數(shù)據(jù)庫(kù)、服務(wù)器、用戶蜜柑年成以及密碼等。(2)username屬性當(dāng)數(shù)據(jù)庫(kù)受密碼保護(hù)時(shí),需要指定該屬性。這個(gè)屬性可以在connectionstring中指定。如果同時(shí)提供了一個(gè)connectionstring屬性以及一個(gè)username屬性,則connectionstring中的值將覆蓋username屬性的值。(3)password屬性在訪問(wèn)一

23、個(gè)受保護(hù)的數(shù)據(jù)庫(kù)時(shí)該屬性也是必需的。和username屬性類似,如果在connectionstring屬性中指定了密碼,則將覆蓋在這個(gè)屬性中指定的值。(4)recordsource屬性ado data控件的recordsource屬性通常包含一條語(yǔ)句,用于決定從數(shù)據(jù)庫(kù)檢索什么信息。(5)commandtype屬性ado data控件的commandtype屬性告訴數(shù)據(jù)庫(kù)提供者source屬性是一條sql語(yǔ)句、一個(gè)表的名稱、一個(gè)存儲(chǔ)過(guò)程還是一個(gè)未知的類型。使用commandtype屬性可優(yōu)化commandtext屬性的計(jì)算。如果commandtype屬性的值等于adcmdunknown(默認(rèn)值)

24、,系統(tǒng)的性能將會(huì)降低,因?yàn)閍do必須調(diào)用提供者以確定commandtext屬性是sql語(yǔ)句、還是存儲(chǔ)過(guò)程或表格名稱。如果知道正在使用的命令的類型,可通過(guò)設(shè)置commandtype屬性指令ado直接轉(zhuǎn)到相關(guān)代碼。 如果commandtype屬性與commandtext屬性中的命令類型不匹配,調(diào)用execute方法時(shí)將產(chǎn)生錯(cuò)誤。(6)locktype屬性locktype屬性決定當(dāng)其他人試圖更改正在編輯的數(shù)據(jù)時(shí),如何鎖定該數(shù)據(jù)。如何設(shè)置這個(gè)locktype屬性是一個(gè)復(fù)雜的決策,取決欲多個(gè)因素。(7)mode屬性 mode屬性決定想用記錄集進(jìn)行什么操作。使用mode屬性可設(shè)置或返回當(dāng)前連接上提供者正在

25、使用的訪問(wèn)權(quán)限。mode屬性只能在關(guān)閉connection對(duì)象時(shí)方可設(shè)置。例如,如果只是想要?jiǎng)?chuàng)建一個(gè)報(bào)告,可以將該屬性設(shè)為只讀來(lái)獲得性能的改善。(8)connectiontimeout屬性connectiontimeout屬性設(shè)置等待建立一個(gè)連接的時(shí)間,以秒為單位。如果連接超時(shí),則返回一個(gè)錯(cuò)誤。 如果由于網(wǎng)絡(luò)擁塞或服務(wù)器負(fù)載過(guò)重導(dǎo)致的延遲使得必須放棄連接嘗試時(shí),請(qǐng)使用connection對(duì)象的connectiontimeout屬性。如果打開(kāi)連接前所經(jīng)過(guò)的時(shí)間超過(guò)connectiontimeout屬性上設(shè)置的時(shí)間,將產(chǎn)生在錯(cuò)誤,并且ado將取消該連接嘗試。如果將該屬性設(shè)置為零,ado將無(wú)限等待直

26、到連接打開(kāi)。請(qǐng)確認(rèn)正在對(duì)其編寫代碼的提供者會(huì)支持connectiontimeout功能。(9)recordset屬性 返回或設(shè)置對(duì)下一級(jí)ado recordset對(duì)象的引用。利用recordset屬性,可以使用ado的adodb.recordset對(duì)象的方法、屬性和事件。必須在set語(yǔ)句中使用recordset屬性,如下例所示: dim rsnwind as new adodb.recordset set adodc1.recordset=rsnwind(10)bofaction、eofaction 這兩個(gè)屬性決定當(dāng)該控件位于光標(biāo)的開(kāi)始和末尾時(shí)的行為。提供的選擇包括停留在開(kāi)始或末尾、移動(dòng)到第一

27、個(gè)或最后一個(gè)記錄或添加一個(gè)新記錄(只能在末尾)。 bofaction屬性有以下兩個(gè)值:addomovefirst和adstaybof,分別代表如果當(dāng)前記錄到達(dá)了數(shù)據(jù)的第一條記錄的前面時(shí),采取移動(dòng)到第一條記錄的動(dòng)作或者繼續(xù)停留在原來(lái)位置兩種操作。 eofaction屬性值有以下3個(gè)值:addoaddnew、addomovelast和adstayeof,它們分別代表如果當(dāng)前記錄到達(dá)了最后一條數(shù)據(jù)記錄的后面,采取增加一條新記錄、移動(dòng)到最后一條記錄或者繼續(xù)停留在原位置的3種操作。2、主要事件error事件一般地,在開(kāi)發(fā)應(yīng)用程序時(shí)通常要在代碼中為代碼運(yùn)行錯(cuò)誤時(shí)提供錯(cuò)誤處理的功能,但有時(shí)在沒(méi)有代碼運(yùn)行時(shí)也

28、會(huì)發(fā)生數(shù)據(jù)存取的錯(cuò)誤,此時(shí)才會(huì)發(fā)生這個(gè)事件。該事件的語(yǔ)法為:object_error(index as integer, errornumber as long, description as string, scode as long, source as string, helpfile as string, helpcontext as long, fcanceldisplay as boolean)其中object為控件對(duì)象名:index為可選參數(shù),如果控件在一個(gè)控件數(shù)組中,此值可以標(biāo)識(shí)該控件; errornumber為本地錯(cuò)誤號(hào)碼; description為對(duì)錯(cuò)誤的描述;scode為

29、服務(wù)器返回的錯(cuò)誤代碼; source為錯(cuò)誤的來(lái)源;;helpfile為包含該錯(cuò)誤詳細(xì)信息的幫助文件的路徑; helpcontext為幫助主題的上下文號(hào)碼;fcanceldisplay為一個(gè)布爾值,可以設(shè)置這個(gè)值來(lái)取消對(duì)錯(cuò)誤消息的顯示。endofrecordset事件移動(dòng)行時(shí)如果超過(guò)記錄集結(jié)尾,則調(diào)用endofrecordset方法。該事件的語(yǔ)法為:adodc1_endofrecordset(fmoredata as boolean, adstatus as adodb.eventstatusenum, byval precordset as adodb.recordset)當(dāng)用戶可能因調(diào)用mo

30、venext而移過(guò)recordset結(jié)尾時(shí),將調(diào)用該事件的處理程序。使用該方法用戶可以從數(shù)據(jù)庫(kù)中檢索到更多記錄并將其追加到precordset的結(jié)尾。在這種情況下,用戶要將pfmoredata設(shè)置為variant_true,并從endofrecordset返回。在此之后用戶可以再次調(diào)用movenext以訪問(wèn)新檢索到的記錄。3、主要方法(1)updatecontrols方法使用updatecontrols方法將綁定控件的內(nèi)容恢復(fù)為其初始值,如同用戶更改了數(shù)據(jù),然后又決定取消了這些更改。除了不會(huì)導(dǎo)致任何事件的發(fā)生之外,這個(gè)方法產(chǎn)生的效果與使當(dāng)前行再次成為當(dāng)前行一樣。由于此方法不會(huì)調(diào)用任何事件,可以

31、使用這個(gè)方法來(lái)簡(jiǎn)化一個(gè)更新操作,因?yàn)樗粫?huì)觸發(fā)任何多余的驗(yàn)證和更改世間過(guò)程。(2)refresh方法refresh方法用來(lái)重新建立或顯示與ado data控件相連的數(shù)據(jù)庫(kù)記錄集。如果在程序代碼中改變了connectionstring、recordsource、commandtype的屬性值,就必須用refresh方法來(lái)刷新記錄集。refresh方法的語(yǔ)法為:adodc1.refresh3.2 ado data控件直接操縱數(shù)據(jù)庫(kù)使用ado data控件訪問(wèn)數(shù)據(jù)庫(kù),可以完全不用編寫代碼,只需通過(guò)簡(jiǎn)單設(shè)置和操縱其屬性就可以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接,通過(guò)綁定數(shù)據(jù)感知控件就能提供一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的界面,用來(lái)對(duì)數(shù)

32、據(jù)庫(kù)數(shù)據(jù)的瀏覽、添加、刪除、修改等操作。3.2.1 連接數(shù)據(jù)源使用ado data控件連接到數(shù)據(jù)源要相對(duì)簡(jiǎn)單得多,基本上可以用鼠標(biāo)的操作來(lái)完成。具體的操作步驟如下: 創(chuàng)建一個(gè)標(biāo)準(zhǔn)的visual basic 工程,按前面介紹的方法將ado data 控件添加到窗體中。 在ado data控件上單擊鼠標(biāo)右鍵,在快捷菜單上選擇“屬性”命令,打開(kāi)ado data控件的屬性對(duì)話框,如圖2-4所示。ado data控件的屬性對(duì)話框共有5個(gè)選項(xiàng)卡,常用的是“通用”選項(xiàng)卡、“身份驗(yàn)證”選項(xiàng)卡和“記錄源”選項(xiàng)卡。在“通用”選項(xiàng)卡中設(shè)置ado data控件的數(shù)據(jù)源屬性,在“身份驗(yàn)證”選項(xiàng)卡中,設(shè)置訪問(wèn)數(shù)據(jù)源時(shí)有關(guān)

33、的安全信息,在“記錄”選項(xiàng)卡中,設(shè)置ado data控件返回記錄的記錄源。 在“通用”選項(xiàng)卡中,選擇“使用連接字符串”單選按鈕,并單擊“生成”按鈕,打開(kāi)“數(shù)據(jù)鏈接屬性”對(duì)話框,如圖2-5所示。使用該對(duì)話框可以方便地建立和數(shù)據(jù)源的連接,而在應(yīng)用程序的開(kāi)發(fā)過(guò)程中,使用連接字符串有許多優(yōu)點(diǎn)(例如客戶端不用配置odbc數(shù)據(jù)源名稱等)。圖2-5 “數(shù)據(jù)鏈接屬性”對(duì)話框圖2-4 ado data控件的屬性對(duì)話框在“數(shù)據(jù)鏈接屬性”對(duì)話框中,第一步要做的工作是選擇數(shù)據(jù)源提供者程序。使用哪一種數(shù)據(jù)源,就選擇哪一種提供者程序。例如,使用本例的數(shù)據(jù)庫(kù)。就選擇microsoft jet4.0 ole db provi

34、der,然后單擊“下一步”按鈕。設(shè)計(jì)器切換到“連接”選項(xiàng)卡,如圖2-6所示,讓用戶設(shè)置使用的數(shù)據(jù)源。 選擇或輸入數(shù)據(jù)庫(kù)的名稱。數(shù)據(jù)庫(kù)可以在本機(jī)硬盤上,也可以在網(wǎng)絡(luò)上。單擊數(shù)據(jù)庫(kù)名稱文本框旁邊的命令按鈕,然后在windows標(biāo)準(zhǔn)對(duì)話框中選擇作為數(shù)據(jù)源的microsoft jet數(shù)據(jù)庫(kù)。 單擊“測(cè)試連接”命令按鈕,測(cè)試剛才的設(shè)置是否正確及數(shù)據(jù)庫(kù)是否可用。如果當(dāng)前設(shè)置的數(shù)據(jù)源可用,則visual basic給出一個(gè)連接成功的對(duì)話框。否則,警告連接失敗并給出失敗的原因。 在“屬性”對(duì)話框中,切換到“身份驗(yàn)證”選項(xiàng)卡,如圖2-7所示。因?yàn)樵谠O(shè)置連接字符串時(shí),已經(jīng)向ado data控件提供了身份驗(yàn)證信息,

35、所以當(dāng)前不用再進(jìn)行設(shè)置。如果連接不是用“數(shù)據(jù)連接屬性”對(duì)話框創(chuàng)建的,或者輸入的字符串中沒(méi)有包含身份驗(yàn)證信息,則必須設(shè)置本選項(xiàng)卡,以便讓數(shù)據(jù)源的數(shù)據(jù)庫(kù)管理系統(tǒng)確定用戶權(quán)限。圖2-6 “數(shù)據(jù)鏈接屬性”對(duì)話框圖2-7 ado data控件的屬性對(duì)話框 屬性對(duì)話框中,切換到“記錄源”選項(xiàng)卡。在“記錄源”選項(xiàng)卡中,可以在“命令類型”下拉列表框中選擇用于記錄源的命令類型??捎玫倪x擇,如下表所示: 屬性值含義8-adcmdunknow未知類型,用戶在“命令文本”框中輸入創(chuàng)建命令對(duì)象所使用的sql語(yǔ)句1-adcmdtext文本類型,用戶在“命令文本”框中輸入創(chuàng)建命令對(duì)所使用的sql語(yǔ)句2-adcmdtable

36、表類型,在“表或存儲(chǔ)過(guò)程名稱”下拉列表框中選擇一個(gè)表的名稱,visual basic用該表創(chuàng)建一個(gè)命令對(duì)象,相當(dāng)于輸入了“select * from table”語(yǔ)句4-adcmdstoreproc存儲(chǔ)過(guò)程,在“表或存儲(chǔ)過(guò)程名稱”下拉列表框中選擇一個(gè)查詢的名稱表2-1 記錄源命令列表把該屬性設(shè)定為2-adcmdtable,把“表或存儲(chǔ)過(guò)程名稱”屬性設(shè)置為需要用的表。單擊“確定”按鈕,關(guān)閉屬性對(duì)話框,完成所有的設(shè)置。3.2.2 移動(dòng)記錄 根據(jù)前面的介紹可以知道,ado data控件必須通過(guò)綁定數(shù)據(jù)感知控件才能提供一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的界面,用來(lái)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的瀏覽、添加、刪除、修改等操作。為了體現(xiàn)用ad

37、o data控件直接進(jìn)行記錄的移動(dòng),這里就要引入datagrid控件來(lái)進(jìn)行數(shù)據(jù)的顯示。具體的操作步驟如下:在前面創(chuàng)建的項(xiàng)目中,按照2.1.1節(jié)介紹的引入ado data控件的方法,在部件屬性框的控件標(biāo)簽頁(yè)中選擇“microsoft data grid control 6.0(oledb)”控件,然后引入該控件。在工具箱中單擊datagrid控件的圖標(biāo),在前面創(chuàng)建的窗體中添加該控件。如圖2-8所示。設(shè)置datagrid控件的datasource屬性為adodc1。這樣就完成了datagrid控件同adodc1控件的綁定。然后保存該項(xiàng)目,接著運(yùn)行便會(huì)看到如圖2-9所示的運(yùn)行結(jié)果。圖2-9 運(yùn)行窗口

38、圖2-8 添加完datagrid控件在該運(yùn)行窗口中直接單擊adodc1控件中的箭頭圖標(biāo)即可實(shí)現(xiàn)datagrid控件中選定數(shù)據(jù)的上下移動(dòng)。3.2.3 增、刪、改記錄增、刪、改記錄的操作同樣借助datagrid控件來(lái)實(shí)現(xiàn)。具體的步驟如下:在上節(jié)完成的基礎(chǔ)上,只要設(shè)置datagrid控件的屬性即可實(shí)現(xiàn)對(duì)記錄的增、刪、改操作。右鍵單擊datagrid控件,在彈出的快捷菜單中選擇“屬性”,便會(huì)彈出如圖2-10所示的對(duì)話框。圖2-10 datagrid控件屬性對(duì)話框選中“允許添加”、“允許刪除”、“允許更新”復(fù)選框,代表datagrid控件可以進(jìn)行記錄的添加、刪除、更新。保存設(shè)置,運(yùn)行程序,如圖2-9所示

39、,最后一行是空白行,用來(lái)添加新的數(shù)據(jù),選中整行之后,單擊鍵盤上的delete鍵就可以刪除該行信息,隨便選中某個(gè)單元格,就可以進(jìn)行數(shù)據(jù)的更改。3.3 sql語(yǔ)言在vb中的應(yīng)用3.3.1 sql提供的實(shí)用函數(shù)為實(shí)現(xiàn)使用vb程序調(diào)用sql語(yǔ)言訪問(wèn)access數(shù)據(jù)庫(kù)多個(gè)記錄的目的,我們利用sql提供的函數(shù)。davg function(求平均值)dcount function(計(jì)算滿足條件的記錄數(shù))dfirst function(返回記錄集的第一個(gè)記錄的某個(gè)域值)dlast function(返回記錄集的最后一個(gè)記錄的某個(gè)域值)dlookup function(返回記錄集中滿足待定條件的記錄的域值)ds

40、um function(求和計(jì)算)dmax function(求最大值)dmin function(求最小值)利用以上的sql函數(shù)能夠方便地進(jìn)行數(shù)據(jù)庫(kù)文件記錄地查詢和統(tǒng)計(jì)工作,以dsum為例,語(yǔ)法如下:dsum(expr,clomain,criteria)例:計(jì)算目的港為英國(guó)地所有訂單地運(yùn)費(fèi)總和。假定“orders”是數(shù)據(jù)庫(kù)文件中地一張表格,則x=dsum(“feight”,”order”.”ship country=uk”)3.3.2 利用sql訪問(wèn)多個(gè)記錄地方法在進(jìn)信息查詢和統(tǒng)計(jì)地過(guò)程中,我們往往需要從記錄集中根據(jù)待定的條件提取其中的一部分記錄信息。這種改變基于數(shù)據(jù)庫(kù)關(guān)系視圖的記錄集,這里

41、我們介紹提取記錄信息的有效方法。(1)建立一個(gè)新的查詢set mydb=open database(“c:dir1manage.mdf”)(打開(kāi)數(shù)據(jù)庫(kù)文件c:dir1manage.mdf)set myquery=mydb.creat querydef(“monthquery”)(創(chuàng)建查詢名為monthquery的查詢)myquery.sql=”select*from opnrpt where mid $(year,7,2)=”&yeartext.text&”(利用查詢的sql屬性,建立查詢依據(jù),即查詢的條件。這里用到了setect statement)以后如果需要這樣的查詢,只需要引用查詢名”

42、monthquery”即可。需要說(shuō)明的兩點(diǎn)是:使用前先定義dim mydb as database及myquery as querydef.查詢”monthquery”沒(méi)有使用data控件,也就不直接顯示信息。(2)如何設(shè)置data控件的recordsource屬性設(shè)置datasource屬性的命令為:data.recordsource=”setect vss_code,voyage,sum(weight)as weight20 from monthquery where ctn_size=20group by vss_code,voyage”在這個(gè)命令中字段名vss_code為船名代碼,vo

43、yage為航次,ctn_size為集裝箱號(hào),weight為集裝箱重量。計(jì)算機(jī)通過(guò)增加了條件的monthquery查詢組成了新的記錄集。as為關(guān)鍵字表示,并定義了別名。通過(guò)這一個(gè)方法定義的記錄集可以使用move和find方法逐條記錄的進(jìn)行操作。第4章 概要設(shè)計(jì)分析4.1 需求分析4.1.1 需求描述與分析設(shè)計(jì)一個(gè)性能良好的數(shù)據(jù)庫(kù)系統(tǒng),明確應(yīng)用環(huán)境對(duì)系統(tǒng)的要求是首要的和最基本的。特別是數(shù)據(jù)應(yīng)用非常廣泛,非常復(fù)雜,要是事先沒(méi)有對(duì)信息進(jìn)行充分和細(xì)致的分析,這種設(shè)計(jì)就很難取得成功。 通過(guò)需求分析階段對(duì)圖書管理系統(tǒng)的整個(gè)應(yīng)用情況作全面的、詳細(xì)的調(diào)查,確定圖書管理的目標(biāo),收集支持系統(tǒng)總的設(shè)計(jì)目標(biāo)的基礎(chǔ)數(shù)據(jù)和

44、對(duì)這些數(shù)據(jù)的要求,確定用戶的需求,并把這些寫成用戶和數(shù)據(jù)庫(kù)設(shè)計(jì)者都能夠接受的文檔。 事實(shí)上,需求分析是數(shù)據(jù)庫(kù)開(kāi)發(fā)中最難的任務(wù)之一。因?yàn)?,第一,系統(tǒng)本身是可變的,用戶的需求必須不斷調(diào)整,使之與這種變化相適應(yīng)。第二,用戶很難說(shuō)清某部分工作的功能處理過(guò)程。所以,設(shè)計(jì)人員必須認(rèn)識(shí)到:在整個(gè)需求分析以及系統(tǒng)設(shè)計(jì)過(guò)程中,用戶參與的重要性,通過(guò)各種方法展開(kāi)調(diào)查分析。4.1.2 需求分析的步驟需求分析大致可分為三步來(lái)完成,即需求信息的收集、分析整理和評(píng)審?fù)ㄟ^(guò)。1)需求信息的收集 需求信息的收集又稱為系統(tǒng)調(diào)查。為了充分地了解用戶可能提出的要求,在調(diào)查研究之前,要做好充分的準(zhǔn)備工作,要了解調(diào)查的目的、調(diào)查的內(nèi)容和

45、調(diào)查的方式。2)調(diào)查的目的 首先,要了解組織的機(jī)構(gòu)設(shè)置,主要管理活動(dòng)和職能。其次,要確定組織的目標(biāo),大致管理流程和任務(wù)范圍劃分。因此,圖書管理系統(tǒng)主要是通過(guò)對(duì)現(xiàn)有的圖書管理系統(tǒng)進(jìn)行考察、研究。并且通過(guò)和圖書管理人員、學(xué)生交流來(lái)完善管理功能。3)調(diào)查的內(nèi)容 外部要求:信息的性質(zhì),響應(yīng)的時(shí)間、頻度和如何發(fā)生的規(guī)則,以及圖書管理的要求,安全性及完整性要求。 管理的現(xiàn)狀:即圖書管理信息的種類,信息流程,信息的處理方式,各種圖書服務(wù)工作過(guò)程。 組織機(jī)構(gòu):了解圖書管理機(jī)構(gòu)的作用、現(xiàn)狀、存在的問(wèn)題,及是否適應(yīng)計(jì)算機(jī)管理。4)調(diào)查方式通過(guò)對(duì)圖書管理人員的訪問(wèn)、交談可獲得圖書管理高層的、內(nèi)部的管理需求,以及圖書

46、管理的管理目標(biāo)、未來(lái)圖書管理發(fā)展變化趨勢(shì)和長(zhǎng)遠(yuǎn)規(guī)劃的有關(guān)信息。并且,還可通過(guò)具體借閱活動(dòng),了解借閱的流程、借閱的控制方式、日常管理信息,對(duì)圖書管理系統(tǒng)有一個(gè)深刻得了解。5)需求信息的分析整理 要想把收集到的信息轉(zhuǎn)化為下一階段設(shè)計(jì)工作可用的形式信息,必須對(duì)需求信息做分析整理的工作。4.2 可行性的分析圖書借閱系統(tǒng)的建立,需要進(jìn)行用戶需求調(diào)查與分析,以確定系統(tǒng)目標(biāo),提出解決問(wèn)題的詳細(xì)方案,這是系統(tǒng)建設(shè)的重要環(huán)節(jié)。要想使學(xué)生能夠有效的借閱,功能上對(duì)系統(tǒng)的要求是全面的。因此對(duì)用戶的需求可分為四個(gè)方面:一方面是圖書管理人員對(duì)需要進(jìn)行圖書借閱的同學(xué)進(jìn)行信息注冊(cè),獲得借書證;二方面是學(xué)生通過(guò)計(jì)算機(jī)進(jìn)行圖書瀏

47、覽;三方面是學(xué)生通過(guò)計(jì)算機(jī)進(jìn)行圖書借閱;四方面是打印輸出學(xué)生信息。這四個(gè)方面形成了圖書借閱的一個(gè)工作整體,利用計(jì)算機(jī)的自動(dòng)化處理,可方便快捷地共享信息、交流信息,高效地協(xié)同工作。在軟硬件方面對(duì)系統(tǒng)的需求,軟件要求易學(xué),界面友好,容易掌握,可以很簡(jiǎn)單方便的進(jìn)行圖書借閱信息管理。硬件的配置要求不能太高,這樣可以很好的適應(yīng)當(dāng)前的學(xué)校圖書館的借閱4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。對(duì)于數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員來(lái)說(shuō),為使現(xiàn)實(shí)世界的信息流計(jì)算機(jī)話,并對(duì)計(jì)算機(jī)話的信息進(jìn)行各種操作,就是如何利用數(shù)據(jù)庫(kù)管理系統(tǒng)、系統(tǒng)

48、軟件和相關(guān)硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫(kù)結(jié)構(gòu)易于實(shí)現(xiàn)用戶新的要求的過(guò)程。確切的說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,有能被某個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫(kù)。 第5章 詳細(xì)設(shè)計(jì)說(shuō)明5.1開(kāi)發(fā)使用的過(guò)程模型在開(kāi)發(fā)此套系統(tǒng)之前,首先要按照軟件工程的方法確定所使用的開(kāi)發(fā)模型,利用軟件工程的相關(guān)知識(shí),確定采用的過(guò)程模型是快速原型??焖僭褪抢迷洼o助軟件開(kāi)發(fā)的一種新思想。經(jīng)過(guò)簡(jiǎn)單快

49、速分析,快速實(shí)現(xiàn)一個(gè)原型,用戶與開(kāi)發(fā)者在試用原型過(guò)程中加強(qiáng)通信與反饋,通過(guò)反復(fù)評(píng)價(jià)和改進(jìn)原型,減少誤解,彌補(bǔ)漏洞,適應(yīng)變化,最終提高軟件質(zhì)量。由于種種原因,在需求分析階段得到完全、一致、準(zhǔn)確、合理的需求說(shuō)明是很困難的,在獲得一組基本需求說(shuō)明后,就快速地使其“實(shí)現(xiàn)”,通過(guò)原型反饋,加深對(duì)系統(tǒng)的理解,并滿足用戶基本要求,使用戶在試用過(guò)程中受到啟發(fā),對(duì)需求說(shuō)明進(jìn)行補(bǔ)充和精確化,消除不協(xié)調(diào)的系統(tǒng)需求,逐步確定各種需求,從而獲得合理、協(xié)調(diào)一致、無(wú)歧義的、完整的、現(xiàn)實(shí)可行的需求說(shuō)明。又把快速原型思想用到軟件開(kāi)發(fā)的其他階段,向軟件開(kāi)發(fā)的全過(guò)程擴(kuò)展。即先用相對(duì)少的成本,較短的周期開(kāi)發(fā)一個(gè)簡(jiǎn)單的、但可以運(yùn)行的系

50、統(tǒng)原型向用戶演示或讓用戶試用,以便及早澄清并檢驗(yàn)一些主要設(shè)計(jì)策略,在此基礎(chǔ)上再開(kāi)發(fā)實(shí)際的軟件系統(tǒng)。快速原型的表示圖如下: 圖5-1 原型表示圖5.2 系統(tǒng)結(jié)構(gòu)流程圖圖書管理系統(tǒng)借閱管理書籍管理讀者管理讀者查詢系統(tǒng)設(shè)置借書管理還書管理備份數(shù)據(jù)刪除數(shù)據(jù)書庫(kù)管理圖類別設(shè)置打印報(bào)表讀者維護(hù)設(shè)置借書限制打印報(bào)表查找圖書查看借閱情況添加用戶修改密碼圖5-1 系統(tǒng)結(jié)構(gòu)流程圖5.3 系統(tǒng)功能的實(shí)現(xiàn)圖書管理系統(tǒng)主要有5大類別的功能,分別是借閱管理,書籍管理,讀者管理,讀者查詢,用戶管理,當(dāng)以讀者身份進(jìn)入該系統(tǒng),只能使用圖書查詢功能。下面來(lái)分別介紹這些功能并對(duì)登陸和主界面進(jìn)行介紹。5.3.1 登陸運(yùn)行圖書管理系統(tǒng)

51、,首先進(jìn)入登陸界面,登陸先要選擇登陸的類別,讀者和管理員要分別進(jìn)行登陸。讀者和管理員使用該系統(tǒng)的權(quán)限是不同的。(如下圖)圖5-2 用戶登陸界面圖登陸判斷用戶名以及密碼的正確性的代碼如下:if option1 then adodc2.recordset.movefirst adodc2.recordset.find 用戶名稱= & combo1.text & if adodc2.recordset.eof = true then msgbox 密碼不正確,請(qǐng)重新輸入 text2.setfocus sendkeys home+end else if text2.text = adodc2.reco

52、rdset.fields(用戶密碼).value then unload form12 mdiform1.show unload form1 else msgbox 密碼不正確,請(qǐng)重新輸入 text2.setfocus sendkeys home+end end if end if else unload form12mdiform1.show5.3.2 主界面登陸成功后進(jìn)入主窗體界面,在主界面上有圖書管理系統(tǒng)的所有功能(如下圖)圖5-3 系統(tǒng)主窗口圖在主窗體上,有菜單及工具欄,選擇相應(yīng)的菜單或者工具欄后,會(huì)調(diào)用相應(yīng)的窗體。5.3.3 借閱管理借閱管理實(shí)現(xiàn)的借書和還書功能。借書需要輸入讀者編號(hào)

53、和圖書編號(hào)。輸入正確后,讀者和圖書相關(guān)的信息會(huì)顯示出來(lái),若點(diǎn)擊借出圖書則完成借書功能。(如下圖)圖5-4 借書管理窗口圖從借閱信息表中取出讀者信息,并判斷是否可以結(jié)束:if adodc3.recordset.state = 1 then 選擇讀者所借書 adodc3.recordset.close end if adodc3.recordset.open select * from 借閱信息表 where 讀者編號(hào)= & i & , provider=microsoft.jet.oledb.4.0;data source=tushu.mdf;persist security info=false set datagrid1.datasource = adodc3.recordset text7.text = adodc3.recordset.recordcount adodc4.refresh adodc4.r

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論