網(wǎng)上書店的設(shè)計(jì)實(shí)現(xiàn)_第1頁
網(wǎng)上書店的設(shè)計(jì)實(shí)現(xiàn)_第2頁
網(wǎng)上書店的設(shè)計(jì)實(shí)現(xiàn)_第3頁
網(wǎng)上書店的設(shè)計(jì)實(shí)現(xiàn)_第4頁
網(wǎng)上書店的設(shè)計(jì)實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘摘要要 現(xiàn)代是知識性時(shí)代,也是競爭性時(shí)代,適者生存。為了加強(qiáng)自己的知識與 技術(shù)水平,我們就得不斷的購書“充電” ,來充實(shí)自己知識水平。在這種形式之 下,購買圖書的人越來越多,也越來越廣,全國各地都有購買者。這么大的一 個(gè)市場,只是利用實(shí)物店鋪是遠(yuǎn)遠(yuǎn)不夠的,雖只能滿足本地讀者的需求,但卻 不能面向遠(yuǎn)處的讀者需求。為了迎合市場的需求,為了開拓市場提高自身在同 行中的競爭能力,開發(fā)一個(gè)網(wǎng)上圖書銷售系統(tǒng)也是很有必要的。 本網(wǎng)上書店系統(tǒng),主要實(shí)現(xiàn)的功能是:實(shí)現(xiàn)用戶在線注冊功能、登錄功能、 查詢功能、購物車功能、定單等。在后臺能實(shí)現(xiàn)管理員的登錄、管理員對商品 的分類發(fā)布、商品的管理、用戶信息的管理、訂單

2、管理、管理員管理等。真正 實(shí)現(xiàn)從商品的發(fā)布到商品的購買一系列的網(wǎng)上銷售圖書的功能。 本系統(tǒng)基于 Internet 的互聯(lián)網(wǎng)網(wǎng)絡(luò),以 B/S 形式實(shí)現(xiàn)的。本系統(tǒng)是采用 ASP 技術(shù),以 ACCESS 作為數(shù)據(jù)庫,使用 Dream wear MX 作開發(fā)平臺,利用網(wǎng)絡(luò) 來實(shí)現(xiàn)網(wǎng)上銷售圖書的功能性網(wǎng)站。具有最大的優(yōu)點(diǎn)是,界面優(yōu)美,可視性強(qiáng), 設(shè)計(jì)成本投入性小,利潤見效快,系統(tǒng)安全性好,系統(tǒng)維護(hù)與管理方便快捷, 目標(biāo)明確,可操作性強(qiáng)等特點(diǎn)。 網(wǎng)上圖書銷售管理系統(tǒng)主要以實(shí)現(xiàn)在線銷售圖書為主。全部的設(shè)計(jì)這以此 為核心來展開。從商品發(fā)布,到商品的銷售;從用戶的注冊,到商品的購買等 等都是圍繞銷售而展開的,以

3、達(dá)到網(wǎng)上圖書銷售的方便與快捷。 關(guān)鍵詞網(wǎng)上圖書銷售;訂單;在線注冊;購物車 目目錄錄 摘要 .I 第 1 章緒論.1 1.1引言.1 1.2 網(wǎng)上書店系統(tǒng)的設(shè)計(jì)背景.2 1.3網(wǎng)上書店系統(tǒng)開發(fā)工具簡介.2 1.3.1ASP 程序設(shè)計(jì)語言特點(diǎn)介紹.3 1.3.2Access 數(shù)據(jù)庫及其特點(diǎn)簡介.4 1.3.3Dreamweaver 開發(fā)工具及其特點(diǎn)介紹.5 第 2 章需求分析與總體設(shè)計(jì).6 2.1 需求分析的基本任務(wù).6 2.2網(wǎng)上書店系統(tǒng)需求分析.6 2.2.1系統(tǒng)業(yè)務(wù)流程分析.7 2.2.2數(shù)據(jù)流程分析.8 2.2.3數(shù)據(jù)字典.9 2.3系統(tǒng)總體設(shè)計(jì).13 2.4網(wǎng)上書店系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì).

4、13 2.5系統(tǒng)開發(fā)工具.15 第 3 章系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫的建立.16 3.1系統(tǒng)數(shù)據(jù)源的設(shè)置.16 3.2表、關(guān)系模型和數(shù)據(jù)庫的概述.17 3.3范式與建立表格的規(guī)范化.18 3.4系統(tǒng)數(shù)據(jù)庫的詳細(xì)建立.19 3.4.1用戶信息數(shù)據(jù)表(RegUser).19 3.4.2管理員信息表(Manage_User).20 3.4.3商品大類表(Class_1) .20 3.4.4商品小類表(Class_2) .21 3.4.5商品表(Product).21 3.4.6購物車表(Shop List).22 3.4.7訂單表(Order List).22 第 4 章系統(tǒng)功能模塊設(shè)計(jì).24 4.1客戶端.2

5、4 4.1.1購物車.24 4.1.2會員注冊.26 4.1.3商品查詢.29 4.1.4訂單查詢.29 4.2后臺管理端.30 4.2.1商品的添加.30 4.2.2商品的審查.32 4.2.3訂單的審查.33 4.2.4會員的審查.34 4.2.5管理員添加.35 4.2.6管理員審查.35 第 5 章系統(tǒng)的配置安裝與測試.36 5.1后臺服務(wù)器和數(shù)據(jù)庫配置.36 5.1.1后臺服務(wù)器配置.36 5.1.2創(chuàng)建 ASP 應(yīng)用程序.37 5.1.3后臺數(shù)據(jù)庫的配置.37 5.2系統(tǒng)的測試.39 5.2.1軟件測試的目標(biāo).39 5.2.2系統(tǒng)的具體測試.39 結(jié)論.40 致謝.41 網(wǎng)上書店的

6、設(shè)計(jì)實(shí)現(xiàn) 第 1 章緒論 1.1引言 隨著因特網(wǎng)技術(shù)的迅速發(fā)展,各種各樣的網(wǎng)站已經(jīng)深入到日常生活的各個(gè) 角落,越來越多的公司都建立了自己的網(wǎng)站,電子商務(wù)大行其道,個(gè)人網(wǎng)站也 如雨后春筍般的發(fā)展起來。因特網(wǎng)的發(fā)展?fàn)顩r可以用日新月異來形容,通過電 子商務(wù)來完善對商品的采購就給人們的生活帶來了很多方便。它節(jié)省了物流消 耗和一般商務(wù)對時(shí)間和地點(diǎn)的依賴。如今主流的網(wǎng)絡(luò)編程技術(shù)很多,在比較下 簡單易學(xué),比較常用的就是 asp 技術(shù),而其關(guān)鍵就是網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)的配合, 服務(wù)器技術(shù)的進(jìn)步,都對整個(gè)電子商貿(mào)的發(fā)展奠定了基礎(chǔ)。其實(shí)說的簡單一點(diǎn), 電子商務(wù)就是以 web 網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫技術(shù)為支撐的,其中 web

7、數(shù)據(jù)庫技術(shù)是 電子商務(wù)的核心技術(shù),用戶通過 web 訪問數(shù)據(jù)庫,可以實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下的大量 信息共享,聯(lián)系各個(gè)異構(gòu)數(shù)據(jù)庫,使得數(shù)據(jù)庫之間能夠通過主動式的超文本鏈 接,實(shí)現(xiàn)相互連接,使得交叉使用的時(shí)局可以被很容易的檢索到。同時(shí),隨著 電子商務(wù)的普及,帶動了網(wǎng)絡(luò)經(jīng)濟(jì)的發(fā)展,在 internet 上發(fā)布業(yè)務(wù)和商品數(shù)據(jù), 已經(jīng)成了大勢所趨,可以這么說,web 開發(fā)和數(shù)據(jù)庫的結(jié)合才能真正發(fā)揮 internet 的優(yōu)勢。而電子商務(wù)是很切近生活,它有了自身的針對性,服務(wù)對象是 特定的。 作為一種商務(wù)活動過程,電子商務(wù)將帶來一場史無前例的革命。其對社會 經(jīng)濟(jì)的影響會遠(yuǎn)遠(yuǎn)超過商務(wù)的本身,除了上述影響外,他還將對就

