【正文】
湖南商學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 16 頁(yè) 共 50 頁(yè) 購(gòu)物車(chē)管理需求 當(dāng)客戶選擇購(gòu)買(mǎi)某圖書(shū)產(chǎn)品時(shí),能夠?qū)?duì)應(yīng)圖書(shū)信息,如:價(jià)格、數(shù)量、時(shí)間等記錄到對(duì)應(yīng)的購(gòu)物車(chē)中,并允許客戶返回書(shū)目查詢頁(yè)面,選擇其他圖書(shū),并添加到購(gòu)物車(chē)中。業(yè)務(wù)流程圖描述了系統(tǒng)內(nèi)各單位、人員間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖表。 ( 3) 軟件環(huán)境: ○ 1 服務(wù)器: Windows Server 20xx, Tomcat 應(yīng)用服務(wù)器, Mysql數(shù)據(jù)庫(kù)。 B r o w s e rC o t r o l l e r( A c t i o n C o t r o l l e r C l a s s )V i e w( A c t i o n F r o m C l a s s )M o d e l( M o d e l C l a s s )S t r u t s T a g L i b r a r yR e s o u r c e sP r o p e r t i e s F i l eR e q u e s t R e s p o n s eD a t e B a s e 圖 Struts 結(jié)構(gòu)圖 ( 3) 開(kāi)發(fā)平臺(tái) 由于 Java 開(kāi)發(fā)工具運(yùn)行時(shí)比較耗費(fèi)系統(tǒng)資源,為了 高效、快捷的完成教師工作量核算系統(tǒng)的開(kāi)發(fā)工作,采取如下開(kāi)發(fā)環(huán)境 。先把整個(gè)數(shù)據(jù)處理過(guò)程暫且看成一個(gè)加工,它的輸入數(shù)據(jù)和輸出數(shù)據(jù)實(shí)際上反映了系統(tǒng)與外界環(huán)境的接口。 網(wǎng)上書(shū)店 的數(shù)據(jù)處理按照功能包括 三 個(gè)部分: 用戶 管理, 圖書(shū)管理,訂單管理 。因此,需要對(duì)各個(gè)子系統(tǒng)的一級(jí)圖進(jìn)一步細(xì)化,就可以得到子系統(tǒng)其內(nèi)各個(gè)模塊的細(xì)節(jié)圖。 新 增 圖 書(shū)修 改 圖 書(shū)刪 除 圖 書(shū)圖 書(shū) 數(shù)據(jù) 庫(kù)圖 書(shū) 信 息圖 書(shū) 作 者圖 書(shū) 名 稱(chēng)圖 書(shū) 價(jià) 格圖 書(shū) 分 類(lèi)圖 書(shū) I D 圖 6 編輯細(xì)化 DFD 系統(tǒng)的數(shù)據(jù)字典 網(wǎng)上書(shū)店系統(tǒng)的數(shù)據(jù)字典主要有管理員信息表,用戶信息列表,圖書(shū)詳細(xì)分類(lèi) 表,圖書(shū)信息表, 訂單基本信息表 , 購(gòu)物車(chē)表。系統(tǒng)簡(jiǎn)單易用,具備高度的靈活性、可控性、擴(kuò)充性。主要是用文字去描述,而不是用圖形圖描述。 系統(tǒng) ER圖 ER 模型的關(guān)鍵元素是實(shí)體、屬性和聯(lián)系。在 m:n 聯(lián)系中,一個(gè)類(lèi)型的單個(gè)實(shí)例與另一個(gè)類(lèi)型的多個(gè)實(shí)體實(shí)例相關(guān)聯(lián),同時(shí)地,后一類(lèi)型的單個(gè)實(shí)體實(shí)例與前一類(lèi)型的多個(gè)實(shí)體實(shí)例相關(guān)聯(lián)。 實(shí)體可以通過(guò)聯(lián)系相互關(guān)聯(lián)。 處理: Case 商品推薦;購(gòu)物指南;訂單生成 ; End case 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)模塊主要包括數(shù)據(jù)庫(kù)介紹,系統(tǒng) ER 圖,數(shù)據(jù)邏輯結(jié)構(gòu)表等部分。 網(wǎng) 上 書(shū) 店 系 統(tǒng)前 臺(tái) 后 臺(tái)圖書(shū)展示用戶注冊(cè)用戶登錄/登出會(huì)員管理圖書(shū)管理客戶管理 圖 系統(tǒng)總體模塊圖 湖南商學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 26 頁(yè) 共 50 頁(yè) 網(wǎng)站后臺(tái)管理模塊 系統(tǒng)細(xì)分 為 客戶管理,圖書(shū) 管理 兩個(gè)模塊??傮w設(shè)計(jì)主要完成設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)和各組成部分之間的相互關(guān)系的任務(wù)。 圖書(shū) 管理模塊的一級(jí) DFD 如圖 所示,該子系統(tǒng)包含 圖書(shū)查詢,新增圖書(shū),刪除圖書(shū),修改圖書(shū),查看圖書(shū)詳情 等模塊。 湖南商學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 22 頁(yè) 共 50 頁(yè) 管 理 員1用 戶 管 理2訂 單 管 理3圖 書(shū) 管 理訂 單 數(shù) 據(jù)用 戶 數(shù) 據(jù)圖 書(shū) 數(shù) 據(jù)管 理 員結(jié) 果結(jié) 果數(shù) 據(jù) 庫(kù) 圖 系統(tǒng)的零級(jí)圖 由于各個(gè)子系統(tǒng)比較復(fù)雜,為了更清晰地表達(dá)數(shù)據(jù)加工過(guò)程,可以進(jìn)一步對(duì)它進(jìn)行細(xì)化,從而得到各個(gè)模塊的一級(jí)圖。 網(wǎng) 上 書(shū) 店 系 統(tǒng)( 前 臺(tái) )用 戶 用 戶訂 單 數(shù) 據(jù) 生 成 訂 單統(tǒng) 計(jì) 數(shù) 據(jù)查 詢 數(shù) 據(jù)查 詢 結(jié) 果統(tǒng) 計(jì) 報(bào) 表 圖 系統(tǒng)前臺(tái)頂層 DFD 網(wǎng) 上 書(shū) 店 系 統(tǒng)( 后 臺(tái) )管 理 員 管 理 員訂 單 數(shù) 據(jù) 訂 單 信 息圖 書(shū) 數(shù) 據(jù)用 戶 數(shù) 據(jù)用 戶 信 息圖 書(shū) 信 息 圖 系統(tǒng)后臺(tái)頂層 DFD 結(jié)構(gòu)化分析方法的基本思路是“自頂向下,逐步細(xì)化”。 數(shù)據(jù)流圖 數(shù)據(jù)流圖 (Data Flow Diagram, DFD),是結(jié)構(gòu)化分析化分析方法 (SA)中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。與其他的大型數(shù)據(jù)庫(kù)例如 Oracle、 DB SQL Server 等相比, MySQL自有它的不足之處,如規(guī)模小、功能有限等,但對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō), MySQL 提供的功能已經(jīng)綽綽有余,而且由于 MySQL 是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。根據(jù)這個(gè)要求,設(shè)定了網(wǎng)上 書(shū)店 系統(tǒng)的運(yùn)行環(huán)境。 其用例圖如圖 所示: 湖南商學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 17 頁(yè) 共 50 頁(yè) 提交訂單客戶查詢訂單 圖 購(gòu)物車(chē)管理用例圖 會(huì)員注冊(cè) /登錄需求 為了能夠?qū)崿F(xiàn)圖書(shū)商品的購(gòu)買(mǎi),需要管理客戶相關(guān)的聯(lián)系方式、送貨地點(diǎn)等相關(guān)的信息。系統(tǒng)主要實(shí)現(xiàn) 圖書(shū)查詢、圖書(shū)管理、購(gòu)物車(chē)管理、訂單處理、用戶登錄、用戶注冊(cè)功能。 提供客戶的 請(qǐng)求和業(yè)務(wù)邏輯處理之間的特定適配器轉(zhuǎn)換功能 提供對(duì)配置文件 元素的映像。 Struts 框架通過(guò)這些自定義標(biāo)記建立了 View 和 Model 之間的聯(lián)系。 ○ 11 開(kāi)發(fā) /測(cè)程 /部署。 ○ 3 為每一個(gè)“屏幕顯示”定義訪問(wèn)路徑。在 Struts 中 Controller 功能由 ActionServlet 和 ActionMapping 對(duì)象構(gòu)成 : 核心是一個(gè) Servlet 類(lèi)型的對(duì)象ActionServlet,它用來(lái)接受客戶端的請(qǐng)求。 Struts 通常使用一組 JavaBean 表示系統(tǒng)的內(nèi)部狀態(tài),根據(jù)系統(tǒng)的復(fù)雜度也可以使用像 Entity EJB 和 Session EJB 等組件來(lái)實(shí)現(xiàn)系統(tǒng)狀態(tài)。 C o n t r o l l e rS e r v l e tB u s i n e s s L o g i cA c t i o mM o d e lA p p l i c a t i o n S t a t eV i e wJ S PS t r u t s c o n f i g . x m lC l i e n tB r o w e rH T T PR e q u e s tE v e n tU p d a t eH T T PR e s p o n s e tG e t t a g D i s p a t c h 圖 Struts 體系結(jié)構(gòu) ( 1) 視圖 (view) 一個(gè)基于 Struts 的應(yīng)用的視圖部分通常使用 JSP 技術(shù)構(gòu)造?;?Struts 架構(gòu)的 Web 應(yīng)用程序基本上符合 JSP 模式 2 的設(shè)計(jì)標(biāo)準(zhǔn),可以說(shuō)是 MVC 設(shè)計(jì)模式的一種實(shí)現(xiàn)。 視圖 (View), View 是由與控制器 Servlet 配合工作的一整套 JSP 定制標(biāo)簽庫(kù)構(gòu)成,利用她們我們可以快速建立應(yīng)用系統(tǒng)的界面。比如 :對(duì)象請(qǐng)求代理框架、面向消息的中間件和事務(wù)處理數(shù)據(jù)庫(kù)。當(dāng)設(shè)計(jì)和實(shí)現(xiàn)的改變會(huì)給整個(gè)軟件系統(tǒng)帶來(lái)很大的改變時(shí),模塊化可以把這種改變限定在局部的范圍。網(wǎng)上書(shū)店如今已被廣泛的運(yùn)用,而且將會(huì)越來(lái)越普及。第二,在軟件方面,以 IBM、 HP為首的眾多 IT 廠商 紛紛推出自己的電子商務(wù)產(chǎn)品,有的還提出了“一攬子解決方案”。 如今人們?cè)絹?lái)越追求時(shí)尚、講究個(gè)性,注重購(gòu)物的環(huán)境,網(wǎng)上購(gòu)物,更能體現(xiàn)個(gè)性化的購(gòu)物過(guò)程。 中國(guó)引入的 B2C 的電子商務(wù)模式網(wǎng)上書(shū)店以卓越網(wǎng)和當(dāng)當(dāng)網(wǎng)為代表的直接建立在因特網(wǎng)上的虛擬書(shū)店,其中卓越定位于精品圖書(shū)的銷(xiāo)售,當(dāng)當(dāng)網(wǎng)則是追隨亞馬遜模式的多品種銷(xiāo)售的代表;還有一類(lèi)是出于競(jìng)爭(zhēng)或仿效也加入網(wǎng)上書(shū)店行列的一些老牌圖書(shū)銷(xiāo)售商,如新華書(shū)店。 堆棧能夠根據(jù)需要和不同的 Action 一起使用。 類(lèi)型轉(zhuǎn)換: Struts 1 ActionForm 屬性通常都 是 String 類(lèi)型。輸入屬性可能是有自己(子)屬性的 rich 對(duì)象類(lèi)型。(實(shí)際上, servlet 容器給每個(gè)請(qǐng)求產(chǎn)生許多可丟 棄的對(duì)象,并且不會(huì)導(dǎo)致性能和垃圾回收問(wèn)題) Servlet 依賴(lài): Struts1 Action 依賴(lài)于 Servlet API,因?yàn)楫?dāng)一個(gè) Action 被調(diào)用時(shí)HttpServletRequest 和 HttpServletResponse 被傳遞給 execute 方法; Struts 2 Action 不依賴(lài)于容器,允許 Action 脫離容器單獨(dú)被測(cè)試。 在經(jīng)歷了幾年的各自發(fā)展后,WebWork 和 Struts 社區(qū)決定合二為一,也即是 Struts 2。雖然 Struts2 號(hào)稱(chēng)是一個(gè)全新的框架,但這僅僅是相對(duì) Struts1 而言。 Struts 就是其中一個(gè)流行的基于 J2EE 的樞架。 由于這種模式節(jié)省了客戶和企業(yè)的時(shí)間和空間 , 大大提高了交易效率,特別 是 對(duì)于工作忙碌的上班族,這種模式可以為其節(jié)省寶貴的時(shí)間。其中特別要強(qiáng)調(diào)的特點(diǎn),一是其商業(yè)背景,二是網(wǎng)絡(luò)化和數(shù)字化。 使用 Struts 框架能很好的解決上述問(wèn)題。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。本章概述了課題的開(kāi)發(fā)背景、選題意義、應(yīng)用現(xiàn)狀和設(shè)計(jì)要求。除了此之外,網(wǎng)絡(luò)安全也是需要重點(diǎn)考慮的因素。如何充分使用這些技術(shù),將它們有機(jī)組合起來(lái)構(gòu)造一個(gè)滿足客戶需要的穩(wěn)定系統(tǒng)是項(xiàng)目開(kāi)發(fā)過(guò)程中的一個(gè)關(guān)鍵環(huán)節(jié)。 Struts是一個(gè)開(kāi)放源代碼的 Web 的應(yīng)用框架,實(shí)現(xiàn)了 MVC 設(shè)計(jì)模式 , 基于 Servlet 和 JSP API,可以用來(lái)構(gòu)建復(fù)雜的 Web 應(yīng)用。 Apache Struts2 是一個(gè)優(yōu)雅的,可擴(kuò)展的 JAVA EE web 框架。 線程模式: Struts1 Action 是單例模式并且必須是線程安全的,因?yàn)閮H有 Action 的一個(gè)實(shí)例來(lái)處理所有的請(qǐng)求。所有的 ActionForm 必須繼承一個(gè)基類(lèi)。 表達(dá)式語(yǔ)言: Struts1 整合了 JSTL,因此使用 JSTL EL 有基本對(duì)象圖遍歷,但是對(duì)集合和索引屬性的支持很弱; Struts2 可以使用 JSTL,但是也支持一個(gè)更強(qiáng)大和靈活的表達(dá)式語(yǔ)言 —— Object Graph Notation Language (OGNL)。同一個(gè)類(lèi)可以有不同的校驗(yàn)內(nèi)容,但不能校驗(yàn)子對(duì)象; Struts2支持通過(guò) validate 方法和 XWork 校驗(yàn)框架來(lái)進(jìn)行校驗(yàn)。國(guó)外最早的電子商務(wù)體驗(yàn)其實(shí)是從網(wǎng)上售書(shū)開(kāi)始的。它更快速的流通和低廉的價(jià)格 。此外,網(wǎng)上虛擬書(shū)店,業(yè)務(wù)環(huán)節(jié)大為簡(jiǎn)化,能節(jié)約費(fèi)用開(kāi)支,降低銷(xiāo)售成本。在各行各業(yè)中離不開(kāi)網(wǎng)絡(luò),這正是計(jì)算機(jī)被廣泛應(yīng)用于網(wǎng)上銷(xiāo)售系統(tǒng)的環(huán)境。用戶通過(guò)定制框架形成滿足他們具體需求的軟件,但用 戶對(duì)框架復(fù)雜的內(nèi)部結(jié)構(gòu)不清楚。比如操作系統(tǒng)、通訊框架、用戶接日框架和語(yǔ)言處理框架。 Struts 框架具有組件的模 塊化,靈活性和重用性的優(yōu)點(diǎn),同時(shí)簡(jiǎn)化了基于 MVC 的 web 應(yīng)用程序的開(kāi)發(fā)。 Struts 產(chǎn)生的時(shí)間還不長(zhǎng),但已逐步越來(lái)越多運(yùn)用于商業(yè)軟件。按照 J2EE 架構(gòu)的標(biāo)準(zhǔn), Struts 和 JSP/SERVLET 一樣,存在于 Web Contain 一層。 Struts 的自定義標(biāo)記可以非常好的和系統(tǒng)的 Model部分交互,通過(guò)使用這些 自定義標(biāo)記創(chuàng)建的 JSP 窗體,可以實(shí)現(xiàn)和 Model部分中的 ActionForm 的映像,完成對(duì)用戶數(shù)據(jù)的封裝。通過(guò) ActionForm組件對(duì)象實(shí)現(xiàn)了對(duì) View和 Model之間的交互的支持。由于 Struts已經(jīng)為我們提供了一個(gè)非常好的 MVC 框架,我們利用 Struts 開(kāi)發(fā) MVC 系統(tǒng)時(shí)可以大大加快開(kāi)發(fā)的速度。 ○ 8 開(kāi)發(fā)應(yīng)用業(yè)務(wù)邏輯對(duì)象 (Bean, EJB 等等 )。我們只要在 中配 Action Mapping 對(duì)象。表 21 說(shuō)明了目前 struts api中基本的幾個(gè)組件,包括 action, actions, config, util, taglib, validator。 湖南商學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 15 頁(yè) 共 50 頁(yè) 分析 網(wǎng)上書(shū)店系統(tǒng)是典型的 B2C, 其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。當(dāng)客戶點(diǎn)擊付款并且付款成功后,生成對(duì)應(yīng)的購(gòu)物訂單,并自動(dòng)清除已生成訂單的購(gòu)物車(chē)中的信息?,F(xiàn)實(shí)業(yè)務(wù)活動(dòng)中的一些弊病很難憑空指出,而利用業(yè)務(wù)流程圖可以細(xì)致地分析其業(yè)務(wù)流程的合理性、可能存在的問(wèn)題及從何處入手進(jìn)行解決。 ○ 2 客戶機(jī): Windows 20xx 或者 XP 操作系統(tǒng), IE 瀏覽器(版本在 以上)。 網(wǎng)絡(luò)環(huán)境:局域網(wǎng)