倉庫查詢系統(tǒng)畢業(yè)設計論文_第1頁
倉庫查詢系統(tǒng)畢業(yè)設計論文_第2頁
倉庫查詢系統(tǒng)畢業(yè)設計論文_第3頁
倉庫查詢系統(tǒng)畢業(yè)設計論文_第4頁
倉庫查詢系統(tǒng)畢業(yè)設計論文_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、倉庫即時查詢系統(tǒng)目錄目錄1一、引言2二、系統(tǒng)分析4三、軟件開發(fā)平臺6四、數(shù)據(jù)分析6五、軟件基本功能7六、數(shù)據(jù)庫設計7七、系統(tǒng)總體功能模塊9八、程序設計10九、程序設計思想11十、數(shù)據(jù)庫連接技術12十一、源碼文件列表12十二、程序詳細說明13十三、軟件測試14十四、代碼設計15十五、結束語42一、引言、項目開發(fā)背景:長沙某大型電腦公司,其主要經(jīng)營網(wǎng)絡產(chǎn)品(交換機、路由器等);在公司經(jīng)營的產(chǎn)品中,物品型號和規(guī)格不一,且價格不一,公司正常營業(yè)過程中,公司需要提前制作好每天的即時價格表和庫存情況表,供業(yè)務員每天上班前領取,以方便公司每天正常的業(yè)務開展;在如今經(jīng)濟高速發(fā)展,競爭激烈的狀況下,每時每刻都在

2、發(fā)生著變化,這對公司及時了解最新價格和公司庫存信息提出了更高的要求。隨著計算機技術的發(fā)展和互聯(lián)網(wǎng)時代的到來,我們已經(jīng)進入了信息時代,也有人稱為數(shù)字化時代,在這數(shù)字化的時代里,企業(yè)的管理和信息溝通都受到了極大的挑戰(zhàn)。internet技術持續(xù)迅猛的發(fā)展,也給傳統(tǒng)的企業(yè)管理提出了新的模式。通過設計和建設網(wǎng)絡拓撲架構、網(wǎng)絡安全系統(tǒng)、數(shù)據(jù)庫基礎結構、信息共享與管理、信息的發(fā)布與管理,從而方便管理者、企業(yè)內(nèi)員工直接的信息交流和信息共享。以現(xiàn)代計算技術、網(wǎng)絡技術為基礎的企業(yè)化管理主要是朝著信息化、網(wǎng)絡化、現(xiàn)代化的目標邁進。作為新型的企業(yè)管理模式,它們具有提高工作效率、減少中間環(huán)節(jié)的特性,可以為新型企業(yè)管理模

3、式的建構提供理想的環(huán)境。在此開發(fā)的倉庫即時查詢系統(tǒng),旨在探索一種以互聯(lián)網(wǎng)為基礎的企業(yè)管理模式。通過這種新的模式,為企業(yè)運作營造一種新的工作環(huán)境,使管理突破溝通不及時、溝通不準確的限制,提高工作效率和公司業(yè)績,使企業(yè)管理者、職員可以在任何時候、任何地點通過網(wǎng)絡掌握公司最新價格和庫存情況。基于這些優(yōu)點,我設計開發(fā)了這套“倉庫即時查詢系統(tǒng)” 。、項目開發(fā)的目的:為了適應信息時代發(fā)展,提高企業(yè)工作效率和運作水平,實現(xiàn)現(xiàn)代化企業(yè)的運行機制和高水平的管理,體現(xiàn)it業(yè)高新技術企業(yè)自己的特色,使信息化企業(yè)建設成為一流企業(yè)建設的重要組成部分。用“企業(yè)信息化”的整體概念來統(tǒng)一規(guī)劃、組織和建設企業(yè)的辦公自動化系統(tǒng)。

4、在這個概念下,統(tǒng)一設計和建設網(wǎng)絡拓撲架構、網(wǎng)絡安全系統(tǒng)、數(shù)據(jù)庫基礎結構、信息共享與管理、信息的發(fā)布與管理等。開發(fā)后的信息化倉庫即時查詢系統(tǒng)包括用戶部分、用戶權限、產(chǎn)品快速查詢、產(chǎn)品即時價格、產(chǎn)品即時庫存、修改產(chǎn)品即時價格、修改產(chǎn)品即時庫存、修改用戶密碼、安全退出系統(tǒng)幾個部分。、項目開發(fā)的目標:(1) 升級、改造企業(yè)現(xiàn)有的辦公自動化程度,完善企業(yè)信息化建設,實現(xiàn)辦公自動化結構的網(wǎng)絡化,進一步提高企業(yè)的辦公效率、工作水平,朝著信息化、網(wǎng)絡化、現(xiàn)代化目標邁進。(2) 建立企業(yè)信息化系統(tǒng),進一步提高運作效益和現(xiàn)代化運作水平。(3) 建立企業(yè)信息化倉庫即時查詢管理系統(tǒng),為公司內(nèi)部職員提供方便、快捷的資料