8、業(yè)、法律制 度以及文化教育等產(chǎn)業(yè)產(chǎn)生巨大的影響。電子商務(wù)將把人類帶入信息社會。 1.2 網(wǎng)上書店系統(tǒng)的設(shè)計(jì)背景 在 Web 的空間里,幾十萬乃至幾百萬的站點(diǎn)相互進(jìn)行著激烈的競爭,都想 獲取用戶的主意。因此,簡單的、靜態(tài)的頁面對用戶是不會有太大的吸引力。 動態(tài)的、有條理的數(shù)據(jù)加上交互性強(qiáng)的界面,才是用戶樂意訪問的。當(dāng)然數(shù)據(jù) 的自動更新也是非常重要的。在短短的時(shí)間里,Web 面孔已發(fā)生很大的變化。 現(xiàn)在能在 Web 頁面內(nèi)創(chuàng)建應(yīng)用程序、訪問數(shù)據(jù)庫,使其無論在感覺、動作以及 用途上都與 Windows 應(yīng)用程序非常類似。現(xiàn)在商家們所需要的不僅只是一個(gè)單 純的宣傳媒體,而是一個(gè)交互性很強(qiáng)的應(yīng)用平臺。利

9、用它,商家們可以與潛在 的客戶、目前的客戶、員工以及我們之間的任何一個(gè)人溝通,并實(shí)施一些在線 的服務(wù)的商業(yè)活動(例如:網(wǎng)上購物、網(wǎng)上訂單) 。 為了占領(lǐng) Internet 這塊誘人的市場,各個(gè)公司和廠家都拿出自己的解決方 案。IBM 推出了 Visual Age for Java 和 Net. Data.前者是一個(gè)集成開發(fā)環(huán)境,用 于調(diào)試 Java 小程序、JavaBeans 或應(yīng)用程序;而后者是專門為非編程人員設(shè)計(jì), 它可以按用戶的要求生成動態(tài) Web 頁面,他們都可以用開發(fā)工具 PowerBuilder6.0 的版本中加入 Web 特性,使用戶可以在瀏覽其中直接訪問 “Data Windo

10、w”等其著名的控件,并且可以使用它開發(fā) Web 應(yīng)用。所有的商 家都想在這里占領(lǐng)一席之地。 1.3網(wǎng)上書店系統(tǒng)開發(fā)工具簡介 網(wǎng)上書店系統(tǒng)中,管理員功能系統(tǒng)是整個(gè)網(wǎng)上書店系統(tǒng)的管理中心,其主 要作用就是,管理圖書買入和賣出,管理會員基本信息,推薦圖書等,完成整 個(gè)系統(tǒng)后臺的操作。 會員功能系統(tǒng)是整個(gè)網(wǎng)上書店系統(tǒng)的使用中心,其主要作用就是,圖書分 類瀏覽、推薦圖書展臺、圖書消息信息展臺、銷售排行榜、圖書查詢、訂單查 詢、圖書購物車等,在很大程度上方便了用戶使用和購買。開發(fā)人員在經(jīng)過實(shí) 際的市場調(diào)研和分析后,結(jié)合當(dāng)今網(wǎng)上流行的銷售系統(tǒng),特此開發(fā)此網(wǎng)上書店 系統(tǒng)。 開發(fā)工具的選擇對于一個(gè)系統(tǒng)來說也是很

11、重要的一個(gè)部分。本系統(tǒng)前臺采 用了 Dream weave、FrontPage 和 Photoshop,利用 Dream weave 和 FrontPage 各 自的便利性開發(fā)前臺網(wǎng)頁,利用 Photoshop 處理圖片增加整個(gè)網(wǎng)站的美觀性。 系統(tǒng)后臺采用了 Access,通過 Access 來建立數(shù)據(jù)庫,并且為了加快數(shù)據(jù)查詢, 在 Access 中建立了系統(tǒng)所需要的查詢這樣在很大程度上提高了網(wǎng)絡(luò)系統(tǒng)的快速 查詢和列表。 1.3.1ASP 程序設(shè)計(jì)語言特點(diǎn)介紹 ASP(Active Server Page)實(shí)際上是標(biāo)準(zhǔn)的 HTML 文件拓展了一些附加特征, ASP 標(biāo)準(zhǔn)的 HTML 文件一樣包

12、含 HTML 對象并且在一個(gè)瀏覽器上解釋并顯示。 ASP 本身就是來源于相當(dāng)數(shù)量的標(biāo)準(zhǔn)服務(wù)器端的 ActiveX 元素,這些組建用于 完成諸如根據(jù)瀏覽器能力進(jìn)行不同顯示以及在瀏覽器內(nèi)包含計(jì)數(shù)器或其他統(tǒng)計(jì) 項(xiàng)的工作。ASP 可以和諸如 SQL Sever、Microsoft Access 這樣的數(shù)據(jù)進(jìn)行掛接。 利用一些特別的對象集合,Active Data Object(ADO),就可以在 ASP 中使用 SQL 語言。 VBScript 是 ASP 的主要腳本語言,也是本系統(tǒng)所采用的主要腳本語言。獨(dú) 有的特色如下: 使用 VBScript,JavaScript 等簡單易學(xué)的腳本語言結(jié)合 HTM

13、L 代碼,即可 快速的完成網(wǎng)站的應(yīng)用程序。無須編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。 ASP 能與任何 ActiveX 語言相容,除了可使用 VBScript,JavaScript 等語言 設(shè)計(jì)外,通過 plug-in 的方式,還可以使用第三方所提供的其他腳本語言。 ASP 的源程序不會被傳到客戶瀏覽器,從而避免了縮寫的源程序被他人剽 竊,提高了程序的安全性。 具有無限可擴(kuò)充性,可以使用 Visual Basic, Java, Visual C+和 COBOL 等 編程語言來編寫所需要的服務(wù)器控件。 微軟公司開發(fā)的 ASP 的過人之處是,它的運(yùn)行速度比 CGI 快,而且它為使 用 HTML,腳

14、本和 ActiveX 服務(wù)器組件構(gòu)件 Web 應(yīng)用程序提供了一個(gè)框架??梢?通過將腳本嵌入 HTML 頁來創(chuàng)建 ASP 文檔。當(dāng)用戶請求得到一個(gè) ASP 時(shí),服 務(wù)器便執(zhí)行嵌入在頁內(nèi)的腳本,而且將腳本的輸出作為 HTML 的組成部分也包 括在內(nèi),從而任何瀏覽器都可以瀏覽這個(gè)頁。ASP 能夠?qū)崿F(xiàn) CGI 的所有功能, 并且 ASP 比 CGI 有更快的執(zhí)行速度。ASP 能通過 DLL 組件,將它的功能無限 擴(kuò)展,這是目前任何一種其他網(wǎng)絡(luò)語言所無法擁有的。 1.3.2Access 數(shù)據(jù)庫及其特點(diǎn)簡介 在 Access 數(shù)據(jù)庫中,任何有一個(gè)有名稱的事物都可以成為一個(gè)對象。通常, 一個(gè) Access

