版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 電子商務(wù)網(wǎng)上購書信息管理系統(tǒng) 1.1用戶需求的分析與處理 1.1.1任務(wù)名稱:用戶需求的分析與處理1.1.2任務(wù)描述依據(jù)電子商務(wù)的特點(diǎn)與基本流程以及用戶需求調(diào)查報(bào)告,通過理解需求階段的目標(biāo),給業(yè)務(wù)上下文和系統(tǒng)功能建模,在完整的用例模型中記錄系統(tǒng)需求,完成需求模型報(bào)告,最后依據(jù)需求模型報(bào)告進(jìn)行產(chǎn)品需求規(guī)格說明書的撰寫。1.1.3任務(wù)分析需求分析人員要按“初始、細(xì)化、構(gòu)造與移交四步走”的路線,通過“以目標(biāo)為基礎(chǔ)、以用例為中心的三次迭代式需求分析”的過程來完成對用戶需求的分析。(1)第一次迭代(初始):學(xué)會進(jìn)行項(xiàng)目目標(biāo)分解、進(jìn)行項(xiàng)目目標(biāo)可研分析,構(gòu)造提交項(xiàng)目目標(biāo)模型,形成項(xiàng)目大綱。(2)第二
2、次迭代(細(xì)化):學(xué)會進(jìn)行用例圖建模,進(jìn)行客戶需求分析,構(gòu)造提供軟件功能模型,形成客戶需求文檔。(3)第三次迭代(構(gòu)造):學(xué)會對用例進(jìn)行“三位”一體的描述方式,分析軟件用例的動態(tài)行為,構(gòu)造提交用例的業(yè)務(wù)流程圖、實(shí)體類圖、原型圖,形成產(chǎn)品需求說明書。需求驗(yàn)證(移交):學(xué)會從需求類型與屬性角度評估需求的質(zhì)量,移交產(chǎn)品需求說明書網(wǎng)上購書業(yè)務(wù)流程開始是否是會員登錄注冊放入購物車下訂單支付結(jié)束瀏覽網(wǎng)頁查看圖書詳情是否1.1.5需求分析人員分析用戶的需求 第一步:細(xì)化并分析用戶需求對比較復(fù)雜的用戶需求進(jìn)行建模分析,以幫助軟件開發(fā)人員更好地理解需求。第二步:撰寫產(chǎn)品需求規(guī)格說明書 需求分析員按照指定的文檔模板
3、撰寫產(chǎn)品需求規(guī)格說明書。如果待開發(fā)的產(chǎn)品分為軟件和硬件兩部分的話,則應(yīng)當(dāng)撰寫軟件需求規(guī)格說明書和硬件需求規(guī)格說明書。第三步:進(jìn)行需求確認(rèn)1需求建模(1)目標(biāo)模型步驟:第一步:建立業(yè)務(wù)目標(biāo)到軟件功能目標(biāo)的轉(zhuǎn)化模型第二步:建立業(yè)務(wù)限制因素到軟件非功能目標(biāo)的轉(zhuǎn)化第三步:建立軟件功能目標(biāo)與非功能目標(biāo)之間的雙向束定關(guān)系經(jīng)過綜合得到如下關(guān)系模型:2)用例模型用例模型是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,它可以作為客戶和開發(fā)人員之間的契約。用例是貫穿整個系統(tǒng)開發(fā)的一條主線。一個用例模型包括了系統(tǒng)的所有用例,它是系統(tǒng)所有可能用途的總和。藍(lán)星網(wǎng)上購書信息管理系統(tǒng)用例一覽表如表1-1所示:目標(biāo)角色FG1:目錄管理FG2
4、:圖書管理FG3:購物車管理FG4:訂單管理FG5:支付管理FG6:會員管理管理員FG1:UC1:目錄創(chuàng)建FG1:UC2:目錄編輯FG1:UC3:目錄撤銷FG1:UC4:目錄查看FG2:UC1:圖書入庫FG2:UC2:圖書出庫FG2:UC3:圖書撤銷FG2:UC4:圖書檢索FG2:UC5:圖書概要信息查看FG2:UC6:圖書詳細(xì)信息查看FG4:UC3:訂單狀態(tài)編輯FG4:UC4:訂單信息查看FG4:UC5:訂單檢索FG4:UC6:訂單撤銷FG4:UC7:訂單明細(xì)信息查看FG4:UC8:訂單狀態(tài)信息查看FG6:UC1:會員注冊FG6:UC2:會員撤銷會員FG1:UC4:目錄查看FG2:UC5:圖
5、書概要信息查看FG2:UC5:圖書詳細(xì)信息查看FG3:UC1:購物車圖書添加FG3:UC2:購物車圖書計(jì)價(jià)FG3:UC3:購物車圖書數(shù)量更新FG3:UC4:購物車圖書信息瀏覽FG3:UC5:購物車圖書移除FG3:UC6:購物車圖書清空FG4:UC1:訂單生成FG4:UC2:個人訂單信息查看FG5:UC1:信用卡支付FG6:UC3:個人資料修改FG6:UC4:會員登陸游客FG1:UC4:目錄查看FG2:UC5:圖書概要信息查看FG2:UC5:圖書詳細(xì)信息查看FG6:UC1:會員注冊銀行賬戶處理系統(tǒng)FG5:UC2:轉(zhuǎn)賬(3)業(yè)務(wù)對象模型2.撰寫需求規(guī)格說明書產(chǎn)品需求規(guī)格說明書的重點(diǎn)是闡述“做什么”
6、,而不是闡述“怎么做”。產(chǎn)品需求規(guī)格說明書應(yīng)當(dāng)正確、清楚、無二義性、一致、完備、可實(shí)現(xiàn)以及可驗(yàn)證。 “正確”是產(chǎn)品需求規(guī)格說明書最重要的屬性。真正的困難是開發(fā)者和用戶自己都不明白用戶究竟“想要什么”和“不要什么”。為確保需求是正確的,開發(fā)方和用戶必須對需求規(guī)格說明書進(jìn)行確認(rèn);清楚的需求讓人易讀易懂,不在于文檔的厚度; “無二義性” 是指每個需求只有唯一的含義。如果一個人說的話,不同的人可能有不同的理解,那么這句話就有二義性。如果需求存在二義性,將會導(dǎo)致人們誤解需求而開發(fā)出偏離需求的產(chǎn)品。為了使需求無二義性,人們在寫產(chǎn)品需求規(guī)格說明書時措詞應(yīng)當(dāng)準(zhǔn)確,切勿模棱兩可?!耙恢隆保–onsistent)
7、是指產(chǎn)品需求規(guī)格說明書中各個需求之間不會發(fā)生矛盾。矛盾常常潛伏在需求文檔的上下文中?!巴陚洹保–omplete)是指產(chǎn)品需求規(guī)格說明書中沒有遺漏一些必要的需求。人們往往傾向于關(guān)注系統(tǒng)的特色功能,而忽視了其它一些不起眼的但卻是必需的功能。 “可實(shí)現(xiàn)”意味著在技術(shù)上是可行的,并且滿足時間、費(fèi)用、質(zhì)量等約束。經(jīng)過雙方確認(rèn)的產(chǎn)品需求規(guī)格說明書相當(dāng)于商業(yè)合同,如果開發(fā)方不能夠?qū)崿F(xiàn)產(chǎn)品需求規(guī)格說明書中的內(nèi)容,那就是違約,可能會被罰款的。產(chǎn)品需求規(guī)格說明書中的各項(xiàng)需求對用戶方而言應(yīng)當(dāng)都是可驗(yàn)證的(Verifiable)。如果需求是不可驗(yàn)證的,那么用戶就無法驗(yàn)收軟件,可能會發(fā)生商業(yè)糾紛。1.2項(xiàng)目計(jì)劃安排 1
8、.2.1任務(wù)名稱:項(xiàng)目計(jì)劃安排藍(lán)星網(wǎng)上購書管理信息系統(tǒng)項(xiàng)目計(jì)劃安排1.2.2任務(wù)描述編寫藍(lán)星網(wǎng)上購書信息管理系統(tǒng)用于協(xié)調(diào)所有項(xiàng)目計(jì)劃編制文件、指導(dǎo)項(xiàng)目執(zhí)行和控制的文件。要清楚地描述出: 項(xiàng)目劃分的各個實(shí)施階段 每個階段的工作重點(diǎn)和任務(wù)是什么 完成本階段工作和任務(wù)的人力、資源需求,時間期限 階段工作和任務(wù)的成果形式 項(xiàng)目實(shí)施過程中對風(fēng)險(xiǎn)、疑難、其他不可預(yù)見因素等的處理機(jī)制 各任務(wù)組及開發(fā)人員之間的組織、協(xié)調(diào)關(guān)系等。1.2.3任務(wù)分析根據(jù)GB856788計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南中項(xiàng)目開發(fā)計(jì)劃的要求,結(jié)合實(shí)際情況調(diào)整后的項(xiàng)目計(jì)劃書主要內(nèi)容索引如下: 項(xiàng)目概述 -項(xiàng)目目標(biāo) -產(chǎn)品目標(biāo)與范圍 -假
9、設(shè)與約束 -項(xiàng)目工作范圍 -應(yīng)交付成果 - -需完成的軟件 -需提交用戶的文檔-須提交內(nèi)部的文檔 -應(yīng)當(dāng)提供的服務(wù) -項(xiàng)目開發(fā)環(huán)境 -項(xiàng)目驗(yàn)收方式與依據(jù) 項(xiàng)目團(tuán)隊(duì)組織 -組織結(jié)構(gòu) -人員分工 -協(xié)作與溝通-內(nèi)部協(xié)作-外部溝通 實(shí)施計(jì)劃 支持條件 預(yù)算(可選) 關(guān)鍵問題 專題計(jì)劃要點(diǎn)1.2.4項(xiàng)目概述本產(chǎn)品應(yīng)是一個具有靈活性和系統(tǒng)性,可擴(kuò)充性和可維護(hù)性強(qiáng),可以不斷延續(xù)發(fā)展的電子商務(wù)軟件,其包括的內(nèi)容有:q 在對網(wǎng)上購書信息管理系統(tǒng)總體業(yè)務(wù)進(jìn)行分析的基礎(chǔ)上進(jìn)行提煉,充分考慮系統(tǒng)性與可擴(kuò)充性 q 遵循各種國際,國家及行業(yè)標(biāo)準(zhǔn) q 綜合考慮與外部系統(tǒng)(銀行等)的接口 q 系統(tǒng)必須實(shí)用,友好,穩(wěn)定,可靠
10、,可移植性好,可擴(kuò)充性好。 q 方便實(shí)施與維護(hù),能減輕客戶化工作 q 建立新型的業(yè)務(wù)與技術(shù)模型,注重業(yè)務(wù)流程的重用性與可定制性,用戶能根據(jù)自身的需要方便的定義,采用基于三層框架的內(nèi)核,并以內(nèi)核為框架,采用面向組件對象的方式,建立以面向組件為基礎(chǔ)的結(jié)構(gòu)化的綜合應(yīng)用體系。靈活的實(shí)現(xiàn)應(yīng)用對象的重組,降低維護(hù)管理的成本;同時基于接口技術(shù)的應(yīng)用可以使得體系更加靈活和便于擴(kuò)充,具備“平臺”的概念。應(yīng)交付成果 1程序存儲程序的媒體光盤程序功能概述主要實(shí)現(xiàn)圖書信息在線瀏覽、放入購物車及在線下訂單及完成支付的功能 2文件系統(tǒng)名稱文件藍(lán)星網(wǎng)上購書信息管理系統(tǒng)需求規(guī)格說明書用戶手冊表1-3 交付文件3服務(wù)系統(tǒng)名稱服
11、務(wù)藍(lán)星網(wǎng)上購書信息管理系統(tǒng)兩年免費(fèi)售后服務(wù)(開發(fā)新功能費(fèi)用另行計(jì)算)表1-4 提供服務(wù)4非移交的產(chǎn)品藍(lán)星網(wǎng)上購書信息管理系統(tǒng)概要設(shè)計(jì)說明書數(shù)據(jù)庫設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書模塊開發(fā)說明測試報(bào)告表1-5 非移交產(chǎn)品 前期的項(xiàng)目計(jì)劃表使用Project軟件制作一個前期的項(xiàng)目計(jì)劃表,隨著開發(fā)工作的深入,該項(xiàng)目計(jì)劃表會不斷的被加以細(xì)化和補(bǔ)充。圖1-7 甘特圖1.3系統(tǒng)設(shè)計(jì) 軟件構(gòu)架是指一個系統(tǒng)的基礎(chǔ)組織,具體體現(xiàn)在系統(tǒng)的組成構(gòu)件,構(gòu)件之間、構(gòu)件和環(huán)境之間的關(guān)系,以及指導(dǎo)其設(shè)計(jì)和演化的原則上。1.3.1任務(wù)名稱:系統(tǒng)設(shè)計(jì)1.3.2任務(wù)描述設(shè)計(jì)藍(lán)星網(wǎng)上購書信息管理系統(tǒng)構(gòu)架1.3.3任務(wù)分析RUP的整個分析與設(shè)
12、計(jì)過程如下圖所示,其中Architect即為軟件架構(gòu)師角色,從下圖中可見系統(tǒng)架構(gòu)從分析到設(shè)計(jì)的全部活動。圖1-8 系統(tǒng)架構(gòu)分析與設(shè)計(jì)活動 1.3.4層圖(邏輯視圖)表示層ASP.NET Web 窗體Membership ProviderProfile Provider前臺銷售窗體后臺管理窗體業(yè)務(wù)邏輯層圖書目錄管理圖書信息管理購物車管理訂單管理數(shù)據(jù)訪問層圖書目錄數(shù)據(jù)訪問購物車數(shù)據(jù)訪問圖書信息數(shù)據(jù)訪問訂單數(shù)據(jù)訪問業(yè)務(wù)實(shí)體SQL 2005 數(shù)據(jù)庫Membership Profile 圖1-11 層圖1.3.5包圖(開發(fā)視圖)圖1-12 包圖1.3.6部署圖(物理視圖)圖1-13 部署圖1.3.7選擇
13、技術(shù)開發(fā)環(huán)境:Microsoft Visual Studio2008集成開發(fā)環(huán)境編程語言:ASP.NET+C#中間件:Microsoft DotnetFrameWork 3.5數(shù)據(jù)庫:Microsoft SQL Server20051.3.8安全策略網(wǎng)上書店的實(shí)施,其關(guān)鍵是要保證整個商務(wù)過程中系統(tǒng)的安全性。實(shí)現(xiàn)網(wǎng)上書店的關(guān)鍵是要保證商務(wù)活動過程中系統(tǒng)的安全性,即保證基于互連網(wǎng)的電子交易過程與傳統(tǒng)交易的方式一樣安全可靠。1密碼技術(shù)采用MD5加密。2訪問控制 采用授權(quán)策略和機(jī)制。保護(hù)可以從以下幾個方面加以考慮:物理隔離、時間隔離、密碼隔離。3防火墻技術(shù)采用分組過濾防火墻技術(shù)。 1.3.9并發(fā)策略1
14、.對于業(yè)務(wù)數(shù)據(jù)低級并發(fā)控制由數(shù)據(jù)庫事務(wù)和線程監(jiān)視器自動管理,對業(yè)務(wù)服務(wù)的每一次使用都封裝在一個事務(wù)中,以正確傳送給數(shù)據(jù)庫管理系統(tǒng)。2.會員不可以重復(fù)登錄,只能登錄一次3.在脫線狀態(tài)下更新數(shù)據(jù)庫數(shù)據(jù),在凌晨使更新真正生效1.4子系統(tǒng)設(shè)計(jì) 1.4.1任務(wù)名稱:子系統(tǒng)設(shè)計(jì) 1.4.2任務(wù)描述完成藍(lán)星網(wǎng)上購書信息管理系統(tǒng)子系統(tǒng)設(shè)計(jì),包括類的設(shè)計(jì)、用例具體實(shí)現(xiàn)、用戶界面設(shè)計(jì)以及數(shù)據(jù)庫設(shè)計(jì)。1.4.3任務(wù)分析通過子系統(tǒng)設(shè)計(jì)將形成一個可用的、完整的解決方案,并且能夠比較容易地將方案轉(zhuǎn)換成程序代碼。該任務(wù)在.NET標(biāo)準(zhǔn)三層系統(tǒng)架構(gòu)的基礎(chǔ)上,將考慮所有的實(shí)現(xiàn)技術(shù)問題,對分析階段的模型進(jìn)行擴(kuò)展和細(xì)化,并對分析階段
15、定義的類進(jìn)一步擴(kuò)充,定義新的類來處理技術(shù)方面的問題,最終形成最后的解決方案。(一)遵循類的設(shè)計(jì)原則:開閉原則:對擴(kuò)展開放而對變更封閉;依賴倒置原則:依賴抽象類而非具體類;Liskov替換原則:子類應(yīng)當(dāng)能完全替代其基類;單一職責(zé)原則:一個類只應(yīng)當(dāng)承擔(dān)單一和集中的職責(zé),這樣引發(fā)類進(jìn)行變更的原因只有一個;接口分離原則:為客戶提供多個物定的接口好過一個多種用途集于一身的接口,即客戶不被強(qiáng)制依賴于其不需要的操作;組合復(fù)用原則:盡可能地使用對象的多態(tài)組合而非繼承來實(shí)現(xiàn)復(fù)用所知最少原則:一個類的操作實(shí)現(xiàn)中,只應(yīng)調(diào)用下列對象的操作:它自己、作為參數(shù)傳入的對象、它創(chuàng)建的對象、它包含的對象。(二)實(shí)現(xiàn)系統(tǒng)用例實(shí)現(xiàn)
16、系統(tǒng)用例的方式通常顯示出用例如何通過一系列協(xié)作類進(jìn)行實(shí)現(xiàn),這是系統(tǒng)內(nèi)部行為的模型,它可以用兩個UML 工件來描述:實(shí)現(xiàn)類圖和順序圖。(三)用戶界面的設(shè)計(jì)在每個用戶界面中,都應(yīng)提供對應(yīng)各個用例的窗口,在用戶界面和用例之間應(yīng)具有清晰的映射關(guān)系。(四)數(shù)據(jù)庫設(shè)計(jì)面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)是從對象模型出發(fā)的,屬于實(shí)體主導(dǎo)型設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)(模式)是否支持應(yīng)用系統(tǒng)的對象模型,這是判斷是否是面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的基本出發(fā)點(diǎn)。由于應(yīng)用系統(tǒng)設(shè)計(jì)在前,數(shù)據(jù)庫設(shè)計(jì)隨后,所以應(yīng)用系統(tǒng)對象模型向數(shù)據(jù)庫模式的映射是面向?qū)ο髷?shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。由于 RDBMS 是以二維表為基本管理單元的,所以對象模型最終是由二維表及表間關(guān)系來描述
17、的。換言之,對象模型向數(shù)據(jù)庫概念模型的映射就是向數(shù)據(jù)庫表的變換過程。有關(guān)的變換規(guī)則簡單歸納如下:一個對象類可以映射為一個以上的庫表,當(dāng)類間有一對多的關(guān)系時,一個表也可以對應(yīng)多個類。關(guān)系(一對一、一對多、多對多以及三項(xiàng)關(guān)系)的映射可能有多種情況,但一般映射為一個表,也可以在對象類表間定義相應(yīng)的外鍵。對于條件關(guān)系的映射,一個表至少應(yīng)有3個屬性。單一繼承的泛化關(guān)系可以對超類、子類分別映射表,也可以不定義父類表而讓子類表擁有父類屬性;反之,也可以不定義子類表而讓父類表擁有全部子類屬性。對多重繼承的超類和子類分別映射表,對多次多重繼承的泛化關(guān)系也映射一個表。對映射后的庫表進(jìn)行冗余控制調(diào)整,使其達(dá)到合理的
18、關(guān)系范式。1.4.4類的列表包類名說明WebDefault前臺首面頁面類BookBrief前臺圖書概要頁面類Item前臺圖書詳情頁面類ShoppingCart前臺購物車頁面類CheckOut前臺訂單頁面類UserProfile前臺個人設(shè)置頁面類Search前臺圖書檢索頁面類Register前臺會員注冊頁面類adminDefault后臺首頁頁面類Category后臺目錄管理頁面類Book后臺圖書管理頁面類Order訂單管理頁面類Login后臺登錄頁面類BLLOrderManager訂單管理邏輯類CategoryManager目錄管理邏輯類BookBriefManager圖書概要管理邏輯類Item
19、Manager圖書詳情管理邏輯類CartManager購物車管理邏輯類AccountManager賬戶設(shè)置管理邏輯類DALOrderAccess訂單數(shù)據(jù)訪問類CategoryAccess目錄數(shù)據(jù)訪問類BookBriefAccess圖書概要數(shù)據(jù)訪問類ItemAccess圖書詳情數(shù)據(jù)訪問類CartAccess購物車數(shù)據(jù)訪問類ModelOrderInfo訂單信息類CategoryInfo目錄信息類BookBriefInfo圖書概要信息類ItemInfo圖書詳情信息類CartInfo購物車信息類LineItemInfo訂單明細(xì)信息類OrderStateInfo訂單狀態(tài)信息類AddressInfo賬戶地
20、址信息類CommonDataBase數(shù)據(jù)庫連接類SQLStringSQL語句構(gòu)造類表1-13 類的列表 1.4.5類的規(guī)格說明示例CartManager: 字段名稱 類型 說明字段名稱類型說明cartItemsDictionaryprivate,購物車圖書集合dalCartAccessprivate static readonly, CartAccess 對象表1-14 CartManager私有數(shù)據(jù)成員 屬性名稱類型說明Totaldecimalpublic,購物車圖書總價(jià)格Countintpublic,購物車中所選定圖書項(xiàng)數(shù)CartItemsICollectionpublic,購物車中選購信
21、息集合表1-15 CartManager公共屬性 方法名稱返回值類型返回值的說明參數(shù)參數(shù)類型參數(shù)的說明概要SetQuantityvoid空BookIdqtystring int圖書編號購買數(shù)量公有方法,設(shè)置所購要購買圖書的購買數(shù)量Addvoid空bookIdstring圖書編號公有方法,將選定圖書放入購物車Addvoid空cartItemCartInfo購物車明細(xì)對象公有方法,將Cart表中一條記錄數(shù)據(jù)添加到購物車中Removevoid空bookIdstring圖書編號公有方法,從購物車中按書號移除圖書Clearvoid空公有方法,清空購物車中所有圖書GetCartItems void空use
22、rnamestring會員的用戶名公有方法,調(diào)用CartAccess類的同名方法SetCartItemsvoid空usernamecartItemsstringICollection會員的用戶名購物車圖書集合公有方法,調(diào)用CartAccess類的同名方法GetOrderLineItemsLineItemInfo訂單明細(xì)對象數(shù)組公有方法,將購物車中圖書信息轉(zhuǎn)換成訂單明細(xì)信息1.4.6用例具體實(shí)現(xiàn)示例-購物車圖書添加(放入圖書到購物車):圖1-14 購物車圖書添加序列圖 放入購物車查看所選圖書信息圖1-15 圖書詳情頁面圖1-16 購物車頁面面訂單生成:訂單頁面: 1.4.7系統(tǒng)用戶界面總覽略.1
23、.4.8數(shù)據(jù)庫設(shè)計(jì)如在任務(wù)分析中所述,面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)是從對象模型出發(fā)的,屬于實(shí)體主導(dǎo)型設(shè)計(jì),我們由如下圖所示之業(yè)務(wù)實(shí)體出發(fā)完成向數(shù)據(jù)庫概念模型的映射。用戶自定義的數(shù)據(jù)表: 序號表名含意初始大小最大增長范圍增長方式1Category圖書類別表128KB640KB自動計(jì)算:增長速率:1行/月2BookBrief圖書概要信息表256KB16MB自動計(jì)算:增長速率:20行/月3Item圖書詳情信息表256KB16MB自動計(jì)算:增長速率:20行/月4Cart購物車信息表128KB10MB自動計(jì)算:增長速率:1000行/月5Orders訂單頭信息表256KB51MB自動計(jì)算:增長速率:30行/月6L
24、ineItem訂單明細(xì)表128KB16MB自動計(jì)算:增長速率:1000行/月7OrderStatus訂單狀態(tài)表128KB16MB自動計(jì)算:增長速率:1000行/月ASP.NET自動生成的數(shù)據(jù)表: 表名說明aspnet_Applications應(yīng)用程序的基本信息:程序名、程序描述等aspnet_Membership用戶的詳細(xì)信息:用戶名、郵箱等aspnet_Paths應(yīng)用程序路徑信息aspnet_PersonalizationAllUser存儲所有用戶的個性化信息aspnet_PersonalizationPerUser存儲特定用戶的個性化信息aspnet_Profile個性化配置的內(nèi)容aspn
25、et_Roles角色表aspnet_SchemaVersions各部分的版本信息aspnet_Users用戶表aspnet_UsersInRoles用戶與角色的關(guān)系表aspnet_WebEvent_Events存儲事件日志信息數(shù)據(jù)庫關(guān)系圖:圖1-27 數(shù)據(jù)庫關(guān)系圖1.5開發(fā)前期的解決方案構(gòu)建 1.5.1任務(wù)名稱:開發(fā)前期的解決方案構(gòu)建1.5.2任務(wù)描述創(chuàng)建解決方案:本項(xiàng)目解決方案由五個項(xiàng)目組成,分別是網(wǎng)站W(wǎng)EB、類庫BLL、類庫DAL、類庫Model、類庫COMMON等。1在類庫Model中創(chuàng)建業(yè)務(wù)實(shí)體類2在類庫Common中創(chuàng)建公共類數(shù)據(jù)庫連接類DataBase 3創(chuàng)建網(wǎng)站母版頁及設(shè)計(jì)主題4
26、創(chuàng)建站點(diǎn)地圖1.5.3任務(wù)分析網(wǎng)站W(wǎng)EB對應(yīng)表示層,主要應(yīng)包含網(wǎng)頁頁面、用戶控件等,類庫BLL中包含所有業(yè)務(wù)邏輯層中的類,類庫DAL中包含所有數(shù)據(jù)訪問層中的類,類庫Model中則包含所有業(yè)務(wù)實(shí)體類,類庫COMMON包含公共類。各項(xiàng)目中詳細(xì)內(nèi)容可參見第四節(jié)子系統(tǒng)設(shè)計(jì)中的類的列表。如果一個類庫中的類要調(diào)用另一個類庫中的類,則要在該類庫中添加對另一個類庫的引用。在設(shè)計(jì)母版頁時則要注意,母版頁是一個頁面模板,包含的是頁面的公共部分,因此,在創(chuàng)建母版頁之前,必須判斷哪些內(nèi)容是頁面的公共部分,比較常見的公共部分通常有片頭、頁腳、功能側(cè)欄等。單獨(dú)的母版頁只是一個頁面模板,它不能在瀏覽器中被打開,只有將其應(yīng)用
27、到具體的某個內(nèi)容頁上,在瀏覽器中訪問該內(nèi)容頁,其才能發(fā)揮作用。站點(diǎn)地圖的擴(kuò)展名為.sitemap,是ASP2.0及ASP3.5提供的為站點(diǎn)導(dǎo)航控件-如本項(xiàng)目中使用的SiteMapPath控件提供站點(diǎn)的層次結(jié)構(gòu)信息的標(biāo)準(zhǔn)XML文件。在解決方案中依次創(chuàng)建網(wǎng)站及類庫BLL 、 DAL、類庫Model、類庫Common,解決方案創(chuàng)建完成如下圖所示:圖1-33 完整的解決方案1.5.5在類庫Model中創(chuàng)建業(yè)務(wù)實(shí)體類1圖書目錄實(shí)體類CategoryInfo2圖書概要實(shí)體類BookBriefInfo3圖書詳情實(shí)體類ItemInfo4購物車實(shí)體類CartInfo5訂單類OrdersInfo6訂單明細(xì)類Lin
28、eItemInfo 7地址類AddressInfo 1.5.6在類庫Common中創(chuàng)建公共類數(shù)據(jù)庫連接類DataBase主要方法:/ / 對數(shù)據(jù)庫進(jìn)行增刪改方法 / / SqlCommand對象的命令類型 / SqlCommand對象的文本 / SqlCommand對象的參數(shù) / public void ExcuteNonQuery(CommandType ct, string cmdTxt, SqlParameter cmdParms)/對數(shù)據(jù)庫進(jìn)行增刪改方法 SqlCommand cmd = new SqlCommand(); this.Preparecommand(cmd, ct, cm
29、dTxt, cmdParms); cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); this.Close(); / / 讀取數(shù)據(jù) / / SqlCommand對象的命令類型 / SqlCommand對象的文本 / SqlCommand對象的參數(shù) / public SqlDataReader ExcuteDataReader(CommandType ct, string cmdTxt, SqlParameter cmdParms)/讀取數(shù)據(jù) SqlCommand cmd = new SqlCommand(); this.Preparecommand(c
30、md, ct, cmdTxt, cmdParms); return cmd.ExecuteReader(CommandBehavior.CloseConnection); 設(shè)計(jì)解決方案中網(wǎng)站W(wǎng)eb的母版頁母版頁效果圖:圖1-34 母版頁組成1.5.8代碼實(shí)現(xiàn)母版頁中有登錄框,和登錄注銷按鈕,以及用來綁定圖書類別信息的Repeater控件,所以我們首要介紹.NET身份驗(yàn)證以及Repeater控件應(yīng)用的相關(guān)知識。1相關(guān)知識一: Forms 身份驗(yàn)證憑據(jù)FormsAuthentication 類: 為 Web 應(yīng)用程序管理 Forms 身份驗(yàn)證服務(wù),用于在登錄時驗(yàn)證用戶的 Forms 身份驗(yàn)證憑據(jù),
31、可以存儲在外部數(shù)據(jù)源中,也可以存儲在應(yīng)用程序的配置文件中??赏ㄟ^將 authentication 配置元素的 mode 屬性設(shè)置為 Forms 來啟用 Forms 身份驗(yàn)證。通過使用 authorization 配置元素可要求所有對應(yīng)用程序的請求均需包含有效的用戶身份驗(yàn)證票證,從而拒絕任何未知用戶的請求。本項(xiàng)目在web.config文件中將 authentication 配置元素的 mode 屬性設(shè)置為 Forms 來啟用 Forms 身份驗(yàn)證的代碼:在本項(xiàng)目中設(shè)身份驗(yàn)證的默認(rèn)頁面為首頁Default.aspx,由于網(wǎng)站前臺頁面允許匿名用戶瀏覽圖書信息,所以將保護(hù)protection屬性設(shè)為N
32、one,對需要身份驗(yàn)證后才能訪問的頁面如購物車訂單頁面、修改會員個人資料頁面等,采用增加location配置節(jié)來實(shí)現(xiàn)要求用戶請求需包含有效的用戶身份驗(yàn)證票證,從而拒絕任何未知用戶的請求,在Web.config文件的配置節(jié)中增加如下代碼 /拒絕任何未知用戶的請求 2.相關(guān)知識二: ASP.NET 成員資格.NET為您提供了一種驗(yàn)證和存儲用戶憑據(jù)的內(nèi)置方法-ASP.NET 成員資格,它可幫助您管理網(wǎng)站中的用戶身份驗(yàn)證。ASP.NET 成員資格支持下列功能:創(chuàng)建新用戶和密碼。將成員資格信息(用戶名、密碼和支持?jǐn)?shù)據(jù))存儲在 Microsoft SQL Server、Active Directory 或
33、其他數(shù)據(jù)存儲區(qū)。對訪問站點(diǎn)的用戶進(jìn)行身份驗(yàn)證。可以以編程方式驗(yàn)證用戶,也可以使用 ASP.NET 登錄控件創(chuàng)建一個只需很少代碼或無需代碼的完整身份驗(yàn)證系統(tǒng)。管理密碼,包括創(chuàng)建、更改和重置密碼。根據(jù)您選擇的成員資格選項(xiàng)不同,成員資格系統(tǒng)還可以提供一個使用用戶提供的問題和答案的自動密碼重置系統(tǒng)。公開經(jīng)過身份驗(yàn)證的用戶的唯一標(biāo)識,您可以在您自己的應(yīng)用程序中使用該標(biāo)識,也可以將該標(biāo)識與 ASP.NET 個性化設(shè)置和角色管理(授權(quán))系統(tǒng)集成。指定自定義成員資格提供程序,這使您可以改為用自己的代碼管理成員資格及在自定義數(shù)據(jù)存儲區(qū)中維護(hù)成員資格數(shù)據(jù)FormsAuthentication 類與Membersh
34、ip 類在MasterPage.master.cs中的應(yīng)用/用戶登錄 protected void ibtnLogin_Click(object sender, ImageClickEventArgs e) if (Membership.ValidateUser(txtUserName.Text, txtPassword.Text) FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,false); /登錄注銷 protected void logout_Click(object sender, EventArgs e) For
35、msAuthentication.SignOut(); Response.Redirect(Default.aspx); 成員資格信息(用戶名、密碼和支持?jǐn)?shù)據(jù))存儲位置.NET Framework默認(rèn)的成員資格提供程序?yàn)锳spNetSqlProvider,它將用戶信息存儲在.NET自帶的SQL數(shù)據(jù)庫ASPNETDB.MDF中,如果我們要把用戶信息存儲在我們自定義的SQL數(shù)據(jù)庫中,則需要在web.config文件配置節(jié)中進(jìn)行如下配置: 除此之外,還要運(yùn)行ASP.NET SQL Server安裝向?qū)?aspnet_regsql.exe,該工具所在的路徑為c:WINDOWS Microsoft.NE
36、TFrameworkv2.0.50727,在我們自定義的數(shù)據(jù)庫中創(chuàng)建成員資格的數(shù)據(jù)表和存儲過程等。圖1-37 ASP.NET SQL Server安裝向?qū)?.5.9為網(wǎng)站W(wǎng)eb設(shè)置主題主題是屬性設(shè)置的集合可以用來定義頁面和控件的外觀,您可以定義單個 Web 應(yīng)用程序的主題,也可以定義供 Web 服務(wù)器上的所有應(yīng)用程序使用的全局主題。定義主題之后,可以使用 Page 指令的 Theme 或 StyleSheetTheme 屬性將該主題放置在個別頁上;或者通過設(shè)置應(yīng)用程序配置文件中的 pages 元素(ASP.NET 設(shè)置架構(gòu)) 元素,將其應(yīng)用于應(yīng)用程序中的所有頁。如果在 Machine.conf
37、ig 文件中定義了 pages 元素(ASP.NET 設(shè)置架構(gòu)) 元素,主題將應(yīng)用于服務(wù)器上的 Web 應(yīng)用程序中的所有頁。主題由外觀、級聯(lián)樣式表 (CSS)、圖像和其他資源元素組成,一個主題至少要包含外觀文件。外觀文件的文件擴(kuò)展名為 .skin,它用來定義頁面中服務(wù)器控件的外觀。級聯(lián)樣式表擴(kuò)展名為.css,CSS是Cascading Style Sheets(層疊樣式表)的簡稱。在標(biāo)準(zhǔn)網(wǎng)頁設(shè)計(jì)中用來負(fù)責(zé)網(wǎng)頁內(nèi)容(XHTML)的表現(xiàn).主題還可以包含圖形和其他資源,比如腳本文件或聲音文件。圖1-39 外觀文件及樣式文件SkinFile.skin文件代碼示例: 在上面的外觀文件中,為HyperLi
38、nk控件和Label控件設(shè)置了外觀,這種設(shè)置屬于“默認(rèn)外觀”,也就是說這兩種控件的外觀適用于應(yīng)用本主題的頁面上的所有的HyperLink控件和Label控件。如果要想為應(yīng)用程序中同一類型的控件的不同實(shí)例應(yīng)用不同的外觀,就要設(shè)置“已命名外觀”,要在外觀文件中為設(shè)置的控件指定“SkinID”屬性: 已命名外觀不會自動適用于同類型的所有控件,而是在應(yīng)用主題的頁面控件上通過設(shè)置該控件的SkinID屬性(如SkinID=”hlDiff”)將已命名外觀應(yīng)用于控件。應(yīng)用主題本項(xiàng)目中所有的網(wǎng)頁均應(yīng)用同一主題,這需要如下設(shè)置web.config文件中的 pages 配置節(jié)。如果只是在單個頁面應(yīng)用主題,那需要在該
39、頁的頁面頭部的中做如下設(shè)置1.5.10創(chuàng)建站點(diǎn)地圖在解決方案資源管理器中右擊網(wǎng)站W(wǎng)eb,選擇“添加新項(xiàng)”,在彈出的對話框的模板窗格中選擇“站點(diǎn)地圖”。代碼清單如下: 1.6前臺圖書信息瀏覽、檢索實(shí)現(xiàn) 1.6.1任務(wù)名稱:前臺圖書信息瀏覽、檢索實(shí)現(xiàn)1.6.2任務(wù)描述此模塊使用網(wǎng)站的訪問者可以匿名瀏覽圖書概要信息、圖書詳情信息,或者進(jìn)行圖書檢索。前臺圖書信息瀏覽、檢索實(shí)現(xiàn)包括以下幾個方面:1首頁對圖書信息分三個欄目進(jìn)行顯示,這三個欄目分別是:新書上架、熱點(diǎn)推薦、經(jīng)典書目2可以按照欄目或圖書類別查看圖書概要信息3查看圖書詳情信息4設(shè)置復(fù)合條件完成圖書檢索1.6.3任務(wù)分析(一)首頁對圖書信息分新書上
40、架、熱點(diǎn)推薦、經(jīng)典書目三個欄目進(jìn)行顯示,按照圖書的添加時間排序,分別顯示前四位圖書,按三個欄目顯示圖書的差別只是欄目條件不同,這也就意味著對不同欄目的前四位圖書的顯示要重復(fù)三次,我們是將絕大部分雷同的代碼復(fù)制粘貼三次,還是定義一個用戶控件調(diào)用三次,顯然應(yīng)該選擇后者。(二)可以按照欄目或圖書類別查看圖書概要信息,如前面所述按三個欄目顯示圖書的差別只是欄目條件不同,同理,按圖書類別顯示圖書只是類別編號不同。在完成任務(wù)時數(shù)據(jù)源我們使用SqlDataSoruce控件,如果我們將不同的查詢條件定義成參數(shù),使用時傳不同的值過去,就會非常靈活的實(shí)現(xiàn)按照欄目或圖書類別查看圖書概要信息,實(shí)際上我們是通過定義一個
41、存儲過程來幫助實(shí)現(xiàn)該功能。(三)復(fù)合條件查詢的關(guān)鍵是按照用戶選定的條件動態(tài)生成SQL語句,我們在公共類類庫中編寫SqlStringConstructor類來完成對SQL語句的構(gòu)造。1.6.4首頁分欄目顯示圖書信息1效果圖2 Default.aspx頁面中主要控件及其用途控件類型控件名稱用途DlBook.ascxDlBook顯示“新書上架”欄目信息DlHot顯示“熱點(diǎn)推薦”欄目信息DlClassic顯示“經(jīng)典書目”欄目信息SqlDataSourceSqldsBook“新書上架”數(shù)據(jù)源SqldsHot“熱點(diǎn)推薦”數(shù)據(jù)源SqldsClassic“經(jīng)典書目”數(shù)據(jù)源表1-32 Default.aspx頁面中主要控件及其用途 3相關(guān)知識:使用Web用戶控件顯示欄目圖書
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版人力資源服務(wù)戰(zhàn)略框架協(xié)議
- 2024年藝術(shù)品買賣合同:真品性與價(jià)值評估
- 2024年預(yù)制件加工與裝配式建筑構(gòu)件物流配送合同3篇
- 《子女撫養(yǎng)權(quán)與財(cái)產(chǎn)分割合同》版B版
- 2 我們的班規(guī)我們訂(說課稿)2024-2025學(xué)年統(tǒng)編版道德與法治四年級上冊
- 2024渣土外運(yùn)過程中環(huán)境保護(hù)合同
- 2024年網(wǎng)絡(luò)安全與風(fēng)險(xiǎn)管理協(xié)議
- 專用燒烤制品買賣協(xié)議(2024版)版A版
- 培訓(xùn)咨詢服務(wù)協(xié)議書(2篇)
- 2024年航天器研發(fā)與發(fā)射合同
- 落實(shí)《中小學(xué)德育工作指南》制定的實(shí)施方案(pdf版)
- 光伏項(xiàng)目施工總進(jìn)度計(jì)劃表(含三級)
- 氣候變化與林業(yè)碳匯智慧樹知到期末考試答案2024年
- 挪用公款還款協(xié)議書范本
- 建設(shè)工程施工合同 GF—2017—0201
- 法道(FADAL)機(jī)床設(shè)備維修知識講座
- 職校生個人簡歷自薦信范文模板
- 雙電源STS靜態(tài)換轉(zhuǎn)開關(guān)輸入配電系統(tǒng)解決方案
- 中建CI報(bào)價(jià)單
- 汽車吊吊裝計(jì)算
- 河南省集中供熱定價(jià)成本監(jiān)審辦法
評論
0/150
提交評論