5、信息獲取渠道和手段。(4) 倉庫即時查詢系統(tǒng),使企業(yè)實現(xiàn)信息化、自動化、網(wǎng)絡化,提高企業(yè)競爭力。(5) 建立intranet系統(tǒng),方便企業(yè)內(nèi)部的信息發(fā)布、信息交流和信息共享。、項目提出的意義:企業(yè)信息化指企業(yè)在公司運作和管理及對外聯(lián)系工作中運用網(wǎng)絡實現(xiàn)企業(yè)運作的數(shù)字化、信息化、智能化。從設計上說,企業(yè)信息化能夠提高公司業(yè)務人員、管理人員和普通職員進行工作、學習和交流的有效性。使用“信息化”技術,可以改善各層面的信息傳遞與相互了解。與internet集成在一起的信息化管理解決方案將會使管理者與職員更緊密聯(lián)接成一個綜合的運作環(huán)境,因而可以更好的提高企業(yè)競爭力。企業(yè)信息化管理的應用軟件將在解決企業(yè)內(nèi)

6、部管理與工作時,提供一個最佳實踐具體化,并促進最佳的管理與運作的實行框架;連接internet的企業(yè)局域網(wǎng)提供的是更廣泛的信息來源,使所有相關人員真正體會到企業(yè)信息化技術的嶄新面貌。、系統(tǒng)的開發(fā)方法:在本系統(tǒng)的開發(fā)過程中采用的是當今最流行的iis+asp模式,在該模式中,結合了微軟的iis和asp技術,充分利用了iis和asp兩種技術原有的優(yōu)點。microsoft active server pages 即我們所稱的 asp ,其實是一套微軟開發(fā)的服務器端腳本環(huán)境, asp 內(nèi)含于 iis 3.0 和 4.0 之中 , 通過 asp 我們可以結合 html 網(wǎng)頁、 asp 指令和 active

7、x 元件建立動態(tài)、交互且高效的 web 服務器應用程序。active server pages 獨具以下特點: 1. 使用 vbscript 、 jscript 等簡單易懂的腳本語言,結合 html 代碼,即可快速地完成網(wǎng)站的應用程序。 2. 無須 compile 編譯,容易編寫,可在服務器端直接執(zhí)行。 3. 使用普通的文本編輯器,如 windows 的記事本,即可進行編輯設計。 4. 與瀏覽器無關 (browser independence), 用戶端只要使用可執(zhí)行 html 碼的瀏覽器,即可瀏覽 active server pages 所設計的網(wǎng)頁內(nèi)容。 active server pag

8、es 所使用的腳本語言 (vbscript 、 jscript) 均在 web 服務器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。 5.active server pages 能與任何 activex scripting 語言相容。除了可使用 vbscript 或 jscript 語言來設計外,還通過 plug-in 的方式,使用由第三方所提供的其他腳本語言,譬如 rexx 、 perl 、 tcl 等。腳本引擎是處理腳本程序的 com(component object model) 物件。 6.active server pages 的源程序,不會被傳到客戶瀏覽器,因而可以避免所寫的源

9、程序被他人剽竊,也提高了程序的安全性。 7. 可使用服務器端的腳本來產(chǎn)生客戶端的腳本。 8. 物件導向( object-oriented )。 9.activex server components(activex 服務器元件 ) 具有無限可擴充性??梢允褂?visual basic 、 java 、 visual c+ 、 cobol 等編程語言來編寫你所需要的 activex server component 。二、系統(tǒng)分析、系統(tǒng)設計的思想倉庫即時查詢信息系統(tǒng)的基本設計思想是把企業(yè)業(yè)務信息即時供內(nèi)部員工了解,利用aspaccess進行編程。此子系統(tǒng)的系統(tǒng)結構如圖所示。倉庫即時查詢系統(tǒng)用戶登

10、錄產(chǎn)品價格信息產(chǎn)品庫存信息產(chǎn)品快速查詢產(chǎn)品價格修改產(chǎn)品庫存修改用戶密碼修改安全退出系統(tǒng)、可行性分析:可行性分析也稱為可行性研究,是在系統(tǒng)調查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術、經(jīng)濟、社會的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。(1) 經(jīng)濟可行性:主要是對項目的經(jīng)濟效益進行評價,本系統(tǒng)開發(fā)經(jīng)費對于本單位在經(jīng)濟上是可以接受的,并且本系統(tǒng)實施后可以顯著提高工作效率,有助于學院完全實現(xiàn)信息化管理。所以本系統(tǒng)在經(jīng)濟上是可行的。(2) 技

11、術上的可行性:技術上的可行性分析主要分析技術條件能否順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。該管理系統(tǒng)采用了當前新興的browser/server模式進行開發(fā)。三層的browser/server體系結構具有許多傳統(tǒng)client/server體系結構不具備的優(yōu)點,而且又緊密的結合了internet/intranet技術,是技術發(fā)展的大勢所趨,它把應用系統(tǒng)帶入了一個嶄新的發(fā)展時代。數(shù)據(jù)庫服務器選用microsoft的access數(shù)據(jù)庫,它能夠處理大量數(shù)據(jù),同時保持數(shù)據(jù)的完整性并提供許多高級管理功能。它的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行