15、數(shù)據(jù)庫包括表、查詢、窗體、報(bào)表、宏、模塊和幾種對象以供用戶 收集、儲存和操作不同的信息。每一個(gè)對象都不是對立的,而只是作為 Access 數(shù)據(jù)庫的一部分存在,數(shù)據(jù)庫則是這些對象的集合。下面對數(shù)據(jù)庫操作的一些 概念進(jìn)行介紹。 1、表 表是數(shù)據(jù)庫中儲存數(shù)據(jù)的最基本的對象,常稱為“基表” ,是構(gòu)成數(shù)據(jù)庫的 一個(gè)重要組成部分。Access 中的表示二維表,每個(gè)表都有鍵(關(guān)鍵字可以為一 個(gè)字段或多個(gè)字段) 。以使表中的紀(jì)錄唯一(記錄不能重復(fù),它與實(shí)體一一對應(yīng)) 。在 Access 2002 中,一個(gè)標(biāo)有設(shè)計(jì)視圖和數(shù)據(jù)表視圖兩種視圖方式。 2、查詢 查詢是 Access 數(shù)據(jù)庫的主要組件之一,而查詢功能也

16、是 Access 數(shù)據(jù)庫軟 件中最強(qiáng)的一項(xiàng)功能。Access 用戶可利用查詢工具,通過指定特殊字段、定義 字段的順序、建立計(jì)算表達(dá)式并輸入條件以及定義每個(gè)字段的篩選條件等來選 擇想要得查詢的紀(jì)錄,對存儲在 Access 表中的有關(guān)信息進(jìn)行提問。還可以使用 查詢作為窗體、報(bào)表和記錄源。 3、窗體 窗體是 Access 中用戶和應(yīng)用程序之間的主要界面,用戶對數(shù)據(jù)庫的如何操 作都可以通過窗體來完成。通過創(chuàng)建數(shù)據(jù)輸入窗體可以向表中輸入數(shù)據(jù):創(chuàng)建 切換面板,用來打開其他窗體或報(bào)表;創(chuàng)建自定義對話框,控制數(shù)據(jù)的輸出、 現(xiàn)實(shí)或執(zhí)行某項(xiàng)操作,窗體中大部分信息來自基表或查詢。 4、報(bào)表 報(bào)表是以打印的表格表現(xiàn)用

17、戶數(shù)據(jù)的一種有效的方式。在 Access 中,有關(guān) 報(bào)表的打印工作都是通過報(bào)表對象實(shí)現(xiàn)的,他負(fù)責(zé)報(bào)表的設(shè)計(jì),實(shí)現(xiàn)報(bào)表的打 印。用戶可以在報(bào)表設(shè)計(jì)視圖窗口中控制每個(gè)對象的大小和現(xiàn)實(shí)方式,對報(bào)表 對象的各項(xiàng)內(nèi)容進(jìn)行設(shè)計(jì)和修改,按照用戶所需的方式完成打印工作。 1.3.3Dreamweaver 開發(fā)工具及其特點(diǎn)介紹 Dreamweaver 是建立 Web 站點(diǎn)和應(yīng)用程序的專業(yè)工具。它將可視布局工具、 應(yīng)用程序開發(fā)功能和代碼編輯支持組合為一個(gè)功能強(qiáng)大的工具,使每個(gè)級別的 開發(fā)人員和設(shè)計(jì)人員都可利用它快速創(chuàng)建界面吸引人并且基于標(biāo)準(zhǔn)的站點(diǎn)和應(yīng) 用程序。 從對基于 CSS 的設(shè)計(jì)提供領(lǐng)先的支持到手動編碼功能

18、,Dreamweaver 在一個(gè)集成和高效的環(huán)境中為專業(yè)人員提供了所需的工具。開發(fā)人員可以將其 選擇的服務(wù)器技術(shù)與 Dreamweaver 配合使用,建立將用戶連接到數(shù)據(jù)庫、Web 服務(wù)和舊式系統(tǒng)的強(qiáng)大 Internet 應(yīng)用程序。Dreamweaver 允許開發(fā)人員設(shè)計(jì) Web 站點(diǎn)和為 Internet 應(yīng)用程序編寫代碼。Dreamweaver MX 組合了著名的可視 排版工具 Dreamweaver、快速 Web 應(yīng)用程序開發(fā)工具 Dreamweaver UltraDev 的 功能和 Home Site 的擴(kuò)展代碼編輯支持,形成了一個(gè)簡單易用且功能強(qiáng)大的開 發(fā)環(huán)境。Dreamweaver

19、 MX 為當(dāng)前的 Web 技術(shù)和標(biāo)準(zhǔn)提供完備而開放的解決方案, 包括輔助功能和 Web 服務(wù)。其主要特點(diǎn)是: 1、方便的網(wǎng)站管理; 2、無可比擬的控制能力; 3、夢幻樣版和 XML; 4、網(wǎng)站全方位的呈現(xiàn); 5、便捷安全的數(shù)。 第 2 章需求分析與總體設(shè)計(jì) 2.1 需求分析的基本任務(wù) 需求分析的基本任務(wù)是準(zhǔn)確回答“系統(tǒng)必須做什么?”這個(gè)問題,也就是 確定為了滿足用戶的需要系統(tǒng)必須做什么。具體地說,應(yīng)該確定系統(tǒng)必須具有 的功能和性能,系統(tǒng)要求的運(yùn)行環(huán)境,并且預(yù)測系統(tǒng)發(fā)展的前景。需求分析階 段必須仔細(xì)分析系統(tǒng)的業(yè)務(wù)流程,對業(yè)務(wù)流程進(jìn)行抽象,得到系統(tǒng)的數(shù)據(jù)流分 析。數(shù)據(jù)流圖是從數(shù)據(jù)流動和加工的角度描

20、述了系統(tǒng)要處理的數(shù)據(jù)和對數(shù)據(jù)的 處理,所以數(shù)據(jù)流圖代表了系統(tǒng)的邏輯模型。數(shù)據(jù)流圖只是抽象地描述了系統(tǒng) 的概貌,還要用其它工具進(jìn)行更詳細(xì)的描述。數(shù)據(jù)字典、IPO 圖和 ER 圖是詳細(xì) 描述系統(tǒng)中的數(shù)據(jù)元素、數(shù)據(jù)流、數(shù)據(jù)存儲、處理和數(shù)據(jù)概念模型的好工具。 通過業(yè)務(wù)流程圖、數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO 圖、ER 圖等圖形工具,可以準(zhǔn)確、 規(guī)范地描述系統(tǒng)的需求。 2.2網(wǎng)上書店系統(tǒng)需求分析 在網(wǎng)上書店系統(tǒng)中主要涉及到書庫、會員、管理員、訂單等幾個(gè)模塊,其 中,書庫模塊的任務(wù)主要是列出所有庫存的各種屬性,按照銷售量和投票情況 排序,按照書名模糊查詢,以及用戶選定圖書后給出詳細(xì)屬性。 當(dāng)然我們不能憑空想象一

21、個(gè)系統(tǒng),而是通過考察現(xiàn)有的系統(tǒng),再提出方案 來。現(xiàn)有的系統(tǒng)是信息的重要來源。顯然如果目前有一個(gè)系統(tǒng)正在被人使用, 那么這個(gè)系統(tǒng)必定能完成某些有用的工作,因此新的目標(biāo)系統(tǒng)也必能完成它的 基本功能;另一方面,如果現(xiàn)有系統(tǒng)是完美無缺的,用戶自然不會提出開發(fā)新 系統(tǒng)的要求。但現(xiàn)在圖書銷售主要是通過人手工來完成的,這樣不僅降低了工 作效率,存在大量的重復(fù)勞動,而且容易出現(xiàn)人為的錯(cuò)誤,這樣的管理明顯不 能與高效率、快節(jié)奏的生產(chǎn)模式相適應(yīng),所以開發(fā)此系統(tǒng)是非常可行的想法。 網(wǎng)上書店系統(tǒng)主要是進(jìn)行圖書銷售的計(jì)算機(jī)軟件,從目前的圖書銷售流程 中,我們可以發(fā)現(xiàn)一些比較明顯的流程作業(yè)和管理需求。同時(shí)也為我們的系統(tǒng)