12、。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。(3) 時機可行性:目前,企業(yè)內(nèi)部局域網(wǎng)絡早已經(jīng)假設好,從而滿足企業(yè)內(nèi)各職能部門,各直屬職員連網(wǎng)需求。企業(yè)良好的網(wǎng)絡設施為本系統(tǒng)開發(fā)企業(yè)信息化的系統(tǒng)提供了堅實的基礎。(4) 管理上的可行性:主要是管理人員是否支持,現(xiàn)有的管理制度和方法是否科學,規(guī)章制度是否齊全,原始數(shù)據(jù)是否正確等。規(guī)章制度和管理方法為系統(tǒng)的建設提供了制度保障。綜上所述,此系統(tǒng)開發(fā)目標已明確,在技術和經(jīng)濟等方面都可行,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的。、需求分析:在可行性分析階段已經(jīng)

13、粗略的研究了該項目的需求,并分析了開發(fā)平臺及軟件的可行性,但為了準確的確定目標系統(tǒng)必須做什么,了解用戶的明確需求,在企業(yè)相關部門進行了詳細的調研, 進一步明確了實現(xiàn)系統(tǒng)的功能。、系統(tǒng)的主要技術分析:本系統(tǒng)采用了當前最流行的b/s結構(即browser/server結構),browser/server的系統(tǒng)中,用戶可以通過瀏覽器向分布在網(wǎng)絡上的許多服務器發(fā)出請求。browser/server結構極大的簡化了客戶機的工作,客戶機上只需安裝、配置少量的客戶端軟件即可,服務器將擔負更多的工作,對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行將在服務器上完成。在browser/server三層體系結構下,表示層(pres

14、entation)、功能層(business logic)、數(shù)據(jù)層(data service)被分割成三個相對獨立的單元:第一層-表示層:web瀏覽器在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務是由web瀏覽器向網(wǎng)絡上的某一web服務器提出服務請求,web服務器對用戶身份進行驗證后用http協(xié)議把所需的主頁傳送給客戶端,客戶機接受傳來的主頁文件,并把它顯示在web瀏覽器上。第二層-功能層:具有應用程序擴展功能的web服務器在功能層中包含系統(tǒng)的事務處理邏輯,位于web服務器端。它的任務是接受用戶的請求,首先需要執(zhí)行相應的擴展應用程序與數(shù)據(jù)庫進行連接,通過sql等方式向數(shù)據(jù)庫服務器提出數(shù)據(jù)處

15、理申請,而后等數(shù)據(jù)庫服務器將數(shù)據(jù)處理的結果提交給web服務器,再由web服務器傳送回客戶端。第三層-數(shù)據(jù)層:數(shù)據(jù)庫服務器在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫服務器端。它的任務是接受web服務器對數(shù)據(jù)庫操縱的請求,實現(xiàn)對數(shù)據(jù)庫查詢、修改、更新等功能,把運行結果提交給web服務器。從上面的分析中可以看出,三層的browser/server體系結構是把二層client/server結構的事務處理邏輯模塊從客戶機的任務中分離出來,由單獨組成的一層來負擔其任務,這樣客戶機的壓力大大減輕了,把負荷均衡地分配給了web服務器,于是由原來的兩層的client/server結構轉變成三層的browser

16、/server結構。三、軟件開發(fā)平臺軟件平臺:iis+asp+access開發(fā)語言:asp數(shù) 據(jù) 庫:access服 務 器:windows 2000 server或更高版本網(wǎng)絡結構:公司提供一臺服務器并接入公司局域網(wǎng),用以放置asp系統(tǒng)代碼和access數(shù)據(jù)庫,專人負責維護,以保證數(shù)據(jù)的有效性,公司所有業(yè)務員每人分發(fā)一個用戶名和密碼,并通過ie瀏覽器登錄查詢系統(tǒng)。安全保障:用戶權限分四個級別,分別為:系統(tǒng)管理員、業(yè)務總監(jiān)、倉庫管理員、普通員工;系統(tǒng)管理員擁有所有權限;業(yè)務總監(jiān)和倉庫管理員可以入庫和修改庫存情況;普通員工可以查詢每天的產(chǎn)品價格和庫存情況。四、數(shù)據(jù)分析在倉庫即時查詢系統(tǒng)中,主要是

17、產(chǎn)品價格、產(chǎn)品庫存查詢輸入的數(shù)據(jù)信息,并且以適當?shù)姆绞捷敵鼋o用戶。數(shù)據(jù)類型決定了處理的方式也就是算法,因此,數(shù)據(jù)是系統(tǒng)實現(xiàn)分析的起點。在本文中使用數(shù)據(jù)流圖來分析數(shù)據(jù)的流動和處理。因為對每一種對象的管理都比較類似,在此僅以產(chǎn)品查詢?yōu)槔?,來分析一下本系統(tǒng)中的數(shù)據(jù)流向。首先,對普通職員來說,本系統(tǒng)接受職業(yè)的查詢請求,經(jīng)過對查詢請求的分析得到用戶的需要。然后把該需要轉化為結構化查詢語言sql語句,送入數(shù)據(jù)庫系統(tǒng)中。數(shù)據(jù)庫根據(jù)sql語句,查詢出結果,送回本系統(tǒng)。系統(tǒng)接收到數(shù)據(jù)庫返回的查詢結果集,經(jīng)過一定的分析處理,轉化為asp頁面,返回給客戶端瀏覽器。其次,對管理員用戶來說,本系統(tǒng)除了完成普通職員的查詢