22、分析提供了較好的依據(jù)。圖書的查找和快捷的付費(fèi)是網(wǎng)上書店系統(tǒng)的主要部分, 這兩個(gè)管理部分的完成是整個(gè)系統(tǒng)業(yè)務(wù)完成的基礎(chǔ)。其他的各項(xiàng)服務(wù)都是在此 基礎(chǔ)上完成的。 2.2.1系統(tǒng)業(yè)務(wù)流程分析 業(yè)務(wù)流程圖是一種比較規(guī)范、被廣泛使用分析工具,它可以比較直觀、準(zhǔn) 確描述系統(tǒng)業(yè)務(wù)流程。業(yè)務(wù)流程圖不是對系統(tǒng)原有業(yè)務(wù)流程的快照,應(yīng)該是對 原有系統(tǒng)的業(yè)務(wù)流程進(jìn)行重新思考、設(shè)計(jì)、再造的結(jié)果。根據(jù)上面需求分析中 得到的資料和工作流程的分析,可以繪制出表示系統(tǒng)管理工作的整個(gè)業(yè)務(wù)過程 的業(yè)務(wù)流程圖,能更清晰的認(rèn)識所要開發(fā)的系統(tǒng)的工作流程。下面給出本系統(tǒng) 的相關(guān)業(yè)務(wù)流程圖。 1、圖書銷售流程 圖書銷售流程如圖 2.1 所示

23、: 圖 2.1圖書銷售流程圖 圖書銷售流程是根據(jù)實(shí)際生活中,用戶通過網(wǎng)絡(luò)購書的過程所進(jìn)行的一個(gè) 描述。當(dāng)用戶打開網(wǎng)頁后,必須通過主頁面提供的會員登錄鏈接,進(jìn)入會員登 錄頁面;然后用戶通過登錄系統(tǒng),以系統(tǒng)會員的身份才能購買圖書,如果用戶 未登錄系統(tǒng),只能瀏覽圖書和查詢圖書,而不能購買圖書。當(dāng)用戶選定自己喜 歡的圖書后,可以通過系統(tǒng)提供的功能把圖書放入購物車,接著去購買圖書, 當(dāng)用戶購買完所有的圖書后,通過系統(tǒng)提供的鏈接到收銀臺結(jié)賬,這時(shí)系統(tǒng)將 會自動判斷用戶在系統(tǒng)中所存的金額,如果金額不足,則系統(tǒng)頁面自動返回到 用戶面板并提示用戶系統(tǒng)金額不足,不能購買圖書等信息,如果金額充足則用 戶購買成功整個(gè)

24、購買流程結(jié)束。 2、用戶注冊流程 用戶注冊流程如圖 2.2 所示: 圖 2.2用戶注冊流程圖 用戶為了購買圖書,必須成為系統(tǒng)會員。整個(gè)注冊流程如圖 2-2 所示,用 戶可以通過主頁面提供的鏈接,進(jìn)入到會員注冊頁,當(dāng)用戶填入自己的信息并 提交后,系統(tǒng)將對用戶所注冊用戶名進(jìn)行檢查,如果發(fā)現(xiàn)重復(fù),系統(tǒng)頁面將自 動清除相應(yīng)信息并提示用戶名被注冊過了;為了防止用戶輸入密碼時(shí)可能出現(xiàn) 的錯(cuò)誤,系統(tǒng)將檢查用戶兩次輸入的密碼信息,如果發(fā)現(xiàn)信息不符,也將提示 用戶錯(cuò)誤并讓用戶重新注冊;為了購買活動的合法和安全,系統(tǒng)會提示用戶輸 入家庭住址、固定電話和真實(shí)姓名等關(guān)鍵信息,如果用戶不填寫,系統(tǒng)會提醒 用戶錯(cuò)誤,并再

25、次清除信息,當(dāng)所有信息完整的填寫完畢后,經(jīng)過系統(tǒng)檢查正 確,這時(shí)系統(tǒng)會把用戶的信息添加到數(shù)據(jù)庫中。 2.2.2數(shù)據(jù)流程分析 業(yè)務(wù)流程分析描述的是用戶業(yè)務(wù)處理過程。為了更進(jìn)一步了解用戶對待開 發(fā)的軟件系統(tǒng)的功能要求,通常從數(shù)據(jù)流動和處理的角度對業(yè)務(wù)流程進(jìn)行抽象, 得到系統(tǒng)的數(shù)據(jù)流圖。數(shù)據(jù)流圖是結(jié)構(gòu)化系統(tǒng)分析的主要工具,它能圖形化的 顯示出系統(tǒng)中數(shù)據(jù)的使用,表達(dá)數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向以及系統(tǒng)的邏輯功 能和數(shù)據(jù)的邏輯變換。 如圖 2.3 就是根據(jù)前面所得到的業(yè)務(wù)流程圖和收集的資料,以及對網(wǎng)上書 店系統(tǒng)的整個(gè)流程進(jìn)行分析設(shè)計(jì)后,所得出的圖書銷售系統(tǒng)數(shù)據(jù)流圖。 圖 2.3圖書銷售數(shù)據(jù)流圖 2.2.3數(shù)

26、據(jù)字典 數(shù)據(jù)流圖是結(jié)構(gòu)化分析中不可缺少的有力工具,它描述了系統(tǒng)的分解,即 系統(tǒng)由哪些部分組成,各部分之間有什么聯(lián)系等。但是,他還不能完整地表達(dá) 一個(gè)系統(tǒng)的全部邏輯特征,特別是有關(guān)數(shù)據(jù)的詳細(xì)內(nèi)容。因此,僅僅一套數(shù)據(jù) 流圖并不能構(gòu)成系統(tǒng)說明書,只有對圖中出現(xiàn)的每一個(gè)成分都給出詳細(xì)定義以 之后,才能全面地描述一個(gè)系統(tǒng)。 數(shù)據(jù)流圖中所有名字的定義及描述就構(gòu)成了一本字典,它包括數(shù)據(jù)流、數(shù) 據(jù)存儲、外部項(xiàng)目和處理過程的詳細(xì)條目。數(shù)據(jù)流、數(shù)據(jù)存儲等數(shù)據(jù)型條目構(gòu) 成數(shù)據(jù)字典,而數(shù)據(jù)流圖的有關(guān)“處理”用 IPO 進(jìn)行描述。IPO 圖通常也作為 數(shù)據(jù)字典的一部分,只是與數(shù)據(jù)描述的方式不同而已。 數(shù)據(jù)字典把數(shù)據(jù)流圖

27、上所有數(shù)據(jù)都加以定義,并按特定格式予以紀(jì)錄,以 備隨時(shí)查詢和修改。因此,數(shù)據(jù)字典是數(shù)據(jù)流圖的輔助資料,對數(shù)據(jù)流圖起注 解作用。數(shù)據(jù)流圖、數(shù)據(jù)字典、IPO 圖表構(gòu)成了對系統(tǒng)需求的完整描述。 數(shù)據(jù)字典中把數(shù)據(jù)的最小單位定義為數(shù)據(jù)項(xiàng),而若干數(shù)據(jù)項(xiàng)可以組成一個(gè) 數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典是通過以數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存 儲的邏輯內(nèi)容。 用戶 展臺書目,查詢結(jié)果 購物車 書庫 會員資料 購書單 消費(fèi)情況 1、數(shù)據(jù)項(xiàng) 根據(jù)圖書銷售數(shù)據(jù)流所用到的數(shù)據(jù)項(xiàng),系統(tǒng)在數(shù)據(jù)庫中分別建立了圖書信 息表,用戶信息表,管理員信息表,購物車表以及用戶的購買情況表。由于購 買圖書是整個(gè)圖書銷售流中最重要的業(yè)務(wù)過程,所