18、請求之外,還接收管理員用戶的數(shù)據(jù)修改請求。經(jīng)過對數(shù)據(jù)修改請求的檢查,確定該請求是獲得權限的管理員用戶發(fā)出,即為有效請求之后。對該請求進行分析,得到請求的具體內(nèi)容。然后轉化為結構化查詢語言sql語句,送入數(shù)據(jù)庫系統(tǒng),更新數(shù)據(jù)庫信息。五、軟件基本功能、系統(tǒng)登錄、產(chǎn)品價格及庫存信息表、產(chǎn)品查詢、修改用戶登錄密碼、添加產(chǎn)品、修改產(chǎn)品庫存信息及價格、刪除產(chǎn)品、退出系統(tǒng)六、數(shù)據(jù)庫設計、數(shù)據(jù)庫的引入:數(shù)據(jù)庫技術從60年代中期至今只有不到40年的歷史,但其發(fā)展速度之快是其它技術所不及的。它已由第一代的層次型、網(wǎng)狀型數(shù)據(jù)庫,第二代的關系型數(shù)據(jù)庫發(fā)展到今天以面向對象為主要模型的數(shù)據(jù)庫,即第三代數(shù)據(jù)庫。數(shù)據(jù)庫技術和

19、網(wǎng)絡通信技術、面向對象編程技術、并行計算機技術、人工智能技術相互融合、相互滲透,促進了數(shù)據(jù)庫技術的廣泛應用。數(shù)據(jù)庫(database),是按照數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫,是用于查詢的大量數(shù)據(jù)的存儲區(qū)域。使用數(shù)據(jù)庫可以帶來許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲空間,實現(xiàn)數(shù)據(jù)資源的充分共享等等。此外,數(shù)據(jù)庫技術還為用戶提供了非常簡便的使用手段,使用戶易于編寫有關數(shù)據(jù)庫應用程序。特別是近年來推出的計算機關系數(shù)據(jù)庫管理系統(tǒng),操作直觀,使用靈活,編程方便,功能強大,環(huán)境適應廣泛,數(shù)據(jù)處理能力極強。數(shù)據(jù)庫的設計是指對一個給定的應用環(huán)境,構造數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),

20、滿足各種用戶需求。作為信息資源開發(fā)、管理和服務的一種有效的手段,數(shù)據(jù)庫技術的應用已越來越廣泛,從小型的單項事務處理系統(tǒng)到大型的信息系統(tǒng)大都用先進的數(shù)據(jù)庫技術來保持系統(tǒng)數(shù)據(jù)的安全性、完整性和共享性。對一個實際的系統(tǒng)來說,數(shù)據(jù)庫表的設計在遵循數(shù)據(jù)庫理論的同時,必須能用開發(fā)工具來實現(xiàn)用戶在各方面提出的功能要求。一個真正的、完整的站點是離不開數(shù)據(jù)庫的,因為少量的數(shù)據(jù),如網(wǎng)頁訪問人數(shù)等完全可以存儲在文本文件中,但實際應用中,需要保存的數(shù)據(jù)遠不止這一點點,而且這些數(shù)據(jù)之間往往還有關聯(lián),利用數(shù)據(jù)庫來管理這些數(shù)據(jù),可以很方便的查詢和更新。可以說一個動態(tài)網(wǎng)站的建設是離不開一個設計最優(yōu)的數(shù)據(jù)庫的。我們現(xiàn)在可以使用

21、的數(shù)據(jù)庫有很多種,如:fox數(shù)據(jù)庫(.dbf)、access數(shù)據(jù)庫(.mdb)、db2、informix、oracle和sql server等等,在本次設計中,選擇了microsoft的access作為后臺數(shù)據(jù)庫工具。、數(shù)據(jù)庫的物理結構:表名:ck字段名數(shù)據(jù)類型備注id自動編號主鍵prod_name文本產(chǎn)品名稱prod_num數(shù)字產(chǎn)品數(shù)量prod_price數(shù)字產(chǎn)品單價prod_com文本供貨廠家add_date日期/時間入庫日期update_time日期/時間最后更新日期表名:user_info字段名數(shù)據(jù)類型備注id自動編號主鍵username文本用戶名password文本密碼departm

22、ent文本部門job文本崗位level數(shù)字權限級別date日期/時間創(chuàng)建日期、數(shù)據(jù)庫的完整性數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。數(shù)據(jù)庫管理系統(tǒng)(dbms)用一定的機制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件完整性約束條件,數(shù)據(jù)的約束條件是語義的體現(xiàn),將作為模式的一部分存入數(shù)據(jù)庫中。本系統(tǒng)中定義了表與表之間的聯(lián)系有助于實現(xiàn)完整性規(guī)則,一般在程序中實現(xiàn)具體的完整性控制。、數(shù)據(jù)庫的安全性:數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄漏、更改或破壞。在數(shù)據(jù)庫系統(tǒng)中,大量的數(shù)據(jù)集中存放,而且為許多用戶直接共享,是寶貴的信息資源,系統(tǒng)的安全保護措施就顯得更為重要,它保護數(shù)據(jù)庫防止惡意的破

23、壞和非法的存取。本系統(tǒng)包括數(shù)據(jù)庫的安全和服務器的安全。采用管理員表示和鑒定的方法實現(xiàn)數(shù)據(jù)庫的安全,此安全管理措施并不在前臺開發(fā)工具中實現(xiàn),而是在后臺數(shù)據(jù)庫中實現(xiàn)。在登錄數(shù)據(jù)庫時,系統(tǒng)讓管理員戶表示自己的身份,不同的管理員權限不同,系統(tǒng)進行核實,鑒別此管理員是否為合法用戶,若是,系統(tǒng)進一步核實用戶,通常要求用戶輸入口令,系統(tǒng)和對用戶口令以鑒別用戶身份。服務器的安全也是通過用戶在登錄服務器時輸入合法的用戶名和密碼來實現(xiàn)的。這是一種簡單可行的方法,實現(xiàn)起來比較方便。沒有采用更加復雜的系統(tǒng)安全管理措施是因為本管理系統(tǒng)是應用在企業(yè)內(nèi)部網(wǎng)中,采用安全管理措施主要是為了防止沒有修改權限的用戶無意間修改了數(shù)據(jù)

24、,因此采用用戶標識和鑒定的安全管理措施就能夠保障數(shù)據(jù)庫的安全性。七、系統(tǒng)總體功能模塊以下是系統(tǒng)功能模塊圖:倉庫即時查詢系統(tǒng)用戶登錄產(chǎn)品價格信息產(chǎn)品庫存信息產(chǎn)品快速查詢產(chǎn)品價格修改產(chǎn)品庫存修改用戶密碼修改安全退出系統(tǒng)、用戶登錄模塊由于不同的登錄用戶有不同的權限,所以用戶在進行登錄操作時,系統(tǒng)會自動根據(jù)用戶成功登錄的用戶信息驗證該用戶的相應權限,并進入相應權限頁面,開放相應權限菜單功能項。登錄時用的用戶名和密碼是按管理員的不同權限事先分配好的,登錄后即可進行相應操作。、產(chǎn)品價格信息和庫存信息用戶登錄后,均可看到每頁十個產(chǎn)品的信息,點擊“上一頁”和“下一頁”可瀏覽所有產(chǎn)品信息。、產(chǎn)品快速查詢當然,有

25、些時候用戶想在上千或上萬的產(chǎn)品資料中,迅速找到某一產(chǎn)品信息,所以我提供了產(chǎn)品搜索功能,以方便用戶快速瀏覽到自己要查詢的產(chǎn)品信息。、產(chǎn)品價格修改和庫存信息修改當某產(chǎn)品的價格或庫存量發(fā)生變化時,公司需要通知各部門的業(yè)務員,在實際操作中,需要浪費大量的時間和人力物力,并且還有通知不及時的情況。通過這個功能修改價格和庫存信息后,無需一個一個去通知,業(yè)務員可在第一時間收到這一信息的改變,大大提高工作效率。、密碼修改為了方便系統(tǒng)的安全性,也同樣方便用戶能夠用自己易記的密碼登錄系統(tǒng),特設計此功能。、退出系統(tǒng)當用戶在公共場所或其它人的電腦上登錄過系統(tǒng)后,往往直接關閉瀏覽器便離開計算機,這樣留下了嚴重的安全隱患

26、;因為用戶登錄的cookies沒有清除,這時其它用戶可以無需密碼登錄,即可進入系統(tǒng),形成非法登錄。八、程序設計現(xiàn)在將討論怎樣具體的實現(xiàn)系統(tǒng)中每個模塊的功能,也就是系統(tǒng)的詳細設計過程。詳細設計的根本目標是確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設計工作,應該得出對目標系統(tǒng)的描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。詳細設計階段的任務在于要設計出程序的“藍圖”,因此,詳細設計的結果基本上決定了最終的程序代碼的質量。詳細設計的目標不僅僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設計出的處理過程應該盡可能簡明易懂。結構程序設計技術是實現(xiàn)上述目標的關

27、鍵技術,因此是詳細設計的邏輯基礎。九、程序設計思想常見的設計思想有兩種:結構化和面向對象化,本系統(tǒng)采用的是面向對象的設計思想,下面簡單介紹一下兩者的不同以及面向對象程序設計的優(yōu)點。傳統(tǒng)的結構化開發(fā)過程包括軟件目標的功能分解,以及使用正確的參數(shù)和返回值來創(chuàng)建函數(shù)。首先分析需求,確定功能,然后以函數(shù)的形式進行建模。在一個web應用中很可能有上千個函數(shù),這些函數(shù)能夠不受限制的互相調用,因此在訪問某個變量時,很難保證它不是正在被其他的函數(shù)訪問或者修改。用asp腳本來開發(fā)web應用時就是上面所說的情況。只使用asp而不使用任何自定義標記,在web應用的規(guī)模比較小時還不會出現(xiàn)太多的問題,但是在web應用的