28、以這里列出了圖書信息表中 的數(shù)據(jù)項(xiàng),并對每個(gè)數(shù)據(jù)項(xiàng)做了詳細(xì)的說明。 (1) 圖書名稱 簡述:無 數(shù)據(jù)類型:字符型。 長度:30 個(gè)字符長度。 (2) 圖書分類 簡述:圖書的分類,如:小說。 數(shù)據(jù)類型:字符型。 長度:10 個(gè)字符長度。 (3) 圖書的編號 簡述:每部圖書的唯一編號,如:。 值域:自動生成。 數(shù)據(jù)類型:字符型。 長度:10 個(gè)字符長度。 (4) 數(shù)量 簡述:每部書的剩余庫存,如:1500。 數(shù)據(jù)類型:字符型。 長度:10 個(gè)字符長度。 (5) 單價(jià) 簡述:圖書的價(jià)格,如:155 元。 數(shù)據(jù)類型:字符型。 長度:10 個(gè)字符長度。 (6) 折扣 簡述:購買圖書優(yōu)惠的程度,如:3.5

29、。 數(shù)據(jù)類型:字符型。 長度:10 個(gè)字符長度。 (7) 作者 簡述:圖書的作者,如:錢鐘書。 數(shù)據(jù)類型:字符。 長度:10 個(gè)字符。 (8) 出版時(shí)間(退料時(shí)間、統(tǒng)計(jì)時(shí)間) 簡述:圖書出版的時(shí)間。 數(shù)據(jù)類型:時(shí)間數(shù)據(jù)型。 長度:7 個(gè)字符長度。 (9) 圖書銷量 簡述:圖書已經(jīng)銷售的數(shù)量。 數(shù)據(jù)類型:數(shù)字。 長度:10 位。 (10)供應(yīng)商 簡述:出版廠商,如:人民郵電出版社。 數(shù)據(jù)類型:字符型。 長度:10 個(gè)字符長度。 (11)購書時(shí)間 簡述:用戶購買的時(shí)間 類型:時(shí)間日期 長度:7 個(gè)字符長度。 2、數(shù)據(jù)流(數(shù)據(jù)流的來源、去向、組成、流通量、高峰時(shí)的流通量) (1)購書列表 簡述:用戶

30、購書時(shí)在購物車中顯示的書目列表 數(shù)據(jù)流來源:book 庫 數(shù)據(jù)組成:圖書名稱+圖書分類+作者+單價(jià)+折扣 數(shù)據(jù)流去向:收銀臺賬單 流通量:不定量 (2)收銀臺賬單 簡述:確定要購買的書目列表。 數(shù)據(jù)流來源:購物車庫 數(shù)據(jù)組成:圖書名稱+單價(jià)+折扣 數(shù)據(jù)流去向:用戶消費(fèi)記錄 流通量:不定量 (3)用戶消費(fèi)記錄 簡述:每個(gè)用戶消費(fèi)的記錄 數(shù)據(jù)流來源:收銀臺賬單 數(shù)據(jù)組成:圖書名稱+單價(jià)+折扣+作者+購書日期 數(shù)據(jù)流去向:結(jié)束 流通量:不定量 3、處理過程 處理過程在數(shù)據(jù)流圖中的名稱、編號,對處理過程的簡單描述,該處理過 程的輸入數(shù)據(jù)流、輸出數(shù)據(jù)流,及其來源與去向,其主要功能的簡單描述: (1) 書

31、庫的錄入 簡述:每部書的各種情況輸入 book 庫 輸入:除了 ID 號之外所有的數(shù)據(jù)項(xiàng) 處理:按格式錄入到 book 庫中 輸出:書目存儲 (2) 購書列表的錄入 簡述:選定書目的加入購書列表 輸入:圖書名稱、圖書分類、作者、單價(jià)、折扣 處理:按格式錄入到購物車表格中 輸出:購物車存儲 (3) 收銀臺賬單的錄入 簡述:將最終選定的書目錄如收銀臺庫 輸入:圖書名稱、單價(jià)、折扣等 處理:按格式錄入到收銀臺表單中 輸出:收銀臺存儲 (4) 消費(fèi)記錄的錄入 簡述:在收銀臺確認(rèn)購買成功以后錄入消費(fèi)記錄存儲。 輸入:圖書名稱、單價(jià)、折扣、作者、購書日期等。 處理:按格式輸入購書情況表單。 輸出:購書情況

32、存儲。 2.3系統(tǒng)總體設(shè)計(jì) 經(jīng)過需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定 “怎樣做”的時(shí)候了??傮w設(shè)計(jì)的基本目的就是回答“概括地說,系統(tǒng)應(yīng)該如 何實(shí)現(xiàn)?”這個(gè)問題,用比較抽象的概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù), 也就是說,應(yīng)該確定系統(tǒng)的物理配置方案,并確定系統(tǒng)的每個(gè)程序的結(jié)構(gòu)。首 先需要進(jìn)行系統(tǒng)設(shè)計(jì),從數(shù)據(jù)流圖出發(fā)設(shè)想完成系統(tǒng)功能的若干種合理的方案, 分析員應(yīng)該仔細(xì)分析比較這些方案,并且和用戶共同選定一個(gè)最佳方案。然后 進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì),確定軟件有哪些模塊組成以及這些模塊之間的動態(tài)調(diào)用關(guān) 系。層次圖和結(jié)構(gòu)圖是描繪軟件結(jié)構(gòu)的常用工具。 在系統(tǒng)的設(shè)計(jì)中,要注意分清計(jì)算機(jī)處理

33、和手工處理的界限。信息系統(tǒng)是 人機(jī)系統(tǒng),系統(tǒng)目標(biāo)的實(shí)現(xiàn)取決于這兩者的得結(jié)合,系統(tǒng)設(shè)計(jì)中要避免一味地 追求計(jì)算機(jī)處理,見許多只能由人工完成的工作交由計(jì)算機(jī)做,從而造成設(shè)計(jì) 的復(fù)雜和不夠科學(xué);也要避免本該由計(jì)算機(jī)完成的工作交由人去處理,從而使 新系統(tǒng)的功能、性能以及用戶的目標(biāo)得不到實(shí)現(xiàn)。 2.4網(wǎng)上書店系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì) 一般采用模塊化原理來進(jìn)行軟件結(jié)構(gòu)的設(shè)計(jì),這樣可以使整個(gè)系統(tǒng)設(shè)計(jì)簡 易,結(jié)構(gòu)清晰,可讀性、可維護(hù)行增強(qiáng),提高系統(tǒng)的可靠性,同時(shí),也有利于 信息系統(tǒng)開發(fā)工作的組織管理。所謂的模塊是指這樣的一組程序語句(或描述) , 它包括輸入與輸出、邏輯功能描述、內(nèi)部環(huán)境及其運(yùn)行環(huán)境。通常程序中的一

34、 個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ?。?yīng)該把模塊組織成良好的層次系統(tǒng),頂層模塊 調(diào)用它的下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊, 從而完成程序的每個(gè)子功能,最下層的模塊完成最具體的功能。在進(jìn)行軟件結(jié) 構(gòu)設(shè)計(jì)時(shí)應(yīng)該遵循的主要原理是模塊獨(dú)立原理,也就是說,軟件應(yīng)該由一組完 成相對獨(dú)立的子功能的模塊組成,這些模塊彼此之間的接口關(guān)系應(yīng)該盡量簡單。 設(shè)計(jì)軟件結(jié)構(gòu)的過程中要注重軟件設(shè)計(jì)的原理和方法: 1、模塊獨(dú)立 模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦 合,內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度;耦合衡量不同模塊 彼此間互相依賴(連接)的緊密程度。我們要力爭

35、做到高內(nèi)聚、低耦合 。 2、信息隱蔽和局部化 使得一個(gè)模塊內(nèi)包括的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說, 是不能訪問的。 模塊間的關(guān)系如圖 2.4 所示: 模塊 1模塊 2 模塊 3模塊 4 模塊 5 接口 接口 圖 2.4模塊關(guān)系圖 模塊間通過接口來訪問,模塊間可以不互相訪問,也可以有在很多方面相 互訪問。 網(wǎng)上書店系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖 2.5 所示。 圖 2.5網(wǎng)上書店系統(tǒng)結(jié)構(gòu)圖 2.5系統(tǒng)開發(fā)工具 用戶進(jìn)入 查看商品 以會員身份登錄 購買商品請先登錄,若未注冊請注冊成為會員 會 員 注 冊 商品查詢 訂單查詢 以管理員身份登錄 商品添加 商品審查 處理訂單 發(fā)貨查詢 會員審查 管