28、規(guī)模增大時就肯定會出現(xiàn)問題。這些代碼也許能夠滿足功能上的需要,卻不能達到非功能性的要求。在結構化開發(fā)方法面臨問題的時候,使用面向對象的方法進行分析、設計和開發(fā)就可以解決一部分問題。面向對象的分析和設計方法源于現(xiàn)實生活中的模塊化的思想。對象是提供一組相關功能的實體,對象之間互相作用從而完成一定的任務。面向對象開發(fā)方法包括對目標的模塊化,以及用類的形式對數(shù)據(jù)和函數(shù)進行封裝。面向對象方法主要有以下四個特征:(1) 抽象性抽象是對象建模參數(shù)的選擇,這是進行分析后得到的結果。這意味著是由分析人員來選擇一定的參數(shù),以表示對象,這是對象模型化的第一步。(2) 封裝性由于某些原因,類中的數(shù)據(jù)和方法不需要對其他

29、的對象公開,我們可以將其隱藏在類的內(nèi)部,這是對象模塊化過程中很重要的一步。這個步驟將確保對象的行為以簡單的借口出現(xiàn),而復雜的執(zhí)行過程都被隱藏了。比如,asp就可以為web網(wǎng)頁開發(fā)人員提供一個簡單的接口。(3) 繼承性在一個現(xiàn)存對象的基礎上創(chuàng)建一個新的對象,這個過程稱為繼承。這樣我們可以不必重寫所有的代碼,只需在新對象中編寫需要更新的代碼就可以了。(4) 模塊化為了減少獨立工作小組之間的依賴性,軟件系統(tǒng)中必須使用模塊。十、數(shù)據(jù)庫連接技術本系統(tǒng)在數(shù)據(jù)庫連接方面,使用了數(shù)據(jù)庫ado技術。首先,在程序中建立一個conn.inc的文件,里面用來放置數(shù)據(jù)庫連接代碼,在代碼中先定義conn和connstr變

30、量,conn用來創(chuàng)建數(shù)據(jù)連接對象,connstr用來存放連接字符串,使用ado中connection對象的open方法就可以連接access數(shù)據(jù)庫了。具體在程序中引用需要以下代碼:dim conn,connstrset conn=server.createobject("adodb.connection")'創(chuàng)建連接對象connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("data/db.asp")conn.open connst

31、r'開始連接這樣,在數(shù)據(jù)庫連接的方面,運用數(shù)據(jù)庫ado連接技術能獲取比較大的效率。十一、源碼文件列表data文件夾:用于存放數(shù)據(jù)庫文件image文件夾:用于存放設計時用到的圖片index.asp:用戶登錄頁面ck_sys.asp:普通用戶登錄后進入的頁面ck_sys_admin.asp:管理級用戶登錄后進入的頁面conn.inc:數(shù)據(jù)庫連接代碼頁,方便代碼重復使用edit_password.asp:用戶密碼修改頁面search.asp:普通用戶查詢頁面,對查詢結果不可編輯search_admin.asp:管理級用戶查詢頁面,對查詢結果可編輯logout.asp:安全退出頁面,清除用戶c

32、ookies信息十二、程序詳細說明db.mdb:創(chuàng)建兩個表,兩個表的相關字段如下:表名:ck字段名數(shù)據(jù)類型備注id自動編號主鍵prod_name文本產(chǎn)品名稱prod_num數(shù)字產(chǎn)品數(shù)量prod_price數(shù)字產(chǎn)品單價prod_com文本供貨廠家add_date日期/時間入庫日期update_time日期/時間最后更新日期表名:user_info字段名數(shù)據(jù)類型備注id自動編號主鍵username文本用戶名password文本密碼department文本部門job文本崗位level數(shù)字權限級別date日期/時間創(chuàng)建日期index.asp:用戶登錄頁面,供用戶登錄使用;當用戶輸入正確的用戶名和密碼后

33、,系統(tǒng)將自動識別其權限級別,并進入到相應的頁面。操作說明:在用戶名后的文本框中輸入您的用戶名,在密碼后的文本框中輸入您正確的密碼,然后點擊“登錄系統(tǒng)”按鈕(或輸入完后,直接回車)。conn.inc:為系統(tǒng)創(chuàng)建數(shù)據(jù)庫連接的代碼頁面,因為系統(tǒng)要頻繁地連接數(shù)據(jù)庫,為了方便特寫成一個包含文件,供程序調用。操作說明:在需要使用的頁面中使用代碼:<!-#include file="conn.inc"->ck_sys.asp:普通用戶登錄后,可看到的系統(tǒng)頁面;該頁面提供了公司所有產(chǎn)品的即時價格和庫存數(shù)量;上方有產(chǎn)品搜索欄,可供用戶快速查詢到相應的產(chǎn)品信息。操作說明:主要分三個

34、部分,即登錄信息、產(chǎn)品搜索、產(chǎn)品信息;產(chǎn)品搜索操作:在“請輸入產(chǎn)品關鍵字”后的文本框中輸入您要查詢的產(chǎn)品型號,再點擊“搜索”按鈕即可。ck_sys_admin.asp:管理用戶登錄后,可看到的系統(tǒng)頁面;該頁面提供了除普通用戶擁有的功能外,還可供修改即時的產(chǎn)品價格和庫存,為普通用戶提供即時而準確的信息資料。操作說明:主要分四個部分,即登錄信息、庫存信息管理、產(chǎn)品搜索、產(chǎn)品信息;添加庫存信息:點擊“添加庫存信息”,頁面中會出現(xiàn)供用戶“添加庫存信息”的表單,輸入相應信息后,點擊添加按鈕。產(chǎn)品搜索操作:在“請輸入產(chǎn)品關鍵字”后的文本框中輸入您要查詢的產(chǎn)品型號,再點擊“搜索”按鈕即可;如果是管理級別登錄