36、理員添加 管理員審查 管理員退出 購買商品 開發(fā)環(huán)境:Windows XP Professional IIS 5.0(Internet Information Server 5.0) Internet Explorer 6.0 腳本語言:JavaScript、VBScript 數(shù)據(jù)庫工具:Microsoft Access 2000 網(wǎng)頁設(shè)計(jì):Macromedia Dream weaver MX 第 3 章系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫的建立 3.1系統(tǒng)數(shù)據(jù)源的設(shè)置 使用 ADO 去編寫緊湊簡明的腳本以便連接到 ODBC 兼容的數(shù)據(jù)庫和 OLE DB 兼容的數(shù)據(jù)源。具體的操作步驟可以歸納為以下幾步: 1、創(chuàng)建數(shù)

37、據(jù)庫源名(DSN) ADODB 通過 ODBC 工作,因此要在 ODBC 中設(shè)置 DSN(數(shù)據(jù)源名) 。打 開 Windows 的控制面板,雙擊ODBC的圖標(biāo),然后選擇文件 DSN 的屬性 頁,單擊,選擇數(shù)據(jù)庫驅(qū)動程序,然后單擊下一步,按照屏幕的指示 鍵入數(shù)據(jù)源文件的名稱,然后單擊“下一步,再單擊完成創(chuàng)建數(shù)據(jù)源。 2、創(chuàng)建數(shù)據(jù)庫鏈接 鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的動態(tài)信息,以及鏈接者信息。利 用 ADODB 的成員函數(shù) Open 和先前設(shè)定的 DSN 與數(shù)據(jù)庫連接,其語法如下: SetConnect=Server.CreateObject(ADODB.Connection)/創(chuàng)建了鏈接對

38、象 Connect。 Connect.Open(DSN=dsnname;UID=userID;PWD=password) /打 開鏈接。dsnname 為數(shù)據(jù)源名;userID 為用戶名;password 為用戶口令。 3、創(chuàng)建數(shù)據(jù)對象 ADO 中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。Record Set 是 ADO 中最復(fù)雜的對象,有許多屬性和方法,靈活運(yùn)用,可以達(dá)到許多好的 效果。其創(chuàng)建方法如下: Set Record Set =Connect. Execute(sqlStr) ,創(chuàng)建并打開了對象 Record Set,sqlStr 是一個(gè)串,代表一條標(biāo)準(zhǔn)的 SQL 語句。例如: SqlStr=

39、SELECT*FROM b1 Set Record Set =Connect. Execute(sqlStr) 這條語句 執(zhí)行后,對象 Record Set 中就保存了 b1 中的所有記錄。 4、操作數(shù)據(jù)庫,可利用 Execute 方便地執(zhí)行數(shù)據(jù)的插入、修改、刪除等操 作。 如執(zhí)行插入操作: SqlStr=Insert Into b1Values (1, 2) Connect. Execute (sqlStr) 5、關(guān)閉數(shù)據(jù)對象和鏈接 在使用了 ADO 對象之后,一定要關(guān)閉數(shù)據(jù)對象 和鏈接。在 ASP 中通過調(diào)用方法 close 實(shí)現(xiàn)關(guān)閉。 關(guān)閉創(chuàng)建的數(shù)據(jù)對象: Record Set .clo

40、se Set Record Set=Nothing 關(guān)閉創(chuàng)建的鏈接對象:Connect. Close Set Connect=Nothing 完整的程序片段: Set Connect=Server.CreateObject(ADODB.Connection)/產(chǎn)生組件實(shí)例 Connect.Open(DSN=dsnname;UID=userID;PWD=password)/連接數(shù)據(jù)庫 SQL=select*fromtablename SetRS=Connect.Execute(SQL)/執(zhí)行查詢 Do While Not RS.EOF/顯示結(jié)果 上述是用 ASP 訪問數(shù)據(jù)庫的全過程,由于應(yīng)用面向

41、對象思想,所有操作都 比較簡單,用戶需要注意的僅是對數(shù)據(jù)結(jié)構(gòu)的了解、當(dāng)前所操作的對象及對象 的屬性等等,只要對這些有了清晰的認(rèn)識,再加上 ASP 強(qiáng)大功能,在網(wǎng)絡(luò)上使 用數(shù)據(jù)庫,實(shí)現(xiàn)用戶與頁面間交換信息,就再也不是什么難事了。 3.2表、關(guān)系模型和數(shù)據(jù)庫的概述 一個(gè)數(shù)據(jù)庫的信息通常組織和存儲在表的形式中,各個(gè)表具有行和列。這 樣由行和列組成對象的項(xiàng)目稱為數(shù)據(jù)項(xiàng)(又稱為字段) ,所有數(shù)據(jù)項(xiàng)組成一個(gè)記 錄,若干個(gè)同類記錄構(gòu)成表文件。若干個(gè)同類記錄構(gòu)成表文件。若干個(gè)表以及 它們的關(guān)系等用來管理數(shù)據(jù),也叫做數(shù)據(jù)庫文件。 數(shù)據(jù)庫加上相應(yīng)的操作和管理數(shù)據(jù)庫的軟件,即為一個(gè)數(shù)據(jù)庫管理系統(tǒng) (dbms) ,它

42、能合理地組織和存儲大量數(shù)據(jù),并支持對于數(shù)據(jù)庫表中數(shù)據(jù)的各 種操作,如:更新、排序、索引、查詢、列表、打印等。數(shù)據(jù)庫系統(tǒng)是實(shí)現(xiàn)有 組織地、動態(tài)地存儲大量的相關(guān)數(shù)據(jù),方便用戶訪問的計(jì)算機(jī)軟件、硬件資源 組成的系統(tǒng),它由數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫以及支撐數(shù)據(jù)庫管理系統(tǒng)的軟、硬 件構(gòu)成。 數(shù)據(jù)庫離不開數(shù)據(jù)模型。數(shù)據(jù)模型是對現(xiàn)實(shí)世界客觀事物及其聯(lián)系的描述, 它反映數(shù)據(jù)項(xiàng)之間和記錄之間的聯(lián)系,在數(shù)據(jù)庫技術(shù)中使用模型的概念描述數(shù) 據(jù)庫的結(jié)構(gòu)與語義。常用的三種數(shù)據(jù)模型:層次模型、網(wǎng)狀模型和關(guān)系模型。 此外,還有面向?qū)ο竽P偷取?關(guān)系模型把數(shù)據(jù)之間的關(guān)系看成是一個(gè)二維表關(guān)系,因?yàn)槎S表關(guān)系建立 在集合代數(shù)關(guān)系理論基

43、礎(chǔ)上的,所以,把這種建立模型基礎(chǔ)上的數(shù)據(jù)庫稱為關(guān) 系數(shù)據(jù)庫。 數(shù)據(jù)庫與文件系統(tǒng)不同,其數(shù)據(jù)獨(dú)立于程序而存在,并可以提供給不同 的用戶共享使用,其基本思想是對所有的數(shù)據(jù)實(shí)行統(tǒng)一的、集中的、獨(dú)立于程 序的管理。關(guān)系數(shù)據(jù)庫管理系統(tǒng)很好地實(shí)現(xiàn)了這一基本思想。 3.3范式與建立表格的規(guī)范化 在關(guān)系模型中,一個(gè)數(shù)據(jù)庫模式是關(guān)系模式的集合。在建立書店數(shù)據(jù)庫時(shí), 要按照關(guān)系模式的集合作為數(shù)據(jù)庫模式,關(guān)系模式的優(yōu)劣,可以用模式的范式 (normal forms,簡記為NF)。 第一范式(1NF) 如果關(guān)系模式R的每個(gè)關(guān)系r的屬性值都是不可分的原子值,那么稱R是第 一范式(1NF)的模式,r是規(guī)范化關(guān)系。例如教師