35、,則可以對搜索結果中的產(chǎn)品進行修改和刪除;方法是:在搜索結果中,點擊相應產(chǎn)品信息后面的“編輯”圖標,則會在頁面中出現(xiàn)“編輯庫存信息”的表單,更改后,點擊“修改”按鈕;如果想刪除該產(chǎn)品的記錄,或某產(chǎn)品在庫存中已無存貨,則直接點擊相應產(chǎn)品后的“刪除”圖標,即可。edit_password.asp:供系統(tǒng)中所有用戶更改其密碼的頁面。操作說明:點擊“修改登錄密碼”,將彈出“更改用戶密碼”頁面,在頁面對話框中輸入兩遍一樣的密碼,再點擊“更改密碼按鈕”,如果修改成功,系統(tǒng)會給出“密碼修改成功!”的提示,此時用戶如果退出系統(tǒng),即可用新的密碼登錄,舊密碼將不能登錄。search.asp:普通用戶查詢頁面,對查

36、詢結果不可編輯操作說明:查詢結果顯示頁面,僅供查看。search_admin.asp:管理級用戶查詢頁面,對查詢結果可編輯操作說明:查詢結果顯示頁面,僅供查看。(相關其它操作參照ck_sys_admin.asp中的“產(chǎn)品搜索操作”)logout.asp:安全退出頁面,清除用戶cookies信息操作說明:點擊“退出系統(tǒng)”,即清除當前用戶登錄時的cookies信息。十三、軟件測試在開發(fā)大型軟件系統(tǒng)的過程中,需要面對錯綜復雜的問題,因此,在軟件生存周期的每個階段都不可避免地會產(chǎn)生錯誤。我們力求在每個階段結束之前通過嚴格的技術審查,盡可能早的發(fā)現(xiàn)并糾正錯誤。測試的目的就是在軟件投入生產(chǎn)性運行之前,盡可

37、能多地發(fā)現(xiàn)軟件中的錯誤。目前軟件測試仍然是保證軟件質量的關鍵步驟,它是對軟件規(guī)格說明、設計和編碼的最后復審。盡管面向對象技術的基本思想保證了軟件應該有更高的質量,但無論采用什么樣的編程技術,編程人員的錯誤都是不可避免的,而且由于面向對象技術開發(fā)的軟件代碼重用率高,更需要嚴格測試,避免錯誤的繁衍。因此,軟件測試在面向對象編程里更具有它的重要性。與開發(fā)過程類似,測試過程也必須分步驟進行,每個步驟在邏輯上是前一個步驟地繼續(xù)。大型軟件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由許多模塊組成。因此,大型軟件系統(tǒng)的測試的基本層次如圖所示。 (1) 單元測試 單元測試的用例從單元詳細設計中導出。在單元測試中可

38、以采用功能性測試和結構性測試兩種。(2) 集成測試 在這個測試步驟中所發(fā)現(xiàn)的往往是概要設計的錯誤。(3) 系統(tǒng)測試 在這個測試步驟中所發(fā)現(xiàn)的往往是需求規(guī)格說明的錯誤。一般來說,系統(tǒng)測試是功能性測試,不是結構性測試。十四、代碼設計部分功能函數(shù)說明:、驗證用戶登錄代碼說明<%sub chk_sub '定義驗證過程if trim(request.form("username")="" then'判斷是否輸入了空的用戶名%><p class="button"> <script>alert(&

39、quot;請輸入用戶名!");</script> <%elseif trim(request.form("password")="" then'判斷是否輸入了空的密碼%> <script>alert("請輸入密碼!");</script> <%elsedim rs,sql'定義記錄集對象和sql語句字符串set rs=server.createobject("adodb.recordset")sql="select * fro

40、m user_info where username='"&trim(request.form("username")&"' and password='"&request.form("password")&"'"rs.open sql,conn,1,1'打開記錄集if rs.eof and rs.bof then%> <script>alert("用戶名或密碼不正確!");</script

41、> <%elseif not rs.eof and not rs.bof thenif rs("level")="1" or rs("level")="2" or rs("level")="3" then'判斷登錄用戶的級別response.cookies("admin")=trim(request.form("username")'創(chuàng)建用戶cookies信息response.cookies("us

42、erid")=rs("id")response.redirect("ck_sys_admin.asp")'登錄成功,轉入管理用戶頁面elseresponse.cookies("user")=trim(request.form("username")'創(chuàng)建用戶cookies信息response.cookies("userid")=rs("id")response.redirect("ck_sys.asp")'登錄成功,轉入普

43、通用戶頁面end ifend ifend ifend sub%>、分頁代碼說明<%dim rs,sqlset rs=server.createobject("adodb.recordset")'創(chuàng)建記錄集對象sql="select * from table"'選取倉庫表中的所有記錄,按降序排序rs.open sql,conn,1,1'分頁代碼部分dim total_record,currentpageconst maxperpage=10'每頁顯示最大記錄條數(shù)total_record=rs.recordcoun

44、t'將總記錄條數(shù)賦給變量total_recordcurrentpage=request("page")'獲取當前頁面的頁碼if currentpage<1 thencurrentpage=1end ifif currentpage=1 then'如果當前是第一頁則顯示前面的記錄show_content'調用過程,以顯示表單show_page total_record,maxperpage'調用過程,以顯示翻頁菜單elsers.move (currentpage-1)*maxperpage'把記錄集移動到每頁的開始dim

45、bookmarkbookmark=rs.bookmark'獲取當前記錄讀取位置show_contentshow_page total_record,maxperpage'調用過程,以顯示翻頁菜單end if%><%sub show_content'定義顯示產(chǎn)品信息的表格框過程dim i'定義記數(shù)器變量ii=0'初始化記數(shù)器do while not rs.eof'如果不是最后一條記錄則繼續(xù)'''''''''''''''

46、'''''''要顯示的內(nèi)容i=i+1'記數(shù)器和顯示記錄條數(shù)同步if i>=maxperpage then exit do'如果超出每頁最大顯示條數(shù)則退出subrs.movenext'移動到下一條記錄loop'循環(huán)%><%end sub%><%sub show_page(total_record,maxperpage)'翻頁菜單過程定義 dim file_url'本頁文件名 file_url="ck_sys.asp"'方便后面使用 di

47、m total_page'定義總頁數(shù)變量 if total_record mod maxperpage=0 then'計算總共的頁數(shù) total_page=total_record maxperpageelsetotal_page=total_record maxperpage+1end if%><p></p><table width="439" height="36" border="0" align="center" class="12"&

48、gt; <tr> <td width="141"><table width="141" border="0" cellspacing="1" class="12"> <tr> <td class="12"> <%if currentpage<2 then%> 第一頁 <%else%> <a href='<%=file_url%>?id=<%=id%>

49、&page=1' class="link"><font color="#ff0000">第一頁</font></a> <%end if%> </td> <td> <%if currentpage<2 then%> <span class="12">上一頁 <%else%> <a href='<%=file_url%>?id=<%=id%>&page=<

50、;%=currentpage-1%>'><font color="#ff0000">上一頁</font></a></span></td> <%end if%> </tr> </table></td> <td width="125"><div align="justify"><font color="#ff0000"> <span class=&qu

51、ot;12">共</span></font><span class="12"><%=total_record%><font color="#ff0000">條</font> <font color="#ff0000">共分</font><%=total_page%><font color="#ff0000">頁</font></span></div&g

52、t;</td> <td width="159"><table width="159" border="0" cellpadding="0" cellspacing="1" class="12"> <tr> <td width="73"> <%if total_page-currentpage<1 then%> <span class="12">下一

53、頁 <%else%> <a href='<%=file_url%>?id=<%=id%>&page=<%=currentpage+1%>' class="12"><font color="#ff0000">下一頁</font></a> <%end if%> </span></td> <td width="59"> <%if total_page-currentpa

54、ge<1 then%> <span class="12"> 最后一頁 <%else%> <a href='<%=file_url%>?id=<%=id%>&page=<%=total_page%>' class="12"><font color="#ff0000">最后一頁</font></a> <%end if%> </span></td> </tr

55、> </table></td> </tr></table><%end sub%>index.asp源碼:<!-#include file="conn.inc"-><%if request("action")="chk" then '判斷用戶是否提交登錄信息call chk_sub '調用驗證過程end if%><title>賽格網(wǎng)絡即時庫存信息!</title><link href="css

56、.css" rel="stylesheet" type="text/css"> <form name="form1" method="post" action="index.asp?action=chk"> <table width="262" height="113" border="0" align="center" cellpadding="0" cells

57、pacing="1" bgcolor="#333333"> <tr bgcolor="#ffffff" class="12"> <td colspan="2"><div align="center"><font color="#006600" size="3"><strong>賽格網(wǎng)絡</strong></font></div><

58、/td> </tr> <tr bgcolor="#ffffff" class="12"> <td width="27%" height="25"><div align="center">用戶名:</div></td> <td width="73%" height="25"> <div align="left"> <input na

59、me="username" type="text" class="txt" id="username" size="20"> </div></td> </tr> <tr bgcolor="#ffffff" class="12"> <td height="25"><div align="center">密碼:</div></

60、td> <td height="25"> <div align="left"> <input name="password" type="password" class="txt" id="password" size="20"> </div></td> </tr> <tr bgcolor="#ffffff" class="12"&g

61、t; <td height="30" colspan="2"><div align="center"> <input name="submit" type="submit" class="button" value="登陸系統(tǒng)"> </div></td> </tr> </table></form><%sub chk_sub '定義驗證過程if tr

62、im(request.form("username")="" then'判斷是否輸入了空的用戶名%><p class="button"> <script>alert("請輸入用戶名!");</script> <%elseif trim(request.form("password")="" then'判斷是否輸入了空的密碼%> <script>alert("請輸入密碼!");</script> <%elsedim rs,sql'定義記錄集對象和sql語句字符串set rs=server.createobject("adodb.recordset")sql="select * from user_info where username='"&trim(request.form("username")&"' and password='"&request.form("passwor

溫馨提示

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

評論

0/150

提交評論