44、模式 R(NAME,ADDRESS,PHONE),如果一個(gè)教師家中裝了兩部電話,那么關(guān)系 中至少要出現(xiàn)兩個(gè)元組,以便存儲兩個(gè)號碼。1NF的模式是關(guān)系數(shù)據(jù)庫最基本 的要求,遠(yuǎn)不是理想模式。 第二范式(2NF) FD函數(shù)依賴(functional dependency)定義:設(shè)有關(guān)系模式R(U),X和Y是屬性 集U的子集,F(xiàn)D是開為XY的一個(gè)命題,只要r是R的關(guān)系,對r中的任意兩個(gè) 元組都有“X值相等蘊(yùn)涵Y值相等” ,那么FD XY在關(guān)系模式中成立。 “XY”讀作“X函數(shù)決定Y”或“Y函數(shù)依賴于X” 。XY反映了屬性集X和 Y之間的聯(lián)系,對于每一個(gè)X值,只有唯一的Y值與之對應(yīng)。 我們把關(guān)系模式R的

45、屬性分為兩類:一類是鍵的屬性,稱為主屬性;另一 類是不屬于任何鍵的屬性,稱為非主屬性。我們把FD分成完全FD和局部FD兩 類。如果XY成立,對X的任何真子集x都有xY不成立,則稱XY是完全 FD,否則稱XY是局部FD。如果關(guān)系模式R是1NF,且每一個(gè)非主屬性完全函 數(shù)依賴于候選鍵,那么稱R是2NF模式。 第三范式(3NF): 如果XY和YA成立,并且有YX不成立,A不屬于Y,那么稱XA是 傳遞FD(A傳遞依賴于X)。如果關(guān)系模式R是1NF,且每一個(gè)非主屬性都不傳遞 依賴于候選鍵,那么稱R是3NF模式。在3NF模式中排除了非主屬性對于鍵的傳 遞依賴。 3NF的模式必定是2NF的模式。局部依賴和傳

46、遞依賴是產(chǎn)生冗余和異常的兩 個(gè)重要原因。由于3NF模式中不存在非主屬性對候選鍵的局部依賴和傳遞依賴, 因此消除了很大一部分存儲異常,具有較好的性能。而對于非3NF的1NF、2NF 甚至非1NF的關(guān)系模式,由于它們性能上的弱點(diǎn),一般不宜作為數(shù)據(jù)庫模式, 通常需要將它們變換成3NF或更高級的范式(即關(guān)系的規(guī)范化處理)。 BC范式(Boyce-Codd NF,簡稱BCNF): 如果關(guān)系模式R是1NF,且每個(gè)屬性都不傳遞依賴于的R的候選鍵,那么稱 R是BCNF模式。此時(shí)排除了任何屬性對于鍵的傳遞依賴。 在設(shè)計(jì)數(shù)據(jù)庫關(guān)系模式時(shí),應(yīng)作權(quán)衡,盡可能使數(shù)據(jù)庫模式保持最優(yōu)的特 性,一般盡可能設(shè)計(jì)成BCNF模式集

47、,如果設(shè)計(jì)成BCNF模式集的同時(shí)達(dá)不到保 持FD的目標(biāo),那只能降低要求,設(shè)計(jì)成3NF模式集,而同時(shí)又達(dá)到無損害聯(lián)接 和保持FD的目標(biāo)。抓住以上規(guī)則后,就能使用Microsoft Access設(shè)計(jì)出性能良好 的數(shù)據(jù)庫了。 3.4系統(tǒng)數(shù)據(jù)庫的詳細(xì)建立 建立數(shù)據(jù)庫表(SuperMarket_Data.mdb) 3.4.1用戶信息數(shù)據(jù)表(RegUser) 本表主要是將用戶的相關(guān)信息錄入表中.用戶在注冊時(shí)要填寫相關(guān)的個(gè)人信 息如:用戶名,密碼,密碼提示,聯(lián)系地址,郵編等等相關(guān)信息。用戶名用的是文本類 為關(guān)鍵字,如表 3.1 所示。 表 3.1用戶信息數(shù)據(jù)表 字段名數(shù)據(jù)類型字段大小字段說明 UserID文

48、本20會員帳號 Name文本30會員姓名 PassWD文本30用戶密碼 WtPass文本30密碼提示問題 DaPass文本30密碼提示答案 Sex文本10性別 Email文本30電子信箱 Phone文本30聯(lián)系電話 Address文本50聯(lián)系地址 Zip文本20郵編 RegTime日期時(shí)間默認(rèn)值 Now()注冊時(shí)間 3.4.2管理員信息表(Manage_User) 管理員信息表,記錄管理的用戶名與密碼,兩個(gè)均為文本型,字段為長整 形,如表 3.2 所示。 表 3.2管理員信息表 字段名數(shù)據(jù)類型字段大小字段說明 Id自動編號長整型管理員編號 UserName文本20管理員帳號 PassWord文

49、本20管理員密碼 3.4.3商品大類表(Class_1) 本表是商品分類的大類表。管理員在給商品進(jìn)行分類時(shí),可根據(jù)商品的實(shí) 際書類分類。例如,計(jì)算機(jī)類書籍,繪畫類書籍,理財(cái)類書籍等等。這樣有利 于圖書的管理。本表的主要是錄入商品分類的名稱與發(fā)布時(shí)間,分別為文本型 與時(shí)間類型,如表 3.3 所示。 表 3.3商品大類表 字段名數(shù)據(jù)類型字段大小字段說明 ID長整型自動大類編號 Class_1_Name文本30大類名稱 Class_1_RegTime日期時(shí)間默認(rèn)值 Now()添加時(shí)間 3.4.4商品小類表(Class_2) 這個(gè)表是對商品大類表之下的一個(gè)細(xì)分,將商品的分類進(jìn)一步的細(xì)化。例 如:計(jì)算機(jī)

50、類書籍細(xì)分為軟件編程類書籍、CAD 繪圖類書籍等等。這樣的分類, 能夠使用戶更加明確自己所要購買圖書,也便于管理員的管理,如表 3.4 所示。 表 3.4商品小類表 字段名數(shù)據(jù)類型字段大小字段說明 ID長整型自動小類編號 Class_2_Name文本30小類名稱 Class_1_Name文本30所屬大類名稱 Class_2_RegTim日期時(shí)間默認(rèn)值 Now()添加時(shí)間 3.4.5商品表(Product) 在前兩個(gè)表中進(jìn)行細(xì)化分類之后,最后就是要進(jìn)行商品的具體名稱,價(jià)格, 說明,圖片等等的錄入了。主要是記錄商品的具體詳細(xì)的說明,以便購買都知 道這本圖書的具體的情況,如表 3.5 所示。 表 3

51、.5商品表 字段名數(shù)據(jù)類型字段大小字段說明 Product_Id長整型10商品編號 Product_Name文本30商品名稱 Class_1文本30所屬大類 Class_2文本30所屬小類 Product_Intro文本50商品說明 Product_Show文本50商品簡介 P_NewPrice貨幣自動會員價(jià)格 P_OldPrice貨幣自動市場價(jià)格 P_Pic文本50商品微縮圖 P_Full_Pic文本50商品全景圖 RegTime日期時(shí)間默認(rèn)值 Now()商品錄入時(shí)間 Look_Count長整型自動商品瀏覽次數(shù) 3.4.6購物車表(Shop List) 購物車是用來存放顧客購買的商品。當(dāng)然在

52、網(wǎng)上購物的購物車也是用來存 放購買的商品,用戶可以查看購買商品的名稱,價(jià)格等等。最后形成表訂,如 表 3.6 所示。 表 3.6購物車表 字段名數(shù)據(jù)類型字段大小字段說明 Product_Id長整型10商品編號 Form_Id長整型自動所屬訂單號 Product_Name文本30商品名稱 Number文本255購物數(shù)量 P_NewPrice貨幣自動會員價(jià)格 RegTime日期時(shí)間默認(rèn)值 Now()購物時(shí)間 3.4.7訂單表(Order List) 訂單表,是對顧客提交的訂單的具體情況進(jìn)行記錄。有用戶名,購物時(shí)間, 聯(lián)系時(shí)間,商品名,價(jià)格,付款時(shí)間等等相關(guān)內(nèi)容的記錄,如表 3.7 所示。 表 3.

53、7訂單表 字段名數(shù)據(jù)類型字段大小字段說明 Form_ID長整型自動訂單號 User_ID文本20會員帳戶名 Name文本20會員姓名 Zip文本20郵編 Phone文本30聯(lián)系電話 Emai文本30電子信箱 Address文本50聯(lián)系地址 Pays文本20付款方式 RegTime日期時(shí)間默認(rèn)值 Now()訂貨時(shí)間 Flag文本20標(biāo)記 Remark文本255備注 說明:所建立的數(shù)據(jù)庫文件(SuperMarket_Data.mdb)保存在文件夾 market_database 下,為防止別人隨意篡改數(shù)據(jù)庫,故將其后綴名改為.asp 來調(diào) 用。 第 4 章系統(tǒng)功能模塊設(shè)計(jì) 4.1客戶端 4.1.1

54、購物車 在設(shè)計(jì)購物車中,首先要考慮到的是購物車中商品信息的存儲,而且在整 個(gè)的商品購買中沒有改變,這里就要用到 ASP 中的內(nèi)置 Session 組件,它是訪 問者從的到達(dá)某個(gè)特定主頁到離開為止的那段時(shí)間,服務(wù)器端給他分配一個(gè)用 來儲存信息的全局變量的集合,這些變量可以自動生成,也可以是程序人員在 服務(wù)器端腳本程序中定義的。 Session 可以用來存儲訪問者的特定信息,創(chuàng)建訪問者信息容器。我們使用 它作為虛擬購物車,無論什么時(shí)候用戶在我網(wǎng)站中選擇了一種商品,那么這種 商品就會進(jìn)入購物車,當(dāng)用戶準(zhǔn)備離開時(shí),就可以立即進(jìn)行以上所有選擇的商 品的訂購。這些購物信息可以保存在 Session 中。用

55、戶在 Web 應(yīng)用程序中訪問 同一頁面時(shí),Session 變量始終存在,當(dāng)用戶在應(yīng)用程序的頁之間跳轉(zhuǎn)時(shí),存儲 在 Session 對象中的變量也不會清除。 在建立購物車中,其實(shí)是對全局變量的操作。在這里我定義了一個(gè)全局變 量:Product List = Session(ProductList),將購物信息保存到此全局變量中。另 外還定義了一個(gè)全局變量 Products,通過函數(shù) Put ToShop Bag()將 Product List 的值賦給 Products,使用函數(shù) Split()將讀取到的字符串進(jìn)行分割,以得到購物信 息。購物車界面如下圖 4.1 所示: 圖 4.1購物車界面 在

56、我的購物車中可操作的事件為: 確認(rèn)更改:在數(shù)量項(xiàng)目文本框中可以更改數(shù)目,該事件是用以更新購物車 中的商品數(shù)量; 繼續(xù)購物:該事件是關(guān)閉窗口; 訂單取消:該事件清空購物車; 去收銀臺:該事件是用來關(guān)閉窗口并重新打開新的窗口。 除了購物車中的可視化操作外,還有就是商品購入事件(即在網(wǎng)上商店的 點(diǎn)擊購買的事件) ?,F(xiàn)在我們稱這些事件是用來觸發(fā)購物車中的工作模式,在每 次的觸發(fā)模式時(shí),都有一個(gè)傳遞的數(shù)值變量通過來判斷觸發(fā)的是哪個(gè)工作模塊。 下面詳細(xì)介紹購物車(check. asp)各工作模式的具體實(shí)現(xiàn): 1、Add 模式(購買添加) 用戶點(diǎn)擊他想購買的商品的“訂購”鏈接時(shí),通過調(diào)用函數(shù) Open Ba

57、g()來 打開頁面 check. asp,“訂購”鏈接把有關(guān)商品信息的資料字符傳到 check. asp, 見附錄。 在該觸發(fā)事件觸發(fā)時(shí),執(zhí)行 check. asp, 對購物車執(zhí)行了這次添加后,大部分其余的 ASP 代碼就不再執(zhí)行,因?yàn)樗鼞?yīng)用 于其他的工作模式,模式的選擇都是采用 IF 語句來實(shí)現(xiàn)的,而每次 check. asp 只會在一個(gè)模式下工作的。 2、Record 模式(更新數(shù)量) 該模式用于顧客項(xiàng)購買多件貨物時(shí),自動重新計(jì)算所需的貨物總價(jià)格。用 戶以用它馬上看到改過的數(shù)量后的結(jié)果,見附錄。 在輸入文本框中時(shí),該程序?qū)ζ漭斎氲闹颠M(jìn)行判斷,是否是數(shù)字的字符, 以避免存儲出錯(cuò),造成不必要

58、的麻煩。其判斷函數(shù)如下(采用 JavaScript 腳本語 言編寫): /功能介紹:檢查是否為數(shù)字 /參數(shù)說明:要檢查的數(shù)字 /返回值:1 為是數(shù)字,0 為不是數(shù)字 這種預(yù)先判斷的處理方式,很大的程度上解決了非法輸入對后面的存儲所 帶來的一系列問題。 1、DelAll 模式(清空購物車) 這個(gè)是對購物車的商品進(jìn)行清空的處理,其實(shí)就是對全局變量 Product List 賦空值(Session(Product List) = )。通過調(diào)用函數(shù) clean()來執(zhí)行 clear.asp. 2、Link To 模式(去收銀臺) Onclick=window.opener.location.href=

59、PayMent.asp;window.close (); 該模式通過點(diǎn)擊觸發(fā)事件 onclick 來調(diào)用并執(zhí)行 PayMent.asp,并關(guān)閉當(dāng)前 購物車。該事件不能對所購買的商品數(shù)量的更改而更改,只能通過確認(rèn)更改來 實(shí)現(xiàn)。 3、繼續(xù)購物 該模塊也是調(diào)用 window 對象中的 window.close()函數(shù),它回自動的關(guān)閉購 物車的窗口,該事件也不能對所購買的商品數(shù)量的更改而更改。 說明:在這里會出現(xiàn)一種情況,就是說如果未購買任何商品的話,則將返 回圖 4.2 所示的提示信息。 圖 4.2未購買任何商品信息 4.1.2會員注冊 會員注冊頁面如圖 4.3 所示: 圖 4.3會員注冊頁面 在會

60、員注冊中,首先是檢查該顧客所申請的用戶名是否以被人申請了,若 已被人申請了該用戶名,則系統(tǒng)將提示給用戶“該用戶名已存在”的信息。其 方法還是使用對數(shù)據(jù)庫的操作,見附錄。 查找數(shù)據(jù)庫,檢查用戶名是否已經(jīng)注冊過,見附錄。 請選用其他用戶名! ,見附錄。 之后進(jìn)入用戶詳細(xì)資料登記的頁面如圖 4.4、4.5 所示(Reg_Use- r_OK.asp): 圖 4.4 用戶詳細(xì)資料登記頁面 另外還將調(diào)用頁面 Reg_User_2.asp,它將使用大量的 JavaScript 的語言開發(fā) 的程序,用來檢查用戶填入字符的正確性。其主要的程序看后面源程序代碼, 詳細(xì)的介紹各程序單元所完成的功能和作用。 圖 4.

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論